Answer call
POST/calls/:call_control_id/actions/answer
Answer an incoming call. You must issue this command before executing subsequent commands on an incoming call.
Expected Webhooks (see callback schema below):
call.answered
streaming.started
,streaming.stopped
orstreaming.failed
ifstream_url
was set
Request
Path Parameters
Unique identifier and token for controlling the call
- application/json
Body
required
Answer call request
Array [
]
Array [
]
Use this field to set the Billing Group ID for the call. Must be a valid and existing Billing Group ID.
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 any command with the same command_id
for the same call_control_id
.
custom_headers
object[]
Custom headers to be added to the SIP INVITE response.
The name of the header to add.
The value of the header.
Custom headers to be added to the SIP INVITE response.
Possible values: [G722,PCMU,PCMA,G729,OPUS,VP8,H264
]
The list of comma-separated codecs in a preferred order for the forked media to be received.
sip_headers
object[]
SIP headers to be added to the SIP INVITE response. Currently only User-to-User header is supported.
Possible values: [User-to-User
]
The name of the header to add.
The value of the header.
SIP headers to be added to the SIP INVITE response. Currently only User-to-User header is supported.
sound_modifications
object
Use this field to modify sound effects, for example adjust the pitch.
Set the pitch directly, value should be > 0, default 1 (lower = lower tone)
Adjust the pitch in semitones, values should be between -14 and 14, default 0
Adjust the pitch in octaves, values should be between -1 and 1, default 0
Default value: outbound
The track to which the sound modifications will be applied. Accepted values are inbound
or outbound
Use this field to modify sound effects, for example adjust the pitch.
The destination WebSocket address where the stream is going to be delivered.
Possible values: [inbound_track
, outbound_track
, both_tracks
]
Default value: inbound_track
Specifies which track should be streamed.
Possible values: [mp3
, rtp
]
Default value: mp3
Configures method of bidirectional streaming (mp3, rtp).
Possible values: [PCMU
, PCMA
, G722
]
Default value: PCMU
Indicates codec for bidirectional streaming RTP payloads. Used only with stream_bidirectional_mode=rtp. Case sensitive.
Possible values: [both
, self
, opposite
]
Default value: opposite
Specifies which call legs should receive the bidirectional stream audio.
Generate silence RTP packets when no transmission available.
Use this field to override the URL for which Telnyx will send subsequent webhooks to for this call.
Possible values: [POST
, GET
]
Default value: POST
HTTP request type used for webhook_url
.
Enable transcription upon call answer. The default value is false.
transcription_config
object
Possible values: [A
, B
]
Default value: A
Engine to use for speech recognition. A
- Google
, B
- Telnyx
.
language
object
oneOf
Whether to send also interim results. If set to false, only final results will be sent. Applies to google
engine only.
Enables speaker diarization. Applies to google
engine only.
Default value: 2
Defines minimum number of speakers in the conversation. Applies to google
engine only.
Default value: 6
Defines maximum number of speakers in the conversation. Applies to google
engine only.
Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.
Default value: inbound
Indicates which leg of the call will be transcribed. Use inbound
for the leg that requested the transcription, outbound
for the other leg, and both
for both legs of the call. Will default to inbound
.
Use this field to avoid duplicate commands. Telnyx will ignore any command with the same command_id
for the same call_control_id
.
Possible values: [record-from-answer
]
Start recording automatically after an event. Disabled by default.
Possible values: [single
, dual
]
Default value: dual
Defines which channel should be recorded ('single' or 'dual') when record
is specified.
Possible values: [wav
, mp3
]
Default value: mp3
Defines the format of the recording ('wav' or 'mp3') when record
is specified.
Default value: 0
Defines the maximum length for the recording in seconds when record
is specified. The minimum value is 0. The maximum value is 43200. The default value is 0 (infinite).
Default value: 0
The number of seconds that Telnyx will wait for the recording to be stopped if silence is detected when record
is specified. The timer only starts when the speech is detected. Please note that call transcription is used to detect silence and the related charge will be applied. The minimum value is 0. The default value is 0 (infinite).
Possible values: [both
, inbound
, outbound
]
Default value: both
The audio track to be recorded. Can be either both
, inbound
or outbound
. If only single track is specified (inbound
, outbound
), channels
configuration is ignored and it will be recorded as mono (single channel).
Possible values: [trim-silence
]
When set to trim-silence
, silence will be removed from the beginning and end of the recording.
Possible values: non-empty
and <= 40 characters
The custom recording file name to be used instead of the default call_leg_id
. Telnyx will still add a Unix timestamp suffix.
Responses
200: Successful response upon making a call control command.
- application/json
default: Unexpected error
- application/json
Request samples
curl -L 'https://api.telnyx.com/v2/calls/:call_control_id/actions/answer' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
-d '{
"client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
"command_id": "891510ac-f3e4-11e8-af5b-de00688a4901",
"webhook_url": "https://www.example.com/server-b/",
"webhook_url_method": "POST",
"send_silence_when_idle": true
}'
Response samples
{
"data": {
"result": "ok"
}
}
{
"errors": [
{
"code": "string",
"title": "string",
"detail": "string",
"source": {
"pointer": "string",
"parameter": "string"
},
"meta": {}
}
]
}