SIP forwarding to your own server
Deliver calls to your SendMyCall number straight to your own SIP server or PBX: Asterisk, FreePBX, 3CX, FreeSWITCH, or any SIP endpoint with a public address.
How it works
When a number is set to Your own SIP server, every call to it is sent as a SIP call from our network to the host you name, with your number as the called party and the caller's own number as caller id. There is no registration, no username and no password: we simply send the call to your address, so your server has to accept calls from ours. Nothing is charged per call; the number's price covers it.
- Sign in, open the number under My account and choose Your own SIP server under "Where should calls to this number go?".
- Enter your server's public host name or address, the port if it is not 5060, UDP or TCP, and (optionally) the extension or user the call should be addressed to.
- Allow our gateway addresses on your firewall and in your PBX's trunk or ACL settings (below).
- Route calls for your number inside your PBX to a user, a ring group or an IVR. The change applies from the next call.
Our SIP gateway addresses
Calls to your server come from these addresses. Allow every one of them: a call may come from any of them, and the list only ever grows.
| Address | Location | |
|---|---|---|
| 45.77.78.79 | New Jersey | |
| 207.246.101.92 | Los Angeles | |
| 173.199.124.33 | New Jersey | |
| 45.77.71.27 | Los Angeles | |
| 104.207.147.51 | Miami | |
| 95.179.198.52 | London | |
| 192.248.187.43 | Frankfurt | |
| 149.28.133.229 | Singapore | |
| 45.76.117.166 | Sydney |
- Host name
- sip.sendmycall.comresolves to the addresses above, for systems that allow-list by name
- SIP signalling
- UDP or TCP, port 5060
- Media (RTP)
- UDP, ports 16384 to 32769
- Codecs
- G.711 µ-law (PCMU) · G.711 A-law (PCMA) · DTMF as RFC 2833 (telephone-event)
- Called number
- your number in international format without the plus (or the user you set)
- Caller id
- the caller's number in international format
- For scripts
- sip-gateways.txt (one address per line) · sip-gateways.json
- Last change
- 2026-09-20
Addresses are only added, never replaced. A new address is published here and in the list files at least 30 days before it carries a call, and every customer whose numbers go to their own SIP server is told by e-mail.
Firewall checklist
- Allow SIP from 45.77.78.79 and 207.246.101.92 and 173.199.124.33 and 45.77.71.27 and 104.207.147.51 and 95.179.198.52 and 192.248.187.43 and 149.28.133.229 and 45.76.117.166 to your server on port 5060, UDP and TCP.
- Allow RTP (UDP) from the same addresses, ports 16384 to 32769, to your server's media port range, and let your server's replies out.
- Your server needs a public address or a port forward: we cannot reach private addresses (10.x, 172.16-31.x, 192.168.x).
- If your PBX sits behind NAT, set its external address so the media it offers is reachable; otherwise you get one-way audio.
- Keep the same settings on every address: a call may come from any of them.
Notes for common phone systems
- Asterisk / FreePBX (chan_pjsip)
- A trunk without registration and without outbound authentication. In its identify section (FreePBX: the trunk's "Match (Permit)" list) enter all our addresses, one per line or comma separated. Add an inbound route for your number.
- FreeSWITCH / FusionPBX
- Add our addresses to an access control list (Advanced → Access Controls) used by the profile that listens on your public address, then a public inbound route for your number.
- 3CX
- A generic SIP trunk per address with registration off and IP-based authentication, so 3CX accepts the calls, and route the DID to a destination.
- Anything else
- Accept SIP calls from our addresses without authentication, and route calls addressed to your number (or the user you set on the number page) where you want them to ring.
The ready-made files below spell each of these out.
Configuration files: calls from SendMyCall to your PBX
Ready to paste. Each one accepts calls from all our addresses without registration and routes calls for your number. Replace YOUR_NUMBER with your number in international format without the plus, and the destination with the extension, ring group or IVR that should ring. Signed in, the same files come pre-filled on your number's page.
Asterisk (chan_pjsip)pjsip.conf + extensions.conf
One endpoint matched by our source addresses, no registration and no password. Replace PJSIP/100 with the phone, ring group or IVR that should ring.
; ---- pjsip.conf: calls from SendMyCall (host name sip.sendmycall.com) ----
; https://sendmycall.com/support/sip-forwarding
[sendmycall]
type=endpoint
context=from-sendmycall
disallow=all
allow=ulaw
allow=alaw
dtmf_mode=rfc4733
direct_media=no
rtp_symmetric=yes
force_rport=yes
rewrite_contact=yes
[sendmycall]
type=identify
endpoint=sendmycall
match=45.77.78.79
match=207.246.101.92
match=173.199.124.33
match=45.77.71.27
match=104.207.147.51
match=95.179.198.52
match=192.248.187.43
match=149.28.133.229
match=45.76.117.166
; ---- extensions.conf ----
[from-sendmycall]
exten => YOUR_NUMBER,1,NoOp(SendMyCall: call for YOUR_NUMBER from ${CALLERID(num)})
same => n,Dial(PJSIP/100,30)
same => n,Hangup()
FreePBXConnectivity → Trunks
Same as the Asterisk entry, through the GUI. Then Connectivity → Inbound Routes with the DID below sends the call where you want it.
Connectivity → Trunks → Add Trunk → Add SIP (chan_pjsip) Trunk
General
Trunk Name: SendMyCall
Outbound CallerID: (leave empty)
pjsip Settings → General
Username: (leave empty)
Secret: (leave empty)
Authentication: None
Registration: None
SIP Server: sip.sendmycall.com
SIP Server Port: 5060
Context: from-pstn
Transport: 0.0.0.0-udp
pjsip Settings → Advanced
Match (Permit): 45.77.78.79, 207.246.101.92, 173.199.124.33, 45.77.71.27, 104.207.147.51, 95.179.198.52, 192.248.187.43, 149.28.133.229, 45.76.117.166
From Domain: (leave empty)
pjsip Settings → Codecs
ulaw, alaw
Connectivity → Inbound Routes → Add Inbound Route
Description: SendMyCall YOUR_NUMBER
DID Number: YOUR_NUMBER
Set Destination: your extension, ring group or IVR
Firewall (System Admin → Firewall or your own): allow 45.77.78.79, 207.246.101.92, 173.199.124.33, 45.77.71.27, 104.207.147.51, 95.179.198.52, 192.248.187.43, 149.28.133.229, 45.76.117.166 on 5060/udp, 5060/tcp and RTP 16384-32769/udp.
FreeSWITCH / FusionPBXacl.conf.xml + external profile + dialplan/public
An access list with our addresses applied to the external SIP profile, then a public dialplan entry for the number. In FusionPBX: Advanced → Access Controls, Advanced → SIP Profiles → external → apply-inbound-acl, Dialplan → Inbound Routes.
<!-- conf/autoload_configs/acl.conf.xml: inside <network-lists> -->
<list name="sendmycall" default="deny">
<node type="allow" cidr="45.77.78.79/32"/>
<node type="allow" cidr="207.246.101.92/32"/>
<node type="allow" cidr="173.199.124.33/32"/>
<node type="allow" cidr="45.77.71.27/32"/>
<node type="allow" cidr="104.207.147.51/32"/>
<node type="allow" cidr="95.179.198.52/32"/>
<node type="allow" cidr="192.248.187.43/32"/>
<node type="allow" cidr="149.28.133.229/32"/>
<node type="allow" cidr="45.76.117.166/32"/>
</list>
<!-- conf/sip_profiles/external.xml: inside <settings> -->
<param name="apply-inbound-acl" value="sendmycall"/>
<param name="inbound-codec-prefs" value="PCMU,PCMA"/>
<!-- conf/dialplan/public/01_sendmycall.xml -->
<include>
<extension name="sendmycall-YOUR_NUMBER">
<condition field="destination_number" expression="^\+?YOUR_NUMBER$">
<action application="set" data="domain_name=${domain}"/>
<action application="transfer" data="1000 XML default"/>
</condition>
</extension>
</include>
# then: fs_cli -x 'reloadacl' ; fs_cli -x 'sofia profile external rescan' ; fs_cli -x 'reloadxml'
3CXVoice & Chat → SIP Trunks
3CX matches an inbound call to a trunk by the address it comes from, so make one Generic SIP Trunk per address, all with the same DID. No registration, no password.
For each of these addresses: 45.77.78.79, 207.246.101.92, 173.199.124.33, 45.77.71.27, 104.207.147.51, 95.179.198.52, 192.248.187.43, 149.28.133.229, 45.76.117.166
Admin Console → Voice & Chat → SIP Trunks → Add SIP Trunk
Country / Provider: Generic → Generic SIP Trunk
Main Trunk Number: YOUR_NUMBER
General
Registrar/Server: <the address> Port 5060
Outbound Proxy: <the same address>
Type of Authentication: Do not require - IP based
Simultaneous Calls: as needed
DIDs
add YOUR_NUMBER
Inbound Parameters → keep the defaults (Called Number = Request Line URI: User Part)
Options → Codecs: PCMU (G.711 U-law), PCMA (G.711 A-law)
Then Inbound Rules: DID YOUR_NUMBER → the extension, ring group or digital receptionist that should answer.
Firewall in front of 3CX: allow the addresses on 5060/udp, 5060/tcp and RTP 16384-32769/udp.
Kamailio / OpenSIPS (permissions)address table
Group 1 here; use whatever group your routing script checks with allow_source_address().
-- permissions module, table address (then: kamcmd permissions.addressReload) INSERT INTO address (grp, ip_addr, mask, port, tag) VALUES (1, '45.77.78.79', 32, 0, 'sendmycall'); INSERT INTO address (grp, ip_addr, mask, port, tag) VALUES (1, '207.246.101.92', 32, 0, 'sendmycall'); INSERT INTO address (grp, ip_addr, mask, port, tag) VALUES (1, '173.199.124.33', 32, 0, 'sendmycall'); INSERT INTO address (grp, ip_addr, mask, port, tag) VALUES (1, '45.77.71.27', 32, 0, 'sendmycall'); INSERT INTO address (grp, ip_addr, mask, port, tag) VALUES (1, '104.207.147.51', 32, 0, 'sendmycall'); INSERT INTO address (grp, ip_addr, mask, port, tag) VALUES (1, '95.179.198.52', 32, 0, 'sendmycall'); INSERT INTO address (grp, ip_addr, mask, port, tag) VALUES (1, '192.248.187.43', 32, 0, 'sendmycall'); INSERT INTO address (grp, ip_addr, mask, port, tag) VALUES (1, '149.28.133.229', 32, 0, 'sendmycall'); INSERT INTO address (grp, ip_addr, mask, port, tag) VALUES (1, '45.76.117.166', 32, 0, 'sendmycall');
Firewall (Linux ufw / iptables)shell
Change 10000:20000 to your PBX's own RTP port range.
# ufw ufw allow from 45.77.78.79 to any port 5060 proto udp ufw allow from 45.77.78.79 to any port 5060 proto tcp ufw allow from 45.77.78.79 to any port 10000:20000 proto udp ufw allow from 207.246.101.92 to any port 5060 proto udp ufw allow from 207.246.101.92 to any port 5060 proto tcp ufw allow from 207.246.101.92 to any port 10000:20000 proto udp ufw allow from 173.199.124.33 to any port 5060 proto udp ufw allow from 173.199.124.33 to any port 5060 proto tcp ufw allow from 173.199.124.33 to any port 10000:20000 proto udp ufw allow from 45.77.71.27 to any port 5060 proto udp ufw allow from 45.77.71.27 to any port 5060 proto tcp ufw allow from 45.77.71.27 to any port 10000:20000 proto udp ufw allow from 104.207.147.51 to any port 5060 proto udp ufw allow from 104.207.147.51 to any port 5060 proto tcp ufw allow from 104.207.147.51 to any port 10000:20000 proto udp ufw allow from 95.179.198.52 to any port 5060 proto udp ufw allow from 95.179.198.52 to any port 5060 proto tcp ufw allow from 95.179.198.52 to any port 10000:20000 proto udp ufw allow from 192.248.187.43 to any port 5060 proto udp ufw allow from 192.248.187.43 to any port 5060 proto tcp ufw allow from 192.248.187.43 to any port 10000:20000 proto udp ufw allow from 149.28.133.229 to any port 5060 proto udp ufw allow from 149.28.133.229 to any port 5060 proto tcp ufw allow from 149.28.133.229 to any port 10000:20000 proto udp ufw allow from 45.76.117.166 to any port 5060 proto udp ufw allow from 45.76.117.166 to any port 5060 proto tcp ufw allow from 45.76.117.166 to any port 10000:20000 proto udp # iptables equivalent iptables -A INPUT -s 45.77.78.79 -p udp --dport 5060 -j ACCEPT iptables -A INPUT -s 45.77.78.79 -p tcp --dport 5060 -j ACCEPT iptables -A INPUT -s 45.77.78.79 -p udp --dport 10000:20000 -j ACCEPT iptables -A INPUT -s 207.246.101.92 -p udp --dport 5060 -j ACCEPT iptables -A INPUT -s 207.246.101.92 -p tcp --dport 5060 -j ACCEPT iptables -A INPUT -s 207.246.101.92 -p udp --dport 10000:20000 -j ACCEPT iptables -A INPUT -s 173.199.124.33 -p udp --dport 5060 -j ACCEPT iptables -A INPUT -s 173.199.124.33 -p tcp --dport 5060 -j ACCEPT iptables -A INPUT -s 173.199.124.33 -p udp --dport 10000:20000 -j ACCEPT iptables -A INPUT -s 45.77.71.27 -p udp --dport 5060 -j ACCEPT iptables -A INPUT -s 45.77.71.27 -p tcp --dport 5060 -j ACCEPT iptables -A INPUT -s 45.77.71.27 -p udp --dport 10000:20000 -j ACCEPT iptables -A INPUT -s 104.207.147.51 -p udp --dport 5060 -j ACCEPT iptables -A INPUT -s 104.207.147.51 -p tcp --dport 5060 -j ACCEPT iptables -A INPUT -s 104.207.147.51 -p udp --dport 10000:20000 -j ACCEPT iptables -A INPUT -s 95.179.198.52 -p udp --dport 5060 -j ACCEPT iptables -A INPUT -s 95.179.198.52 -p tcp --dport 5060 -j ACCEPT iptables -A INPUT -s 95.179.198.52 -p udp --dport 10000:20000 -j ACCEPT iptables -A INPUT -s 192.248.187.43 -p udp --dport 5060 -j ACCEPT iptables -A INPUT -s 192.248.187.43 -p tcp --dport 5060 -j ACCEPT iptables -A INPUT -s 192.248.187.43 -p udp --dport 10000:20000 -j ACCEPT iptables -A INPUT -s 149.28.133.229 -p udp --dport 5060 -j ACCEPT iptables -A INPUT -s 149.28.133.229 -p tcp --dport 5060 -j ACCEPT iptables -A INPUT -s 149.28.133.229 -p udp --dport 10000:20000 -j ACCEPT iptables -A INPUT -s 45.76.117.166 -p udp --dport 5060 -j ACCEPT iptables -A INPUT -s 45.76.117.166 -p tcp --dport 5060 -j ACCEPT iptables -A INPUT -s 45.76.117.166 -p udp --dport 10000:20000 -j ACCEPT
Configuration files: your PBX as a phone on our cloud phone system
The other way round: a number on the cloud phone system (phone.systems) has a SIP account, and your PBX can register to it like a phone. Calls to the number then ring your PBX, and calls your PBX places show the number as caller id. The SIP server, username and password are on your number's page under Cloud phone system; signed in, these files come with them filled in.
Asterisk (chan_pjsip)pjsip.conf + extensions.conf
A registration trunk: your Asterisk registers as the number's SIP account. Calls to the number arrive in from-phonesystems; calls you dial through the trunk show the number as caller id.
; ---- pjsip.conf: phone.systems SIP account of YOUR_NUMBER ----
[phonesystems]
type=registration
outbound_auth=phonesystems-auth
server_uri=sip:YOUR_SIP_SERVER
client_uri=sip:YOUR_USERNAME@YOUR_SIP_SERVER
contact_user=YOUR_USERNAME
retry_interval=60
expiration=300
line=yes
endpoint=phonesystems
[phonesystems-auth]
type=auth
auth_type=userpass
username=YOUR_USERNAME
password=YOUR_PASSWORD
[phonesystems]
type=aor
contact=sip:YOUR_SIP_SERVER
[phonesystems]
type=endpoint
context=from-phonesystems
disallow=all
allow=ulaw
allow=alaw
allow=opus
outbound_auth=phonesystems-auth
aors=phonesystems
from_user=YOUR_USERNAME
from_domain=YOUR_SIP_SERVER
dtmf_mode=rfc4733
direct_media=no
rtp_symmetric=yes
force_rport=yes
rewrite_contact=yes
[phonesystems]
type=identify
endpoint=phonesystems
match=YOUR_SIP_SERVER
; ---- extensions.conf ----
[from-phonesystems]
exten => _X.,1,NoOp(Call for YOUR_NUMBER from ${CALLERID(num)})
same => n,Dial(PJSIP/100,30)
same => n,Hangup()
; outbound through the number (add to your outbound context)
exten => _+X.,1,Dial(PJSIP/${EXTEN}@phonesystems)
exten => _00X.,1,Dial(PJSIP/+${EXTEN:2}@phonesystems)
FreePBXConnectivity → Trunks
Connectivity → Trunks → Add Trunk → Add SIP (chan_pjsip) Trunk
General
Trunk Name: phone.systems YOUR_NUMBER
Outbound CallerID: YOUR_NUMBER
pjsip Settings → General
Username: YOUR_USERNAME
Auth username: YOUR_USERNAME
Secret: YOUR_PASSWORD
Authentication: Outbound
Registration: Send
SIP Server: YOUR_SIP_SERVER
SIP Server Port: 5060
Context: from-pstn
Transport: 0.0.0.0-udp
pjsip Settings → Advanced
From Domain: YOUR_SIP_SERVER
From User: YOUR_USERNAME
Contact User: YOUR_USERNAME
pjsip Settings → Codecs
ulaw, alaw, opus
Connectivity → Inbound Routes: DID Number YOUR_USERNAME (calls arrive addressed to the account) → your destination
Connectivity → Outbound Routes: dial patterns you want, trunk sequence = this trunk
FreeSWITCH / FusionPBXsip_profiles/external/phonesystems.xml
FusionPBX: Accounts → Gateways → Add, with the same values; inbound calls land in the public dialplan with the account name as destination.
<include>
<gateway name="phonesystems">
<param name="username" value="YOUR_USERNAME"/>
<param name="password" value="YOUR_PASSWORD"/>
<param name="realm" value="YOUR_SIP_SERVER"/>
<param name="proxy" value="YOUR_SIP_SERVER"/>
<param name="from-user" value="YOUR_USERNAME"/>
<param name="from-domain" value="YOUR_SIP_SERVER"/>
<param name="register" value="true"/>
<param name="expire-seconds" value="300"/>
<param name="retry-seconds" value="30"/>
<param name="caller-id-in-from" value="true"/>
<param name="codec-prefs" value="OPUS,PCMU,PCMA"/>
</gateway>
</include>
<!-- dialplan/public: calls to the number -->
<extension name="phonesystems-YOUR_NUMBER">
<condition field="destination_number" expression="^(YOUR_USERNAME|\+?YOUR_NUMBER)$">
<action application="transfer" data="1000 XML default"/>
</condition>
</extension>
<!-- outbound: bridge to sofia/gateway/phonesystems/$1 -->
3CXVoice & Chat → SIP Trunks
Admin Console → Voice & Chat → SIP Trunks → Add SIP Trunk
Country / Provider: Generic → Generic SIP Trunk
Main Trunk Number: YOUR_NUMBER
General
Registrar/Server: YOUR_SIP_SERVER Port 5060
Type of Authentication: Register/Account based
Authentication ID: YOUR_USERNAME
Authentication Password: YOUR_PASSWORD
DIDs: add YOUR_NUMBER
Caller ID: YOUR_NUMBER
Options → Codecs: OPUS, PCMU, PCMA
Inbound Rules: DID YOUR_NUMBER → the extension, ring group or digital receptionist that should answer.
Outbound Rules: route the prefixes you want through this trunk.
Any other PBX or softphonesettings
SIP server / registrar: YOUR_SIP_SERVER Port: 5060 (UDP or TCP) Username / auth user: YOUR_USERNAME Password: YOUR_PASSWORD Registration: yes, every 5 minutes Codecs: OPUS, G.711 µ-law (PCMU), G.711 A-law (PCMA) DTMF: RFC 2833 / RFC 4733 Caller id on calls out: YOUR_NUMBER Calls to YOUR_NUMBER arrive addressed to YOUR_USERNAME.
Hand this to the AI agent or assistant that manages your phone system (with access to its configuration). It contains every fact the agent needs; fill in YOUR_NUMBER and the destination, or copy the pre-filled version from your number's page.
Configure my PBX to receive calls for my phone number +YOUR_NUMBER from my provider SendMyCall over SIP. Facts: - SendMyCall sends the calls (SIP INVITE and RTP media) straight to my server from these public addresses: 45.77.78.79, 207.246.101.92, 173.199.124.33, 45.77.71.27, 104.207.147.51, 95.179.198.52, 192.248.187.43, 149.28.133.229, 45.76.117.166. The host name sip.sendmycall.com resolves to all of them. - There is no registration and no username or password: my server must accept calls from those addresses without authentication (IP-based trunk / identify by source address). - Signalling: SIP over UDP or TCP, port 5060. Media: RTP over UDP from ports 16384 to 32769 on their side, to my server's RTP range. - Codecs: G.711 µ-law (PCMU), G.711 A-law (PCMA); DTMF as RFC 2833 / RFC 4733 telephone-event. - The call is addressed to the user "YOUR_NUMBER" (the request URI user part), so my inbound route / DID must match "YOUR_NUMBER". The caller's number arrives in the From header in international format. - Reference: https://sendmycall.com/support/sip-forwarding (the current address list is at https://sendmycall.com/sip-gateways.txt). Do: 1. Create an inbound-only SIP trunk or endpoint matched by all of the source addresses above, with no authentication and no registration. 2. Allow those addresses through the firewall for SIP (5060/udp and 5060/tcp) and RTP (udp, my PBX's media port range). 3. Add an inbound route: calls addressed to "YOUR_NUMBER" go to <DESTINATION: extension, ring group or IVR>. 4. If my PBX sits behind NAT, set its external address so the media it offers is reachable. 5. Show me the exact configuration you applied and how to test it with a call to +YOUR_NUMBER.
For a number on the cloud phone system: fill in the SIP server, username and password from your number's page, or copy the pre-filled version there.
Configure my PBX with a SIP trunk to my cloud phone system (phone.systems, provided by SendMyCall) so that my phone number +YOUR_NUMBER rings on my PBX and my PBX can place calls out with that number. Facts: - Registrar / SIP server: YOUR_SIP_SERVER, port 5060, UDP or TCP. - Username (auth user): YOUR_USERNAME - Password: YOUR_PASSWORD - Registration: required, refresh every 5 minutes (expires 300). - Codecs: OPUS, G.711 µ-law (PCMU), G.711 A-law (PCMA); DTMF as RFC 2833 / RFC 4733. - Inbound: calls to +YOUR_NUMBER arrive on the trunk addressed to the user "YOUR_USERNAME"; the caller's number is in the From header in international format. - Outbound: dial international format with a leading + (or 00) through the trunk; the caller id shown is +YOUR_NUMBER. Do: 1. Create a registration-based SIP trunk (gateway) with the values above and confirm it registers (check the registration state). 2. Add an inbound route: calls arriving on this trunk (addressed to "YOUR_USERNAME" or +YOUR_NUMBER) go to <DESTINATION: extension, ring group or IVR>. 3. Add an outbound route through this trunk for the destinations I want, with +YOUR_NUMBER as caller id. 4. If my PBX sits behind NAT, set its external address and enable symmetric RTP so audio works both ways. 5. Show me the exact configuration you applied and how to test it: an inbound call to +YOUR_NUMBER and one outbound call.
Moving from our previous platform?
If your numbers were delivered to your SIP server before, calls came from 208.89.106.93. During the move they come from the addresses above as well, so allow both for now. You can remove the old address once your numbers have moved and calls arrive from the new ones. We mail every affected customer a notice with a confirmation link before moving their numbers, and we move them only after that confirmation.
If calls do not arrive
- Ringing but never answered, or a time-out: our INVITE is dropped by a firewall, or your server listens on another port or transport than the one you entered.
- Rejected with 403 or 401: your server expects a registered peer or a password. Set the trunk to accept calls from our addresses without authentication.
- Connected, but no or one-way audio: RTP is blocked or your PBX advertises a private address. Open the media ports and set the external address.
- Wrong destination inside the PBX: the call is addressed to your number in international format without the plus; set a user on the number page if your PBX wants an extension instead.
Still stuck? Write to [email protected] with the make of your phone system and the number.