Introduction

SIP trunking and Indian DID provisioning for AI voice agents — connect Vapi, Retell, LiveKit, Bolna, or a custom agent to the Indian PSTN. Base URL, auth, and the three connection models.

SIP Trunking for AI Voice Agents

Edesy gives your AI voice agent a phone number on the Indian PSTN and the SIP/telephony plumbing to make and receive real calls on it. Provision an Indian DID, wire it to a carrier, and point your agent — Vapi, Retell, LiveKit, Bolna, or a custom agent — at Edesy. Inbound and outbound calls flow to and from your agent while Edesy handles SIP signalling, call routing, and media.

Open the portal → voice-app.edesy.in — sign in to provision numbers, create trunks, and generate the API keys used throughout these docs.

Base URL

All REST requests are made to:

https://voice-api.edesy.in/v1

Every request is made over HTTPS and carries an Authorization: Bearer <API_KEY> header. See Authentication.

Authentication at a glance

Authenticate as the owning tenant with either:

  • a tenant API keyAuthorization: Bearer vp_<key> (keys start with vp_; recommended for machine-to-machine calls), or
  • a session JWTAuthorization: Bearer <jwt>.

Numbers and trunks are tenant-scoped: you can only operate on resources your tenant owns.

Three ways to connect your agent

Pick the connection model that matches how your voice platform expects to reach a phone network.

Model Use when Guide
SIP termination trunk Your platform (Vapi, Retell, LiveKit) already speaks SIP and just needs a trunk URI + credentials to dial through. SIP Termination Trunk
WebSocket audio streaming You run a custom agent and want raw bidirectional audio (L16 PCM) over a WebSocket, with Edesy handling SIP. WebSocket Streaming
BYOC (bring your own carrier) You already have your own SIP trunk (Telnyx, Twilio, Vonage, Plivo, a PBX) and want to route your agent's calls over it. BYOC

Next