If you have both Telnyx and Plivo accounts, you can easily send calls from Plivo to Telnyx using Elastic SIP Trunking and your calls will terminate on the PSTN.
Here we explain how to configure both accounts so your calls from Plivo are sides authenticated using your Telnyx Connection.
Throughout this walkthrough, we'll use a Plivo XML application, 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 Connections menu option and then Add 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 Connection should look like the image below.
- 7Click on the Outbound menu option and create a new Outbound Profile or use an existing one.
- 8Assign the new Connection to the Outbound Profile to allow outbound calls to be authorized.
Your Telnyx 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:220.127.116.11:5060;lr;ftag=-------- Via: SIP/2.0/UDP 18.104.22.168:5060;branch=---------- Via: SIP/2.0/UDP 22.214.171.124:5080;received=126.96.36.199;rport=5080;branch=z9hG4bKev8HypZm2DH6g Max-Forwards: 39 From: "<your-from-number>" <sip:<your-from-number>@188.8.131.52>;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>@184.108.40.206> Remote-Party-ID: "<your-from-number>" <sip:<your-from-number>@220.127.116.11>;party=calling;screen=yes;privacy=off v=0 o=Plivo 1571228231 1571228232 IN IP4 18.104.22.168 s=Plivo c=IN IP4 22.214.171.124 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 126.96.36.199 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.
Our team is always ready to chat- just click the icon in the lower right hand corner for 24/7/365 support.