Skip to main content

record

Record the call audio in the foreground pausing further SWML execution until recording ends. Use this, for example, to record voicemails. To record calls in the background in a non-blocking fashion, use the record_call

record
objectrequired

An object that accepts the record parameters.

record Parameters

record.stereo
boolean
Default: false

Whether to record in stereo mode

record.format
string
Default: wav

Format ("wav" or "mp3")

record.direction
string
Default: speak

Direction of the audio to record: "speak" for what party says, "listen" for what party hears

record.terminators
string
Default: #

String of digits that will stop the recording when pressed

record.beep
boolean
Default: false

Whether to play a beep before recording

record.input_sensitivity
number
Default: 44.0

How sensitive the recording voice activity detector is to background noise. A larger value is more sensitive. Allowed values from 0.0 to 100.0.

record.initial_timeout
number
Default: 4.0 seconds

How long, in seconds, to wait for speech to start?

record.end_silence_timeout
number
Default: 5.0 seconds

How much silence, in seconds, will end the recording?

record.status_url
string

HTTP or HTTPS URL to deliver record status events.

Variables

Set by the method:

  • record_url: (out) the URL of the newly created recording.
  • record_result: (out) success | failed.

Examples

Record some audio and play it back

version: 1.0.0
sections:
main:
- play:
url: 'say:Start speaking after the beep. Press hash to end recording.'
- record:
end_silence_timeout: 3
beep: true
- play:
url: 'say:Recording ${record_result}. Playing back recording:'
- play:
url: '${record_url}'