Skip to main content

Voice API FAQs

Common questions about Exotel's Voice API, call quality, call flows, recording, capacity, and troubleshooting.


What voice codecs does Exotel support?​

Exotel supports standard telephony codecs for voice calls:

CodecBitrateQualityUse Case
G.711 (a-law/mu-law)64 kbpsHigh (toll quality)Standard PSTN calls
G.7298 kbpsGoodBandwidth-optimized calls
OpusVariableHighWebRTC-based calls

Codec selection is handled automatically based on the call type (PSTN, SIP, or WebRTC). You do not need to configure codecs manually.


How many concurrent calls can I make?​

Concurrent call limits depend on your plan:

PlanDefault Concurrent CallsCan Be Increased?
Starter10Yes (contact support)
Growth30Yes (contact support)
EnterpriseCustom (50-500+)Yes (as per agreement)

To check your current concurrency limit, go to Dashboard > Settings > Account Details or contact your account manager.

tip

If you regularly hit your concurrent call limit, calls will be queued or rejected with a busy signal. Monitor your peak concurrent usage in the Analytics section and request a capacity increase before launching large campaigns.


What is the maximum call duration?​

Call TypeDefault Max DurationConfigurable?
Standard calls60 minutesYes (contact support)
Campaign calls60 minutesYes
Conference calls60 minutesYes

Calls exceeding the maximum duration are automatically disconnected. If your use case requires longer calls (e.g., extended support sessions), contact your account manager to increase the limit.


How do I improve call quality?​

IssuePossible CauseSolution
Echo or feedbackAudio loop in the call pathEnable echo cancellation; use headsets instead of speakerphone
Low volumeNetwork or codec issueCheck agent's internet bandwidth; verify audio input levels
Call dropsNetwork instabilityEnsure stable internet connection; check for packet loss
One-way audioFirewall blocking mediaOpen required ports (see network requirements below)
Choppy audioInsufficient bandwidthEnsure minimum 100 kbps per concurrent call
Latency / delayGeographic distanceUse the Exotel region closest to your agents

Network Requirements for Voice Quality​

ProtocolPortPurpose
HTTPS443API calls and dashboard
RTP (UDP)10000--60000Voice media (for WebRTC/SIP)
SRTP (UDP)10000--60000Encrypted voice media
WSS443WebSocket signaling (for WebRTC)

How does call recording work?​

Call recording captures audio from both parties (agent and customer) and stores it as a downloadable file.

Enabling Recording​

MethodHow
Call flow (dashboard)Enable recording in the Connect applet settings
APISet record=true in the API call request
CampaignConfigure recording in campaign settings

Recording Details​

FeatureDetails
FormatMP3 (default) or WAV
StorageExotel servers (90 days default retention)
AccessDashboard playback, API download URL, webhook delivery
Dual-channelBoth parties recorded in stereo (one per channel)

Accessing Recordings​

# Get call details with recording URL
curl "https://<api_key>:<api_token>@api.exotel.com/v2/accounts/<account_sid>/calls/<call_sid>"

The response includes a recording_url field with a time-limited download URL.

warning

Always play a consent announcement before recording. Recording without notification may violate privacy laws. See Data Privacy for consent requirements.


Can I use Exotel for conference calls?​

Yes. Exotel supports multi-party calling through the Legs API:

  • Add participants to an active call
  • Create conference bridges with multiple parties
  • Control individual participant settings (mute, hold, disconnect)

API Reference: See the Legs API for conference call setup.


What happens when a call fails?​

Call failures can occur for various reasons:

Failure ReasonStatusRetriable?Resolution
Invalid numberfailedNoVerify the phone number format
Network unavailablefailedYesRetry after a few minutes
Number busybusyYesRetry after configured interval
No answer (ring timeout)no-answerYesRetry at a different time
Insufficient creditsfailedNoAdd credits to your account
ExoPhone not activefailedNoVerify ExoPhone status in dashboard
Call flow errorfailedNoCheck call flow configuration
Rate limit exceeded429 errorYesReduce call rate or request capacity increase

How do I track calls in real time?​

MethodUse CaseSetup
WebhooksAutomated processingConfigure StatusCallback URL
DashboardManual monitoringView Calls section in real time
API pollingCustom dashboardsCall the Call Details API periodically
HeartbeatAccount-level monitoringConfigure heartbeat webhooks

API Reference: See Status Callback for webhook payload details.


Can I transfer calls between agents?​

Yes. Exotel supports call transfers through:

  1. Transfer applet in call flows: Route calls to another number or flow
  2. Legs API: Programmatically add new participants and disconnect the original agent
  3. Agent dashboard: If using Exotel's contact center solution, agents can transfer via the dashboard

What is a Call SID?​

A Call SID (Session Identifier) is a unique identifier assigned to every call on Exotel. Use it to:

  • Track a specific call through your system
  • Query call details via the API
  • Correlate webhook events with specific calls
  • Debug issues with Exotel support

Call SIDs follow the format: a1b2c3d4e5f6g7h8i9j0 (alphanumeric string).


How do I handle DTMF input?​

DTMF (Dual-Tone Multi-Frequency) input allows callers to press keys during a call. Exotel handles DTMF through:

  1. IVR Menu applet: Capture key presses and route calls based on input
  2. Passthru applet: Forward DTMF data to your server via HTTP for custom handling
  3. API: Receive DTMF events through webhooks

Frequently Asked Questions​

Can I make calls from a browser?​

Yes. Exotel supports WebRTC for browser-based calling. See the WebRTC SDK integration and IP/PSTN/WebRTC API for setup details.

Does Exotel support SIP trunking?​

Yes. Enterprise accounts can configure SIP trunking for direct PBX integration. See the vSIP documentation for details.

Can I use text-to-speech in call flows?​

Yes. The Greeting applet supports text-to-speech (TTS) for dynamically generated messages. Specify the text content and Exotel converts it to speech during the call.

What is the ring timeout for outbound calls?​

The default ring timeout is 30 seconds. If the call is not answered within this period, it is marked as no-answer. Custom ring timeouts can be configured for specific use cases.