Three things have to line up
Do it
1
Open Phone Numbers
In the dashboard sidebar, Telephony → Phone Numbers. Click Import number (or Import your first number on an empty workspace). One modal walks the whole thing.
2
Pick your carrier
Four are supported: Plivo, Exotel, Vobiz and Twilio. Pick the one you already buy numbers from.
3
Connect the account
Give the account a name, then fill in the credentials the carrier asks for. Plivo, Vobiz and Twilio each want two fields — an Auth ID or Account SID, and an auth token. Exotel wants five: Account SID, API Key, API Token, account region and subdomain, plus three optional SIP edge fields that are already filled in correctly for an Indian account.Click Connect. Two things then happen in order, and you watch them tick off: Verifying credentials with your carrier, then Setting up call routing. The second one is what builds the SIP trunk. The credentials are stored as encrypted workspace secrets — the dashboard never reads them back.
Over the API this is two calls, not one:
POST /v1/telephony/accounts leaves the account at connected, and POST /v1/telephony/accounts/{account_id}/provision is what takes it to ready. Nothing works until it says ready.4
Select the numbers to import
Talqing reads the numbers this account owns live from the carrier, which is also the proof the credentials work. Numbers already in Talqing are shown checked, disabled and tagged Already imported.Tick the one you want and click Import. Each number reports its own result — read every one rather than trusting the modal’s success. The usual failures are
not found on this {carrier} account (the DID is not in the carrier’s list) and already registered on this platform.5
Assign a published voice agent
On the results screen, pick one under Answer calls with and click Assign. You can also do it later from the number’s row — the Answered by column is a dropdown listing every published voice agent, and choosing the blank option unassigns.Only a published agent appears there. Assigning a draft is refused with
publish the agent before assigning a number, and a published version whose channel is not voice or video with only published voice agents can answer SIP.6
Finish carrier-console setup, if your carrier needs it
Plivo, Twilio and Vobiz are fully API-driven — there is nothing to do in their consoles, and the number is live as soon as it is assigned.Exotel is the exception, because Exotel can only hand an incoming call to a Flow, never straight to a trunk. After provisioning, the carrier’s card on the Phone Numbers page grows an amber band headed “Incoming calls are blocked until you finish setup at the carrier”, with the four steps written out: create a custom app in Exotel’s App Bazaar, drop the Connect applet on Call Start, paste the
sip: value the band gives you into Dial Whom → Dial phone number(s), and attach the Flow to your ExoPhones. It takes about two minutes, once per account.Then click I’ve done this. No API can verify carrier-console work, so that button is the confirmation.7
Check that readiness reads live
The number’s badge on the row is the honest answer to “does this work”. Live — green, with the line “Answering incoming calls.” — is the only value that means an inbound call will be answered. Anything else is covered in the table below.
8
Place a test call
On the number’s row, click the phone icon (Place a test call). Fill in To in E.164 format —
+919876543210, with the country code and the leading + — pick the agent, and click Call. Then answer your phone.9
Read the call back
The dialog turns into a View call link once the call is queued. That opens the call record: the transcript with every tool call and its output, the per-stage latency breakdown, the cost split into provider spend and platform fee, the recording, and the exact frozen agent version that ran. Inbound calls land in the same place — Monitor → Calls.
When the number is not live
Two more that are not the number’s fault:
- The carrier account is not
ready. Creating it is not the same as provisioning it. Everything that touches a number then fails withthis carrier account is not set up yet; finish its setup first. Use Finish setup on the carrier card. - The agent declares a required variable with no default. An inbound call carries no request of yours, so nothing can supply one. Assignment is refused, naming the variable:
'<name>' is required and has no default, and an inbound call carries no request to supply it. Give the variable a default, or make it optional. See variables.
Next
Phone numbers
Import, provision, assign, per-number settings and the full readiness vocabulary.
Carrier accounts
Every carrier’s credentials, the trunk, and the console steps in full.
Outbound calls
Placing one call from the API, with userdata and caller ID.
Telephony troubleshooting
No inbound audio, calls failing at setup, credentials expiring.