Class: Telnyx::Resources::Calls::Actions

Inherits:
Object
  • Object
show all
Defined in:
lib/telnyx/resources/calls/actions.rb

Overview

Call Control command operations

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ Actions

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of Actions.

Parameters:



1846
1847
1848
# File 'lib/telnyx/resources/calls/actions.rb', line 1846

def initialize(client:)
  @client = client
end

Instance Method Details

#add_ai_assistant_messages(call_control_id, client_state: nil, command_id: nil, messages: nil, request_options: {}) ⇒ Telnyx::Models::Calls::ActionAddAIAssistantMessagesResponse

Some parameter documentations has been truncated, see Models::Calls::ActionAddAIAssistantMessagesParams for more details.

Add messages to the conversation started by an AI assistant on the call.

Parameters:

Returns:

See Also:



28
29
30
31
32
33
34
35
36
37
# File 'lib/telnyx/resources/calls/actions.rb', line 28

def add_ai_assistant_messages(call_control_id, params = {})
  parsed, options = Telnyx::Calls::ActionAddAIAssistantMessagesParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["calls/%1$s/actions/ai_assistant_add_messages", call_control_id],
    body: parsed,
    model: Telnyx::Models::Calls::ActionAddAIAssistantMessagesResponse,
    options: options
  )
end

#answer(call_control_id, assistant: nil, billing_group_id: nil, client_state: nil, command_id: nil, custom_headers: nil, deepfake_detection: nil, preferred_codecs: nil, record: nil, record_channels: nil, record_custom_file_name: nil, record_format: nil, record_max_length: nil, record_timeout_secs: nil, record_track: nil, record_trim: nil, send_silence_when_idle: nil, sip_headers: nil, sound_modifications: nil, stream_bidirectional_codec: nil, stream_bidirectional_mode: nil, stream_bidirectional_target_legs: nil, stream_codec: nil, stream_track: nil, stream_url: nil, transcription: nil, transcription_config: nil, webhook_retries_policies: nil, webhook_url: nil, webhook_url_method: nil, webhook_urls: nil, webhook_urls_method: nil, request_options: {}) ⇒ Telnyx::Models::Calls::ActionAnswerResponse

Some parameter documentations has been truncated, see Models::Calls::ActionAnswerParams for more details.

Answer an incoming call. You must issue this command before executing subsequent commands on an incoming call.

**Expected Webhooks:**

  • ‘call.answered`

  • ‘call.hold` and `call.unhold` if the call is held/unheld

  • ‘call.deepfake_detection.result` if `deepfake_detection` was enabled

  • ‘call.deepfake_detection.error` if `deepfake_detection` was enabled and an error occurred

  • ‘streaming.started`, `streaming.stopped` or `streaming.failed` if `stream_url` was set

When the ‘record` parameter is set to `record-from-answer`, the response will include a `recording_id` field.

stream_

Parameters:

Returns:

See Also:



130
131
132
133
134
135
136
137
138
139
# File 'lib/telnyx/resources/calls/actions.rb', line 130

def answer(call_control_id, params = {})
  parsed, options = Telnyx::Calls::ActionAnswerParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["calls/%1$s/actions/answer", call_control_id],
    body: parsed,
    model: Telnyx::Models::Calls::ActionAnswerResponse,
    options: options
  )
end

#bridge(call_control_id_to_bridge, call_control_id_to_bridge_with:, client_state: nil, command_id: nil, hold_after_unbridge: nil, mute_dtmf: nil, park_after_unbridge: nil, play_ringtone: nil, prevent_double_bridge: nil, queue: nil, record: nil, record_channels: nil, record_custom_file_name: nil, record_format: nil, record_max_length: nil, record_timeout_secs: nil, record_track: nil, record_trim: nil, ringtone: nil, video_room_context: nil, video_room_id: nil, request_options: {}) ⇒ Telnyx::Models::Calls::ActionBridgeResponse

Some parameter documentations has been truncated, see Models::Calls::ActionBridgeParams for more details.

Bridge two call control calls.

**Expected Webhooks:**

  • ‘call.bridged` for Leg A

  • ‘call.bridged` for Leg B

call_

Parameters:

  • call_control_id_to_bridge (String)

    Unique identifier and token for controlling the call

  • call_control_id_to_bridge_with (String)

    The Call Control ID of the call you want to bridge with, can’t be used together

  • client_state (String)

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

  • command_id (String)

    Use this field to avoid duplicate commands. Telnyx will ignore any command with

  • hold_after_unbridge (Boolean)

    Specifies behavior after the bridge ends. If set to ‘true`, the current leg will

  • mute_dtmf (Symbol, Telnyx::Models::Calls::ActionBridgeParams::MuteDtmf)

    When enabled, DTMF tones are not passed to the call participant. The webhooks co

  • park_after_unbridge (String)

    Specifies behavior after the bridge ends (i.e. the opposite leg either hangs up

  • play_ringtone (Boolean)

    Specifies whether to play a ringtone if the call you want to bridge with has not

  • prevent_double_bridge (Boolean)

    When set to ‘true`, it prevents bridging if the target call is already bridged t

  • queue (String)

    The name of the queue you want to bridge with, can’t be used together with

  • record (Symbol, Telnyx::Models::Calls::ActionBridgeParams::Record)

    Start recording automatically after an event. Disabled by default.

  • record_channels (Symbol, Telnyx::Models::Calls::ActionBridgeParams::RecordChannels)

    Defines which channel should be recorded (‘single’ or ‘dual’) when ‘record` is s

  • record_custom_file_name (String)

    The custom recording file name to be used instead of the default ‘call_leg_id`.

  • record_format (Symbol, Telnyx::Models::Calls::ActionBridgeParams::RecordFormat)

    Defines the format of the recording (‘wav’ or ‘mp3’) when ‘record` is specified.

  • record_max_length (Integer)

    Defines the maximum length for the recording in seconds when ‘record` is specifi

  • record_timeout_secs (Integer)

    The number of seconds that Telnyx will wait for the recording to be stopped if s

  • record_track (Symbol, Telnyx::Models::Calls::ActionBridgeParams::RecordTrack)

    The audio track to be recorded. Can be either ‘both`, `inbound` or `outbound`. I

  • record_trim (Symbol, Telnyx::Models::Calls::ActionBridgeParams::RecordTrim)

    When set to ‘trim-silence`, silence will be removed from the beginning and end o

  • ringtone (Symbol, Telnyx::Models::Calls::ActionBridgeParams::Ringtone)

    Specifies which country ringtone to play when ‘play_ringtone` is set to `true`.

  • video_room_context (String)

    The additional parameter that will be passed to the video conference. It is a te

  • video_room_id (String)

    The ID of the video room you want to bridge with, can’t be used together with ca

  • request_options (Telnyx::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



201
202
203
204
205
206
207
208
209
210
# File 'lib/telnyx/resources/calls/actions.rb', line 201

def bridge(call_control_id_to_bridge, params)
  parsed, options = Telnyx::Calls::ActionBridgeParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["calls/%1$s/actions/bridge", call_control_id_to_bridge],
    body: parsed,
    model: Telnyx::Models::Calls::ActionBridgeResponse,
    options: options
  )
end

#enqueue(call_control_id, queue_name:, client_state: nil, command_id: nil, keep_after_hangup: nil, max_size: nil, max_wait_time_secs: nil, request_options: {}) ⇒ Telnyx::Models::Calls::ActionEnqueueResponse

Some parameter documentations has been truncated, see Models::Calls::ActionEnqueueParams for more details.

Put the call in a queue.

Parameters:

  • call_control_id (String)

    Unique identifier and token for controlling the call

  • queue_name (String)

    The name of the queue the call should be put in. If a queue with a given name do

  • client_state (String)

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

  • command_id (String)

    Use this field to avoid duplicate commands. Telnyx will ignore any command with

  • keep_after_hangup (Boolean)

    If set to true, the call will remain in the queue after hangup. In this case bri

  • max_size (Integer)

    The maximum number of calls allowed in the queue at a given time. Can’t be modif

  • max_wait_time_secs (Integer)

    The number of seconds after which the call will be removed from the queue.

  • request_options (Telnyx::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



238
239
240
241
242
243
244
245
246
247
# File 'lib/telnyx/resources/calls/actions.rb', line 238

def enqueue(call_control_id, params)
  parsed, options = Telnyx::Calls::ActionEnqueueParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["calls/%1$s/actions/enqueue", call_control_id],
    body: parsed,
    model: Telnyx::Models::Calls::ActionEnqueueResponse,
    options: options
  )
end

#gather(call_control_id, client_state: nil, command_id: nil, gather_id: nil, initial_timeout_millis: nil, inter_digit_timeout_millis: nil, maximum_digits: nil, minimum_digits: nil, terminating_digit: nil, timeout_millis: nil, valid_digits: nil, request_options: {}) ⇒ Telnyx::Models::Calls::ActionGatherResponse

Some parameter documentations has been truncated, see Models::Calls::ActionGatherParams for more details.

Gather DTMF signals to build interactive menus.

You can pass a list of valid digits. The ‘Answer` command must be issued before the `gather` command.

**Expected Webhooks:**

  • ‘call.dtmf.received` (you may receive many of these webhooks)

  • ‘call.gather.ended`

Parameters:

  • call_control_id (String)

    Unique identifier and token for controlling the call

  • client_state (String)

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

  • command_id (String)

    Use this field to avoid duplicate commands. Telnyx will ignore any command with

  • gather_id (String)

    An id that will be sent back in the corresponding ‘call.gather.ended` webhook. W

  • initial_timeout_millis (Integer)

    The number of milliseconds to wait for the first DTMF.

  • inter_digit_timeout_millis (Integer)

    The number of milliseconds to wait for input between digits.

  • maximum_digits (Integer)

    The maximum number of digits to fetch. This parameter has a maximum value of 128

  • minimum_digits (Integer)

    The minimum number of digits to fetch. This parameter has a minimum value of 1.

  • terminating_digit (String)

    The digit used to terminate input if fewer than ‘maximum_digits` digits have bee

  • timeout_millis (Integer)

    The number of milliseconds to wait to complete the request.

  • valid_digits (String)

    A list of all digits accepted as valid.

  • request_options (Telnyx::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



291
292
293
294
295
296
297
298
299
300
# File 'lib/telnyx/resources/calls/actions.rb', line 291

def gather(call_control_id, params = {})
  parsed, options = Telnyx::Calls::ActionGatherParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["calls/%1$s/actions/gather", call_control_id],
    body: parsed,
    model: Telnyx::Models::Calls::ActionGatherResponse,
    options: options
  )
end

#gather_using_ai(call_control_id, parameters:, assistant: nil, client_state: nil, command_id: nil, gather_ended_speech: nil, greeting: nil, interruption_settings: nil, language: nil, message_history: nil, send_message_history_updates: nil, send_partial_results: nil, transcription: nil, user_response_timeout_ms: nil, voice: nil, voice_settings: nil, request_options: {}) ⇒ Telnyx::Models::Calls::ActionGatherUsingAIResponse

Some parameter documentations has been truncated, see Models::Calls::ActionGatherUsingAIParams for more details.

Gather parameters defined in the request payload using a voice assistant.

You can pass parameters described as a JSON Schema object and the voice assistant will attempt to gather these informations.

**Expected Webhooks:**

  • ‘call.ai_gather.ended`

  • ‘call.conversation.ended`

  • ‘call.ai_gather.partial_results` (if `send_partial_results` is set to `true`)

  • ‘call.ai_gather.message_history_updated` (if `send_message_history_updates` is set to `true`)

Parameters:

Returns:

See Also:



357
358
359
360
361
362
363
364
365
366
# File 'lib/telnyx/resources/calls/actions.rb', line 357

def gather_using_ai(call_control_id, params)
  parsed, options = Telnyx::Calls::ActionGatherUsingAIParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["calls/%1$s/actions/gather_using_ai", call_control_id],
    body: parsed,
    model: Telnyx::Models::Calls::ActionGatherUsingAIResponse,
    options: options
  )
end

#gather_using_audio(call_control_id, audio_url: nil, client_state: nil, command_id: nil, inter_digit_timeout_millis: nil, invalid_audio_url: nil, invalid_media_name: nil, maximum_digits: nil, maximum_tries: nil, media_name: nil, minimum_digits: nil, terminating_digit: nil, timeout_millis: nil, valid_digits: nil, request_options: {}) ⇒ Telnyx::Models::Calls::ActionGatherUsingAudioResponse

Some parameter documentations has been truncated, see Models::Calls::ActionGatherUsingAudioParams for more details.

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:**

  • ‘call.playback.started`

  • ‘call.playback.ended`

  • ‘call.dtmf.received` (you may receive many of these webhooks)

  • ‘call.gather.ended`

Parameters:

  • call_control_id (String)

    Unique identifier and token for controlling the call

  • audio_url (String)

    The URL of a file to be played back at the beginning of each prompt. The URL can

  • client_state (String)

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

  • command_id (String)

    Use this field to avoid duplicate commands. Telnyx will ignore any command with

  • inter_digit_timeout_millis (Integer)

    The number of milliseconds to wait for input between digits.

  • invalid_audio_url (String)

    The URL of a file to play when digits don’t match the ‘valid_digits` parameter o

  • invalid_media_name (String)

    The media_name of a file to be played back when digits don’t match the ‘valid_di

  • maximum_digits (Integer)

    The maximum number of digits to fetch. This parameter has a maximum value of 128

  • maximum_tries (Integer)

    The maximum number of times the file should be played if there is no input from

  • media_name (String)

    The media_name of a file to be played back at the beginning of each prompt. The

  • minimum_digits (Integer)

    The minimum number of digits to fetch. This parameter has a minimum value of 1.

  • terminating_digit (String)

    The digit used to terminate input if fewer than ‘maximum_digits` digits have bee

  • timeout_millis (Integer)

    The number of milliseconds to wait for a DTMF response after file playback ends

  • valid_digits (String)

    A list of all digits accepted as valid.

  • request_options (Telnyx::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



421
422
423
424
425
426
427
428
429
430
# File 'lib/telnyx/resources/calls/actions.rb', line 421

def gather_using_audio(call_control_id, params = {})
  parsed, options = Telnyx::Calls::ActionGatherUsingAudioParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["calls/%1$s/actions/gather_using_audio", call_control_id],
    body: parsed,
    model: Telnyx::Models::Calls::ActionGatherUsingAudioResponse,
    options: options
  )
end

#gather_using_speak(call_control_id, payload:, voice:, client_state: nil, command_id: nil, inter_digit_timeout_millis: nil, invalid_payload: nil, language: nil, maximum_digits: nil, maximum_tries: nil, minimum_digits: nil, payload_type: nil, service_level: nil, terminating_digit: nil, timeout_millis: nil, valid_digits: nil, voice_settings: nil, request_options: {}) ⇒ Telnyx::Models::Calls::ActionGatherUsingSpeakResponse

Some parameter documentations has been truncated, see Models::Calls::ActionGatherUsingSpeakParams for more details.

Convert text to speech and play it 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_payload’, which will be played back at the beginning of each prompt. Speech will be interrupted when a DTMF signal is received. The ‘Answer` command must be issued before the `gather_using_speak` command.

**Expected Webhooks:**

  • ‘call.dtmf.received` (you may receive many of these webhooks)

  • ‘call.gather.ended`

‘valid_

Parameters:

Returns:

See Also:



490
491
492
493
494
495
496
497
498
499
# File 'lib/telnyx/resources/calls/actions.rb', line 490

def gather_using_speak(call_control_id, params)
  parsed, options = Telnyx::Calls::ActionGatherUsingSpeakParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["calls/%1$s/actions/gather_using_speak", call_control_id],
    body: parsed,
    model: Telnyx::Models::Calls::ActionGatherUsingSpeakResponse,
    options: options
  )
end

#hangup(call_control_id, client_state: nil, command_id: nil, custom_headers: nil, request_options: {}) ⇒ Telnyx::Models::Calls::ActionHangupResponse

Some parameter documentations has been truncated, see Models::Calls::ActionHangupParams for more details.

Hang up the call.

**Expected Webhooks:**

  • ‘call.hangup`

  • ‘call.recording.saved`

Parameters:

  • call_control_id (String)

    Unique identifier and token for controlling the call

  • client_state (String)

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

  • command_id (String)

    Use this field to avoid duplicate commands. Telnyx will ignore any command with

  • custom_headers (Array<Telnyx::Models::CustomSipHeader>)

    Custom headers to be added to the SIP BYE message.

  • request_options (Telnyx::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



526
527
528
529
530
531
532
533
534
535
# File 'lib/telnyx/resources/calls/actions.rb', line 526

def hangup(call_control_id, params = {})
  parsed, options = Telnyx::Calls::ActionHangupParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["calls/%1$s/actions/hangup", call_control_id],
    body: parsed,
    model: Telnyx::Models::Calls::ActionHangupResponse,
    options: options
  )
end

#join_ai_assistant(call_control_id, conversation_id:, participant:, client_state: nil, command_id: nil, request_options: {}) ⇒ Telnyx::Models::Calls::ActionJoinAIAssistantResponse

Some parameter documentations has been truncated, see Models::Calls::ActionJoinAIAssistantParams for more details.

Add a participant to an existing AI assistant conversation. Use this command to bring an additional call leg into a running AI conversation.

Parameters:

  • call_control_id (String)

    Unique identifier and token for controlling the call

  • conversation_id (String)

    The ID of the AI assistant conversation to join.

  • participant (Telnyx::Models::Calls::ActionJoinAIAssistantParams::Participant)
  • client_state (String)

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

  • command_id (String)

    Use this field to avoid duplicate commands. Telnyx will ignore any command with

  • request_options (Telnyx::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



560
561
562
563
564
565
566
567
568
569
# File 'lib/telnyx/resources/calls/actions.rb', line 560

def join_ai_assistant(call_control_id, params)
  parsed, options = Telnyx::Calls::ActionJoinAIAssistantParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["calls/%1$s/actions/ai_assistant_join", call_control_id],
    body: parsed,
    model: Telnyx::Models::Calls::ActionJoinAIAssistantResponse,
    options: options
  )
end

#leave_queue(call_control_id, client_state: nil, command_id: nil, request_options: {}) ⇒ Telnyx::Models::Calls::ActionLeaveQueueResponse

Some parameter documentations has been truncated, see Models::Calls::ActionLeaveQueueParams for more details.

Removes the call from a queue.

Parameters:

  • call_control_id (String)

    Unique identifier and token for controlling the call

  • client_state (String)

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

  • command_id (String)

    Use this field to avoid duplicate commands. Telnyx will ignore any command with

  • request_options (Telnyx::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



589
590
591
592
593
594
595
596
597
598
# File 'lib/telnyx/resources/calls/actions.rb', line 589

def leave_queue(call_control_id, params = {})
  parsed, options = Telnyx::Calls::ActionLeaveQueueParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["calls/%1$s/actions/leave_queue", call_control_id],
    body: parsed,
    model: Telnyx::Models::Calls::ActionLeaveQueueResponse,
    options: options
  )
end

#pause_recording(call_control_id, client_state: nil, command_id: nil, recording_id: nil, request_options: {}) ⇒ Telnyx::Models::Calls::ActionPauseRecordingResponse

Some parameter documentations has been truncated, see Models::Calls::ActionPauseRecordingParams for more details.

Pause recording the call. Recording can be resumed via Resume recording command.

**Expected Webhooks:**

There are no webhooks associated with this command.

Parameters:

  • call_control_id (String)

    Unique identifier and token for controlling the call

  • client_state (String)

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

  • command_id (String)

    Use this field to avoid duplicate commands. Telnyx will ignore any command with

  • recording_id (String)

    Uniquely identifies the resource.

  • request_options (Telnyx::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



624
625
626
627
628
629
630
631
632
633
# File 'lib/telnyx/resources/calls/actions.rb', line 624

def pause_recording(call_control_id, params = {})
  parsed, options = Telnyx::Calls::ActionPauseRecordingParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["calls/%1$s/actions/record_pause", call_control_id],
    body: parsed,
    model: Telnyx::Models::Calls::ActionPauseRecordingResponse,
    options: options
  )
end

#refer(call_control_id, sip_address:, client_state: nil, command_id: nil, custom_headers: nil, sip_auth_password: nil, sip_auth_username: nil, sip_headers: nil, request_options: {}) ⇒ Telnyx::Models::Calls::ActionReferResponse

Some parameter documentations has been truncated, see Models::Calls::ActionReferParams for more details.

Initiate a SIP Refer on a Call Control call. You can initiate a SIP Refer at any point in the duration of a call.

**Expected Webhooks:**

  • ‘call.refer.started`

  • ‘call.refer.completed`

  • ‘call.refer.failed`

Parameters:

  • call_control_id (String)

    Unique identifier and token for controlling the call

  • sip_address (String)

    The SIP URI to which the call will be referred to.

  • client_state (String)

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

  • command_id (String)

    Use this field to avoid execution of duplicate commands. Telnyx will ignore subs

  • custom_headers (Array<Telnyx::Models::CustomSipHeader>)

    Custom headers to be added to the SIP INVITE.

  • sip_auth_password (String)

    SIP Authentication password used for SIP challenges.

  • sip_auth_username (String)

    SIP Authentication username used for SIP challenges.

  • sip_headers (Array<Telnyx::Models::SipHeader>)

    SIP headers to be added to the request. Currently only User-to-User header is su

  • request_options (Telnyx::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



670
671
672
673
674
675
676
677
678
679
# File 'lib/telnyx/resources/calls/actions.rb', line 670

def refer(call_control_id, params)
  parsed, options = Telnyx::Calls::ActionReferParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["calls/%1$s/actions/refer", call_control_id],
    body: parsed,
    model: Telnyx::Models::Calls::ActionReferResponse,
    options: options
  )
end

#reject(call_control_id, cause:, client_state: nil, command_id: nil, request_options: {}) ⇒ Telnyx::Models::Calls::ActionRejectResponse

Some parameter documentations has been truncated, see Models::Calls::ActionRejectParams for more details.

Reject an incoming call.

**Expected Webhooks:**

  • ‘call.hangup`

Parameters:

  • call_control_id (String)

    Unique identifier and token for controlling the call

  • cause (Symbol, Telnyx::Models::Calls::ActionRejectParams::Cause)

    Cause for call rejection.

  • client_state (String)

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

  • command_id (String)

    Use this field to avoid duplicate commands. Telnyx will ignore any command with

  • request_options (Telnyx::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



705
706
707
708
709
710
711
712
713
714
# File 'lib/telnyx/resources/calls/actions.rb', line 705

def reject(call_control_id, params)
  parsed, options = Telnyx::Calls::ActionRejectParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["calls/%1$s/actions/reject", call_control_id],
    body: parsed,
    model: Telnyx::Models::Calls::ActionRejectResponse,
    options: options
  )
end

#resume_recording(call_control_id, client_state: nil, command_id: nil, recording_id: nil, request_options: {}) ⇒ Telnyx::Models::Calls::ActionResumeRecordingResponse

Some parameter documentations has been truncated, see Models::Calls::ActionResumeRecordingParams for more details.

Resume recording the call.

**Expected Webhooks:**

There are no webhooks associated with this command.

Parameters:

  • call_control_id (String)

    Unique identifier and token for controlling the call

  • client_state (String)

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

  • command_id (String)

    Use this field to avoid duplicate commands. Telnyx will ignore any command with

  • recording_id (String)

    Uniquely identifies the resource.

  • request_options (Telnyx::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



740
741
742
743
744
745
746
747
748
749
# File 'lib/telnyx/resources/calls/actions.rb', line 740

def resume_recording(call_control_id, params = {})
  parsed, options = Telnyx::Calls::ActionResumeRecordingParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["calls/%1$s/actions/record_resume", call_control_id],
    body: parsed,
    model: Telnyx::Models::Calls::ActionResumeRecordingResponse,
    options: options
  )
end

#send_dtmf(call_control_id, digits:, client_state: nil, command_id: nil, duration_millis: nil, request_options: {}) ⇒ Telnyx::Models::Calls::ActionSendDtmfResponse

Some parameter documentations has been truncated, see Models::Calls::ActionSendDtmfParams for more details.

Sends DTMF tones from this leg. DTMF tones will be heard by the other end of the call.

**Expected Webhooks:**

There are no webhooks associated with this command.

us

Parameters:

  • call_control_id (String)

    Unique identifier and token for controlling the call

  • digits (String)

    DTMF digits to send. Valid digits are 0-9, A-D, *, and #. Pauses can be added

  • client_state (String)

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

  • command_id (String)

    Use this field to avoid duplicate commands. Telnyx will ignore any command with

  • duration_millis (Integer)

    Specifies for how many milliseconds each digit will be played in the audio strea

  • request_options (Telnyx::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



779
780
781
782
783
784
785
786
787
788
# File 'lib/telnyx/resources/calls/actions.rb', line 779

def send_dtmf(call_control_id, params)
  parsed, options = Telnyx::Calls::ActionSendDtmfParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["calls/%1$s/actions/send_dtmf", call_control_id],
    body: parsed,
    model: Telnyx::Models::Calls::ActionSendDtmfResponse,
    options: options
  )
end

#send_sip_info(call_control_id, body:, content_type:, client_state: nil, command_id: nil, request_options: {}) ⇒ Telnyx::Models::Calls::ActionSendSipInfoResponse

Some parameter documentations has been truncated, see Models::Calls::ActionSendSipInfoParams for more details.

Sends SIP info from this leg.

**Expected Webhooks:**

  • ‘call.sip_info.received` (to be received on the target call leg)

Parameters:

  • call_control_id (String)

    Unique identifier and token for controlling the call

  • body (String)

    Content of the SIP INFO

  • content_type (String)

    Content type of the INFO body. Must be MIME type compliant. There is a 1,400 byt

  • client_state (String)

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

  • command_id (String)

    Use this field to avoid duplicate commands. Telnyx will ignore any command with

  • request_options (Telnyx::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



816
817
818
819
820
821
822
823
824
825
# File 'lib/telnyx/resources/calls/actions.rb', line 816

def send_sip_info(call_control_id, params)
  parsed, options = Telnyx::Calls::ActionSendSipInfoParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["calls/%1$s/actions/send_sip_info", call_control_id],
    body: parsed,
    model: Telnyx::Models::Calls::ActionSendSipInfoResponse,
    options: options
  )
end

#speak(call_control_id, payload:, voice:, client_state: nil, command_id: nil, language: nil, loop_: nil, payload_type: nil, service_level: nil, stop: nil, target_legs: nil, voice_settings: nil, request_options: {}) ⇒ Telnyx::Models::Calls::ActionSpeakResponse

Some parameter documentations has been truncated, see Models::Calls::ActionSpeakParams for more details.

Convert text to speech and play it back on the call. If multiple speak text commands are issued consecutively, the audio files will be placed in a queue awaiting playback.

**Expected Webhooks:**

  • ‘call.speak.started`

  • ‘call.speak.ended`

Parameters:

Returns:

See Also:



870
871
872
873
874
875
876
877
878
879
# File 'lib/telnyx/resources/calls/actions.rb', line 870

def speak(call_control_id, params)
  parsed, options = Telnyx::Calls::ActionSpeakParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["calls/%1$s/actions/speak", call_control_id],
    body: parsed,
    model: Telnyx::Models::Calls::ActionSpeakResponse,
    options: options
  )
end

#start_ai_assistant(call_control_id, assistant: nil, client_state: nil, command_id: nil, greeting: nil, interruption_settings: nil, message_history: nil, participants: nil, send_message_history_updates: nil, transcription: nil, voice: nil, voice_settings: nil, request_options: {}) ⇒ Telnyx::Models::Calls::ActionStartAIAssistantResponse

Some parameter documentations has been truncated, see Models::Calls::ActionStartAIAssistantParams for more details.

Start an AI assistant on the call.

**Expected Webhooks:**

  • ‘call.conversation.ended`

  • ‘call.conversation_insights.generated`

Parameters:

Returns:

See Also:



922
923
924
925
926
927
928
929
930
931
# File 'lib/telnyx/resources/calls/actions.rb', line 922

def start_ai_assistant(call_control_id, params = {})
  parsed, options = Telnyx::Calls::ActionStartAIAssistantParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["calls/%1$s/actions/ai_assistant_start", call_control_id],
    body: parsed,
    model: Telnyx::Models::Calls::ActionStartAIAssistantResponse,
    options: options
  )
end

#start_conversation_relay(call_control_id, conversation_relay_url:, assistant: nil, client_state: nil, command_id: nil, conversation_relay_dtmf_detection: nil, greeting: nil, interruption_settings: nil, language: nil, languages: nil, participants: nil, send_message_history_updates: nil, transcription: nil, transcription_language: nil, tts_language: nil, user_response_timeout_ms: nil, voice: nil, voice_settings: nil, request_options: {}) ⇒ Telnyx::Models::Calls::ActionStartConversationRelayResponse

Some parameter documentations has been truncated, see Models::Calls::ActionStartConversationRelayParams for more details.

Start a Conversation Relay session on an active call. Conversation Relay connects the call audio to your WebSocket so your application can exchange realtime messages with the caller while Telnyx handles speech recognition and text-to-speech. Only one AI Assistant or Conversation Relay session can be active on a call at a time.

**Expected Webhooks:**

  • ‘conversation_relay.disconnected`

Parameters:

Returns:

See Also:



989
990
991
992
993
994
995
996
997
998
# File 'lib/telnyx/resources/calls/actions.rb', line 989

def start_conversation_relay(call_control_id, params)
  parsed, options = Telnyx::Calls::ActionStartConversationRelayParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["calls/%1$s/actions/conversation_relay_start", call_control_id],
    body: parsed,
    model: Telnyx::Models::Calls::ActionStartConversationRelayResponse,
    options: options
  )
end

#start_forking(call_control_id, client_state: nil, command_id: nil, rx: nil, stream_type: nil, tx: nil, request_options: {}) ⇒ Telnyx::Models::Calls::ActionStartForkingResponse

Some parameter documentations has been truncated, see Models::Calls::ActionStartForkingParams for more details.

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:**

  • ‘call.fork.started`

  • ‘call.fork.stopped`

Parameters:

  • call_control_id (String)

    Unique identifier and token for controlling the call

  • client_state (String)

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

  • command_id (String)

    Use this field to avoid duplicate commands. Telnyx will ignore any command with

  • rx (String)

    The network target, <udp:ip_address:port>, where the call’s incoming RTP media p

  • stream_type (Symbol, Telnyx::Models::Calls::ActionStartForkingParams::StreamType)

    Optionally specify a media type to stream. If ‘decrypted` selected, Telnyx will

  • tx (String)

    The network target, <udp:ip_address:port>, where the call’s outgoing RTP media p

  • request_options (Telnyx::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
# File 'lib/telnyx/resources/calls/actions.rb', line 1033

def start_forking(call_control_id, params = {})
  parsed, options = Telnyx::Calls::ActionStartForkingParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["calls/%1$s/actions/fork_start", call_control_id],
    body: parsed,
    model: Telnyx::Models::Calls::ActionStartForkingResponse,
    options: options
  )
end

#start_noise_suppression(call_control_id, client_state: nil, command_id: nil, direction: nil, noise_suppression_engine: nil, noise_suppression_engine_config: nil, request_options: {}) ⇒ Telnyx::Models::Calls::ActionStartNoiseSuppressionResponse

Some parameter documentations has been truncated, see Models::Calls::ActionStartNoiseSuppressionParams for more details.

Noise Suppression Start (BETA)

Parameters:

Returns:

See Also:



1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
# File 'lib/telnyx/resources/calls/actions.rb', line 1068

def start_noise_suppression(call_control_id, params = {})
  parsed, options = Telnyx::Calls::ActionStartNoiseSuppressionParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["calls/%1$s/actions/suppression_start", call_control_id],
    body: parsed,
    model: Telnyx::Models::Calls::ActionStartNoiseSuppressionResponse,
    options: options
  )
end

#start_playback(call_control_id, audio_type: nil, audio_url: nil, cache_audio: nil, client_state: nil, command_id: nil, loop_: nil, media_name: nil, overlay: nil, playback_content: nil, stop: nil, target_legs: nil, request_options: {}) ⇒ Telnyx::Models::Calls::ActionStartPlaybackResponse

Some parameter documentations has been truncated, see Models::Calls::ActionStartPlaybackParams for more details.

Play an audio file on the call. If multiple play audio commands are issued consecutively, the audio files will be placed in a queue awaiting playback.

Notes:

  • When ‘overlay` is enabled, `target_legs` is limited to `self`.

  • A customer cannot Play Audio with ‘overlay=true` unless there is a Play Audio with `overlay=false` actively playing.

**Expected Webhooks:**

  • ‘call.playback.started`

  • ‘call.playback.ended`

Parameters:

  • call_control_id (String)

    Unique identifier and token for controlling the call

  • audio_type (Symbol, Telnyx::Models::Calls::ActionStartPlaybackParams::AudioType)

    Specifies the type of audio provided in ‘audio_url` or `playback_content`.

  • audio_url (String)

    The URL of a file to be played back on the call. The URL can point to either a W

  • cache_audio (Boolean)

    Caches the audio file. Useful when playing the same audio file multiple times du

  • client_state (String)

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

  • command_id (String)

    Use this field to avoid duplicate commands. Telnyx will ignore any command with

  • loop_ (String, Integer)

    The number of times the audio file should be played. If supplied, the value must

  • media_name (String)

    The media_name of a file to be played back on the call. The media_name must poin

  • overlay (Boolean)

    When enabled, audio will be mixed on top of any other audio that is actively bei

  • playback_content (String)

    Allows a user to provide base64 encoded mp3 or wav. Note: when using this parame

  • stop (String)

    When specified, it stops the current audio being played. Specify ‘current` to st

  • target_legs (String)

    Specifies the leg or legs on which audio will be played. If supplied, the value

  • request_options (Telnyx::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
# File 'lib/telnyx/resources/calls/actions.rb', line 1127

def start_playback(call_control_id, params = {})
  parsed, options = Telnyx::Calls::ActionStartPlaybackParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["calls/%1$s/actions/playback_start", call_control_id],
    body: parsed,
    model: Telnyx::Models::Calls::ActionStartPlaybackResponse,
    options: options
  )
end

#start_recording(call_control_id, channels:, format_:, client_state: nil, command_id: nil, custom_file_name: nil, max_length: nil, play_beep: nil, recording_track: nil, timeout_secs: nil, transcription: nil, transcription_engine: nil, transcription_language: nil, transcription_max_speaker_count: nil, transcription_min_speaker_count: nil, transcription_profanity_filter: nil, transcription_speaker_diarization: nil, trim: nil, request_options: {}) ⇒ Telnyx::Models::Calls::ActionStartRecordingResponse

Some parameter documentations has been truncated, see Models::Calls::ActionStartRecordingParams for more details.

Start recording the call. Recording will stop on call hang-up, or can be initiated via the Stop Recording command.

**Expected Webhooks:**

  • ‘call.recording.saved`

  • ‘call.recording.transcription.saved`

  • ‘call.recording.error`

Parameters:

  • call_control_id (String)

    Unique identifier and token for controlling the call

  • channels (Symbol, Telnyx::Models::Calls::ActionStartRecordingParams::Channels)

    When ‘dual`, final audio file will be stereo recorded with the first leg on chan

  • format_ (Symbol, Telnyx::Models::Calls::ActionStartRecordingParams::Format)

    The audio file format used when storing the call recording. Can be either ‘mp3`

  • client_state (String)

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

  • command_id (String)

    Use this field to avoid duplicate commands. Telnyx will ignore any command with

  • custom_file_name (String)

    The custom recording file name to be used instead of the default ‘call_leg_id`.

  • max_length (Integer)

    Defines the maximum length for the recording in seconds. The minimum value is 0.

  • play_beep (Boolean)

    If enabled, a beep sound will be played at the start of a recording.

  • recording_track (Symbol, Telnyx::Models::Calls::ActionStartRecordingParams::RecordingTrack)

    The audio track to be recorded. Can be either ‘both`, `inbound` or `outbound`. I

  • timeout_secs (Integer)

    The number of seconds that Telnyx will wait for the recording to be stopped if s

  • transcription (Boolean)

    Enable post recording transcription. The default value is false.

  • transcription_engine (Symbol, Telnyx::Models::Calls::ActionStartRecordingParams::TranscriptionEngine)

    Engine to use for speech recognition. ‘A` - `Google`, `B` - `Telnyx`, `deepgram/

  • transcription_language (Symbol, Telnyx::Models::Calls::ActionStartRecordingParams::TranscriptionLanguage)

    Language code for transcription. Note: Not all languages are supported by all tr

  • transcription_max_speaker_count (Integer)

    Defines maximum number of speakers in the conversation. Applies to ‘google` engi

  • transcription_min_speaker_count (Integer)

    Defines minimum number of speakers in the conversation. Applies to ‘google` engi

  • transcription_profanity_filter (Boolean)

    Enables profanity_filter. Applies to ‘google` engine only.

  • transcription_speaker_diarization (Boolean)

    Enables speaker diarization. Applies to ‘google` engine only.

  • trim (Symbol, Telnyx::Models::Calls::ActionStartRecordingParams::Trim)

    When set to ‘trim-silence`, silence will be removed from the beginning and end o

  • request_options (Telnyx::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
# File 'lib/telnyx/resources/calls/actions.rb', line 1193

def start_recording(call_control_id, params)
  parsed, options = Telnyx::Calls::ActionStartRecordingParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["calls/%1$s/actions/record_start", call_control_id],
    body: parsed,
    model: Telnyx::Models::Calls::ActionStartRecordingResponse,
    options: options
  )
end

#start_siprec(call_control_id, client_state: nil, connector_name: nil, include_metadata_custom_headers: nil, secure: nil, session_timeout_secs: nil, sip_transport: nil, siprec_track: nil, request_options: {}) ⇒ Telnyx::Models::Calls::ActionStartSiprecResponse

Some parameter documentations has been truncated, see Models::Calls::ActionStartSiprecParams for more details.

Start siprec session to configured in SIPREC connector SRS.

**Expected Webhooks:**

  • ‘siprec.started`

  • ‘siprec.stopped`

  • ‘siprec.failed`

Parameters:

Returns:

See Also:



1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
# File 'lib/telnyx/resources/calls/actions.rb', line 1238

def start_siprec(call_control_id, params = {})
  parsed, options = Telnyx::Calls::ActionStartSiprecParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["calls/%1$s/actions/siprec_start", call_control_id],
    body: parsed,
    model: Telnyx::Models::Calls::ActionStartSiprecResponse,
    options: options
  )
end

#start_streaming(call_control_id, client_state: nil, command_id: nil, custom_parameters: nil, dialogflow_config: nil, enable_dialogflow: nil, stream_auth_token: nil, stream_bidirectional_codec: nil, stream_bidirectional_mode: nil, stream_bidirectional_sampling_rate: nil, stream_bidirectional_target_legs: nil, stream_codec: nil, stream_track: nil, stream_url: nil, request_options: {}) ⇒ Telnyx::Models::Calls::ActionStartStreamingResponse

Some parameter documentations has been truncated, see Models::Calls::ActionStartStreamingParams for more details.

Start streaming the media from a call to a specific WebSocket address or Dialogflow connection in near-realtime. Audio will be delivered as base64-encoded RTP payload (raw audio), wrapped in JSON payloads.

Please find more details about media streaming messages specification under the [link](developers.telnyx.com/docs/voice/programmable-voice/media-streaming).

stream_

Parameters:

Returns:

See Also:



1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
# File 'lib/telnyx/resources/calls/actions.rb', line 1295

def start_streaming(call_control_id, params = {})
  parsed, options = Telnyx::Calls::ActionStartStreamingParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["calls/%1$s/actions/streaming_start", call_control_id],
    body: parsed,
    model: Telnyx::Models::Calls::ActionStartStreamingResponse,
    options: options
  )
end

#start_transcription(call_control_id, client_state: nil, command_id: nil, transcription_engine: nil, transcription_engine_config: nil, transcription_tracks: nil, request_options: {}) ⇒ Telnyx::Models::Calls::ActionStartTranscriptionResponse

Some parameter documentations has been truncated, see Models::Calls::ActionStartTranscriptionParams for more details.

Start real-time transcription. Transcription will stop on call hang-up, or can be initiated via the Transcription stop command.

**Expected Webhooks:**

  • ‘call.transcription`

Parameters:

Returns:

See Also:



1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
# File 'lib/telnyx/resources/calls/actions.rb', line 1335

def start_transcription(call_control_id, params = {})
  parsed, options = Telnyx::Calls::ActionStartTranscriptionParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["calls/%1$s/actions/transcription_start", call_control_id],
    body: parsed,
    model: Telnyx::Models::Calls::ActionStartTranscriptionResponse,
    options: options
  )
end

#stop_ai_assistant(call_control_id, client_state: nil, command_id: nil, request_options: {}) ⇒ Telnyx::Models::Calls::ActionStopAIAssistantResponse

Some parameter documentations has been truncated, see Models::Calls::ActionStopAIAssistantParams for more details.

Stop an AI assistant on the call.

Parameters:

  • call_control_id (String)

    Unique identifier and token for controlling the call

  • client_state (String)

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

  • command_id (String)

    Use this field to avoid duplicate commands. Telnyx will ignore any command with

  • request_options (Telnyx::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
# File 'lib/telnyx/resources/calls/actions.rb', line 1364

def stop_ai_assistant(call_control_id, params = {})
  parsed, options = Telnyx::Calls::ActionStopAIAssistantParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["calls/%1$s/actions/ai_assistant_stop", call_control_id],
    body: parsed,
    model: Telnyx::Models::Calls::ActionStopAIAssistantResponse,
    options: options
  )
end

#stop_conversation_relay(call_control_id, client_state: nil, command_id: nil, request_options: {}) ⇒ Telnyx::Models::Calls::ActionStopConversationRelayResponse

Some parameter documentations has been truncated, see Models::Calls::ActionStopConversationRelayParams for more details.

Stop the active Conversation Relay session on a call.

Parameters:

  • call_control_id (String)

    Unique identifier and token for controlling the call

  • client_state (String)

    Use this field to add state to subsequent webhooks. It must be a valid Base-64 e

  • command_id (String)

    Use this field to avoid duplicate commands. Telnyx will ignore any command with

  • request_options (Telnyx::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
# File 'lib/telnyx/resources/calls/actions.rb', line 1393

def stop_conversation_relay(call_control_id, params = {})
  parsed, options = Telnyx::Calls::ActionStopConversationRelayParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["calls/%1$s/actions/conversation_relay_stop", call_control_id],
    body: parsed,
    model: Telnyx::Models::Calls::ActionStopConversationRelayResponse,
    options: options
  )
end

#stop_forking(call_control_id, client_state: nil, command_id: nil, stream_type: nil, request_options: {}) ⇒ Telnyx::Models::Calls::ActionStopForkingResponse

Some parameter documentations has been truncated, see Models::Calls::ActionStopForkingParams for more details.

Stop forking a call.

**Expected Webhooks:**

  • ‘call.fork.stopped`

Parameters:

  • call_control_id (String)

    Unique identifier and token for controlling the call

  • client_state (String)

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

  • command_id (String)

    Use this field to avoid duplicate commands. Telnyx will ignore any command with

  • stream_type (Symbol, Telnyx::Models::Calls::ActionStopForkingParams::StreamType)

    Optionally specify a ‘stream_type`. This should match the `stream_type` that was

  • request_options (Telnyx::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
# File 'lib/telnyx/resources/calls/actions.rb', line 1428

def stop_forking(call_control_id, params = {})
  parsed, options = Telnyx::Calls::ActionStopForkingParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["calls/%1$s/actions/fork_stop", call_control_id],
    body: parsed,
    model: Telnyx::Models::Calls::ActionStopForkingResponse,
    options: options
  )
end

#stop_gather(call_control_id, client_state: nil, command_id: nil, request_options: {}) ⇒ Telnyx::Models::Calls::ActionStopGatherResponse

Some parameter documentations has been truncated, see Models::Calls::ActionStopGatherParams for more details.

Stop current gather.

**Expected Webhooks:**

  • ‘call.gather.ended`

Parameters:

  • call_control_id (String)

    Unique identifier and token for controlling the call

  • client_state (String)

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

  • command_id (String)

    Use this field to avoid duplicate commands. Telnyx will ignore any command with

  • request_options (Telnyx::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
# File 'lib/telnyx/resources/calls/actions.rb', line 1461

def stop_gather(call_control_id, params = {})
  parsed, options = Telnyx::Calls::ActionStopGatherParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["calls/%1$s/actions/gather_stop", call_control_id],
    body: parsed,
    model: Telnyx::Models::Calls::ActionStopGatherResponse,
    options: options
  )
end

#stop_noise_suppression(call_control_id, client_state: nil, command_id: nil, request_options: {}) ⇒ Telnyx::Models::Calls::ActionStopNoiseSuppressionResponse

Some parameter documentations has been truncated, see Models::Calls::ActionStopNoiseSuppressionParams for more details.

Noise Suppression Stop (BETA)

Parameters:

  • call_control_id (String)

    Unique identifier and token for controlling the call

  • client_state (String)

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

  • command_id (String)

    Use this field to avoid duplicate commands. Telnyx will ignore any command with

  • request_options (Telnyx::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
# File 'lib/telnyx/resources/calls/actions.rb', line 1490

def stop_noise_suppression(call_control_id, params = {})
  parsed, options = Telnyx::Calls::ActionStopNoiseSuppressionParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["calls/%1$s/actions/suppression_stop", call_control_id],
    body: parsed,
    model: Telnyx::Models::Calls::ActionStopNoiseSuppressionResponse,
    options: options
  )
end

#stop_playback(call_control_id, client_state: nil, command_id: nil, overlay: nil, stop: nil, request_options: {}) ⇒ Telnyx::Models::Calls::ActionStopPlaybackResponse

Some parameter documentations has been truncated, see Models::Calls::ActionStopPlaybackParams for more details.

Stop audio being played on the call.

**Expected Webhooks:**

  • ‘call.playback.ended` or `call.speak.ended`

Parameters:

  • call_control_id (String)

    Unique identifier and token for controlling the call

  • client_state (String)

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

  • command_id (String)

    Use this field to avoid duplicate commands. Telnyx will ignore any command with

  • overlay (Boolean)

    When enabled, it stops the audio being played in the overlay queue.

  • stop (String)

    Use ‘current` to stop the current audio being played. Use `all` to stop the curr

  • request_options (Telnyx::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
# File 'lib/telnyx/resources/calls/actions.rb', line 1527

def stop_playback(call_control_id, params = {})
  parsed, options = Telnyx::Calls::ActionStopPlaybackParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["calls/%1$s/actions/playback_stop", call_control_id],
    body: parsed,
    model: Telnyx::Models::Calls::ActionStopPlaybackResponse,
    options: options
  )
end

#stop_recording(call_control_id, client_state: nil, command_id: nil, recording_id: nil, request_options: {}) ⇒ Telnyx::Models::Calls::ActionStopRecordingResponse

Some parameter documentations has been truncated, see Models::Calls::ActionStopRecordingParams for more details.

Stop recording the call.

**Expected Webhooks:**

  • ‘call.recording.saved`

Parameters:

  • call_control_id (String)

    Unique identifier and token for controlling the call

  • client_state (String)

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

  • command_id (String)

    Use this field to avoid duplicate commands. Telnyx will ignore any command with

  • recording_id (String)

    Uniquely identifies the resource.

  • request_options (Telnyx::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
# File 'lib/telnyx/resources/calls/actions.rb', line 1562

def stop_recording(call_control_id, params = {})
  parsed, options = Telnyx::Calls::ActionStopRecordingParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["calls/%1$s/actions/record_stop", call_control_id],
    body: parsed,
    model: Telnyx::Models::Calls::ActionStopRecordingResponse,
    options: options
  )
end

#stop_siprec(call_control_id, client_state: nil, command_id: nil, request_options: {}) ⇒ Telnyx::Models::Calls::ActionStopSiprecResponse

Some parameter documentations has been truncated, see Models::Calls::ActionStopSiprecParams for more details.

Stop SIPREC session.

**Expected Webhooks:**

  • ‘siprec.stopped`

Parameters:

  • call_control_id (String)

    Unique identifier and token for controlling the call

  • client_state (String)

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

  • command_id (String)

    Use this field to avoid duplicate commands. Telnyx will ignore any command with

  • request_options (Telnyx::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
# File 'lib/telnyx/resources/calls/actions.rb', line 1595

def stop_siprec(call_control_id, params = {})
  parsed, options = Telnyx::Calls::ActionStopSiprecParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["calls/%1$s/actions/siprec_stop", call_control_id],
    body: parsed,
    model: Telnyx::Models::Calls::ActionStopSiprecResponse,
    options: options
  )
end

#stop_streaming(call_control_id, client_state: nil, command_id: nil, stream_id: nil, request_options: {}) ⇒ Telnyx::Models::Calls::ActionStopStreamingResponse

Some parameter documentations has been truncated, see Models::Calls::ActionStopStreamingParams for more details.

Stop streaming a call to a WebSocket.

**Expected Webhooks:**

  • ‘streaming.stopped`

Parameters:

  • call_control_id (String)

    Unique identifier and token for controlling the call

  • client_state (String)

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

  • command_id (String)

    Use this field to avoid duplicate commands. Telnyx will ignore any command with

  • stream_id (String)

    Identifies the stream. If the ‘stream_id` is not provided the command stops all

  • request_options (Telnyx::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
# File 'lib/telnyx/resources/calls/actions.rb', line 1630

def stop_streaming(call_control_id, params = {})
  parsed, options = Telnyx::Calls::ActionStopStreamingParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["calls/%1$s/actions/streaming_stop", call_control_id],
    body: parsed,
    model: Telnyx::Models::Calls::ActionStopStreamingResponse,
    options: options
  )
end

#stop_transcription(call_control_id, client_state: nil, command_id: nil, request_options: {}) ⇒ Telnyx::Models::Calls::ActionStopTranscriptionResponse

Some parameter documentations has been truncated, see Models::Calls::ActionStopTranscriptionParams for more details.

Stop real-time transcription.

Parameters:

  • call_control_id (String)

    Unique identifier and token for controlling the call

  • client_state (String)

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

  • command_id (String)

    Use this field to avoid duplicate commands. Telnyx will ignore any command with

  • request_options (Telnyx::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
# File 'lib/telnyx/resources/calls/actions.rb', line 1659

def stop_transcription(call_control_id, params = {})
  parsed, options = Telnyx::Calls::ActionStopTranscriptionParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["calls/%1$s/actions/transcription_stop", call_control_id],
    body: parsed,
    model: Telnyx::Models::Calls::ActionStopTranscriptionResponse,
    options: options
  )
end

#switch_supervisor_role(call_control_id, role:, request_options: {}) ⇒ Telnyx::Models::Calls::ActionSwitchSupervisorRoleResponse

Some parameter documentations has been truncated, see Models::Calls::ActionSwitchSupervisorRoleParams for more details.

Switch the supervisor role for a bridged call. This allows switching between different supervisor modes during an active call

Parameters:

Returns:

See Also:



1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
# File 'lib/telnyx/resources/calls/actions.rb', line 1687

def switch_supervisor_role(call_control_id, params)
  parsed, options = Telnyx::Calls::ActionSwitchSupervisorRoleParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["calls/%1$s/actions/switch_supervisor_role", call_control_id],
    body: parsed,
    model: Telnyx::Models::Calls::ActionSwitchSupervisorRoleResponse,
    options: options
  )
end

#transfer(call_control_id, to:, answering_machine_detection: nil, answering_machine_detection_config: nil, audio_url: nil, client_state: nil, command_id: nil, custom_headers: nil, early_media: nil, from: nil, from_display_name: nil, media_encryption: nil, media_name: nil, mute_dtmf: nil, park_after_unbridge: nil, preferred_codecs: nil, privacy: nil, record: nil, record_channels: nil, record_custom_file_name: nil, record_format: nil, record_max_length: nil, record_timeout_secs: nil, record_track: nil, record_trim: nil, sip_auth_password: nil, sip_auth_username: nil, sip_headers: nil, sip_region: nil, sip_transport_protocol: nil, sound_modifications: nil, target_leg_client_state: nil, time_limit_secs: nil, timeout_secs: nil, webhook_retries_policies: nil, webhook_url: nil, webhook_url_method: nil, webhook_urls: nil, webhook_urls_method: nil, request_options: {}) ⇒ Telnyx::Models::Calls::ActionTransferResponse

Some parameter documentations has been truncated, see Models::Calls::ActionTransferParams for more details.

Transfer a call to a new destination. If the transfer is unsuccessful, a ‘call.hangup` webhook for the other call (Leg B) will be sent indicating that the transfer could not be completed. The original call will remain active and may be issued additional commands, potentially transfering the call to an alternate destination.

**Expected Webhooks:**

  • ‘call.initiated`

  • ‘call.bridged` to Leg B

  • ‘call.answered` or `call.hangup`

  • ‘call.machine.detection.ended` if `answering_machine_detection` was requested

  • ‘call.machine.greeting.ended` if `answering_machine_detection` was requested to detect the end of machine greeting

  • ‘call.machine.premium.detection.ended` if `answering_machine_detection=premium` was requested

  • ‘call.machine.premium.greeting.ended` if `answering_machine_detection=premium` was requested and a beep was detected

Parameters:

  • call_control_id (String)

    Unique identifier and token for controlling the call

  • to (String)

    The DID or SIP URI to dial out to. For SIP URI destinations, append ‘;secure=tru

  • answering_machine_detection (Symbol, Telnyx::Models::Calls::ActionTransferParams::AnsweringMachineDetection)

    Enables Answering Machine Detection. When a call is answered, Telnyx runs real-t

  • answering_machine_detection_config (Telnyx::Models::Calls::ActionTransferParams::AnsweringMachineDetectionConfig)

    Optional configuration parameters to modify ‘answering_machine_detection’ perfor

  • audio_url (String)

    The URL of a file to be played back when the transfer destination answers before

  • client_state (String)

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

  • command_id (String)

    Use this field to avoid duplicate commands. Telnyx will ignore any command with

  • custom_headers (Array<Telnyx::Models::CustomSipHeader>)

    Custom headers to be added to the SIP INVITE.

  • early_media (Boolean)

    If set to false, early media will not be passed to the originating leg.

  • from (String)

    The ‘from` number to be used as the caller id presented to the destination (`to`

  • from_display_name (String)

    The ‘from_display_name` string to be used as the caller id name (SIP From Displa

  • media_encryption (Symbol, Telnyx::Models::Calls::ActionTransferParams::MediaEncryption)

    Defines whether media should be encrypted on the new call leg. For SIP URI desti

  • media_name (String)

    The media_name of a file to be played back when the transfer destination answers

  • mute_dtmf (Symbol, Telnyx::Models::Calls::ActionTransferParams::MuteDtmf)

    When enabled, DTMF tones are not passed to the call participant. The webhooks co

  • park_after_unbridge (String)

    Specifies behavior after the bridge ends (i.e. the opposite leg either hangs up

  • preferred_codecs (String)

    The list of comma-separated codecs in order of preference to be used during the

  • privacy (Symbol, Telnyx::Models::Calls::ActionTransferParams::Privacy)

    Indicates the privacy level to be used for the call. When set to ‘id`, caller ID

  • record (Symbol, Telnyx::Models::Calls::ActionTransferParams::Record)

    Start recording automatically after an event. Disabled by default.

  • record_channels (Symbol, Telnyx::Models::Calls::ActionTransferParams::RecordChannels)

    Defines which channel should be recorded (‘single’ or ‘dual’) when ‘record` is s

  • record_custom_file_name (String)

    The custom recording file name to be used instead of the default ‘call_leg_id`.

  • record_format (Symbol, Telnyx::Models::Calls::ActionTransferParams::RecordFormat)

    Defines the format of the recording (‘wav’ or ‘mp3’) when ‘record` is specified.

  • record_max_length (Integer)

    Defines the maximum length for the recording in seconds when ‘record` is specifi

  • record_timeout_secs (Integer)

    The number of seconds that Telnyx will wait for the recording to be stopped if s

  • record_track (Symbol, Telnyx::Models::Calls::ActionTransferParams::RecordTrack)

    The audio track to be recorded. Can be either ‘both`, `inbound` or `outbound`. I

  • record_trim (Symbol, Telnyx::Models::Calls::ActionTransferParams::RecordTrim)

    When set to ‘trim-silence`, silence will be removed from the beginning and end o

  • sip_auth_password (String)

    SIP Authentication password used for SIP challenges.

  • sip_auth_username (String)

    SIP Authentication username used for SIP challenges.

  • sip_headers (Array<Telnyx::Models::SipHeader>)

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

  • sip_region (Symbol, Telnyx::Models::Calls::ActionTransferParams::SipRegion)

    Defines the SIP region to be used for the call.

  • sip_transport_protocol (Symbol, Telnyx::Models::Calls::ActionTransferParams::SipTransportProtocol)

    Defines SIP transport protocol to be used on the call.

  • sound_modifications (Telnyx::Models::SoundModifications)

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

  • target_leg_client_state (String)

    Use this field to add state to every subsequent webhook for the new leg. It must

  • time_limit_secs (Integer)

    Sets the maximum duration of a Call Control Leg in seconds. If the time limit is

  • timeout_secs (Integer)

    The number of seconds that Telnyx will wait for the call to be answered by the d

  • webhook_retries_policies (Hash{Symbol=>Telnyx::Models::Calls::ActionTransferParams::WebhookRetriesPolicy})

    A map of event types to retry policies. Each retry policy contains an array of ‘

  • webhook_url (String)

    Use this field to override the URL for which Telnyx will send subsequent webhook

  • webhook_url_method (Symbol, Telnyx::Models::Calls::ActionTransferParams::WebhookURLMethod)

    HTTP request type used for ‘webhook_url`.

  • webhook_urls (Hash{Symbol=>String})

    A map of event types to webhook URLs. When an event of the specified type occurs

  • webhook_urls_method (Symbol, Telnyx::Models::Calls::ActionTransferParams::WebhookURLsMethod)

    HTTP request method to invoke ‘webhook_urls`.

  • request_options (Telnyx::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
# File 'lib/telnyx/resources/calls/actions.rb', line 1805

def transfer(call_control_id, params)
  parsed, options = Telnyx::Calls::ActionTransferParams.dump_request(params)
  @client.request(
    method: :post,
    path: ["calls/%1$s/actions/transfer", call_control_id],
    body: parsed,
    model: Telnyx::Models::Calls::ActionTransferResponse,
    options: options
  )
end

#update_client_state(call_control_id, client_state:, request_options: {}) ⇒ Telnyx::Models::Calls::ActionUpdateClientStateResponse

Some parameter documentations has been truncated, see Models::Calls::ActionUpdateClientStateParams for more details.

Updates client state

Parameters:

  • call_control_id (String)

    Unique identifier and token for controlling the call

  • client_state (String)

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

  • request_options (Telnyx::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

See Also:



1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
# File 'lib/telnyx/resources/calls/actions.rb', line 1832

def update_client_state(call_control_id, params)
  parsed, options = Telnyx::Calls::ActionUpdateClientStateParams.dump_request(params)
  @client.request(
    method: :put,
    path: ["calls/%1$s/actions/client_state_update", call_control_id],
    body: parsed,
    model: Telnyx::Models::Calls::ActionUpdateClientStateResponse,
    options: options
  )
end