Plivo Endpoint extends the capabilities of your existing SIP phones, allowing you to add custom business logic when calls are made or received. Traditionally, SIP phones have had very basic functionality and would require to be connected to a PBX, to bring it to life. With Plivo Endpoints you are no longer required to setup and manage a phone system. Any Plivo application can implement the needed business logic to control the SIP phone. And best of all, this business logic can be written using any of your favorite web languages without any need to understand the details of telecom. Plivo supports all popular SIP based soft phones and hardware phones like Bria, Cisco, Polycom etc. Below are some interesting examples to add on to your existing SIP phones:
Once your SIP phone is configured and setup your device will establish a
connection with Plivo by registering to it. When you initiate a call using the
SIP Phone, you’re not connecting to another phone or extension directly.
Rather, you’re instructing Plivo to fetch the XML from the attached application
on your server to handle the call request. This is similar to the way Plivo
handles incoming calls from a regular phone number. All Plivo XML elements are
available for use, to handle the call request. You can also use the
element to dial to a regular phone, WebRTC device or any other SIP phone.
Sign up for a Plivo Account.
Create an Endpoint by visiting this link. Click on ‘New Endpoint’ and fill in the required details.
Make a note of the username Plivo assigns you. Plivo will add random numbers in front of your username. Your username will appear to be yodaXXXXXX. For the purpose of this tutorial, Username - yodaXXXXXX, Password - obiwan, Alias - obiwan
Launch X-Lite and navigate to preferences. Click on the Accounts tab and hit the ‘+’ icon to add an account.
Add the credentials of the endpoint you created during the final step from “Getting Started” - User ID - yodaXXXXXX, Password - obiwan, Domain - phone.plivo.com , Display Name - Yoda Authorization Name - yodaXXXXXX (same as your username)
Click on OK when you’re done.
Your endpoint entry in the list would be shown as Enabled. This indicates that your SIP phone has successfully registered with Plivo.
To start making call, attach the default direct dial app to the endpoint you just created now.
If you have already created the endpoint - go to the endpoints tab and click
on the endpoint username. This will open an endpoint edit window. Select the
direct_dial app from the “Plivo App” dropdown list.
If you creating a new endpoint - select the
direct_dial app from the
“Plivo App” dropdown list.
When a call is made from the softphone, Plivo will send a request to the ‘Answer URL’ of the application attached to the endpoint with the parameters related to the call. Plivo expects a valid XML response from the Answer URL in order to proceed with the call. Lets assume in our case, we want to create a simple dial application and make an outbound call to the number entered from the softphone. The Answer URL will receive a request with the ‘From’ and ‘To’ parameter. We need to parse these parameters and return a Dial XML with the appropriate attributes.
When the above XML is returned on the request, Plivo will make an outbound call to 18001231234 and connect it with the softphone.
We have examples of direct dial app written in multiple languages. Check out the code on Github and customize it based on your needs.