Gather using audio
POST/calls/:call_control_id/actions/gather_using_audio
Play an audio file on the call until the required DTMF signals are gathered to build interactive menus.
You can pass a list of valid digits along with an 'invalid_audio_url', which will be played back at the beginning of each prompt. Playback will be interrupted when a DTMF signal is received. The Answer command must be issued before the gather_using_audio
command.
Expected Webhooks:
- Playback started
- Playback ended
- DTMF
- Gather ended
Request
Path Parameters
Unique identifier and token for controlling the call
- application/json
Body
required
The URL of a file to be played back at the beginning of each prompt. The URL can point to either a WAV or MP3 file.
The URL of a file to play when digits don't match the 'valid_digits' parameter or the number of digits is not between 'min' and 'max'. The URL can point to either a WAV or MP3 file.
Default value: 1
The minimum number of digits to fetch. This parameter has a minimum value of 1.
Default value: 128
The maximum number of digits to fetch. This parameter has a maximum value of 128.
Default value: 3
The maximum number of times that a file should be played back if there is no input from the user on the call.
Default value: 60000
The number of milliseconds to wait for a DTMF response after file playback ends before a replaying the sound file.
Default value: #
The digit used to terminate input if fewer than "max" digits have been gathered.
Default value: 0123456789#*
A list of all digits accepted as valid.
Default value: 5000
The number of milliseconds to wait for input between digits.
Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.
Use this field to avoid duplicate commands. Telnyx will ignore commands with the same "command_id".
Responses
200: Successful response
- application/json
422: Error response
- application/json
Request samples
curl -L 'https://api.telnyx.com/calls/:call_control_id/actions/gather_using_audio' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{
"audio_url": "http://example.com/message.wav",
"invalid_audio_url": "http://example.com/invalid.wav",
"min": 1,
"max": 10,
"tries": 3,
"timeout": 60000,
"terminating_digit": "#",
"valid_digits": "123",
"inter_digit_timeout": 10000,
"client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
"command_id": "891510ac-f3e4-11e8-af5b-de00688a4901"
}'
Response samples
{
"result": "ok"
}
{
"code": "90015",
"title": "Invalid Call Control ID",
"detail": "The call_control_id provided was not valid."
}