Skip to main content

Call Recording Configuration

Call recording captures the audio of voice calls for quality assurance, compliance, training, and dispute resolution. This guide covers advanced recording configuration options beyond the basic on/off setting.

tip

For accessing and downloading existing recordings, see Recording Access.

Recording Modes​

Single-Channel (Default)​

Both parties' audio is mixed into a single audio track:

  • Format: MP3 (default) or WAV
  • Audio: Both caller and agent on the same channel
  • File size: ~1 MB per minute (MP3)
  • Use case: General call recording, quality review

Dual-Channel​

Each party's audio is recorded on a separate channel:

  • Format: Stereo WAV
  • Audio: Left channel = Agent, Right channel = Customer
  • File size: ~20 MB per minute (WAV)
  • Use case: Speech analytics, advanced QA, compliance audits
FeatureSingle-ChannelDual-Channel
Party separationNo -- mixed audioYes -- separate channels
File sizeSmaller (~1 MB/min)Larger (~20 MB/min)
Speech analyticsLimited (overlapping speech is hard to analyze)Ideal (each party isolated)
AvailabilityAll plansGrowth and Enterprise
FormatMP3 or WAVWAV only (stereo)
info

Dual-channel recording is available on Growth and Enterprise plans. Contact your account manager to enable it.

Configuring Recording Settings​

Account-Level Settings​

  1. Log in to my.exotel.com
  2. Navigate to Settings > Recording
  3. Configure the following:
SettingOptionsDefault
Recording enabledYes / NoYes (for supported plans)
Recording modeSingle-channel / Dual-channelSingle-channel
Recording formatMP3 / WAVMP3
Retention period30, 60, 90, 180, 365 daysPlan-dependent
Recording start pointOn answer / On connect (after IVR)On answer
Beep notificationPlay a beep when recording startsDisabled

Per-Flow Recording​

Override account-level settings at the call flow level:

  1. Open your app in the App Builder
  2. Click on the app-level settings
  3. Configure recording options for this specific flow
SettingDescription
Override account recordingYes / No
Recording for this flowEnable / Disable
Recording modeSingle-channel / Dual-channel

Per-Call Recording via API​

Control recording on a per-call basis using the API:

curl -X POST \
https://api.exotel.com/v1/Accounts/{account_sid}/Calls/connect.json \
-u {api_key}:{api_token} \
-d "From=+919876543210" \
-d "To=+919876543211" \
-d "CallerId=+914412345678" \
-d "Record=true" \
-d "RecordingChannels=dual"
ParameterValuesDescription
Recordtrue / falseEnable or disable recording for this call
RecordingChannelsmono / dualSingle or dual-channel recording

Storage Configuration​

Default Storage​

Exotel stores recordings in its cloud storage (AWS S3) in the region matching your account:

RegionStorage Location
IndiaAWS Mumbai (ap-south-1)
SingaporeAWS Singapore (ap-southeast-1)

Custom Storage (Enterprise)​

Enterprise accounts can configure recordings to be stored in your own cloud storage:

OptionDescription
Your AWS S3 bucketExotel writes recordings directly to your S3 bucket
Your Azure Blob StorageExotel writes recordings to your Azure container
SFTP uploadExotel uploads recordings to your SFTP server

Setting Up Custom Storage (S3)​

  1. Create an S3 bucket in your AWS account
  2. Configure a bucket policy that grants Exotel write access
  3. Provide the bucket name, region, and access credentials to your Exotel account manager
  4. Exotel validates the connection and begins writing recordings to your bucket
warning

When using custom storage, you are responsible for managing access controls, encryption, and retention on your storage. Exotel will not maintain a copy of recordings after successful delivery to your storage.

Retention Policies​

Default Retention Periods​

PlanDefault RetentionConfigurable Range
Starter30 days7 -- 90 days
Growth90 days7 -- 180 days
EnterpriseCustom7 -- 365+ days

Configuring Retention​

  1. Navigate to Settings > Recording > Retention
  2. Select the retention period from the dropdown
  3. Click Save
warning

Recordings are permanently deleted after the retention period. There is no recovery. If you need recordings beyond the retention period, download them or configure custom storage before they expire.

Selective Retention​

Enterprise accounts can configure different retention periods based on criteria:

CriteriaExampleRetention
Call flowSales calls180 days
Call flowSupport calls90 days
Call outcomeCompleted calls90 days
Call outcomeDisputed calls365 days

Security and Encryption​

Encryption at Rest​

StorageEncryptionDetails
Exotel storageAES-256Server-side encryption enabled by default
Custom S3AES-256 or KMSConfigure in your S3 bucket settings
Custom AzureAES-256Configure in your Azure storage settings

Encryption in Transit​

All recording transfers use HTTPS/TLS 1.2+:

  • API retrieval of recording URLs
  • Download of recording files
  • Transfer to custom storage

Access Control​

ControlDescription
API authenticationRecording URLs require valid API credentials
Time-limited URLsRecording download URLs expire after 24 hours (default)
IP whitelistingRestrict recording access to specific IPs (IP Whitelisting)
Role-based accessDashboard recording access based on user role

Compliance Considerations​

In most jurisdictions, you must inform callers that the call is being recorded. Implement consent notification:

  1. Add a Greeting applet at the start of your call flow
  2. Play a consent message: "This call may be recorded for quality and training purposes"
  3. Optionally provide an opt-out option: "Press * to opt out of recording"

Data Residency​

RequirementExotel Solution
Data must stay in IndiaRecordings stored in AWS Mumbai by default
Data must stay in specific regionCustom storage in your region
Right to deletionEnterprise accounts can request deletion of specific recordings

Regulatory Frameworks​

RegulationRelevant RequirementExotel Feature
IT Act (India)Reasonable security practicesEncryption at rest and in transit
RBI GuidelinesSecure storage of financial call recordingsCustom storage, encryption, access control
GDPRData subject access, right to erasureRecording retrieval API, deletion support
HIPAAProtected health information safeguardsCustom storage, BAA available for enterprise

Troubleshooting​

IssuePossible CauseResolution
No recording for a callRecording not enabled for the flowCheck flow-level recording settings
Recording is emptyCall was too short (< 2 seconds)Very short calls may not generate recordings
Dual-channel not workingFeature not enabled on accountContact your account manager to enable
Recording quality poorNetwork issues during the callCheck call quality metrics in CDR
Custom storage not receiving filesPermission or configuration errorVerify bucket policy and credentials