What is Plivo Framework?
Plivo Framework is a Communications Framework to rapidly build voice based apps, to make or receive calls, using your existing web development skills and your existing infrastructure.
- Communications Framework – Plivo Framework provides web developers with basic building blocks to create voice based apps in the form of RESTXML (a small set of specific XML elements that can control a call) and RESTAPI (REST-based APIs). So developers can completely do away with learning the nitty-gritty of a telephony engine.
- Rapidly build voice based apps – Next-gen voice apps need to integrate with external entities like DBs, Social Networks, External APIs etc. When apps are written from within a telephony engine, this integration tends to consume a lot of time. Plivo Framework catalyzes this process.
- Existing web development skills – Plivo Framework can be used by any web developer – be it Java, .NET, node.js, Perl, PHP, Python or Ruby.
What problem does Plivo Framework solve?
Many a times, developers want their web apps to be able to interact with phone callers – allowing customers to call in and get information from their account or building an IVR menu. Normally, this would require developers to learn the ropes of a telephony engine. This is where Plivo Framework steps in. It lets developers use their existing web development skills (Existing Language, Code, Libraries, Databases) to program their custom business logic (via HTTP) that can control incoming and outgoing phone call instances.
How Plivo Framework works?
Plivo Framework abstracts the underlying telephony engine, exposes it to developers in two ways:
- RESTXML – a small set of specific XML elements that can control a call. This set is referred to as Plivo Elements.
- RESTAPIs – REST based APIs.
1. RESTXML
Plivo Elements comprises of the following: <Dial>, <GetDigits>, <Hangup>, <Play>, <PreAnswer>, <Record>, <Redirect>, <Speak>, <Wait>, <Conference>.
These act as a replacement for complex telephony functions. The elements, can be combined in different ways, to perform complex actions. This is generally used to control an incoming call to the telephony engine. E.g. A customer calls and a dynamic IVR menu needs to be played. OR You may want to record a voicemail for an incoming call to a phone number.
The below diagram outlines a typical case where RESTXML is used and how Plivo Framework works in such cases:
2. RESTAPIs
RESTAPI exposes the following APIs to developers: BulkCall, Call, CancelScheduleHangup, HangupAllCalls, HangupCall, ScheduleHangup, TransferCall. These provide a mecahnism to initiate new calls and control the live calls in realtime. E.g. Make an outbound call to a phone number OR Transfer a queued customer (currently listening to the hold music) to an agent.
The below diagram outlines how Plivo RESTAPIs work:
Next Steps
- Get Started
- Read our RESTXML & RESTAPI Documentation
- Check our Helper Libraries


