This walkthrough takes you from a new account to a working SIP trunk in both directions. You create a termination trunk, copy its SIP host and credentials into your PBX or voice-agent platform, place a test call from the portal, and then point an Edesy number at your SIP endpoint for inbound calls.
Before you start#
| You need | Where |
|---|---|
| An Edesy account with wallet balance | voice-app.edesy.in, Billing |
| Completed KYC | KYC (PAN + Aadhaar, review takes about 24 hours) |
| At least one Edesy number | Phone Numbers. It is your outbound caller ID. |
| An API key (only for the API steps) | Settings → API Keys. Keys look like sk_.... |
1. Create a termination trunk#
In the portal, open SIP, click Manage on the Outbound trunks card, then New trunk:
- Name: for your reference, for example
LiveKit production. - Max concurrent calls: defaults to 50.
- Authentication: choose IP allowlist if your platform has fixed egress IPs, or SIP credentials if it does not. See IP vs Credential Auth.
- Click Create trunk and copy the SIP server, username and password from the dialog.
The same request with the API:
curl -X POST https://voice-api.edesy.in/v1/trunks \
-H "Authorization: Bearer sk_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "LiveKit production",
"auth_mode": "credentials",
"max_concurrent_calls": 50
}'
The response's data object carries sip_uri (the host, such as tk-1a2b3c4d.trunk.edesy.in), sip_username and, only this once, sip_password.
2. Configure your platform#
Enter these values in your PBX or platform's outbound SIP trunk settings:
| Setting | Value |
|---|---|
| SIP server | tk-<id>.trunk.edesy.in |
| Port | 5070 |
| Transport | UDP or TCP |
| Username / password | From step 1 (credentials mode only) |
Caller ID (From) |
An Edesy number you own, in E.164 |
| Codecs | G.711 μ-law and A-law only |
The trunk page has ready-made snippets for LiveKit, Vapi, Bolna, Retell and FreePBX under Integration snippets.
3. Place an outbound test call#
On the trunk page, under Test & connectivity, enter your mobile number and click the outbound test. Edesy rings the number through this trunk and shows the status, duration and hangup cause. This checks the Edesy side on its own, before your platform is involved.
Then place a call from your platform. If it fails, look up the SIP response in Common SIP Response Codes.
4. Route inbound calls to your SIP endpoint#
- Open SIP → Inbound destinations → New destination and save your platform's SIP URI, for example
sip:[email protected]. - Click Test call on the saved destination. Your agent or PBX should answer.
- Open Phone Numbers → your number → Inbound routing, choose SIP URI, and pick the destination.
See SIP Destinations and Route a Number to SIP.
Next#
- Platform-specific setup: FreePBX 17, LiveKit Cloud, Vapi, Retell and Bolna
- Pricing and Limits