Eedesy
Book Demo
HomeProductsContact
SIP Trunking for AI Voice Agents
  • Quick Start
  • Authentication
  • SIP Termination Trunk
  • WebSocket Streaming
  • Bring Your Own Carrier
  • Overview
  • Phone Numbers
  • Calls
  • Error Codes

Related Products

  • AI Voice Agent
  • AI Voice Assistant
  • Try Free
SIP Trunking for AI Voice Agents
  • Quick Start
  • Authentication
  • SIP Termination Trunk
  • WebSocket Streaming
  • Bring Your Own Carrier
  • Overview
  • Phone Numbers
  • Calls
  • Error Codes
  1. Docs
  2. SIP Trunking for AI Voice Agents
  3. Connect Your Platform
  4. Bring Your Own Carrier

Bring Your Own Carrier (BYOC)

Connect your own SIP trunk — Telnyx, Twilio, Vonage, Plivo, or a PBX — to the Edesy Voice Platform. Register carriers, gateways, and numbers over the trunk-portal API.

Bring Your Own Carrier (BYOC)

If you already have your own SIP trunk (Telnyx, Twilio, Vonage, Plivo, or any SIP provider), BYOC lets you route your AI voice agent's inbound and outbound calls over your carrier. You register the trunk with Edesy, add its SIP endpoints, and register your numbers — then use them with your agent.

All resources are tenant-isolated: you can only see and manage your own trunks, gateways, and numbers.

The flow

  1. Register your SIP trunk as a Carrier.
  2. Add the trunk's SIP Gateway endpoint(s).
  3. Register your Phone Numbers (DIDs) and link them to the carrier.
  4. Point your calls through the trunk — inbound and outbound.

Base path

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

All endpoints require Authorization: Bearer <token> and are automatically scoped to your tenant. See Authentication.

Prefer a UI? You can also register carriers, gateways, and numbers from the portal at voice-app.edesy.in — and generate the API token used here.

1. Carriers (SIP trunks)

A Carrier represents a SIP trunk provider (e.g. "My Telnyx Trunk", "Office PBX").

Create a carrier

POST /v1/trunk-portal/carriers
Field Type Required Description
name string Yes Display name for the trunk
description string No Optional description
requires_register boolean No true if the trunk requires SIP REGISTER authentication
register_username string Conditional SIP auth username (required if requires_register is true)
register_password string Conditional SIP auth password (required if requires_register is true)
register_sip_realm string No SIP realm/domain for registration (e.g. sip.telnyx.com)
tech_prefix string No Digits prepended to outbound numbers for routing
e164_leading_plus boolean No Whether to add a + prefix to numbers
dtmf_type string No DTMF method: rfc2833 (default), tones, or info
outbound_sip_proxy string No Outbound SIP proxy address if needed

Registration-based trunk (Telnyx, Twilio):

curl -X POST https://voice-api.edesy.in/v1/trunk-portal/carriers \
  -H "Authorization: Bearer vp_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "My Telnyx Trunk",
    "requires_register": true,
    "register_username": "myuser",
    "register_password": "mypassword",
    "register_sip_realm": "sip.telnyx.com"
  }'

IP-authenticated trunk (static IP):

curl -X POST https://voice-api.edesy.in/v1/trunk-portal/carriers \
  -H "Authorization: Bearer vp_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Office PBX",
    "description": "Direct trunk from our office PBX",
    "tech_prefix": "99"
  }'

Response (201 Created):

{
  "data": {
    "sid": "429ea78b-9af7-4ff7-963f-41e0762b9c7a",
    "name": "My Telnyx Trunk",
    "metadata": {
      "description": "",
      "requires_register": true,
      "tech_prefix": "",
      "dtmf_type": ""
    },
    "created_at": "2026-04-05T12:00:00Z"
  }
}

Save the carrier sid — you need it to add gateways and register phone numbers.

Other carrier operations:

Method Path Description
GET /v1/trunk-portal/carriers List carriers
GET /v1/trunk-portal/carriers/:carrier_sid Get one carrier
PATCH /v1/trunk-portal/carriers/:carrier_sid Update (same body as create)
DELETE /v1/trunk-portal/carriers/:carrier_sid Delete — fails if numbers are still assigned; remove them first

2. SIP gateways

A Gateway is the actual network endpoint (IP or hostname) of the SIP trunk. Each carrier can have one or more gateways (e.g. primary + failover).

Create a gateway

POST /v1/trunk-portal/carriers/:carrier_sid/gateways
Field Type Required Description
ipv4 string Yes IP address or hostname of the SIP server
port integer No SIP port (default 5060)
inbound boolean No Accept inbound calls from this gateway
outbound boolean No Send outbound calls to this gateway
netmask integer No CIDR netmask for IP matching (default 32)
protocol string No Transport: udp (default), tcp, tls, tls/srtp
curl -X POST https://voice-api.edesy.in/v1/trunk-portal/carriers/429ea78b-.../gateways \
  -H "Authorization: Bearer vp_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "ipv4": "sip.telnyx.com",
    "port": 5060,
    "inbound": true,
    "outbound": true,
    "protocol": "udp"
  }'

Response (201 Created):

{
  "data": {
    "sid": "abc12345-...",
    "carrier_sid": "429ea78b-...",
    "name": "sip.telnyx.com:5060",
    "metadata": {
      "ipv4": "sip.telnyx.com",
      "port": 5060,
      "inbound": true,
      "outbound": true,
      "protocol": "udp"
    }
  }
}

Other gateway operations:

Method Path Description
GET /v1/trunk-portal/carriers/:carrier_sid/gateways List gateways
DELETE /v1/trunk-portal/carriers/:carrier_sid/gateways/:gateway_sid Delete a gateway

3. Phone numbers

Phone Numbers (DIDs) are the numbers you want to use with the voice agent. Each must be linked to a carrier and, optionally, an application.

Register a number

POST /v1/trunk-portal/numbers
Field Type Required Description
number string Yes Phone number in E.164 format (e.g. +919876543210)
carrier_sid string Yes The carrier (trunk) this number belongs to
application_sid string No Application to handle inbound calls to this number
curl -X POST https://voice-api.edesy.in/v1/trunk-portal/numbers \
  -H "Authorization: Bearer vp_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "number": "+919876543210",
    "carrier_sid": "429ea78b-...",
    "application_sid": "207fd2f9-..."
  }'

Response (201 Created):

{
  "data": {
    "sid": "num12345-...",
    "number": "+919876543210",
    "metadata": {
      "carrier_sid": "429ea78b-...",
      "application_sid": "207fd2f9-..."
    }
  }
}

Other number operations:

Method Path Description
GET /v1/trunk-portal/numbers List numbers
PATCH /v1/trunk-portal/numbers/:number_sid Change carrier_sid and/or application_sid
DELETE /v1/trunk-portal/numbers/:number_sid Remove a number

4. Applications

Applications define the webhook endpoints called when a call arrives or is placed. For most BYOC setups you use the default Edesy application that connects calls to the AI voice agent — custom applications are for advanced users who want direct webhook control.

POST /v1/trunk-portal/applications
Field Type Required Description
name string Yes Application name
call_hook_url string Yes Webhook URL called when a call needs instructions
call_status_url string No Webhook URL for call status updates
record_all_calls boolean No Enable call recording
curl -X POST https://voice-api.edesy.in/v1/trunk-portal/applications \
  -H "Authorization: Bearer vp_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "My Voice Agent App",
    "call_hook_url": "https://voice-api.edesy.in/v1/webhooks/voice/call-hook",
    "call_status_url": "https://voice-api.edesy.in/v1/webhooks/voice/call-status",
    "record_all_calls": true
  }'

Also available: GET /v1/trunk-portal/applications, GET /v1/trunk-portal/applications/:app_sid, PATCH …/:app_sid, DELETE …/:app_sid.

5. Call logs

Retrieve call detail records (CDRs) for monitoring and debugging.

GET /v1/trunk-portal/call-logs?page=1&count=25
Param Type Default Description
page integer 1 Page number
count integer 25 Records per page (max 100)

Complete setup flow

Adding your own Telnyx SIP trunk end to end:

# 1. Create the carrier
CARRIER=$(curl -s -X POST https://voice-api.edesy.in/v1/trunk-portal/carriers \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{
    "name": "My Telnyx Trunk",
    "requires_register": true,
    "register_username": "telnyx_user_123",
    "register_password": "telnyx_pass_456",
    "register_sip_realm": "sip.telnyx.com"
  }')
CARRIER_SID=$(echo $CARRIER | jq -r '.data.sid')

# 2. Add the SIP gateway
curl -s -X POST "https://voice-api.edesy.in/v1/trunk-portal/carriers/$CARRIER_SID/gateways" \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"ipv4": "sip.telnyx.com", "port": 5060, "inbound": true, "outbound": true, "protocol": "udp"}'

# 3. Register a phone number (using the default voice-agent application)
curl -s -X POST https://voice-api.edesy.in/v1/trunk-portal/numbers \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d "{\"number\": \"+919876543210\", \"carrier_sid\": \"$CARRIER_SID\"}"

Then, on your SIP provider's side (e.g. the Telnyx dashboard), point the trunk to Edesy and use either IP-based auth (allowlist Edesy's address) or SIP registration, as configured with your account.

Common provider configurations

Provider Carrier config Gateway
Telnyx requires_register: true, register_sip_realm: "sip.telnyx.com" sip.telnyx.com:5060, udp
Twilio Elastic SIP e164_leading_plus: true (IP-authenticated) <your-trunk>.pstn.twilio.com:5060, udp
Vonage (Nexmo) requires_register: false (IP-authenticated) sip.nexmo.com:5060, udp
Plivo requires_register: true, register_sip_realm: "phone.plivo.com" phone.plivo.com:5060, udp
Generic PBX tech_prefix: "99" 203.0.113.50:5060, udp

Next

  • Phone Numbers — wire an Edesy-provisioned Indian DID instead of your own
  • Error Codes
Previous
WebSocket Streaming
Next
Overview

On this page

  • The flow
  • Base path
  • 1. Carriers (SIP trunks)
  • Create a carrier
  • 2. SIP gateways
  • Create a gateway
  • 3. Phone numbers
  • Register a number
  • 4. Applications
  • 5. Call logs
  • Complete setup flow
  • Common provider configurations
  • Next

Stay Updated

Get the latest updates on AI voice technology, product releases, and exclusive resources.

Get Started

Try our products for free
AI Voice Agent
Build voice AI for calls
WhatsApp AI Bot
Automate WhatsApp chats
Website Chatbot
AI chat for websites
Edesy CRM
Manage leads & customers
Book a DemoCall UsEmail Us
Eedesy

Your all-in-one platform for digital innovation. We build AI-powered solutions that transform how businesses operate.

[email protected]+91 95475 31359

Products

  • AI Voice Assistant
  • WhatsApp Voice AI
  • WhatsApp Bot Builder
  • AI Website Chatbot
  • AI-SDR
  • Number Masking
  • Shopify Apps
  • View All Products

Solutions

  • For E-commerce
  • For Healthcare
  • For Real Estate
  • For Restaurants
  • For Appointments
  • View All Use Cases

Services

  • AI Chatbot Development
  • Voice AI Development
  • Shopify Development
  • SaaS Development
  • WhatsApp API Integration
  • View All Services

Resources

  • Documentation
  • Voice Agent Docs
  • API Reference
  • Number Masking API Docs
  • Blog
  • Changelog
  • Book a Demo

Company

  • About Us
  • Contact
  • Careers
  • Privacy Policy
  • Terms of Service

Products

  • AI Voice Assistant
  • WhatsApp Voice AI
  • WhatsApp Bot Builder
  • AI Website Chatbot
  • AI-SDR
  • Number Masking
  • Shopify Apps
  • View All Products

Solutions

  • For E-commerce
  • For Healthcare
  • For Real Estate
  • For Restaurants
  • For Appointments
  • View All Use Cases

Services

  • AI Chatbot Development
  • Voice AI Development
  • Shopify Development
  • SaaS Development
  • WhatsApp API Integration
  • View All Services

Resources

  • Documentation
  • Voice Agent Docs
  • API Reference
  • Number Masking API Docs
  • Blog
  • Changelog
  • Book a Demo

Company

  • About Us
  • Contact
  • Careers
  • Privacy Policy
  • Terms of Service
  • AI Voice Assistant
  • WhatsApp Voice AI
  • WhatsApp Bot Builder
  • AI Website Chatbot
  • AI-SDR
  • Number Masking
  • Shopify Apps
  • View All Products
  • For E-commerce
  • For Healthcare
  • For Real Estate
  • For Restaurants
  • For Appointments
  • View All Use Cases
  • AI Chatbot Development
  • Voice AI Development
  • Shopify Development
  • SaaS Development
  • WhatsApp API Integration
  • View All Services
  • Documentation
  • Voice Agent Docs
  • API Reference
  • Number Masking API Docs
  • Blog
  • Changelog
  • Book a Demo
  • About Us
  • Contact
  • Careers
  • Privacy Policy
  • Terms of Service

Popular Free Tools

Compress PDFMerge PDFPDF to WordGST CalculatorEMI CalculatorSIP CalculatorJSON FormatterBase64 EncoderImage CompressorQR Code GeneratorVoice AI ROI CalculatorAmazon FBA CalculatorAI Email WriterVideo to GIFPrivacy Policy GeneratorCRM ROI CalculatorMeeting Cost Calculator
Categories:PDF ToolsDeveloper ToolsFinance CalculatorsImage ToolsVideo ToolsAI Writing ToolsAudio ToolsWhatsApp ToolsDocument GeneratorsVoice AI ToolsE-commerce ToolsView All Tools

© 2026 Edesy Technology Labs Pvt Ltd

SSL Secured
99.9% Uptime