Users with accounts in both Telnyx and Plivo portals can send calls from Plivo to Telnyx via SIP and have Telnyx terminate those calls on the PSTN.
The following instructions will explain how to configure both sides so that calls from Plivo are authenticated using your Telnyx SIP Connection.
In this guide, we use a Plivo XML application as an example, but the token configuration on Plivo side will follow the same analogy for any other Plivo API based application (SDK, node, python, etc).
- 1Login to the Telnyx Mission Control portal.
- 2Click on the SIP Connections menu option and then Add SIP Connection.
- 3Enter a Name and select Type: IP address.
- 4Under Expert IP Auth Settings choose the option Token and register the suggested Token (or define any alphanumeric value that you prefer). Click Save.
- 5On the same connection, click + Add IP to add the following Signaling IP addresses that belong to Plivo:
- 6Click on Save all Changes. Your SIP Connection should look like the image below.
- 7Click on the OutboundPORTAL menu option and create a new Outbound Profile or use an existing one.
- 8Assign the new SIP Connection to the Outbound Profile to allow outbound calls to be authorized.
Your Telnyx SIP Connection is now ready to accept traffic from your Plivo account!
Note: the following example uses a Plivo XML based application, but the same analogy and guidance for the Telnyx Token configuration is the same for any other Plivo API based application, i.e. SDK, Python, Node, etc.
- 9Login to the Plivo Portal.
- 10Create a Plivo application that points to your HTTP endpoint that will host your XML application:
- 11Create an XML application that forwards calls to Telnyx and adds a Token header like the one from this example:
<?xml version="1.0" ?> <Response> <Speak>Please hold while we connect the call.</Speak> <Dial> <User sipHeaders="Telnyx-Token=<your-connection-token>"> sip:<your-destination-number>@sip.telnyx.com </User> </Dial> </Response>
- 12You can trigger your application by adding it to a call flow, e.g. assigning it to a Plivo phone number and make a call to that number.
- 13Once the application reaches that step, Plivo will send a SIP INVITE message to Telnyx to establish the call like the one from this example (please note the custom X-PH header for Telnyx-Token).
INVITE sip:<your-to-number>@sip.telnyx.com SIP/2.0 Record-Route: <sip:184.108.40.206:5060;lr;ftag=-------- Via: SIP/2.0/UDP 220.127.116.11:5060;branch=---------- Via: SIP/2.0/UDP 18.104.22.168:5080;received=22.214.171.124;rport=5080;branch=z9hG4bKev8HypZm2DH6g Max-Forwards: 39 From: "<your-from-number>" <sip:<your-from-number>@126.96.36.199>;tag=---------- To: <sip:<your-to-number>@sip.telnyx.com> Call-ID: --------------------------- CSeq: 11074464 INVITE Contact: <sip:firstname.lastname@example.org:5080> User-Agent: Plivo Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REFER, NOTIFY Supported: path, replaces Allow-Events: talk, hold, conference, refer Privacy: none Content-Type: application/sdp Content-Disposition: session Content-Length: 371 X-SipUserAgent: None X-Plivo-ParentAuthID: <your-plivo-id> X-Plivo-Webrtc: false X-ParentCallUUID: --------------- X-PH-Telnyx-Token: <your-token> P-Asserted-Identity: "<your-from-number>" <sip:<your-from-number>@188.8.131.52> Remote-Party-ID: "<your-from-number>" <sip:<your-from-number>@184.108.40.206>;party=calling;screen=yes;privacy=off v=0 o=Plivo 1571228231 1571228232 IN IP4 220.127.116.11 s=Plivo c=IN IP4 18.104.22.168 t=0 0 m=audio 28282 RTP/AVP 0 8 9 102 3 101t a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:9 G722/8000 a=rtpmap:102 SPEEX/8000 a=rtpmap:3 GSM/8000 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-16 a=rtcp:28283 IN IP4 22.214.171.124 a=silenceSupp:off - - - - a=ptime:20
- 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? 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.