Class: Telnyx::Models::Calls::ActionStartConversationRelayParams

Inherits:
Internal::Type::BaseModel show all
Extended by:
Internal::Type::RequestParameters::Converter
Includes:
Internal::Type::RequestParameters
Defined in:
lib/telnyx/models/calls/action_start_conversation_relay_params.rb

Overview

Defined Under Namespace

Modules: Interruptible, InterruptibleGreeting, TranscriptionEngine, VoiceSettings Classes: Assistant, ConversationRelaySettings, InterruptionSettings, Language

Instance Attribute Summary collapse

Attributes included from Internal::Type::RequestParameters

#request_options

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Internal::Type::RequestParameters::Converter

dump_request

Methods included from Internal::Type::RequestParameters

included

Methods inherited from Internal::Type::BaseModel

==, #==, #[], coerce, #deconstruct_keys, #deep_to_h, dump, fields, hash, #hash, inherited, inspect, #inspect, known_fields, optional, recursively_to_h, required, #to_h, #to_json, #to_s, to_sorbet_type, #to_yaml

Methods included from Internal::Type::Converter

#coerce, coerce, #dump, dump, #inspect, inspect, meta_info, new_coerce_state, type_info

Methods included from Internal::Util::SorbetRuntimeSupport

#const_missing, #define_sorbet_constant!, #sorbet_constant_defined?, #to_sorbet_type, to_sorbet_type

Constructor Details

#initialize(type: :inworld) ⇒ Object

Parameters:

  • type (Symbol, :inworld) (defaults to: :inworld)

    Voice settings provider type



# File 'lib/telnyx/models/calls/action_start_conversation_relay_params.rb', line 272

Instance Attribute Details

#assistantTelnyx::Models::Calls::ActionStartConversationRelayParams::Assistant?

Custom parameters for the Conversation Relay session. Pass key-value data as ‘assistant.dynamic_variables` to make it available to the relay session.



21
# File 'lib/telnyx/models/calls/action_start_conversation_relay_params.rb', line 21

optional :assistant, -> { Telnyx::Calls::ActionStartConversationRelayParams::Assistant }

#call_control_idString

Returns:

  • (String)


14
# File 'lib/telnyx/models/calls/action_start_conversation_relay_params.rb', line 14

required :call_control_id, String

#client_stateString?

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

Returns:

  • (String, nil)


28
# File 'lib/telnyx/models/calls/action_start_conversation_relay_params.rb', line 28

optional :client_state, String

#command_idString?

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

Returns:

  • (String, nil)


35
# File 'lib/telnyx/models/calls/action_start_conversation_relay_params.rb', line 35

optional :command_id, String

#conversation_relay_dtmf_detectionBoolean?

Enable DTMF detection for the relay session.

Returns:

  • (Boolean, nil)


41
# File 'lib/telnyx/models/calls/action_start_conversation_relay_params.rb', line 41

optional :conversation_relay_dtmf_detection, Telnyx::Internal::Type::Boolean

#conversation_relay_settingsTelnyx::Models::Calls::ActionStartConversationRelayParams::ConversationRelaySettings?

Conversation Relay connection settings. This object can provide ‘url`, `dtmf_detection`, `interruptible`, `interruptible_greeting`, and `languages`. Top-level aliases override nested values when both are present.



49
50
# File 'lib/telnyx/models/calls/action_start_conversation_relay_params.rb', line 49

optional :conversation_relay_settings,
-> { Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings }

#conversation_relay_urlString?

WebSocket URL for your Conversation Relay server. Must start with ‘ws://` or `wss://`.

Returns:

  • (String, nil)


57
# File 'lib/telnyx/models/calls/action_start_conversation_relay_params.rb', line 57

optional :conversation_relay_url, String

#custom_parametersHash{Symbol=>Object}?

Custom key-value parameters forwarded to the relay session as ‘assistant.dynamic_variables`. If `assistant.dynamic_variables` is also present, these values are merged in.

Returns:

  • (Hash{Symbol=>Object}, nil)


65
# File 'lib/telnyx/models/calls/action_start_conversation_relay_params.rb', line 65

optional :custom_parameters, Telnyx::Internal::Type::HashOf[Telnyx::Internal::Type::Unknown]

#dtmf_detectionBoolean?

Public alias for ‘conversation_relay_dtmf_detection`. If both are present, this value wins.

Returns:

  • (Boolean, nil)


72
# File 'lib/telnyx/models/calls/action_start_conversation_relay_params.rb', line 72

optional :dtmf_detection, Telnyx::Internal::Type::Boolean

#greetingString?

Text played when the relay session starts.

Returns:

  • (String, nil)


78
# File 'lib/telnyx/models/calls/action_start_conversation_relay_params.rb', line 78

optional :greeting, String

#interruptibleSymbol, ...

Controls when caller input can interrupt assistant speech. ‘any` allows speech or DTMF interruptions; `none` disables interruptions; `speech` allows speech only; `dtmf` allows DTMF only.



86
# File 'lib/telnyx/models/calls/action_start_conversation_relay_params.rb', line 86

optional :interruptible, enum: -> { Telnyx::Calls::ActionStartConversationRelayParams::Interruptible }

#interruptible_greetingSymbol, ...

Controls when caller input can interrupt assistant speech. ‘any` allows speech or DTMF interruptions; `none` disables interruptions; `speech` allows speech only; `dtmf` allows DTMF only.



94
95
# File 'lib/telnyx/models/calls/action_start_conversation_relay_params.rb', line 94

optional :interruptible_greeting,
enum: -> { Telnyx::Calls::ActionStartConversationRelayParams::InterruptibleGreeting }

#interruption_settingsTelnyx::Models::Calls::ActionStartConversationRelayParams::InterruptionSettings?

Settings for handling caller interruptions during Conversation Relay speech.



101
102
# File 'lib/telnyx/models/calls/action_start_conversation_relay_params.rb', line 101

optional :interruption_settings,
-> { Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings }

#languageString?

Default language for the relay session. This value is used for both text-to-speech and speech recognition.

Returns:

  • (String, nil)


109
# File 'lib/telnyx/models/calls/action_start_conversation_relay_params.rb', line 109

optional :language, String

#languagesArray<Telnyx::Models::Calls::ActionStartConversationRelayParams::Language>?

Per-language TTS and transcription settings.



115
116
# File 'lib/telnyx/models/calls/action_start_conversation_relay_params.rb', line 115

optional :languages,
-> { Telnyx::Internal::Type::ArrayOf[Telnyx::Calls::ActionStartConversationRelayParams::Language] }

#providerString?

Structured voice provider. Must be supplied together with ‘structured_provider`.

Returns:

  • (String, nil)


122
# File 'lib/telnyx/models/calls/action_start_conversation_relay_params.rb', line 122

optional :provider, String

#structured_providerHash{Symbol=>Object}?

Provider-specific structured voice settings. Must be supplied together with ‘provider`; Telnyx sends the value as the nested provider configuration for Conversation Relay.

Returns:

  • (Hash{Symbol=>Object}, nil)


130
# File 'lib/telnyx/models/calls/action_start_conversation_relay_params.rb', line 130

optional :structured_provider, Telnyx::Internal::Type::HashOf[Telnyx::Internal::Type::Unknown]

#transcriptionHash{Symbol=>Object}?

Deprecated.

Not supported for Conversation Relay start requests. Use ‘transcription_engine` and `transcription_engine_config` instead.

Returns:

  • (Hash{Symbol=>Object}, nil)


139
# File 'lib/telnyx/models/calls/action_start_conversation_relay_params.rb', line 139

optional :transcription, Telnyx::Internal::Type::HashOf[Telnyx::Internal::Type::Unknown]

#transcription_engineSymbol, ...

Engine to use for speech recognition. Legacy values ‘A` - `Google`, `B` - `Telnyx` are supported for backward compatibility. For Conversation Relay, use this field with `transcription_engine_config`; the `transcription` object is not supported.



148
149
# File 'lib/telnyx/models/calls/action_start_conversation_relay_params.rb', line 148

optional :transcription_engine,
enum: -> { Telnyx::Calls::ActionStartConversationRelayParams::TranscriptionEngine }

#transcription_engine_configHash{Symbol=>Object}?

Engine-specific transcription settings for Conversation Relay. This accepts the same provider-specific options used by the Call Transcription Start command, such as ‘transcription_model`, without requiring the engine discriminator to be repeated inside this object.

Returns:

  • (Hash{Symbol=>Object}, nil)


158
# File 'lib/telnyx/models/calls/action_start_conversation_relay_params.rb', line 158

optional :transcription_engine_config, Telnyx::Internal::Type::HashOf[Telnyx::Internal::Type::Unknown]

#tts_providerString?

Text-to-speech provider. If omitted, Telnyx derives it from ‘voice` or `provider`.

Returns:

  • (String, nil)


165
# File 'lib/telnyx/models/calls/action_start_conversation_relay_params.rb', line 165

optional :tts_provider, String

#urlString?

Public alias for ‘conversation_relay_url`. Must start with `ws://` or `wss://`. If both are present, this value wins.

Returns:

  • (String, nil)


172
# File 'lib/telnyx/models/calls/action_start_conversation_relay_params.rb', line 172

optional :url, String

#voiceString?

The voice to be used by the voice assistant. Currently we support ElevenLabs, Telnyx and AWS voices.

**Supported Providers:**

  • AWS: Use ‘AWS.Polly.<VoiceId>` (e.g., `AWS.Polly.Joanna`). For neural voices, which provide more realistic, human-like speech, append `-Neural` to the `VoiceId` (e.g., `AWS.Polly.Joanna-Neural`). Check the [available voices](docs.aws.amazon.com/polly/latest/dg/available-voices.html) for compatibility.

  • Azure: Use ‘Azure.<VoiceId>. (e.g. Azure.en-CA-ClaraNeural, Azure.en-CA-LiamNeural, Azure.en-US-BrianMultilingualNeural, Azure.en-US-Ava:DragonHDLatestNeural. For a complete list of voices, go to [Azure Voice Gallery](speech.microsoft.com/portal/voicegallery).)

  • ElevenLabs: Use ‘ElevenLabs.<ModelId>.<VoiceId>` (e.g., `ElevenLabs.BaseModel.John`). The `ModelId` part is optional. To use ElevenLabs, you must provide your ElevenLabs API key as an integration secret under `“voice_settings”: “<secret_id>”`. See [integration secrets documentation](developers.telnyx.com/api/secrets-manager/integration-secrets/create-integration-secret) for details. Check [available voices](elevenlabs.io/docs/api-reference/get-voices).

  • Telnyx: Use ‘Telnyx.<model_id>.<voice_id>`

  • Inworld: Use ‘Inworld.<ModelId>.<VoiceId>` (e.g., `Inworld.Mini.Loretta`, `Inworld.Max.Oliver`). Supported models: `Mini`, `Max`.

  • xAI: Use ‘xAI.<VoiceId>` (e.g., `xAI.eve`). Available voices: `eve`, `ara`, `rex`, `sal`, `leo`.

Returns:

  • (String, nil)


203
# File 'lib/telnyx/models/calls/action_start_conversation_relay_params.rb', line 203

optional :voice, String