SIP Connectivity
Connect your PBX, SBC or SIP trunk to Callr. This page lists everything you need to configure your side: endpoints, IP ranges to allow, the expected INVITE format, codecs, and how to read call rejections.
| Europe | USA | |
|---|---|---|
| SIP domain | eu.sip.callr.com | usa.sip.callr.com |
| Transports | UDP / TCP 5060, TLS+SRTP 5061 | UDP / TCP 5060, TLS+SRTP 5061 |
| Number format | +E.164 (default, configurable) | +E.164 (default, configurable) |
| Codecs | All codecs | All codecs |
| Rejection reason | X-HupReason header | X-HupReason header |
Transports
| Transport | Port | Media |
|---|---|---|
| SIP UDP | 5060 | RTP |
| SIP TCP | 5060 | RTP |
| SIP TLS | 5061 | SRTP |
IP ranges to allow
Allow both the SIP signaling and the RTP media ranges of the region you connect to in your firewall.
SIP DNS
eu.sip.callr.com
SIP IP
185.76.20.162/32
185.76.22.162/32
RTP
185.76.20.64/28
185.76.22.64/28
SIP DNS
usa.sip.callr.com
SIP IP
52.14.84.104/32
RTP
18.221.24.70/32
18.220.223.254/32
Webhooks and fetchThese ranges only cover SIP signaling and RTP media. HTTP requests sent by Callr (Webhooks and
fetch@v3) come from the ranges listed in IP Subnets.
Sending calls to Callr
Number format
By default, numbers are in E.164 format prefixed by +, in the Request-URI, From and To:
INVITE sip:[email protected] SIP/2.0Each trunk group of the Console (VoIP → SIP termination) can use another format:
| Format | Example for +33199001234 |
|---|---|
+CCNSN (default) | +33199001234 |
00CCNSN | 0033199001234 |
CCNSN | 33199001234 |
| FR (national) | 0199001234 for France, 00 + E.164 for other countries |
Prefix
When the same IP address is used on several trunk groups or sub-accounts, the trunk group has a prefix. Send it before the number, followed by #, or in the X-Callr-Account-Code header:
INVITE sip:GP81PGTA#[email protected] SIP/2.0INVITE example
A complete INVITE sent by your SBC (203.0.113.10) for a call from +33612345678 to +33199001234:
INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 203.0.113.10:5060;branch=z9hG4bK-524287-1
Max-Forwards: 70
From: <sip:[email protected]>;tag=8a2f6e1c
To: <sip:[email protected]>
Call-ID: [email protected]
CSeq: 1 INVITE
Contact: <sip:[email protected]:5060>
Allow: INVITE, ACK, CANCEL, BYE, OPTIONS
User-Agent: MySBC/1.0
Content-Type: application/sdp
Content-Length: 319
v=0
o=- 3912345678 3912345678 IN IP4 203.0.113.10
s=-
c=IN IP4 203.0.113.10
t=0 0
m=audio 16384 RTP/AVP 8 0 9 18 111 101
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:9 G722/8000
a=rtpmap:18 G729/8000
a=rtpmap:111 opus/48000/2
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=sendrecvCodecs
Callr supports all codecs. Media is relayed end-to-end: offer the codecs you support in your SDP, in your order of preference, and the codec is negotiated with the other party. When a specific codec list is required, Callr transcodes the media to it (e.g. PCMA, G.729, Opus).
Call rejections: the X-HupReason header
X-HupReason headerWhen Callr rejects a call, the SIP response always carries an X-HupReason header with the reason. The SIP status code alone is generic (403, 404, 484, 488, 503, 603…): read X-HupReason to know why the call was refused.
SIP/2.0 403 Forbidden
Via: SIP/2.0/UDP 203.0.113.10:5060;branch=z9hG4bK-524287-1
From: <sip:[email protected]>;tag=8a2f6e1c
To: <sip:[email protected]>;tag=Hv5Q7r3BmS0ca
Call-ID: [email protected]
CSeq: 1 INVITE
X-HupReason: [DESTINATION_NOT_ALLOWED] Destination not allowed
Content-Length: 0The value is [CODE] Message: the code is stable and can be used in your logic, the message is for humans and may change. The most common codes:
| Code | Meaning |
|---|---|
IP_NOT_MATCHED / IP_DISABLED | The source IP is not declared on your account, or is disabled |
NUMBER_FORMAT | The called number is empty or not in the format of the trunk group |
UNALLOCATED_NUMBER / NOT_CONFIGURED | The called Callr number does not exist, or has no scenario assigned |
DESTINATION_NOT_FOUND / DESTINATION_NOT_ALLOWED | The destination is unknown, or not enabled on your account |
COST_NOT_ALLOWED | The call is above the maximum cost allowed on your account |
PREFIX_BLACKLISTED / FROM_BLACKLISTED | The destination prefix or the caller ID is blocked |
FROM_NOT_APPROVED / FROM_ANONYMOUS / FROM_FILTERED | The caller ID is not approved, hidden, or filtered |
ANTI_SPAM | Blocked by anti-spam rules (call frequency, work hours…) |
BUILD_MODE | Account in test mode: the number is not an approved testing number |
BALANCE | Credit balance below the shutdown limit |
CPS / CCL | Calls-per-second or concurrent call limit reached |
DISABLED / DISABLED_IN / DISABLED_OUT / ARCHIVED | The account, or its inbound or outbound calls, are disabled |
CONGESTION / NO_ROUTES | Temporary failure: retry later |
When the call failed further down the line (no answer, the destination network refused it, internal error), X-HupReason carries a plain message instead, such as Timeout [60] or Internal error.
Calling a SIP endpoint from Callr
To make a call to a SIP endpoint, use dial@v2 in a Callr Actions scenario.
Here is an example dialing to an OpenAI Realtime agent (see Connect to OpenAI for the full setup, including the webhook your server needs):
description: Dial to SIP
compat:
version: "2025-09-01"
defaults:
autoAnswer: false
branches:
inbound-call:
actions:
- action: dial@v2
params:
targets:
- number: sip:[email protected];transport=tls
timeout: 60Other guides: Connect to ElevenLabs, Connect to Vapi.
Updated 4 days ago
