Skip to main content
POST
/
calls
/
{call_control_id}
/
actions
/
answer
JavaScript
import Telnyx from 'telnyx';

const client = new Telnyx({
  apiKey: 'My API Key',
});

const response = await client.calls.actions.answer('call_control_id');

console.log(response.data);
{
  "data": {
    "result": "ok",
    "recording_id": "d7e9c1d4-8b2a-4b8f-b3a7-9a671c9e9b0a"
  }
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

call_control_id
string
required

Unique identifier and token for controlling the call

Body

application/json

Answer call request

billing_group_id
string<uuid>

Use this field to set the Billing Group ID for the call. Must be a valid and existing Billing Group ID.

Example:

"f5586561-8ff0-4291-a0ac-84fe544797bd"

client_state
string

Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.

Example:

"aGF2ZSBhIG5pY2UgZGF5ID1d"

command_id
string

Use this field to avoid duplicate commands. Telnyx will ignore any command with the same command_id for the same call_control_id.

Example:

"891510ac-f3e4-11e8-af5b-de00688a4901"

custom_headers
Custom SIP Header · object[]

Custom headers to be added to the SIP INVITE response.

Example:
[
{ "name": "head_1", "value": "val_1" },
{ "name": "head_2", "value": "val_2" }
]
preferred_codecs
enum<string>

The list of comma-separated codecs in a preferred order for the forked media to be received.

Available options:
G722,PCMU,PCMA,G729,OPUS,VP8,H264
Example:

"G722,PCMU,PCMA,G729,OPUS,VP8,H264"

sip_headers
SIP Header · object[]

SIP headers to be added to the SIP INVITE response. Currently only User-to-User header is supported.

Example:
[
{ "name": "User-to-User", "value": "value" }
]
sound_modifications
Sound modifications · object

Use this field to modify sound effects, for example adjust the pitch.

Example:
{
"pitch": "0.8",
"semitone": -2,
"octaves": 0.1,
"track": "both"
}
stream_url
string

The destination WebSocket address where the stream is going to be delivered.

Example:

"wss://www.example.com/websocket"

stream_track
enum<string>
default:inbound_track

Specifies which track should be streamed.

Available options:
inbound_track,
outbound_track,
both_tracks
Example:

"both_tracks"

stream_codec
enum<string>
default:default

Specifies the codec to be used for the streamed audio. When set to 'default' or when transcoding is not possible, the codec from the call will be used.

Available options:
PCMU,
PCMA,
G722,
OPUS,
AMR-WB,
L16,
default
Example:

"PCMA"

stream_bidirectional_mode
enum<string>
default:mp3

Configures method of bidirectional streaming (mp3, rtp).

Available options:
mp3,
rtp
Example:

"rtp"

stream_bidirectional_codec
enum<string>
default:PCMU

Indicates codec for bidirectional streaming RTP payloads. Used only with stream_bidirectional_mode=rtp. Case sensitive.

Available options:
PCMU,
PCMA,
G722,
OPUS,
AMR-WB,
L16
Example:

"G722"

stream_bidirectional_target_legs
enum<string>
default:opposite

Specifies which call legs should receive the bidirectional stream audio.

Available options:
both,
self,
opposite
Example:

"both"

send_silence_when_idle
boolean
default:false

Generate silence RTP packets when no transmission available.

Example:

true

webhook_url
string

Use this field to override the URL for which Telnyx will send subsequent webhooks to for this call.

Example:

"https://www.example.com/server-b/"

webhook_url_method
enum<string>
default:POST

HTTP request type used for webhook_url.

Available options:
POST,
GET
Example:

"GET"

transcription
boolean
default:false

Enable transcription upon call answer. The default value is false.

Example:

true

transcription_config
Transcription start request · object
Example:
{
"language": "en",
"client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
"command_id": "891510ac-f3e4-11e8-af5b-de00688a4901"
}
record
enum<string>

Start recording automatically after an event. Disabled by default.

Available options:
record-from-answer
Example:

"record-from-answer"

record_channels
enum<string>
default:dual

Defines which channel should be recorded ('single' or 'dual') when record is specified.

Available options:
single,
dual
Example:

"single"

record_format
enum<string>
default:mp3

Defines the format of the recording ('wav' or 'mp3') when record is specified.

Available options:
wav,
mp3
Example:

"wav"

record_max_length
integer<int32>
default: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).

Example:

1000

record_timeout_secs
integer<int32>
default: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).

Example:

100

record_track
enum<string>
default: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).

Available options:
both,
inbound,
outbound
Example:

"outbound"

record_trim
enum<string>

When set to trim-silence, silence will be removed from the beginning and end of the recording.

Available options:
trim-silence
Example:

"trim-silence"

record_custom_file_name
string

The custom recording file name to be used instead of the default call_leg_id. Telnyx will still add a Unix timestamp suffix.

Required string length: 1 - 40
Example:

"my_recording_file_name"

Response

Successful response upon making a call control command that includes recording_id.

data
Call Control Command Result With Recording ID · object
Example:
{
"result": "ok",
"recording_id": "d7e9c1d4-8b2a-4b8f-b3a7-9a671c9e9b0a"
}