Your carriers, your numbers, one gateway
Connect any SIP trunk, keep or port your phone numbers, and spread calls across carriers with failover. Voice and SMS carriers are configured in the API, and every call and message is routed in code or with routing flows.
At a glance
Any carrier
Standard SIP trunks over UDP, TCP, or TLS, inbound, outbound, or both.
Failover
Weighted destinations, backup carriers, and health checks on every one.
Locked down
Only your trunks and your users get in. Strangers can never reach a trunk.
Numbers and SMS
Local and toll-free numbers, free porting, and SMS carriers over SMPP.
A trunk is a carrier you trust
Each trunk names a carrier: where calls to it go, the IP addresses its calls come from, and which way it works. Calls in from a trunk reach your users and apps; calls out leave through the trunk a routing flow picks. Require TLS, refuse anonymous callers, and cap calls per user, per trunk.
Spread calls across carriers
Group a carrier’s endpoints into a set. Calls go to the best priority that is up, weighted between endpoints, and move to the next one on a transport error, a timeout, or a 5xx. OPTIONS pings mark an endpoint down and back up, so a failing carrier is skipped before a caller notices.
How failover works
Per destination set, in the order a call meets it.
01
Pick
The first set matching the Request-URI, by domain or number prefix.
02
Balance
Weighted round robin, or by call ID so a call’s requests stay together.
03
Fail over
No answer, 408, or 5xx tries the next destination. A 4xx or 6xx is final.
04
Check
OPTIONS pings mark destinations down and back up on their own.
Safe by default
Toll fraud is a trunk problem. The gateway is closed until you open it.
Only trunks and users
Calls come in from your trunks’ IP addresses and your own users, who authenticate. Nothing else is admitted.
No calls out for strangers
Traffic from the internet reaches your users only, never a trunk, so nobody calls premium numbers on your bill.
Per trunk
Require TLS, refuse anonymous callers, and limit concurrent calls and calls per hour per user.
Callers marked
Unauthenticated callers are marked unverified, in call records and to the callee.
Scanners blocked
Sources that fail too often are rate limited and blocked. Trunks are never blocked.
Every denial counted
Each refused call or message is an event with its reason, and counted by reason.
SIP beyond the phone network
Not every call needs a phone number.
Call any SIP domain
Users can call SIP addresses on other domains, found by DNS, with allow and deny lists.
Take calls from anywhere
Let the internet call the users you list by SIP address, with presence if you want it.
Codecs
G.711, G.722, AMR-WB, and Opus, with the codec list under your control per account.
SMS carriers, routed like calls
Bind to your SMS carriers over SMPP 3.4, with delivery reports and incoming SMS. Routing flows pick the cheapest carrier by number prefix, fail over to the next, and wait for the handset’s delivery report. Numbers are normalized to E.164 on the way in.
Phone numbers
Local and toll-free
Numbers in the plans, ready for calls, SMS, and agents on day one.
Free porting
Bring your numbers on every plan, with a temporary number while the port completes.
Your own trunks
Already have a carrier? Connect it as a trunk and keep your numbers where they are.
Common questions
Can I use my own carrier?
Yes. Any carrier that offers SIP trunks, Twilio included, connects as a trunk: inbound, outbound, or both.
Can I use more than one carrier?
Yes. Weight calls between them, keep one as a backup, or route by destination with routing flows.
What stops toll fraud?
Only your trunks and authenticated users are admitted, and traffic from the internet can never reach a trunk.
Do I need phone numbers at all?
No. Browsers, apps, and SIP addresses call each other without a number.
Can I keep my numbers?
Yes. Port them for free, or leave them with your carrier and connect it as a trunk.
Built from
The DialPress primitives this uses.
Connect your first carrier.
Add a trunk, route a call out through it, and watch it in the call records.