Before you start
Get these details from your carrier or PBX administrator:- Outbound (Callers → carrier): the SIP server address (domain or IP), port, and transport. Also how the carrier authenticates you: username and password (digest), registration, IP allowlisting, or a tech prefix.
- Inbound (carrier → Callers): the IP addresses your carrier sends calls from.
- Numbers: the phone numbers on the trunk, in E.164 format (for example
+12025550123).
35.245.182.192.This address only receives calls. Outbound calls from Callers come from different addresses. If your carrier authenticates outbound calls by IP, email for the addresses to allowlist.Create a SIP connection
Open SIP Integration

SIP Integration in the App Center
Fill in the general settings
Configure gateways

Add SIP: general settings and gateways
Add phone numbers
Test the connection
General settings
SIP gateways
A gateway is a SIP endpoint on your carrier’s side. Add as many as you need with Add Another SIP Gateway.Phone numbers
Add each number on the trunk in E.164 format. Callers uses them to:- Route inbound calls: a call to one of these numbers is answered by the incoming agent the number is assigned to.
- Set caller ID on outbound calls: agents present the assigned number to the person they call.
Test your connection
Test SIP places a real call through your trunk and reports the SIP response, so you can confirm routing and authentication before you assign numbers to an agent.Open the connection
Choose the numbers
Run the test
SIP headers
Callers can pass contact data to your PBX or contact center as custom SIP headers, so the receiving system can route or screen-pop the call. Outbound calls and transfers. With Send SIP Headers on (agent settings, on by default), each contact variable is added as a customX- header on the outbound INVITE and on transfers. The contact’s phone number is included as phoneNumber.
- Header names are the fixed prefix
X-Voxia-followed by the variable name in lowercase. Characters that aren’t allowed in header names become_. To see the exact names your PBX receives, place a test call and inspect the INVITE. - Each value is limited to 256 bytes, and all variable headers together to about 1 KB. Short values are kept whole. Long values are shortened, and if there are too many variables the longest are dropped. Line breaks in values are replaced with spaces.
- Transferred calls also carry
X-Parent-Call-Sidwith the session ID of the original call (sessionIdin the webhook payload).
firstName, accountId, and tier, the INVITE your carrier or PBX receives looks like this (headers unrelated to Callers omitted):
x-voxia-firstname). SIP header names are case-insensitive, and most PBXs and packet analyzers display them capitalized as above, so match on them case-insensitively. A transfer from that call adds one header:
X-Parent-Call-Sid to pull up the AI part of the conversation (transcript, summary) for the person taking the transfer.
Turn Send SIP Headers off if your carrier rejects INVITEs with custom headers, or if the variables contain data you don’t want to leave Callers.
Inbound calls. Your PBX can set variables for an incoming call by sending an X-Vars header with a JSON object:
{{firstName}}, {{accountId}}, and {{tier}} in its script for that call. The contact’s email can also be passed this way for Cal.com bookings.
Transfers over SIP
Agents on SIP calls can transfer to a phone number or directly to a SIP URI on your PBX (for examplesip:queue@pbx.example.com). See Call transfers.
SIP REFER
By default, Callers bridges transferred calls: it stays on the call, can record it, and can play a handoff message for a warm transfer. With SIP REFER, Callers instead asks your carrier to take over the call and hangs up immediately. SIP REFER is set per SIP connection and applies to every transfer on it. Email to turn it on.Multiple SIP connections
You can create as many SIP connections as you need, for example one per carrier, region, or business unit, or a backup trunk. Each connection has its own settings, gateways, and numbers. Agents use whichever numbers you assign to them.
Add another SIP connection with the plus button
Troubleshooting
Inbound calls don't reach the agent
Inbound calls don't reach the agent
- Your carrier must send calls to
sip.callers.ai(or35.245.182.192). - Add every IP your carrier sends from as an Incoming gateway. Calls from unknown IPs are rejected.
- The dialed number must be on the connection in E.164 format and assigned to an incoming agent.
Outbound calls fail with 401 or 407
Outbound calls fail with 401 or 407
Outbound calls fail with 403
Outbound calls fail with 403
Calls connect but there's no audio, or audio only one way
Calls connect but there's no audio, or audio only one way
Some calls are rejected during busy periods
Some calls are rejected during busy periods
The carrier rejects calls with large headers
The carrier rejects calls with large headers