Plivo
Author: h | 2025-04-24
Create a Plivo application. Associate the Express server you created with Plivo by creating a Plivo application. Visit Voice Applications in the Plivo console and click on Add New Application, or use Plivo’s Application API. Give your application a namewe called ours Phone IVR.
plivo/plivo-php: Plivo PHP Helper Library - GitHub
To save.TestMake a call to your Plivo number using any phone.Forward an incoming callPlivo requests an answer URL when the call is answered (step 4) and expects the file at that address to hold a valid XML response from the application with instructions on how to handle the call. In this example, when an incoming call is received, Plivo forwards the call using the Dial XML element.You must have a voice-enabled Plivo phone number to receive incoming calls; you can rent numbers from the Numbers page of the Plivo console, or by using the Numbers API.Create an MVC controller to forward incoming callsCreate a controller called ForwardcallController.cs in the Controllers directory and paste into it this code.123456789101112131415161718192021222324252627using System;using Plivo.XML;using System.Collections.Generic;using Microsoft.AspNetCore.Mvc;namespace Receivecall{ public class ForwardcallController : Controller { public IActionResult Index() { Plivo.XML.Response resp = new Plivo.XML.Response(); Plivo.XML.Dial dial = new Plivo.XML.Dial(new Dictionarystring, string>() { }); dial.AddNumber("", new Dictionarystring, string>() { }); resp.Add(dial); var output = resp.ToString(); Console.WriteLine(output); return this.Content(output, "text/xml"); } }}Replace the destination number placeholder with an actual phone number (for example, 12025551234).If you haven’t done so already, expose your local server to the internet.Create a Plivo application to forward callsAssociate the .NET application you created with Plivo by creating a Plivo application. Visit Voice > Applications in the Plivo console and click on Add New Application, or use Plivo’s Application API.Give your application a name — we called ours Forward Call. Enter the server URL you want to use (for example in the Answer URL field and set the method to POST. Click Create Application to save your application.Assign a Plivo number to your applicationNavigate to the Numbers page and select the phone number you want to use for this application.From the Application Type drop-down, select XML Application.From the Plivo Application drop-down, select Forward Call (the name we gave the application).Click Update Number to save.TestMake a call to your Plivo number using any phone. Plivo will send a request to the answer URL you provided requesting an XML response and then forward the call according to the instructions in the XML document the server provides.More use casesWe illustrate more than 20 use cases with code for both API/XML and PHLO on our documentation pages. 🥳 Thank you! It means a lot to us! Help Us Improve Thank you so much for rating the page, we would like to get your input for further improvements! Thank you for your feedback!
How can I create a Plivo account? Plivo support
Plivo provides voice and messaging communication services in more than 190 countries, each of which has local laws about telecommunication services, and we partner with carriers worldwide whose policies we need to be compliant with. To ensure compliance with regulations, and prevent scenarios of SMS phishing and unsolicited voice calls, we have put measures in place to proactively verify account signups on the Plivo platform.Why was my Plivo account signup put on hold?Plivo is required to comply with local laws for telecommunication services around the globe. To ensure compliance with such regulations globally, we perform a risk assessment on all signups from new potential customers. If our assessment indicates a high risk, we may put a business on a hold list, indicating that we are unable to provide service to them at this time. Unfortunately, we are unable to disclose the specific reasons or parameters considered during our evaluation.How can I get my account off the hold list?Our evaluation process is thorough, and decisions made by our team are final. We are unable to re-evaluate or reconsider account eligibility decisions.At what stage does Plivo apply restrictions to an account?Plivo may place restrictions on an account at the time of signup. Even after the signup our internal systems continuously review each account for anomalies. This may lead to your account being put under restrictions at a later time as well. If we apply restrictions to your account, we’ll send you an email detailing that and steps for you to raise a reassessment request.How can I check whether my account has any restrictions?You will be able to see an alert message when you log in to the Plivo console. Didn’t find what you are looking for? Create new ticket Related articles How can I create a Plivo account? What is a subaccount? Does Plivo support SSO authentication? What should I do if I suspect my account has been compromised? What is the process for renting a local number in India?How can I make a phone call using Plivo? – Plivo support
Healthcare businesses of all kinds use Plivo’s global cloud communications platform and voice and messaging APIs to power their business engagement platforms and for health communication, including dentist and physician practices, medical technology and healthtech companies, labs, and clinics.You’re all set!Thanks for submitting the form! Our team will reach out to you soon.Why do healthcare providers rely on Plivo APIs for health communication?Data security and privacyHIPAA-compliant and will sign a BAAData redaction ensures that no PII is exposed.Data is encrypted with TLS/HTTPS.Unmatched reliabilityGuaranteed 99.95% uptime (99.99% for enterprise plans)Direct relationships with 1,600+ Tier 1 and local carriers6 global points of presenceCustomer satisfactionConsultative approach to customer service98 satisfaction score, highest on G2Premium support plans availableBenefits of SMS and voice communications for healthcare businessesPersonalize patient engagement and experiencesSend medical appointment reminders, prescription status updates, and lab results.Protect account privacy by sending one-time passwords for two-factor authentication.Exchange two-way text messages between patients and doctors’ offices or add click-to-call to your website for immediate voice calls.Improve staff efficiency and communicationsAutomate post-care calls or messages or send incoming callers to their choice of destinations via IVR menus that accept both DTMF and speech input.Handle conference calling — loop in providers at other practices or seek feedback from patients via automated voice surveys.Keep staff updated on hours, policies, and other information.Plivo APIs for healthcare businessesPatient security and privacyPlivo offers compliance with national and global privacy and security regulations, including HIPAA, SOC 2, PCI DSS, and GDPR. Plivo will sign a BAA for customers who sign up for an enterprise package.Join other healthcare businesses that trust Plivo for their communications“Plivo’s ability to perform message redaction at the integration layer is key to us, because we want to make sure that there’s not another repository somewhere out there that might contain something that it shouldn’t. Using Plivo’s SMS API, I’m confident there’s nothing because it’s been redacted immediately.”“We’re serving tens of thousands of practices that are providing health and wellness services to millions of clients. The appointment reminders are a big value add for our customers. It’s a big reason why a lot of them sign up.”Senior Vice President of Engineering, Practice Management Software ProviderFrequently asked questionsIs Plivo HIPAA-compliant?Plivo acts as a Business Associate of our customers, and we will sign a Business Associate Agreement (BAA) with enterprise customers to confirm our implementation of required security, privacy, and data breach related safeguards for protected health information (PHI). Plivo customers must also follow appropriate data security and privacy practices to ensure that their applications are HIPAA-compliant.How does Plivo secure customer data?How easy is it to build IVR menus with Plivo?Easier than you might expect. You can build a system without writing a single line of code by using our. Create a Plivo application. Associate the Express server you created with Plivo by creating a Plivo application. Visit Voice Applications in the Plivo console and click on Add New Application, or use Plivo’s Application API. Give your application a namewe called ours Phone IVR.Plivo CX for Proactive Service
Domestic calling is a better choice than international calling if your calls originate and terminate in India. If a non-Plivo IN number is used as the Caller ID, the calls will be processed on a best-effort basis, and Plivo cannot provide support for any issues. To ensure reliable service, Plivo strongly recommends using a Plivo IN number for outbound calls.It provides several advantages.The call media path is shorter, which means lower latency and better audio quality.Outbound callers can get better recognition with assured local caller ID.Pricing is attractive, and INR billing is available.RequirementsBusinesses should be aware of several requirements for domestic calling in India.Caller ID — Outbound calls must originate from the caller ID of an India Plivo phone number.Media anchoring — Media anchoring requires the media of the call to reside in the same country as the phone call. Simply put, the media cannot leave the country; your calls should originate from and terminate to users in India. If a domestic call leg is bridged with an international call leg, the call will fail with hangup cause “Violates Media Anchoring.”Business KYC — You must submit know-your-customer (KYC) documentation before you can rent India phone numbers and make and receive calls from your Plivo account. Didn’t find what you are looking for? Create new ticket Related articles What is the process for renting a local number in India? What is KYC? Calls per Second (CPS) How to Comply with TRAI's New PE-TM Binding Chain Requirement Restrictions on New and Existing Plivo AccountsPlivo 5.49.3 - NuGet Gallery
To the Play Audio node using the Answered trigger state. Configure the Play Audio node to play a message to the user by entering text in the Speak Text box in the Prompt section of the Configuration pane — for example, “Hello, you just received your first call.” Connect the Initiate Call node’s Answered trigger state to the Play Audio node. After you complete the configuration, give the PHLO a name by clicking in the upper left, then click Save. Your PHLO is now ready to test.Trigger the PHLOYou integrate a PHLO into your application workflow by making an API request to trigger the PHLO with the required payload — the set of parameters you pass to the PHLO. You can define a static payload by specifying values when you create the PHLO, or define a dynamic payload by passing values through parameters when you trigger the PHLO from your application.In either case, you need your Auth ID and Auth Token, which you can get from the overview page of the Plivo console.You also need the PHLO ID, which you can copy from the PHLO list page.With a static payloadWhen you configure values when creating the PHLO, they act as a static payload.CodeIn Visual Studio, in the CS project, edit the file Program.cs and paste into it this code.12345678910111213141516using System;using Plivo;namespace test_PHLO{ class Program { public static void Main(string[] args) { var phloClient = new PhloApi("", ""); var phloID = ""; var phlo = phloClient.Phlo.Get(phloID); Console.WriteLine(phlo.Run()); } }}Replace the auth placeholders with your authentication credentials from the Plivo console. Replace the phlo_id placeholder with your PHLO ID from the Plivo console.With a dynamic payloadTo use dynamic values for the parameters, use Liquid templating parameters when you create the PHLO and pass the values from your code when you trigger it.CodeIn Visual Studio, in the CS project, open the file Program.cs and paste into it this code.1234567891011121314151617181920212223using System;using System.Collections.Generic;using Plivo;namespace test_PHLO{ class Program { public static void Main(string[] args) { var phloClient = new PhloApi("", ""); var phloID = ""; var phlo = phloClient.Phlo.Get(phloID); var data = new Dictionarystring, object> { { "from", "" }, { "to", "" } }; Console.WriteLine(phlo.Run(data)); } }}Replace the auth placeholders with your authentication credentials from the Plivo console. Replace the phlo_id placeholder with your PHLO ID from the Plivo console. Replace the phone number placeholders with actual phone numbers in E.164 format (for example, +12025551234).TestSave the file and run the code from the Visual Studio IDE.Receive your first inbound callYou can create and deploy a PHLO to receive an inbound call with a few clicks on the PHLO canvas, without writing a single line of code.PrerequisiteTo receive incoming calls, you must have a voice-enabled Plivo phone number. You can rent numbers from the Numbers page of the Plivo console, or by using the Numbers API.Create the PHLOTo create a PHLO, visit the PHLO page of the Plivo console. If this is your first PHLO, the PHLO page will be empty. Click Create New PHLO. InRequest a trial account - Plivo
This guide shows how to set up a development environment in five minutes to trigger API requests related to our Messaging API. It also shows how to send and receive messages using tunneling software to expose the local dev server to the public internet.Install Java, Spring, and the Plivo Java SDKTo get started, install Java 1.8 or higher and Plivo’s Java SDK. You probably already have Java installed. In macOS, Linux, or Windows you can check the version by running the command java -version in a terminal window. If you need to update it, download and install it. You should also download and install IntelliJ IDEA.Install Spring and the Plivo Java SDK using IntelliJ Idea Use Spring Initializr to create a boilerplate project with Spring Boot framework. Add the Spring Web dependency. Give the project a friendly name — we called ours “Plivo SMS” — set the Java target as 11, then click Generate to download the boilerplate code and open it in IntelliJ Idea. Install the Plivo Java package by adding the dependency in pom.xml com.plivo plivo-java 5.9.3 Trigger an API requestNow you can create a file in the project directory and execute code to trigger any Plivo API. Here’s some example code that sends an SMS message. Edit the PlivoSmsApplication.java file in the src/main/java/com.example.demo/ folder and paste into it this code.Note: Here, the demo application name is PlivoSmsApplication.java because the friendly name we provided in Spring Initializr was Plivo Sms. SMS MMS 1234567891011121314151617181920212223242526272829303132package com.example.demo;import com.plivo.api.Plivo;import com.plivo.api.exceptions.PlivoRestException;import com.plivo.api.models.message.Message;import com.plivo.api.models.message.MessageCreateResponse;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;import java.io.IOException;import java.util.Collections;@SpringBootApplication@RestControllerpublic class PlivoSmsApplication { public static void main(String[] args) { SpringApplication.run(PlivoSmsApplication.class, args); } @GetMapping(value = "/outbound", produces = {"application/json"}) public MessageCreateResponse sendSMS() throws IOException, PlivoRestException { Plivo.init("", ""); MessageCreateResponse response = Message.creator( "", "", "Hello, from Spring!").create(); System.out.println(response); return response; }} 12345678910111213141516171819202122232425262728293031323334package com.example.demo;import com.plivo.api.Plivo;import com.plivo.api.exceptions.PlivoRestException;import com.plivo.api.models.message.Message;import com.plivo.api.models.message.MessageCreateResponse;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;import java.io.IOException;import java.util.Collections;@SpringBootApplication@RestControllerpublic class PlivoSmsApplication { public static void main(String[] args) { SpringApplication.run(PlivoSmsApplication.class, args); } @GetMapping(value = "/outbound", produces = {"application/json"}) public MessageCreateResponse sendMMS() throws IOException, PlivoRestException { Plivo.init("", ""); MessageCreateResponse response = Message.creator( "", "", "Hello, from Spring!") .type(MessageType.MMS) .media_urls(new String[]{" .media_ids(new String[]{"801c2056-33ab-499c-80ef-58b574a462a2"}).create(); System.out.println(response); return response; }} Note: Replace the placeholders and with your authentication credentials, which you can find on the overview page of the Plivo console. We recommend that you store your credentials in the auth_id and auth_token environment variables to avoid the possibility of accidentally committing them to source control. If. Create a Plivo application. Associate the Express server you created with Plivo by creating a Plivo application. Visit Voice Applications in the Plivo console and click on Add New Application, or use Plivo’s Application API. Give your application a namewe called ours Phone IVR. Create a Plivo application. Associate the Go application you created with Plivo by creating a Plivo application. Visit Voice Applications in the Plivo console and click on Add New Application, or use Plivo’s Application API. Give your application a namewe called ours Number Masking.Comments
To save.TestMake a call to your Plivo number using any phone.Forward an incoming callPlivo requests an answer URL when the call is answered (step 4) and expects the file at that address to hold a valid XML response from the application with instructions on how to handle the call. In this example, when an incoming call is received, Plivo forwards the call using the Dial XML element.You must have a voice-enabled Plivo phone number to receive incoming calls; you can rent numbers from the Numbers page of the Plivo console, or by using the Numbers API.Create an MVC controller to forward incoming callsCreate a controller called ForwardcallController.cs in the Controllers directory and paste into it this code.123456789101112131415161718192021222324252627using System;using Plivo.XML;using System.Collections.Generic;using Microsoft.AspNetCore.Mvc;namespace Receivecall{ public class ForwardcallController : Controller { public IActionResult Index() { Plivo.XML.Response resp = new Plivo.XML.Response(); Plivo.XML.Dial dial = new Plivo.XML.Dial(new Dictionarystring, string>() { }); dial.AddNumber("", new Dictionarystring, string>() { }); resp.Add(dial); var output = resp.ToString(); Console.WriteLine(output); return this.Content(output, "text/xml"); } }}Replace the destination number placeholder with an actual phone number (for example, 12025551234).If you haven’t done so already, expose your local server to the internet.Create a Plivo application to forward callsAssociate the .NET application you created with Plivo by creating a Plivo application. Visit Voice > Applications in the Plivo console and click on Add New Application, or use Plivo’s Application API.Give your application a name — we called ours Forward Call. Enter the server URL you want to use (for example in the Answer URL field and set the method to POST. Click Create Application to save your application.Assign a Plivo number to your applicationNavigate to the Numbers page and select the phone number you want to use for this application.From the Application Type drop-down, select XML Application.From the Plivo Application drop-down, select Forward Call (the name we gave the application).Click Update Number to save.TestMake a call to your Plivo number using any phone. Plivo will send a request to the answer URL you provided requesting an XML response and then forward the call according to the instructions in the XML document the server provides.More use casesWe illustrate more than 20 use cases with code for both API/XML and PHLO on our documentation pages. 🥳 Thank you! It means a lot to us! Help Us Improve Thank you so much for rating the page, we would like to get your input for further improvements! Thank you for your feedback!
2025-04-18Plivo provides voice and messaging communication services in more than 190 countries, each of which has local laws about telecommunication services, and we partner with carriers worldwide whose policies we need to be compliant with. To ensure compliance with regulations, and prevent scenarios of SMS phishing and unsolicited voice calls, we have put measures in place to proactively verify account signups on the Plivo platform.Why was my Plivo account signup put on hold?Plivo is required to comply with local laws for telecommunication services around the globe. To ensure compliance with such regulations globally, we perform a risk assessment on all signups from new potential customers. If our assessment indicates a high risk, we may put a business on a hold list, indicating that we are unable to provide service to them at this time. Unfortunately, we are unable to disclose the specific reasons or parameters considered during our evaluation.How can I get my account off the hold list?Our evaluation process is thorough, and decisions made by our team are final. We are unable to re-evaluate or reconsider account eligibility decisions.At what stage does Plivo apply restrictions to an account?Plivo may place restrictions on an account at the time of signup. Even after the signup our internal systems continuously review each account for anomalies. This may lead to your account being put under restrictions at a later time as well. If we apply restrictions to your account, we’ll send you an email detailing that and steps for you to raise a reassessment request.How can I check whether my account has any restrictions?You will be able to see an alert message when you log in to the Plivo console. Didn’t find what you are looking for? Create new ticket Related articles How can I create a Plivo account? What is a subaccount? Does Plivo support SSO authentication? What should I do if I suspect my account has been compromised? What is the process for renting a local number in India?
2025-04-11Domestic calling is a better choice than international calling if your calls originate and terminate in India. If a non-Plivo IN number is used as the Caller ID, the calls will be processed on a best-effort basis, and Plivo cannot provide support for any issues. To ensure reliable service, Plivo strongly recommends using a Plivo IN number for outbound calls.It provides several advantages.The call media path is shorter, which means lower latency and better audio quality.Outbound callers can get better recognition with assured local caller ID.Pricing is attractive, and INR billing is available.RequirementsBusinesses should be aware of several requirements for domestic calling in India.Caller ID — Outbound calls must originate from the caller ID of an India Plivo phone number.Media anchoring — Media anchoring requires the media of the call to reside in the same country as the phone call. Simply put, the media cannot leave the country; your calls should originate from and terminate to users in India. If a domestic call leg is bridged with an international call leg, the call will fail with hangup cause “Violates Media Anchoring.”Business KYC — You must submit know-your-customer (KYC) documentation before you can rent India phone numbers and make and receive calls from your Plivo account. Didn’t find what you are looking for? Create new ticket Related articles What is the process for renting a local number in India? What is KYC? Calls per Second (CPS) How to Comply with TRAI's New PE-TM Binding Chain Requirement Restrictions on New and Existing Plivo Accounts
2025-03-29