
Click-to-Call Setup: Wiring a SIP Trunk Into Your Sales Workflow
Click-to-call is the operational baseline for any outbound team that takes volume seriously. Getting it right means sub-second call initiation, accurate call logs, and caller IDs that render correctly in the destination country — without per-minute billing eating the margin.
What Click-to-Call Actually Requires
The phrase "click-to-call" describes a UX behavior. The infrastructure underneath it has three hard requirements that most setup guides skip:
A SIP endpoint the browser or dialer can reach. The trunk provider's SIP gateway must accept connections from the agent's client — either a WebRTC browser session or a SIP softphone on the desktop. If the gateway requires a specific codec, NAT traversal configuration, or IP allowlisting, and those steps are not completed, the call never initiates regardless of what the CRM shows.
A credential set that maps to a specific caller ID. Every outbound INVITE carries a From header. The SIP gateway reads that header and either validates or rejects the presented caller ID. If the caller ID in the CRM user's profile does not match a DID provisioned to the account, the call either fails or presents as "Unknown" — both outcomes damage answer rates.
A completion event the CRM can consume. Click-to-call generates value only when the call outcome writes to the contact record. A call that completes but does not post a duration and disposition to the CRM is wasted effort from a sales operations perspective.
Step-by-Step: WebRTC Click-to-Call in 20 Minutes
This walkthrough covers a WebRTC-based setup using a CRM with a native softphone (GoHighLevel, HubSpot, or equivalent). For native-SIP desktop clients, the credential steps are identical; the client configuration varies by application.
Step 1: Provision the seat and DID. Log into the UnlimCall portal, select the plan tier for your agent count, and complete provisioning. The portal generates a SIP domain, username, and credential token. Simultaneously, provision a DID for the target country — US, Canada, or any of the 31 additional live markets. The DID is assigned to your account on-demand; there is no inventory wait.
Step 2: Enter credentials into the CRM's calling configuration. Navigate to the CRM's carrier or calling settings panel. Paste the SIP domain into the gateway/server field, enter the username and credential token, and save. Most CRMs display a registration status indicator within 10–15 seconds of saving — confirm it shows "Registered" before proceeding.
Step 3: Assign the DID as the outbound caller ID. In the CRM's calling profile or user settings, set the outbound caller ID to the DID provisioned in Step 1. This DID must match exactly — including country code prefix — with the number provisioned to the UnlimCall account.
Step 4: Configure the call completion webhook. In the UnlimCall portal, set the webhook endpoint to your CRM's inbound event URL. Format the destination as: https://your-crm-domain.com/webhooks/call-events. After saving, trigger a test call and verify the CRM contact timeline shows a call record with accurate duration.
Step 5: Test with a real external number. Internal extension-to-extension tests do not surface NAT traversal or codec mismatch issues that affect PSTN calls. Make a test call to a mobile number you can answer and verify: audio is bidirectional, caller ID renders as the provisioned DID, and the call record appears in the CRM within 5 seconds of hangup.
Caller ID Rendering by Country
STIR/SHAKEN attestation — which causes "Verified Caller" or similar trust labels to appear on the receiving handset — applies to US and Canadian calls only. UnlimCall applies A-level attestation to US and Canadian DIDs provisioned on the account, passing through the SIP chain to the terminating carrier.
For the 31 additional markets in UnlimCall's network, caller ID rendering follows each country's local CLI (Calling Line Identification) rules. Local DIDs typically render with higher answer rates than foreign-country numbers in the same country. This is the primary reason to provision in-country DIDs for each market rather than using a single US number for all outbound.
Per-Minute vs. Flat-Rate: The Click-to-Call Cost Equation
Per-minute billing penalizes connected time. Every second an agent is on a call costs money, which creates pressure to shorten calls or abandon prospects mid-conversation. Flat-rate billing removes that pressure entirely.
At $99/seat/month — or $4.95 per active seat-day — an agent can run a 6-hour outbound shift with 3 hours of live talk time and pay the same as a day with only 30 minutes of connected calls. The economics of click-to-call at volume require flat-rate structure. Otherwise the per-minute bill at 200+ minutes per agent per day exceeds the flat seat cost within the first week of the month.
For agencies managing multiple client sub-accounts, the GoHighLevel SIP trunk guide covers per-sub-account provisioning in detail.
Common Setup Failures and Their Causes
"Call fails immediately" after clicking. Most often: the SIP credential in the CRM does not match the portal-issued username exactly, or the credential token was copied with trailing whitespace. Re-paste from the portal directly.
"One-way audio — agent can hear prospect, prospect cannot hear agent." Classic NAT traversal issue. The SIP gateway cannot reach the agent's browser through the NAT. Ensure STUN/TURN servers are configured in the CRM's WebRTC settings, or test from a network without carrier-grade NAT.
"Caller ID shows as Unknown or different number." The DID in the CRM user's outbound caller ID field does not match a number provisioned to the UnlimCall account. Verify against the portal's DID list.
"Call records do not appear in CRM." The webhook endpoint URL is incorrect or the CRM's inbound webhook handler is not processing the payload schema. Check the portal's webhook delivery log for HTTP response codes.
Takeaways
- Click-to-call requires a reachable SIP endpoint, a credential-to-DID mapping, and a call completion webhook — all three must be configured correctly.
- Provisioning takes under 20 minutes from portal signup to first click-to-call test.
- STIR/SHAKEN A-attestation applies to US and Canadian DIDs; local DIDs in other markets improve answer rates without attestation.
- Flat-rate billing at $99/seat/month makes click-to-call economics viable at 100+ minutes of daily talk time per agent.
- All 33 markets support on-demand DID provisioning — no inventory pool, no wait.
Provision Your First Seat Today
The pricing page lists all seat tiers including the LAUNCH50 promotional rate for new accounts.