Forking start
POST/calls/:call_control_id/actions/fork_start
Call forking allows you to stream the media from a call to a specific target in realtime.
This stream can be used to enable realtime audio analysis to support a
variety of use cases, including fraud detection, or the creation of AI-generated audio responses.
Requests must specify either the target
attribute or the rx
and tx
attributes.
Expected Webhooks (see callback schema below):
call.fork.started
call.fork.stopped
Request
Path Parameters
Unique identifier and token for controlling the call
- application/json
Body
required
Fork media request
The network target, udp:ip_address:port, where the call's incoming RTP media packets should be forwarded.
Possible values: [decrypted
]
Default value: decrypted
Optionally specify a media type to stream. If decrypted
selected, Telnyx will decrypt incoming SIP media before forking to the target. rx
and tx
are required fields if decrypted
selected.
The network target, udp:ip_address:port, where the call's outgoing RTP media packets should be forwarded.
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
.
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/fork_start' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <TOKEN>' \
-d '{
"rx": "udp:192.0.2.1:9000",
"tx": "udp:192.0.2.1:9001",
"client_state": "aGF2ZSBhIG5pY2UgZGF5ID1d",
"command_id": "891510ac-f3e4-11e8-af5b-de00688a4901"
}'
Response samples
{
"data": {
"result": "ok"
}
}
{
"errors": [
{
"code": "string",
"title": "string",
"detail": "string",
"source": {
"pointer": "string",
"parameter": "string"
},
"meta": {}
}
]
}