Record

The <Record> verb records the caller’s voice and returns to you the URL of a file containing the audio recording.

Record Attributes

Name Allowed Values Default Value

action

relative or absolute URL

current document URL

method

GET, POST

POST

timeout

positive integer

5

finishOnKey

any digit, #, * or -1 to disable

#

maxLength

integer greater than 1 with the number of seconds to wait

3600 (1 hour)

transcribe

true, false

false

transcribeCallback

relative or absolute URL

none

playBeep

true, false

true

  • action. The 'action' attribute takes an absolute or relative URL as a value. When recording is finished RestComm will make a GET or POST request to this URL including the parameters below. If no 'action' is provided, <Record> will default to requesting the current document’s URL. After making this request, RestComm will continue the current call using the RCML received in your response. Any RCML verbs occuring after a <Record> are unreachable. There is one exception: if RestComm receives an empty recording, it will not make a request to the 'action' URL. The current call flow will continue with the next verb in the current RCML document.

Request Parameters

Parameter Description

RecordingUrl

The URL of the recorded audio.

RecordingDuration

The time duration of the recorded audio.

Digits

The digits the caller pressed, excluding the finishOnKey digit.

  • method. The 'method' attribute takes the value 'GET' or 'POST'. This tells RestComm whether to request the URL via HTTP GET or POST.

  • timeout. The 'timeout' attribute tells RestComm to end the recording after a number of seconds of silence has passed.

  • finishOnKey. The 'finishOnKey' attribute lets you choose a set of digits that end the recording when entered. For example, if you set 'finishOnKey' to '#' and the caller presses '#', RestComm will immediately stop recording and submit 'RecordingUrl', 'RecordingDuration', and the '#' as parameters in a request to the 'action' URL. The allowed values are the digits 0-9, '#', '*' and '-1'. The default value is '1234567890*#' which means that any key will end the recording. The value '-1' is a special value that can be used to disable finishOnKey and never stop recording on a DTMF. Unlike <Gather>, you may specify more than one character as a 'finishOnKey' value but '-1' must be used alone.

  • maxLength. The 'maxLength' attribute lets you set the maximum length for the recording in seconds.

  • transcribe. The 'transcribe' attribute tells RestComm that you would like a text representation of the audio of the recording.

  • transcribeCallback. The 'transcribeCallback' attribute is used in conjunction with the 'transcribe' attribute. It allows you to specify a URL to which RestComm will make an asynchronous POST request when the transcription is complete. This is not a request for RCML and the response will not change call flow, but the request will contain the standard RCML request parameters as well as 'TranscriptionStatus', 'TranscriptionText', 'TranscriptionUrl' and 'RecordingUrl'. If 'transcribeCallback' is specified, then there is no need to specify 'transcribe=true'. It is implied. If you specify 'transcribe=true' without a 'transcribeCallback', the completed transcription will be stored for you to retrieve later (see the REST API Transcriptions section), but RestComm will not asynchronously notify your application.

Request Parameters

Parameter Description

TranscriptionText

Contains the text of the transcription.

TranscriptionStatus

The status of the transcription attempt: either 'completed' or 'failed'.

TranscriptionUrl

The URL for the transcription’s REST API resource.

RecordingUrl

The URL for the transcription’s source recording resource.

  • playBeep. The 'playBeep' attribute allows you to toggle between playing a sound before the start of a recording.

  • Nesting. The <Record> verb can not have any other verbs or nouns nested.

Examples

For an example of how to use the <Record> verb see below.

<Response>
 <Record maxLength="30"/>
</Response>