Pick SIP if your agent already runs on a SIP-capable platform such as LiveKit Cloud, Vapi, Retell, Bolna or Dograh. Pick Media Streams if you run your own audio pipeline, for example in Pipecat, and want raw PCM over a WebSocket. Pick Conversation Relay if you only want to write the LLM logic and let Edesy do speech recognition, speech synthesis and barge-in.
Comparison#
| SIP | Media Streams | Conversation Relay | |
|---|---|---|---|
| What your side receives | A SIP call (signalling + RTP audio) | WebSocket, raw L16 PCM mono, 8 or 16 kHz | WebSocket, JSON text |
| What you send back | RTP audio | Binary PCM frames + killAudio / disconnect |
text, play, sendDigits, language, end |
| Speech recognition | Your platform | You | Edesy |
| Speech synthesis | Your platform | You | Edesy |
| Voice activity detection and barge-in | Your platform | You | Edesy (interruptible, min_bargein_word_count) |
| DTMF | SIP / RTP | dtmf event |
dtmf message (when enabled) |
| Inbound calls | Yes, SIP target on the number | Yes, media_stream target |
Yes, conversation_relay target |
| Outbound calls | Your platform dials out through an Edesy SIP trunk | stream_url on POST/v1/calls |
Not available today |
| Preflight test | Test call to a saved SIP destination | POST/v1/stream-test |
POST/v1/relay-test |
| Compatible with | LiveKit Cloud, Vapi, Retell, Bolna, Dograh, xAI Grok voice agents, any SIP endpoint | Pipecat (Edesy serializer), custom bots | Bots written for Twilio ConversationRelay |
| Edesy charges | Call minutes | Call minutes | Call minutes plus speech; ask for the rate |
| You pay separately | Your agent platform | Your STT, LLM and TTS vendors | Your LLM |
| Docs | SIP for AI voice agents | Media Streams | Conversation Relay |
How to decide#
- Already on a voice-agent platform with a SIP option? Use SIP. Point the number's inbound target at your platform's SIP URI or a saved SIP destination, and for outbound create an Edesy SIP trunk for the platform to dial through. SIP TLS and SRTP are available on request. See SIP trunking.
- Running Pipecat or your own pipeline? Use Media Streams. You keep full control of the speech vendors and latency trade-offs.
- Want the least code? Use Conversation Relay. Your server only handles text, and an existing Twilio ConversationRelay bot ports with a URL change.
You can mix them: different numbers in the same workspace can use different targets, and you can change a number's target at any time with Inbound Routing.
Numbers for any of them#
All three work on Edesy's Indian virtual phone numbers: mobile, landline, toll-free and 92-series, bought self-serve after KYC. See Search and Buy.