Announcing Twilio’s Bring Your Own Carrier (BYOC) Trunking for Programmable Voice

April 30, 2020
Written by

Screen Shot 2020-04-21 at 7.53.13 AM.png

Businesses throughout the globe use Twilio’s Programmable Voice platform to build conversations anywhere; you can make, receive, and monitor calls around the world using the proven Voice API and global Super Network that millions of developers rely on. This allows you to add flexibility and intelligence to your customer interactions, and in doing so, offer better services and experiences to your customers.

But maybe you are unable to make the jump to Cloud Communications because you're unable, or don't want to move your PSTN Connectivity. At Twilio, we understand these issues and limitations, and we want to help. Today, we’re excited to announce the general availability Twilio’s Bring Your Own Carrier Trunking for Programmable Voice, or BYOC Trunking, a distinct new offering that allows you to maintain and continue to use your existing PSTN Voice Carrier(s) and phone numbers, and easily add Twilio Programmable Voice capabilities to them or use them with your Twilio Flex contact center.

Bring Twilio Magic to your existing providers

You can use Twilio to customize your calling experience to meet your business needs. Whether you are implementing Call Tracking, Contact Centers, Flex powered Contact Centers, IVRs, Conference Calling, Number Masking, or your own unique idea, Twilio can help, and BYOC Trunking lets you start that journey without the hassle of changing PSTN carrier(s).

You might want to keep you existing PSTN Voice Carrier(s) for different reasons, for example:

  • You're in the middle of a multi-year contract and/or relationships with your PSTN Carrier(s)
  • Porting your existing phone numbers can be a difficult, time-consuming task or simply not an option in certain countries
  • You've invested in expensive infrastructure that you’re not ready to write off
  • You may have phone numbers in countries where Twilio does not currently have stock
  • You are simply not ready to move your PSTN Connectivity to the cloud

Despite the above barriers to entry, you see the power of software and you want to add Programmability to your communications, BYOC Trunking allows you overcome these barriers by enabling you to use the Twilio Platform with your existing PSTN Voice Carrier(s).

BYOC Trunking involves setting up a two-way trunk between your own PSTN Carrier and Twilio, either over the Public Internet a private connection using Twilio Interconnect.You keep and continue to manage your Carriers, relations, and pricing, and use Twilio Programmable Voice to control you calls as instructed by your applications. Not only that, Twilio BYOC Trunking allows you to build your application once with Twilio's APIs, and use that same application with any PSTN carrier(s) in combination with Twilio's Super Network.

BYOC Trunking Deployment

Serenova builds Cloud Contact Center solutions, and BYOC Trunking allows them to onboard customers that want to keep their existing phone numbers. “BYOC trunking enables our customers to experience the power of programmability of Twilio without worrying about porting their existing numbers and by leveraging their existing carriers. We are very excited to partner with Serenova to enable their contact center solution globally with BYOC trunking” said Jesper Joergensen, GM voice, and video, Twilio. "Our partnership with Twilio enables us to offer a cloud-based contact center solution that addresses the security and scalability required of global organizations. As our joint customers - existing and net new - look to enhance their customer experience via the cloud, they can now leverage our contact center software while maintaining relationships with existing voice providers.” said Leslie Blanke, SVP of Product Management at Serenova.

How do I get started with BYOC?

We've created the concept of a "BYOC Trunk" that is optimized for this use-case: A SIP Trunk to interconnect your PSTN Carrier to the Twilio platform. A BYOC Trunk has two directions:

  • BYOC Termination: Receive incoming calls to your Phone Numbers from your BYOC carrier to Twilio.
  • BYOC Origination: Send outgoing calls from Twilio to your BYOC carrier.

BYOC two-way

What do you need to do?

1) Create a BYOC Trunk on the Twilio Console (under Programmable Voice section)

Create BYOC Trunk

2) Add programmability to your Phone Numbers
- Configure your BYOC Trunks' Termination Domain which will be used to receive inbound traffic from your PSTN traffic. Your Termination Domain SIP URI can use either a Fully-Qualified Domain Name (FQDN), or if you are using Twilio Interconnect, you have the option to use a static IP address (released today under Limited Availability).
- Twilio supports providing you with an FQDN (most common), or using a Static IP address (under Limited Availability)

Create Termination Domain


- Point your PSTN Carrier to forward calls towards your new Twilio BYOC Termination domain
- Configure the URL that points to your web application on your BYOC Trunk that Twilio will use to invoke upon receipt of a SIP INVITE from your PSTN carrier

Add Application Config

3) Optionally, route outbound calls to the PSTN via your PSTN carrier
- Configure your BYOC Trunks' Origination Connection Policy for outbound traffic towards your PSTN carrier

Add Origination Policy


- Update your PSTN carrier IP-ACLs by adding Twilio's IP addresses to any allow lists

How does it work?

Receiving Calls from your PSTN Carrier

When a customer calls one of your Phone Numbers, the call will be received by your PSTN Carrier, who will then forward the call to your Twilio BYOC Trunk configured above. When Twilio receives that call, your web application will be invoked, and off you go using Twilio programmable Voice, doing all the Twilio magic you do with your Twilio numbers!

Receive calls (BYOC Termination)

Making Calls to your PSTN Carrier

For the other direction, just dial a PSTN number like you do when using Twilio Programmable Voice, i.e., using Twilio’s Call API resource, TwiML <Dial><Number>, or Conference Participant API resource. These dialing methods now support a `byoc` parameter which allows you to specify the SID of the BYOC Trunk (connecting to your PSTN carrier) that you want to use to route your Outbound calls through to the PSTN.

Making a call (BYOC Origination)

The syntax is pretty simple; examples as follows:

(1) TwiML <Dial><Number>

<Dial><Number byoc="{Your_BYOC_Trunk_SID}">7702</Number></Dial>

(2) API Calls Resource (curl example)


curl 'https://api.twilio.com/2010-04-01/Accounts/{Your Account SID}/Calls.json' 
-X POST --data-urlencode 'To=+14158675309' --data-urlencode 'From=+14155551212'
--data-urlencode 'Url={Your Twilio App URL}' --data-urlencode 'Byoc={Your-BYOC=Trunk_SID}' 
-u {Your Account SID}:{Your Auth Token}

(3) API Conferences Participants Resource (curl example)


curl https://api.twilio.com/2010-04-01/Accounts/{Your Account SID}/Conferences/{Your Conference SID}/Participants.json 
-X POST --data-urlencode "From=+14155551212" --data-urlencode "To=+14158675309" 
--data-urlencode 'Byoc={Your-BYOC=Trunk_SID}' 
-u {Your Account SID}:{Your Auth Token}

Super Network Failover

What if your Origination call fails to complete by your PSTN carrier? Twilio’s Super Network is there for you. By default, it will automatically be used as a Failover option if all of the configured targets in the selected BYOC Trunk’s Origination Connection Policy fail to route the call. With worldwide coverage, chances are, Twilio’s Super Network can reach your intended destination.

BYOC Origination - Failover to Super Network

Wrap-up

Twilio's BYOC Trunking allows you to add programmability to your existing Phone Numbers that are not owned by Twilio. This lowers your barrier to entry to start leveraging Twilio's cloud communications platform and APIs, making the communications required for your business more agile. Twilio BYOC Trunking allows you to build your application once with Twilio Programmable Voice to solve your business problem, regardless of your PSTN carrier(s). Twilio Programmable Voice and BYOC Trunking allow you to think and act quickly and easily, using the power of software.

To get started, visit BYOC Trunking for an overview. If you're ready to configure your first BYOC Trunk, check out our BYOC Trunking User Documentation to learn the details and then head on over to your Twilio Console. We can’t wait to see what you build!