Objective
Whenever a call recording is made, Twilio will automatically store the recording file as long as you wish. Twilio stores the first 10,000 minutes of call recordings for free. To prevent added costs for recording storage, here are some methods for managing call recordings.
Product
Programmable Voice
Procedure
Automate Recordings Management with Recording Status Callbacks ๐
Recording Status Callbacks tell us to reach out to the callback URL provided in your request with a link to the posted recording file as soon as we upload it. These callbacks to your app can be used to trigger REST API commands for downloading and/or deleting the call recording file. This method allows you to automatically download and store your recordings locally, and help prevent unnecessary Twilio storage charges.
Recording Status Callbacks can be requested for each of our Programmable Voice call recording options:
-
API requested outbound calls use the
RecordingStatusCallback
parameter. -
Outbound <Dial> calls use the
recordingStatusCallback
attribute. -
Incoming calls use the
recordingStatusCallback
attribute. -
Ad-hoc (Start/Stop) call recordings use the
recordingStatusCallback
attribute. - One-way <Record> TwiML command recordings use the
recordingStatusCallback
attribute.
Notice: Elastic SIP Trunking does not support recording status callbacks.
Download Recordings ๐
Twilio allows you to download your recordings programmatically via the REST API, or by logging into your project in Console.
Download Recordings via the REST API
Call recordings can be downloaded via HTTP GET calls to the Recordings API resource, and appending the desired file extension to the URI:
- Use no extension, or
.wav
to download a 128kbps WAV file. - Use
.mp3
to download a 32kbps MP3 file.
For more information, please see Fetch a Recording media file (Twilio Docs).
Download Recordings via Console
Individual recordings can be downloaded via Console:
- Access the Programmable Voice Dashboard in Console.
- Navigate to and select the desired recordings -
- From Call logs: Click Calls, select the desired call, and then click the Recording SID.
- From Recording logs: Click Recordings, and then select the desired recording.
- Click the desired file type to download the recording.
Delete Recordings ๐
Twilio allows you to use the REST API or Console to delete a single recording, or multiple recordings in bulk. Please note that only completed recordings can be deleted. Recordings with any other status are not available for deletion.
Notice: All Recording deletion requests submitted via Console or the REST API are final. Deleted recordings can't be recovered.
Delete Recordings via the REST API
Call recordings can be deleted via HTTP DELETE requests to the Recordings API resource. For more information, see Delete a Recording resource (Twilio Docs).
Delete Individual Recordings via Console
Individual recordings can be deleted via Console:
- Access the Programmable Voice Dashboard in Console.
- Navigate to and select the desired recordings -
- From Call logs: Click Calls, select the desired call, and then click the Recording SID.
- From Recording logs: Click Recordings, and then select the desired recording.
- Scroll to the bottom of the page and click Delete this Recording.
Delete Bulk Recordings via Console
Multiple recordings can be deleted at once in Console:
- Access the Programmable Voice Recording Logs in Console.
- Select the desired recordings you wish to delete:
- Use the Filter or Search to return the set of recordings you want.
- Select the recordings to delete by either:
- Click the checkboxes to select individual recordings.
- Use the Select drop-down menu to select all recordings or the whole current page of recordings.
- Click the checkboxes to select individual recordings.
- Use the Filter or Search to return the set of recordings you want.
- Click the Actions drop-down menu, and then select Delete Recordings.
- A confirmation screen will be displayed. Provide an email to receive a confirmation of the deletion (optional), and then click Delete to confirm. (Recording deletions are final -- please review the details of which recordings are going to be deleted before confirming.)
Recording Data Deletion Details ๐
When a Call Recording is deleted via the API or Console, a request to delete the Recording file is issued. The Recording file will no longer be accessible via the API or Console. Please note, it may take up to 30 days for the Recording file to be completely removed from all systems.
The Recording resource metadata (e.g. the Recording SID, Date Created, etc) is preserved for a period of 40 days after the Recording deletion is issued, during which time the metadata is still visible in the Console and returned via the API.
External Recording Storage ๐
You can store your recordings externally in an AWS S3 bucket. In this case Twilio will not charge for recording storage and you will be responsible for the lifecycle and security of your recordings. For more information please see Announcing External AWS S3 Storage Support for Voice Recordings (Twilio Blog).
Legal Implications of Call Recording ๐
If you choose to record calls, you need to comply with certain laws and regulations, including those regarding obtaining consent to record (such as Californiaโs Invasion of Privacy Act and similar laws in other jurisdictions). Additional information on the legal implications of call recording can be found here.
Notice: Twilio recommends that you consult with your legal counsel to make sure that you are complying with all applicable laws in connection with communications you record or store using Twilio.