# 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.

Source: https://edesy.in/docs/sip-trunk-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](https://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](https://edesy.in/docs/sip-trunk-for-ai-voice-agents/getting-started/authentication).

## Authentication at a glance

Authenticate as the owning tenant with **either**:

- a tenant **API key** — `Authorization: Bearer vp_<key>` (keys start with `vp_`; recommended for machine-to-machine calls), or
- a session **JWT** — `Authorization: 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](https://edesy.in/docs/sip-trunk-for-ai-voice-agents/connect/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](https://edesy.in/docs/sip-trunk-for-ai-voice-agents/connect/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](https://edesy.in/docs/sip-trunk-for-ai-voice-agents/connect/byoc) |

## Next

- [Quick Start](https://edesy.in/docs/sip-trunk-for-ai-voice-agents/getting-started/quick-start) — provision an Indian number and place a test call end to end
- [Authentication](https://edesy.in/docs/sip-trunk-for-ai-voice-agents/getting-started/authentication) — Bearer keys, JWT, and tenant scoping
- [API Reference](https://edesy.in/docs/sip-trunk-for-ai-voice-agents/api-reference) — full endpoint documentation
