Skip to main content

Endpoints

  • Can I make an outbound call to the SIP URI of a Plivo application?

    Yes, you can make an outbound call to the SIP URI of a Plivo application. For example, you can make an HTTP POST request to originate an outbound call to "sip:example@app.plivo.com," which is the SIP URL used to identify the Plivo application.

    If you’re expecting to receive calls to your SIP URI, you must create an SIP endpoint that's attached to your Plivo application in the Endpoint tab. Share this endpoint with others, not the SIP URL of your application.

  • Can I register a single endpoint on different devices?

    Yes, you can register a single endpoint in different devices, but we don't recommend this because it can cause confusion. The softphone, hardphone, or Android, iOS, or web app that you logged in to most recently using your endpoint will be the default destination to make and receive calls, and that may cause conflicts with other devices you wish to use to make or receive calls.

  • Troubleshooting Plivo Endpoints

    Troubleshooting Plivo Endpoints

    This guide outlines key areas to check when facing issues with Plivo endpoints for making and receiving calls, including:

    • Unable to log in
    • Unable to make calls
    • Unable to receive calls
    • Call disconnections
    • Poor call quality

    Unable to Log In

    Ensure you are using the correct credentials, which can be found on the Plivo console under the Endpoints page.

    Username: Consists of up to 25 alphanumeric characters, followed by a 12-digit number assigned by Plivo (e.g., <username>123456789012). Special characters are not allowed.

    Password: Can be alphanumeric and include special characters, with a maximum length of 32 characters.

    Alias Name: Can contain alphanumeric characters but no special characters, with a maximum length of 50 characters.

    Unable to Make or Receive Calls

    • Verify that the endpoint is correctly configured and successfully registered.
    • Use the Retrieve an Endpoint method to check endpoint details.
    • Ensure the correct application is assigned to the endpoint for making calls & receiving calls.
    • You can use the Direct Dial app to make calls via an endpoint:
      • URL: http://plivodirectdial.herokuapp.com/response/sip/route/?DialMusic=real&CLID=PUT_YOUR_CALLER_ID_HERE
      • This URL should be set as the answer_url for the application linked to your Plivo endpoint.
    • You can use the Call Forward app to redirect incoming calls through an endpoint:

    Call Disconnections

    • Check the session expiry time set in your softphone, hardphone, or SDK.
    • If the issue persists and the call was not intentionally disconnected by either party, contact support@plivo.com for further investigation.

    Poor Call Quality

    VoIP call quality can be affected by multiple factors, including:

    • The network connection of both the caller and recipient
    • Local network setup
    • Carrier networks of both parties
    • Headset functionality
    • Plivo’s partner carrier performance

    For persistent issues, checking these factors can help improve call quality.

  • What softphones are supported for Plivo endpoints?

    We support and recommend softphones such as X-Lite (Bria Solo) and Zoiper. For security reasons we do not support VaxSIPUserAgent or Ozeki SIP user agents. You won’t be able to use Plivo endpoints with these softphones.

  • How can I receive calls on a SIP endpoint?

    You can either directly receive calls on a softphone, hardphone, web application, Android app, or iOS app in which the Plivo endpoint has been configured, or receive an inbound call to a Plivo DID number that can be redirected to an endpoint.

    Inbound calls directly to endpoints

    You can make calls from a SIP endpoint to another SIP endpoint by dialing out to the SIP URI of the endpoint. Find the SIP URI for an endpoint on the Endpoints page of the Plivo console and click on the plus sign for the endpoint for which you need the SIP URI.

    Note: You can make calls to an endpoint from a Plivo endpoint or an external SIP endpoint if the external VoIP provider supports that. Alternately, you can make calls to an endpoint using our outbound call method.

    Inbound call to DIDs redirected to endpoints

    You can use the demo call forwarding application to redirect the inbound calls to a DID and then to an endpoint.

    Demo call forward

    Example:
    http://callforward.herokuapp.com/forward/?Users=sip:exampleendpoint12345@phone.plivo.com

    In this example, sip:exampleendpoint12345@phone.plivo.com is the SIP URI of the endpoint to which you want calls to be redirected.

    Alternatively, you can set up call forwarding with the help of a Dial XML element, similar to the example laid out below, which can redirect calls to the endpoint.

    <Response>

        <Dial>

            <User sendDigits="wwww2410">sip:john1234@phone.plivo.com</User>

        </Dial>

    </Response>

    Answer_url attached to the Plivo DID should return XML code like the example above.

    Note: The endpoint should be assigned with direct-dial application. 

    http://plivodirectdial.herokuapp.com/response/sip/route/?DialMusic=real&CLID=PUT YOUR CALLER ID HERE

    You can use your desired phone number as the caller ID.

  • How can I make an outbound call using an endpoint?

    You can use a Plivo endpoint with a SIP phone, like X-Lite or Zoiper, to make and receive calls. You can also use our Browser SDK, Android SDK, or iOS SDK to make and receive calls.

    How to configure a SIP endpoint with a SIP phone

    1. To create a SIP endpoint, navigate to the Add New Endpoint page of the Plivo console.
    2. Add the endpoint as a direct dial application so you can make and receive calls. Navigate to the Add New Application page of the console and add the answer_URL of the application as http://plivodirectdial.herokuapp.com/response/sip/route/?DialMusic=real&CLID= PUT YOUR CALLER ID HERE. 
    3. Ensure that you replace the caller ID with your desired phone number.
    4. Assign the application to the SIP endpoint you created.

    Follow the instructions for X-Lite or Zoiper or use our SDK to make and receive calls.

  • How do I register an endpoint on my VoIP or softphone?

    Overview

    Plivo extends the capabilities of your existing SIP phones, allowing you to add custom business logic when calls are made or received. 

    Traditionally, SIP phones had very basic functionality and needed to be connected to a PBX. Plivo endpoints eliminate the need to set up and manage a phone system. Any Plivo application can implement the business logic needed to control a SIP phone using any of several web languages without any telecom background knowledge needed. Plivo supports all popular SIP-based softphones and hardware phones, including Bria, Cisco, and Polycom.

    Some interesting capabilities to add to your existing SIP phones:

    1. Instant conferencing: Calls made through a SIP phone registered with Plivo can directly be added to a conference bridge.

    2. Access control: With a few lines of code, you can add the ability to restrict calls made from SIP phones or limit the phone to only receive calls.

    3. Monitoring and reporting: Monitor and report all calls made or received using a SIP phone. Create custom dashboards to analyze the data collected using the APIs.

    4. Smart routing: Add intelligent extensions and shortcuts which route calls to and from traditional phone networks and WebRTC-enabled phones. 

    How it works

    Once your SIP phone is configured and set up, your device will register with and establish a connection to Plivo. 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 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 to handle the call request. You can also use the <Dial> element to dial to a regular phone, WebRTC device, or any other SIP phone.

    Getting started

    1. Sign up for a Plivo account.

    2. Add an endpoint using the Plivo console and fill in the required details.

    3. Make a note of the username Plivo assigns you. Plivo will add random numbers to your username, so it will look something like yodaXXXXXX. For the purpose of this tutorial, we'll use username yodaXXXXXX, password obiwan, alias obiwan.

    Configure your SIP phone

    Download and install a softphone. If you're on Mac or Windows, download X-Lite (now called Bria Solo Free). If you're on Linux, download Blink. For this tutorial, we'll use the X-Lite softphone.

    Launch X-Lite and navigate to Preferences. Click on the Accounts tab and click the "+" icon to add an account.

    Screenshot__5_.png

    Add the credentials of the endpoint you created: User ID yodaXXXXXX, password obiwan, domain phone.plivo.com, display name Yoda, authorization name yodaXXXXXX (same as your username).

    Note: Field names may vary based on the make and model of your SIP phone. All the configurations will remain in each case.

    Screenshot__4_.png

    Click OK when you’re done.

    Your endpoint entry in the list should as “enabled.” This indicates that your SIP phone has successfully registered with Plivo.

    Using a default dialer app

    To start making a call, attach the default direct-dial app to the endpoint you just created. Go to the Endpoints tab and click on the endpoint username to open an endpoint edit window. Select the Direct Dial app from the Application dropdown list.

    end.png 

    Next steps: customizing the endpoint app

    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. 

    Let’s assume that 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 parameters. We need to parse these parameters and return a Dial XML element with the appropriate attributes.

    <Response>

    <Dial callerId="18004321321">

    <Number>18001231234</Number>

    </Dial>

    </Response>

    When the above XML is returned on the request, Plivo will make an outbound call to 18001231234 and connect it with the softphone.