This is the current API V1 documentation. Explore our API V2 beta if you’d like to test new features.

Docs

How to use Telnyx as a Termination Carrier for Twiliohow-to-use-telnyx-as-a-termination-carrier-for-twilio

Users with accounts in both Telnyx and Twilio portals can send calls from Twilio to Telnyx via SIP and have Telnyx terminate those calls on the PSTN.

Introductionintroduction

The following instructions will explain how to configure both sides so that calls from Twilio are authenticated using your Telnyx Connection.

In this guide we use a TwiML application as an example, but the token configuration on Twilio side will follow the same analogy for any other Twilio API based application (SDK, node, python, etc).

Telnyx Settingstelnyx-settings

  1. 1Login to the Telnyx Mission Control portalTelnyx Developers.
  2. 2Click on the Connections menu option and then Add Connection.
  3. 3Enter a Name and select Type: IP address.
  4. 4Under Expert IP Auth Settings choose the option Token and register the suggested Token (or define any alphanumeric value that you prefer). Click Save.
  5. 5On the same connection, click + Add IP to add the following Signaling IP addresses that belong to Twilio. To do that just go to Twilio’s Networking InformationTelnyx Developers page on the portal, and see what are the Signaling IPs for your region. For example, if you are using Twilio North America Virginia those would be:
    • 54.172.60.0
    • 54.172.60.1
    • 54.172.60.2
    • 54.172.60.3
  6. 6Click on Save all Changes. Your Connection should look like the image below.
  7. 7Click on the OutboundPORTAL menu option and create a new Outbound Profile or use an existing one.
  8. 8Assign the new Connection to the Outbound Profile to allow outbound calls to be authorized.

Twilio

Your Telnyx Connection is now ready to accept traffic from your Twilio account!

Twilio Settingstwilio-settings

Note: the following example uses a TwiML based application, but the same analogy and guidance for the Telnyx Token configuration is the same for any other Twilio API based application, i.e. SDK, Python, Node, etc.

  1. 9Login to the Twilio PortalTelnyx Developers.
  2. 10Have your TwiML application set in TwiML Apps tab:

Twilio

  1. 11Create an TwiML application that forwards calls to Telnyx and adds a Token header like the one from this example:
<?xml
 version="1.0"
?>
<Response>
  <Say>Please hold while we connect the call.</Say>
  <Dial>
    <Sip>
       sip:<your-destination-number>@sip.telnyx.com?X-Telnyx-Token=<your-connection-token>
    </Sip>
  </Dial>
</Response>
  1. 12You can trigger your application by adding it to a call flow, e.g. assigning it to a Twilio phone number and making a call to that number.
  2. 13Once the application reaches that step, Twilio will send a SIP INVITE message to Telnyx to establish the call like the one from this example.
INVITE sip:<your-to-number>@sip.telnyx.com SIP/2.0
Record-Route: <sip:54.172.60.0:5060;lr>
CSeq: 1 INVITE
From: "<your-from-number>" <sip:<your-from-number>@sip.twilio.com>;tag=-------------
To: <sip:<your-to-number>@sip.telnyx.com>
Max-Forwards: 67
Date: Wed, 16 Oct 2019 21:20:40 GMT
Min-SE: 120
X-Telnyx-Token: <your-token>
Call-ID: ------------------------
Via: SIP/2.0/UDP 54.172.60.0:5060;branch=-------------
Via: SIP/2.0/UDP 172.18.18.112:5060;rport=5060;received=172.18.18.112;branch=----------------
Contact: "<your-from-number>" <sip:<your-from-number>@172.18.18.112:5060;transport=udp>
Allow: INVITE,ACK,CANCEL,OPTIONS,BYE,REFER,NOTIFY
User-Agent: Twilio Gateway
X-Twilio-AccountSid: <your-twilio-id>
Content-Type: application/sdp
X-Twilio-CallSid: --------------
Content-Length: 238

v=0
o=root 1836844584 1836844584 IN IP4 34.203.251.66
s=Twilio Media Gateway
c=IN IP4 34.203.251.66
t=0 0
m=audio 12240 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=sendrecv
  1. 14Telnyx will accept that SIP INVITE and will place/redirect the call to the PSTN number placed in the SIP URI.

Can't find what you're looking for?can-t-find-what-you-re-looking-for-

Our knowledge base is currently undergoing a makeover which will include more up to date videos to match our ever growing platform! Click the chat bubble at your lower right hand corner and start a chat!