Connect Pipecat voice agents to real phone calls
The Plivo serializer ships in Pipecat core and is maintained by the Pipecat team. Bidirectional audio streaming over one WebSocket, no SIP expertise required.
pipeline = Pipeline([
transport.input(), # caller audio in from Plivo
stt, # Deepgram
user_aggregator,
llm, # OpenAI
tts, # Cartesia
transport.output(), # agent audio back to the caller
assistant_aggregator,
]) Return this from your Answer URL. Plivo opens the WebSocket to your bot.
Built for production voice agents
Three things the Plivo serializer gives your pipeline natively, and three things the infrastructure underneath guarantees. Mix any STT, LLM, and TTS on top.
Session metadata + in-stream DTMF
Call and session metadata plus DTMF key presses arrive as Pipecat methods your bot can act on mid-call.
Barge-in and interruption handling
Callers talk over the agent naturally; clear-audio and checkpoint events flow straight into Pipecat's interruption flow.
Lifecycle callbacks
Start, media, playback-ended, and stop events land as framework callbacks, so your bot always knows the stream state.
Edge-routed by design
Calls enter Plivo at the point of presence closest to the caller and reach your WebSocket server in about 50 ms.
Noise cancellation + BVC
Background voice and noise cancellation run at the infrastructure level, before audio ever reaches your pipeline.
Compliant infrastructure
HIPAA, PCI DSS, SOC 2, and GDPR compliant infrastructure carries every call your agents take.
How Pipecat connects to a phone call
Plivo turns the phone call into a bidirectional WebSocket. Pipecat treats that socket as a transport. No SIP stack, no media servers to run.
caller audio in · agent audio out · the serializer speaks the protocol for you
- 01
Add Plivo to your Pipecat pipeline
Drop the Plivo serializer into your transport and point your number's Answer URL at your server.
- 02
Plivo streams the call audio
Live caller audio flows to your Pipecat pipeline over a bidirectional WebSocket.
- 03
Your agent talks to the caller
STT, LLM, and TTS run the conversation, and the reply streams straight back.
How fast the agent responds
Wherever you build, Plivo has a point of presence close to your callers. Calls enter the network at the nearest edge and reach your WebSocket server in about 50 ms, so the sub-second budget is yours to spend on AI.
A point of presence near every caller
Plivo answers at the edge closest to the caller, wherever that is. Run your WebSocket server and model endpoints in the matching region and the whole turn stays inside the sub-second budget.
- US traffic US East (Virginia) or US West (Oregon)
- Europe Frankfurt or London
- Asia-Pacific Singapore or Mumbai
- Global Multi-region with geographic routing
Transparent per-minute pricing
Published per-minute call rates, shown in your region's currency. Pay as you go.
- Inbound calls
- $0.0028/min
- Outbound calls
- $0.0046/min
local · per minute
local · per minute
- Inbound calls
- ₹0.60/min
- Outbound calls
- ₹0.60/min
local · per minute
local · per minute
How Plivo compares
Pipecat ships a telephony serializer for each major provider in its core, so the choice comes down to what sits behind the socket: latency, coverage, and published price.
| Capability | ||
|---|---|---|
| US inbound per minute | $0.0028 | $0.0085 |
| US outbound per minute | $0.0046 | $0.0140 |
| Serializer ships in pipecat core | ||
| Official inbound + outbound example | ||
| Noise cancellation + BVC | Not published |
Rates from public provider pricing pages as of July 2026; verify current pricing with each provider. Both Plivo and Twilio ship serializers and official example bots in pipecat core.
| Capability | |||
|---|---|---|---|
| Local per minute (in / out) | Rs 0.60 / Rs 0.60 | Not published | Not supported |
| Serializer ships in pipecat core | |||
| Billed in INR to an India entity | |||
| Licensed India carrier, in-country routing | Yes, in-country | Not supported | |
| Indian-language recipe (Sarvam) |
Rates as of July 2026. Competitor India per-minute rates are not publicly published. Plivo's Rs 0.60/min is a published rate.
Pipecat or LiveKit, Plivo runs both
A pipeline over a WebSocket. Phone-first agents with free mixing of STT, LLM, and TTS. You are on that page now.
Rooms over SIP. Agents join calls as participants, multimodal sessions included. Plivo trunks carry the phone leg.
LiveKit integrationThe framework bet is safe either way: both run on Plivo with the same numbers and account. Still deciding? Read the framework comparison.
Built for India
Run agents in eight Indian languages. The Sarvam recipe pairs Sarvam STT and TTS with OpenAI, including mixed-language speech.
- Hindi
- Tamil
- Telugu
- Kannada
- Malayalam
- Bengali
- Marathi
- Gujarati
- + mixed-language speech
- Latency stays local: Plivo routes Indian calls in-region, and Pipecat Cloud's ap-south region co-locates the agent.
- KYC, stated plainly: India numbers need an INR account, a business registration certificate (COI or Udyam), and a tax document (Business PAN or GST).
billed in rupees
- Inbound ₹0.60/min
- Outbound ₹0.60/min
- Streaming ₹0.34/min
india · ap-south · in region
Frequently asked questions
Pipecat ships telephony serializers for the major providers in core, with Plivo and Twilio among its primary WebSocket providers. Because Pipecat auto-detects the provider on the WebSocket, switching between them is a serializer swap plus one XML change, not a rewrite.
It is the Plivo adapter that ships inside Pipecat core, maintained by the Pipecat team. It handles the audio conversion, caller interruptions, DTMF, and hang-up for you, so your agent connects to a phone call without you writing any protocol code.
No. Self-hosted Pipecat works anywhere you can run Python, using the official plivo-chatbot example. If you prefer managed hosting, Pipecat Cloud has a native Plivo WebSocket endpoint. Both paths use the same serializer and the same Plivo number.
Pipecat connects to Plivo over audio streaming: a WebSocket carries the call audio, which is the lowest-latency path and the one the official integration uses. SIP trunking is Plivo's path for platforms like LiveKit, ElevenLabs, and Vapi. Both run on the same Plivo account and the same numbers.
Some countries require call traffic to stay in-country. Plivo routes calls through in-region infrastructure; in India, Plivo's India region keeps both call legs in-country, and hosting your agent nearby, for example in Pipecat Cloud's ap-south region, keeps the loop short. If you are deploying into a market with localization requirements, talk to our team and we will confirm the setup.
Yes. Because Pipecat lets you mix any STT and TTS provider, you can pair Deepgram, ElevenLabs, Cartesia, OpenAI, and others to cover dozens of languages and accents, including mixed-language speech, without changing your telephony setup.
Yes. The Sarvam recipe pairs Sarvam STT and TTS with OpenAI and covers Hindi, Tamil, Telugu, Kannada, Malayalam, Bengali, Marathi, and Gujarati, including mixed-language speech. Plivo keeps Indian calls in-region. India numbers require KYC: an INR account, a business registration certificate (COI or Udyam), and a tax document (Business PAN or GST).
Pipecat is a pipeline over a WebSocket: phone-first, with free mixing of STT, LLM, and TTS providers. LiveKit is rooms over SIP: agents join calls as participants, which suits multimodal sessions. Plivo runs both, so the framework choice does not change your telephony provider.
Your Pipecat agent, on a real phone number
Scaffold with the Pipecat CLI, point your number at it, take the call