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

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

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:



1669
1670
1671
# File 'lib/telnyx/resources/calls/actions.rb', line 1669

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:



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

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, billing_group_id: nil, client_state: nil, command_id: nil, custom_headers: 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_url: nil, webhook_url_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`

  • ‘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:



115
116
117
118
119
120
121
122
123
124
# File 'lib/telnyx/resources/calls/actions.rb', line 115

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, mute_dtmf: nil, park_after_unbridge: nil, play_ringtone: 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

  • 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

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



182
183
184
185
186
187
188
189
190
191
# File 'lib/telnyx/resources/calls/actions.rb', line 182

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:



219
220
221
222
223
224
225
226
227
228
# File 'lib/telnyx/resources/calls/actions.rb', line 219

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:



272
273
274
275
276
277
278
279
280
281
# File 'lib/telnyx/resources/calls/actions.rb', line 272

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

  • call_control_id (String)

    Unique identifier and token for controlling the call

  • parameters (Hash{Symbol=>Object})

    The parameters described as a JSON Schema object that needs to be gathered by th

  • assistant (Telnyx::Models::AI::Assistant)

    Assistant configuration including choice of LLM, custom instructions, and tools.

  • 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

  • greeting (String)

    Text that will be played when the gathering starts, if none then nothing will be

  • interruption_settings (Telnyx::Models::Calls::InterruptionSettings)

    Settings for handling user interruptions during assistant speech

  • language (Symbol, Telnyx::Models::Calls::GoogleTranscriptionLanguage)

    Language to use for speech recognition

  • message_history (Array<Telnyx::Models::Calls::ActionGatherUsingAIParams::MessageHistory>)

    The message history you want the voice assistant to be aware of, this can be use

  • send_message_history_updates (Boolean)

    Default is ‘false`. If set to `true`, the voice assistant will send updates to t

  • send_partial_results (Boolean)

    Default is ‘false`. If set to `true`, the voice assistant will send partial resu

  • transcription (Telnyx::Models::Calls::TranscriptionConfig)

    The settings associated with speech to text for the voice assistant. This is onl

  • user_response_timeout_ms (Integer)

    The number of milliseconds to wait for a user response before the voice assistan

  • voice (String)

    The voice to be used by the voice assistant. Currently we support ElevenLabs, Te

  • voice_settings (Telnyx::Models::Calls::ElevenLabsVoiceSettings, Telnyx::Models::Calls::TelnyxVoiceSettings, Telnyx::Models::Calls::AwsVoiceSettings)

    The settings associated with the voice selected

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

Returns:

See Also:



336
337
338
339
340
341
342
343
344
345
# File 'lib/telnyx/resources/calls/actions.rb', line 336

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:



400
401
402
403
404
405
406
407
408
409
# File 'lib/telnyx/resources/calls/actions.rb', line 400

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:

  • call_control_id (String)

    Unique identifier and token for controlling the call

  • payload (String)

    The text or SSML to be converted into speech. There is a 3,000 character limit.

  • voice (String)

    Specifies the voice used in speech synthesis.

  • 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_payload (String)

    The text or SSML to be converted into speech when digits don’t match the

  • language (Symbol, Telnyx::Models::Calls::ActionGatherUsingSpeakParams::Language)

    The language you want spoken. This parameter is ignored when a ‘Polly.*` voice i

  • 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 that a file should be played back if there is no inp

  • minimum_digits (Integer)

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

  • payload_type (Symbol, Telnyx::Models::Calls::ActionGatherUsingSpeakParams::PayloadType)

    The type of the provided payload. The payload can either be plain text, or Speec

  • service_level (Symbol, Telnyx::Models::Calls::ActionGatherUsingSpeakParams::ServiceLevel)

    This parameter impacts speech quality, language options and payload types. When

  • 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 speak ends before a

  • valid_digits (String)

    A list of all digits accepted as valid.

  • voice_settings (Telnyx::Models::Calls::ElevenLabsVoiceSettings, Telnyx::Models::Calls::TelnyxVoiceSettings, Telnyx::Models::Calls::AwsVoiceSettings)

    The settings associated with the voice selected

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

Returns:

See Also:



469
470
471
472
473
474
475
476
477
478
# File 'lib/telnyx/resources/calls/actions.rb', line 469

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, 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

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

Returns:

See Also:



503
504
505
506
507
508
509
510
511
512
# File 'lib/telnyx/resources/calls/actions.rb', line 503

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

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



532
533
534
535
536
537
538
539
540
541
# File 'lib/telnyx/resources/calls/actions.rb', line 532

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:



567
568
569
570
571
572
573
574
575
576
# File 'lib/telnyx/resources/calls/actions.rb', line 567

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:



613
614
615
616
617
618
619
620
621
622
# File 'lib/telnyx/resources/calls/actions.rb', line 613

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:



648
649
650
651
652
653
654
655
656
657
# File 'lib/telnyx/resources/calls/actions.rb', line 648

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:



683
684
685
686
687
688
689
690
691
692
# File 'lib/telnyx/resources/calls/actions.rb', line 683

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:



722
723
724
725
726
727
728
729
730
731
# File 'lib/telnyx/resources/calls/actions.rb', line 722

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:



759
760
761
762
763
764
765
766
767
768
# File 'lib/telnyx/resources/calls/actions.rb', line 759

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, payload_type: nil, service_level: nil, stop: 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:



809
810
811
812
813
814
815
816
817
818
# File 'lib/telnyx/resources/calls/actions.rb', line 809

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



855
856
857
858
859
860
861
862
863
864
# File 'lib/telnyx/resources/calls/actions.rb', line 855

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



899
900
901
902
903
904
905
906
907
908
# File 'lib/telnyx/resources/calls/actions.rb', line 899

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:



934
935
936
937
938
939
940
941
942
943
# File 'lib/telnyx/resources/calls/actions.rb', line 934

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:



993
994
995
996
997
998
999
1000
1001
1002
# File 'lib/telnyx/resources/calls/actions.rb', line 993

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)
  • 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:



1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
# File 'lib/telnyx/resources/calls/actions.rb', line 1059

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:



1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
# File 'lib/telnyx/resources/calls/actions.rb', line 1104

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, dialogflow_config: nil, enable_dialogflow: 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:



1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
# File 'lib/telnyx/resources/calls/actions.rb', line 1157

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:



1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
# File 'lib/telnyx/resources/calls/actions.rb', line 1197

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:



1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
# File 'lib/telnyx/resources/calls/actions.rb', line 1226

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



1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
# File 'lib/telnyx/resources/calls/actions.rb', line 1261

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:



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

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:



1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
# File 'lib/telnyx/resources/calls/actions.rb', line 1323

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:



1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
# File 'lib/telnyx/resources/calls/actions.rb', line 1360

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:



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

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:



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

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:



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

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:



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

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:



1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
# File 'lib/telnyx/resources/calls/actions.rb', line 1520

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, 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_url: nil, webhook_url_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.

  • 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.

  • 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

  • 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_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`.

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

Returns:

See Also:



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

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:



1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
# File 'lib/telnyx/resources/calls/actions.rb', line 1655

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