Edesy gives you three ways to connect your own AI voice bot to calls on Indian numbers. Media Streams sends raw call audio to your WebSocket and plays back what you send. Conversation Relay sends your bot text and speaks its text replies, with Edesy running speech recognition, speech synthesis, barge-in and DTMF. SIP hands the call to a SIP-based agent platform such as LiveKit Cloud, Vapi, Retell or Bolna.
| Media Streams | Conversation Relay | SIP | |
|---|---|---|---|
| Your bot receives | Raw L16 PCM audio | Transcribed text | A SIP call with RTP audio |
| Who runs STT, TTS, VAD, barge-in | You | Edesy | Your agent platform |
| Best for | Pipecat or custom audio pipelines | An LLM bot with no audio code | LiveKit, Vapi, Retell, Bolna, Dograh, any SIP endpoint |
| Docs | Media Streams | Conversation Relay | SIP for AI voice agents |
Not sure which to pick? See SIP, Stream or Relay?.
Setting it up#
- Inbound: point a number at your bot once with Inbound Routing. Every call to the number reaches the bot.
- Outbound (Media Streams): send
stream_urlon POST/v1/calls. The same bot code handles both directions. - Preflight: test your endpoint from the Edesy network before any call with POST
/v1/stream-test(Media Streams) or POST/v1/relay-test(Conversation Relay). - Debugging: GET
/v1/calls/{CallSid}/eventsrecords whether Edesy reached your bot (call.stream.connected/call.stream.failed,call.relay.connected/call.relay.failed) and why not.