Iqra AI supports deployment across multiple telephony providers and protocols. Connect your agents to the public phone network via SIP trunking or use WebRTC for browser/mobile integration.
Supported providers
Twilio Industry-leading CPaaS with global coverage
Telnyx High-performance SIP trunking and SMS
Vonage Enterprise voice and messaging platform
SIP / ModemTel Direct SIP trunk connections
Provider configurations
Twilio
Telnyx
Vonage
SIP / ModemTel
Twilio Voice Implementation: TwilioManager.csIndustry-leading communications platform with support for voice, SMS, and video. Configuration fields Field Type Required Description accountSidtext Yes Twilio account SID from console.twilio.com authTokenpassword Yes Twilio auth token phoneNumberIdtext Yes Phone number SID (starts with PN...) webhookUrltext Yes Your Iqra AI webhook endpoint
Setup steps
Purchase phone number
Configure webhook
In phone number settings, set Voice Configuration:
When a call comes in: Webhook (HTTP POST)
URL: https://your-iqra-instance.com/api/telephony/twilio/incoming
HTTP Method: POST
Set credentials
Copy Account SID and Auth Token from dashboard
Add to Iqra AI integration settings
TwiML integration Iqra AI automatically generates TwiML responses for call control: <? xml version = "1.0" encoding = "UTF-8" ?>
< Response >
< Connect >
< Stream url = "wss://your-iqra-instance.com/stream/{callId}" />
</ Connect >
</ Response >
This establishes a WebSocket connection for real-time audio streaming. Supported features
Inbound calls - Route to specific agents
Outbound calls - Initiate calls programmatically
Call recording - Record conversations for compliance
DTMF input - Capture touchtone keypad input
Call transfer - Transfer to external numbers
Conference calls - Multi-party conversations
Twilio charges per-minute rates that vary by country. Check Twilio pricing for your target markets. Phone number capabilities When purchasing numbers, ensure they support:
Voice - Required for calls
SMS - Optional, for text integration
MMS - Optional, for media messages
Global availability Twilio supports phone numbers in 100+ countries. Some markets require regulatory compliance:
US/Canada - No special requirements
EU - GDPR compliance
UK - Business verification
Australia - Business registration
See Twilio Regulatory for details. Telnyx Voice Implementation: TelnyxManager.csHigh-performance SIP trunking with competitive pricing and global reach. Configuration fields Field Type Required Description apiKeypassword Yes Telnyx API key from portal.telnyx.com phoneNumbertext Yes Phone number in E.164 format (+1234567890) connectionIdtext Yes TeXML connection ID webhookUrltext Yes Your Iqra AI webhook endpoint
Setup steps
Create Telnyx account
Purchase phone number
Go to Numbers → Phone Numbers → Buy Numbers
Search by area code or country
Enable Voice capabilities
Create TeXML application
Go to Voice → TeXML Applications
Create new application
Set webhook URL: https://your-iqra-instance.com/api/telephony/telnyx/incoming
Copy the Connection ID
Configure phone number
Assign phone number to TeXML application
Set voice settings to “TeXML”
Generate API key
Go to Auth → API Keys
Create new key with Voice permissions
Copy and store securely
TeXML integration Telnyx uses TeXML (similar to TwiML) for call control: <? xml version = "1.0" encoding = "UTF-8" ?>
< Response >
< Stream url = "wss://your-iqra-instance.com/stream/{callId}" />
</ Response >
Supported features
Inbound/outbound calls - Full call control
Real-time audio streaming - WebSocket audio
DTMF detection - Keypad input
Call recording - Cloud recordings
Number porting - Bring existing numbers
Telnyx offers pay-as-you-go pricing with no monthly minimums, making it cost-effective for variable call volumes.
Compliance requirements Telnyx requires identity verification for:
US toll-free numbers - Business verification
US local numbers - Address verification
International numbers - Country-specific requirements
See Telnyx Compliance for details. Vonage Voice API Implementation: VonageManager.csEnterprise-grade voice and messaging platform (formerly Nexmo). Configuration fields Field Type Required Description apiKeytext Yes Vonage API key from dashboard.nexmo.com apiSecretpassword Yes Vonage API secret applicationIdtext Yes Voice application ID privateKeypassword Yes Private key for JWT authentication phoneNumbertext Yes Virtual number in E.164 format webhookUrltext Yes Your Iqra AI webhook endpoint
Setup steps
Create Vonage account
Create voice application
Go to Applications → Create new application
Enable Voice capabilities
Set Event URL: https://your-iqra-instance.com/api/telephony/vonage/events
Set Answer URL: https://your-iqra-instance.com/api/telephony/vonage/answer
Download the private key file
Purchase virtual number
Go to Numbers → Buy numbers
Select country and features
Link number to your voice application
Configure credentials
Copy API Key and Secret from Settings
Copy Application ID from application page
Paste private key content
NCCO integration Vonage uses NCCO (Nexmo Call Control Objects) for call control: [
{
"action" : "connect" ,
"endpoint" : [
{
"type" : "websocket" ,
"uri" : "wss://your-iqra-instance.com/stream/{callId}" ,
"content-type" : "audio/l16;rate=16000"
}
]
}
]
Supported features
Inbound/outbound calls - Global coverage
WebSocket audio - Real-time streaming
DTMF collection - Input capture
Call recording - Compliance recordings
Advanced routing - Geographic routing
Vonage requires JWT authentication for API requests. Ensure your private key is stored securely and never committed to version control.
Direct SIP Trunking Implementation: ModemTelManager.cs / SipCallManager.csConnect via standard SIP protocol for maximum control and flexibility. Configuration fields Field Type Required Description sipUritext Yes SIP URI (e.g., sip:[email protected] ) usernametext Yes SIP authentication username passwordpassword Yes SIP authentication password domaintext Yes SIP domain/realm proxytext No Outbound proxy server portnumber No SIP port (default: 5060) transportselect No udp, tcp, or tls (default: udp)
Setup requirements
SIP trunk provider
Contract with a SIP trunk provider
Obtain SIP credentials and domain
Configure DID (phone number) routing
Network configuration
Open firewall ports: 5060 (SIP), 10000-20000 (RTP)
Configure NAT traversal if needed
Set up STUN/TURN servers for WebRTC
Iqra AI configuration
Add SIP credentials to integration
Configure codec preferences (G.711 μ-law recommended)
Set up call routing rules
Supported codecs
G.711 μ-law - 64kbps, telephony standard (recommended)
G.711 a-law - 64kbps, European standard
G.729 - 8kbps, compressed (requires license)
Opus - Variable bitrate, high quality
SIP security Best practices for secure SIP:
Use TLS transport - Encrypt signaling
SRTP - Encrypt media (RTP)
IP whitelisting - Restrict source IPs
Strong passwords - Prevent brute force
Fail2ban - Auto-block attackers
Direct SIP integration provides the lowest latency and highest control but requires more technical expertise than managed providers like Twilio.
Common SIP providers Compatible SIP trunk providers include:
Bandwidth.com - Enterprise SIP trunking
Flowroute - Developer-friendly SIP
VoIP.ms - Retail SIP services
Simwood - UK/EU SIP provider
Any RFC 3261-compliant provider
Architecture overview
Call flow
Inbound call arrives - Provider routes to Iqra AI webhook
Agent selection - System identifies target agent based on DID
WebSocket establishment - Real-time audio stream opens
Audio processing - STT transcribes incoming audio
LLM processing - Language model generates response
TTS synthesis - Text converted to speech
Audio streaming - Response audio sent to caller
Call termination - WebSocket closes, call ends
Multi-region deployment
For global deployments:
Regional phone numbers - Purchase numbers in target markets
Geographic routing - Route calls to nearest Iqra AI instance
Latency optimization - Minimize RTP latency via edge deployment
Failover - Automatic fallback to alternate regions
See the multi-region guide for details.
WebRTC deployment
For browser and mobile integration, Iqra AI provides WebRTC gateway:
Features
Browser calls - Direct from web apps (no phone number needed)
Mobile SDK - iOS/Android integration
Sub-second latency - Direct peer connection
No telephony costs - Internet-only audio
Configuration
{
"transport" : "webrtc" ,
"stunServers" : [
"stun:stun.l.google.com:19302"
],
"turnServers" : [
{
"urls" : "turn:turn.example.com:3478" ,
"username" : "user" ,
"credential" : "pass"
}
]
}
See the WebRTC guide for implementation details.
Compliance and regulations
Call recording
When recording calls:
Two-party consent - Required in CA, FL, IL, and other states
Disclosure - Inform callers of recording
Retention - Store according to regulatory requirements
Encryption - Protect recordings at rest
TCPA compliance (US)
For outbound calling:
Written consent - Required for autodialed/prerecorded calls
DNC lists - Honor Do Not Call registries
Time restrictions - 8am-9pm local time
Opt-out - Provide instant removal mechanism
GDPR (EU)
For European callers:
Data minimization - Only collect necessary information
Right to deletion - Allow data removal requests
Data portability - Export caller data on request
Breach notification - Report incidents within 72 hours
Telephony compliance varies by jurisdiction. Consult with legal counsel to ensure your deployment meets local requirements.
Cost optimization
Provider comparison
Provider Inbound (US) Outbound (US) International Notes Twilio $0.0085/min $0.013/min Varies by country Premium reliability Telnyx $0.004/min $0.006/min Competitive rates Best value Vonage $0.0060/min $0.0090/min Global coverage Enterprise features SIP Direct Provider-dependent Provider-dependent Varies widely Most flexible
Best practices
Right-size providers - Use Telnyx for high volume, Twilio for critical calls
Regional numbers - Local numbers reduce costs vs. toll-free
Minimize call duration - Optimize agent responses for brevity
Monitor usage - Set up alerts for unexpected spikes
Negotiate contracts - Enterprise discounts available at scale
Next steps
Configure voice providers Set up TTS for call responses
Add speech recognition Configure STT for caller input
Build call flows Design conversation logic
Deploy globally Set up multi-region infrastructure