telnyx 5.111.0 → 5.113.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +25 -0
- data/README.md +1 -1
- data/lib/telnyx/models/ai/openai_create_response_params.rb +3 -3
- data/lib/telnyx/models/ai_create_response_params.rb +4 -4
- data/lib/telnyx/models/call_conversation_ended.rb +13 -1
- data/lib/telnyx/models/calls/action_start_conversation_relay_params.rb +542 -0
- data/lib/telnyx/models/calls/action_start_conversation_relay_response.rb +37 -0
- data/lib/telnyx/models/calls/action_stop_conversation_relay_params.rb +44 -0
- data/lib/telnyx/models/calls/action_stop_conversation_relay_response.rb +18 -0
- data/lib/telnyx/models/calls/transcription_engine_speechmatics_config.rb +100 -0
- data/lib/telnyx/models/calls/transcription_start_request.rb +6 -3
- data/lib/telnyx/models/fax.rb +7 -5
- data/lib/telnyx/models/fax_create_params.rb +7 -5
- data/lib/telnyx/models/fax_delivered.rb +3 -2
- data/lib/telnyx/models/fax_failed.rb +3 -2
- data/lib/telnyx/models/fax_media_processed.rb +3 -2
- data/lib/telnyx/models/fax_queued.rb +3 -2
- data/lib/telnyx/models/fax_sending_started.rb +3 -2
- data/lib/telnyx/models/texml/accounts/call_calls_params.rb +62 -12
- data/lib/telnyx/models/texml_initiate_ai_call_params.rb +18 -4
- data/lib/telnyx/resources/ai/openai.rb +1 -1
- data/lib/telnyx/resources/ai.rb +3 -3
- data/lib/telnyx/resources/calls/actions.rb +95 -1
- data/lib/telnyx/resources/faxes.rb +13 -1
- data/lib/telnyx/resources/texml.rb +4 -2
- data/lib/telnyx/version.rb +1 -1
- data/lib/telnyx.rb +5 -0
- data/rbi/telnyx/models/ai/openai_create_response_params.rbi +4 -4
- data/rbi/telnyx/models/ai_create_response_params.rbi +4 -4
- data/rbi/telnyx/models/call_conversation_ended.rbi +10 -0
- data/rbi/telnyx/models/calls/action_start_conversation_relay_params.rbi +1192 -0
- data/rbi/telnyx/models/calls/action_start_conversation_relay_response.rbi +95 -0
- data/rbi/telnyx/models/calls/action_stop_conversation_relay_params.rbi +72 -0
- data/rbi/telnyx/models/calls/action_stop_conversation_relay_response.rbi +39 -0
- data/rbi/telnyx/models/calls/transcription_engine_speechmatics_config.rbi +289 -0
- data/rbi/telnyx/models/calls/transcription_start_request.rbi +10 -0
- data/rbi/telnyx/models/fax.rbi +12 -8
- data/rbi/telnyx/models/fax_create_params.rbi +12 -8
- data/rbi/telnyx/models/fax_delivered.rbi +6 -4
- data/rbi/telnyx/models/fax_failed.rbi +6 -4
- data/rbi/telnyx/models/fax_media_processed.rbi +6 -4
- data/rbi/telnyx/models/fax_queued.rbi +6 -4
- data/rbi/telnyx/models/fax_sending_started.rbi +6 -4
- data/rbi/telnyx/models/texml/accounts/call_calls_params.rbi +81 -9
- data/rbi/telnyx/models/texml_initiate_ai_call_params.rbi +27 -3
- data/rbi/telnyx/resources/ai/openai.rbi +1 -1
- data/rbi/telnyx/resources/ai.rbi +2 -2
- data/rbi/telnyx/resources/calls/actions.rbi +146 -0
- data/rbi/telnyx/resources/faxes.rbi +18 -4
- data/rbi/telnyx/resources/texml.rbi +7 -1
- data/sig/telnyx/models/ai/openai_create_response_params.rbs +5 -5
- data/sig/telnyx/models/ai_create_response_params.rbs +5 -4
- data/sig/telnyx/models/call_conversation_ended.rbs +5 -0
- data/sig/telnyx/models/calls/action_start_conversation_relay_params.rbs +455 -0
- data/sig/telnyx/models/calls/action_start_conversation_relay_response.rbs +45 -0
- data/sig/telnyx/models/calls/action_stop_conversation_relay_params.rbs +38 -0
- data/sig/telnyx/models/calls/action_stop_conversation_relay_response.rbs +20 -0
- data/sig/telnyx/models/calls/transcription_engine_speechmatics_config.rbs +114 -0
- data/sig/telnyx/models/calls/transcription_start_request.rbs +11 -1
- data/sig/telnyx/models/texml/accounts/call_calls_params.rbs +27 -3
- data/sig/telnyx/models/texml_initiate_ai_call_params.rbs +9 -1
- data/sig/telnyx/resources/ai/openai.rbs +1 -1
- data/sig/telnyx/resources/ai.rbs +1 -1
- data/sig/telnyx/resources/calls/actions.rbs +27 -0
- data/sig/telnyx/resources/texml.rbs +1 -0
- metadata +17 -2
|
@@ -0,0 +1,1192 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Telnyx
|
|
4
|
+
module Models
|
|
5
|
+
module Calls
|
|
6
|
+
class ActionStartConversationRelayParams < Telnyx::Internal::Type::BaseModel
|
|
7
|
+
extend Telnyx::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include Telnyx::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
OrHash =
|
|
11
|
+
T.type_alias do
|
|
12
|
+
T.any(
|
|
13
|
+
Telnyx::Calls::ActionStartConversationRelayParams,
|
|
14
|
+
Telnyx::Internal::AnyHash
|
|
15
|
+
)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
sig { returns(String) }
|
|
19
|
+
attr_accessor :call_control_id
|
|
20
|
+
|
|
21
|
+
# Custom parameters for the Conversation Relay session. Pass key-value data as
|
|
22
|
+
# `assistant.dynamic_variables` to make it available to the relay session.
|
|
23
|
+
sig do
|
|
24
|
+
returns(
|
|
25
|
+
T.nilable(
|
|
26
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Assistant
|
|
27
|
+
)
|
|
28
|
+
)
|
|
29
|
+
end
|
|
30
|
+
attr_reader :assistant
|
|
31
|
+
|
|
32
|
+
sig do
|
|
33
|
+
params(
|
|
34
|
+
assistant:
|
|
35
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Assistant::OrHash
|
|
36
|
+
).void
|
|
37
|
+
end
|
|
38
|
+
attr_writer :assistant
|
|
39
|
+
|
|
40
|
+
# Use this field to add state to subsequent webhooks. It must be a valid Base-64
|
|
41
|
+
# encoded string.
|
|
42
|
+
sig { returns(T.nilable(String)) }
|
|
43
|
+
attr_reader :client_state
|
|
44
|
+
|
|
45
|
+
sig { params(client_state: String).void }
|
|
46
|
+
attr_writer :client_state
|
|
47
|
+
|
|
48
|
+
# Use this field to avoid duplicate commands. Telnyx will ignore any command with
|
|
49
|
+
# the same `command_id` for the same `call_control_id`.
|
|
50
|
+
sig { returns(T.nilable(String)) }
|
|
51
|
+
attr_reader :command_id
|
|
52
|
+
|
|
53
|
+
sig { params(command_id: String).void }
|
|
54
|
+
attr_writer :command_id
|
|
55
|
+
|
|
56
|
+
# Enable DTMF detection for the relay session.
|
|
57
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
58
|
+
attr_reader :conversation_relay_dtmf_detection
|
|
59
|
+
|
|
60
|
+
sig { params(conversation_relay_dtmf_detection: T::Boolean).void }
|
|
61
|
+
attr_writer :conversation_relay_dtmf_detection
|
|
62
|
+
|
|
63
|
+
# Conversation Relay connection settings. This object is used by TeXML Call
|
|
64
|
+
# Scripting's `<ConversationRelay>` verb. The `interruptible` and
|
|
65
|
+
# `interruptible_greeting` fields are shorthand for
|
|
66
|
+
# `interruption_settings.interruptible` and
|
|
67
|
+
# `interruption_settings.interruptible_greeting`; use top-level
|
|
68
|
+
# `interruption_settings` for the full interruption settings shape.
|
|
69
|
+
sig do
|
|
70
|
+
returns(
|
|
71
|
+
T.nilable(
|
|
72
|
+
Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings
|
|
73
|
+
)
|
|
74
|
+
)
|
|
75
|
+
end
|
|
76
|
+
attr_reader :conversation_relay_settings
|
|
77
|
+
|
|
78
|
+
sig do
|
|
79
|
+
params(
|
|
80
|
+
conversation_relay_settings:
|
|
81
|
+
Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::OrHash
|
|
82
|
+
).void
|
|
83
|
+
end
|
|
84
|
+
attr_writer :conversation_relay_settings
|
|
85
|
+
|
|
86
|
+
# WebSocket URL for your Conversation Relay server. Must start with `ws://` or
|
|
87
|
+
# `wss://`.
|
|
88
|
+
sig { returns(T.nilable(String)) }
|
|
89
|
+
attr_reader :conversation_relay_url
|
|
90
|
+
|
|
91
|
+
sig { params(conversation_relay_url: String).void }
|
|
92
|
+
attr_writer :conversation_relay_url
|
|
93
|
+
|
|
94
|
+
# Text played when the relay session starts.
|
|
95
|
+
sig { returns(T.nilable(String)) }
|
|
96
|
+
attr_reader :greeting
|
|
97
|
+
|
|
98
|
+
sig { params(greeting: String).void }
|
|
99
|
+
attr_writer :greeting
|
|
100
|
+
|
|
101
|
+
# Settings for handling caller interruptions during Conversation Relay speech.
|
|
102
|
+
sig do
|
|
103
|
+
returns(
|
|
104
|
+
T.nilable(
|
|
105
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings
|
|
106
|
+
)
|
|
107
|
+
)
|
|
108
|
+
end
|
|
109
|
+
attr_reader :interruption_settings
|
|
110
|
+
|
|
111
|
+
sig do
|
|
112
|
+
params(
|
|
113
|
+
interruption_settings:
|
|
114
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::OrHash
|
|
115
|
+
).void
|
|
116
|
+
end
|
|
117
|
+
attr_writer :interruption_settings
|
|
118
|
+
|
|
119
|
+
# Default language for the relay session. This value is used for both
|
|
120
|
+
# text-to-speech and speech recognition unless `tts_language` or
|
|
121
|
+
# `transcription_language` are provided.
|
|
122
|
+
sig { returns(T.nilable(String)) }
|
|
123
|
+
attr_reader :language
|
|
124
|
+
|
|
125
|
+
sig { params(language: String).void }
|
|
126
|
+
attr_writer :language
|
|
127
|
+
|
|
128
|
+
# Language-specific TTS and transcription settings. Use this when the relay
|
|
129
|
+
# session needs per-language provider, voice, or speech model configuration.
|
|
130
|
+
sig do
|
|
131
|
+
returns(
|
|
132
|
+
T.nilable(
|
|
133
|
+
T::Array[
|
|
134
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Language
|
|
135
|
+
]
|
|
136
|
+
)
|
|
137
|
+
)
|
|
138
|
+
end
|
|
139
|
+
attr_reader :languages
|
|
140
|
+
|
|
141
|
+
sig do
|
|
142
|
+
params(
|
|
143
|
+
languages:
|
|
144
|
+
T::Array[
|
|
145
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Language::OrHash
|
|
146
|
+
]
|
|
147
|
+
).void
|
|
148
|
+
end
|
|
149
|
+
attr_writer :languages
|
|
150
|
+
|
|
151
|
+
# Speech-to-text settings for Conversation Relay.
|
|
152
|
+
sig do
|
|
153
|
+
returns(
|
|
154
|
+
T.nilable(
|
|
155
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Transcription
|
|
156
|
+
)
|
|
157
|
+
)
|
|
158
|
+
end
|
|
159
|
+
attr_reader :transcription
|
|
160
|
+
|
|
161
|
+
sig do
|
|
162
|
+
params(
|
|
163
|
+
transcription:
|
|
164
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Transcription::OrHash
|
|
165
|
+
).void
|
|
166
|
+
end
|
|
167
|
+
attr_writer :transcription
|
|
168
|
+
|
|
169
|
+
# Language to use for speech recognition. Overrides `language` for transcription
|
|
170
|
+
# when provided.
|
|
171
|
+
sig { returns(T.nilable(String)) }
|
|
172
|
+
attr_reader :transcription_language
|
|
173
|
+
|
|
174
|
+
sig { params(transcription_language: String).void }
|
|
175
|
+
attr_writer :transcription_language
|
|
176
|
+
|
|
177
|
+
# Language to use for text-to-speech. Overrides `language` for TTS when provided.
|
|
178
|
+
sig { returns(T.nilable(String)) }
|
|
179
|
+
attr_reader :tts_language
|
|
180
|
+
|
|
181
|
+
sig { params(tts_language: String).void }
|
|
182
|
+
attr_writer :tts_language
|
|
183
|
+
|
|
184
|
+
# The voice to be used by the voice assistant. Currently we support ElevenLabs,
|
|
185
|
+
# Telnyx and AWS voices.
|
|
186
|
+
#
|
|
187
|
+
# **Supported Providers:**
|
|
188
|
+
#
|
|
189
|
+
# - **AWS:** Use `AWS.Polly.<VoiceId>` (e.g., `AWS.Polly.Joanna`). For neural
|
|
190
|
+
# voices, which provide more realistic, human-like speech, append `-Neural` to
|
|
191
|
+
# the `VoiceId` (e.g., `AWS.Polly.Joanna-Neural`). Check the
|
|
192
|
+
# [available voices](https://docs.aws.amazon.com/polly/latest/dg/available-voices.html)
|
|
193
|
+
# for compatibility.
|
|
194
|
+
# - **Azure:** Use `Azure.<VoiceId>. (e.g. Azure.en-CA-ClaraNeural,
|
|
195
|
+
# Azure.en-CA-LiamNeural, Azure.en-US-BrianMultilingualNeural,
|
|
196
|
+
# Azure.en-US-Ava:DragonHDLatestNeural. For a complete list of voices, go to
|
|
197
|
+
# [Azure Voice Gallery](https://speech.microsoft.com/portal/voicegallery).)
|
|
198
|
+
# - **ElevenLabs:** Use `ElevenLabs.<ModelId>.<VoiceId>` (e.g.,
|
|
199
|
+
# `ElevenLabs.BaseModel.John`). The `ModelId` part is optional. To use
|
|
200
|
+
# ElevenLabs, you must provide your ElevenLabs API key as an integration secret
|
|
201
|
+
# under `"voice_settings": {"api_key_ref": "<secret_id>"}`. See
|
|
202
|
+
# [integration secrets documentation](https://developers.telnyx.com/api/secrets-manager/integration-secrets/create-integration-secret)
|
|
203
|
+
# for details. Check
|
|
204
|
+
# [available voices](https://elevenlabs.io/docs/api-reference/get-voices).
|
|
205
|
+
# - **Telnyx:** Use `Telnyx.<model_id>.<voice_id>`
|
|
206
|
+
# - **Inworld:** Use `Inworld.<ModelId>.<VoiceId>` (e.g., `Inworld.Mini.Loretta`,
|
|
207
|
+
# `Inworld.Max.Oliver`). Supported models: `Mini`, `Max`.
|
|
208
|
+
# - **xAI:** Use `xAI.<VoiceId>` (e.g., `xAI.eve`). Available voices: `eve`,
|
|
209
|
+
# `ara`, `rex`, `sal`, `leo`.
|
|
210
|
+
sig { returns(T.nilable(String)) }
|
|
211
|
+
attr_reader :voice
|
|
212
|
+
|
|
213
|
+
sig { params(voice: String).void }
|
|
214
|
+
attr_writer :voice
|
|
215
|
+
|
|
216
|
+
# The settings associated with the voice selected
|
|
217
|
+
sig do
|
|
218
|
+
returns(
|
|
219
|
+
T.nilable(
|
|
220
|
+
T.any(
|
|
221
|
+
Telnyx::Calls::ElevenLabsVoiceSettings,
|
|
222
|
+
Telnyx::Calls::TelnyxVoiceSettings,
|
|
223
|
+
Telnyx::Calls::AwsVoiceSettings,
|
|
224
|
+
Telnyx::AzureVoiceSettings,
|
|
225
|
+
Telnyx::RimeVoiceSettings,
|
|
226
|
+
Telnyx::ResembleVoiceSettings,
|
|
227
|
+
Telnyx::XaiVoiceSettings
|
|
228
|
+
)
|
|
229
|
+
)
|
|
230
|
+
)
|
|
231
|
+
end
|
|
232
|
+
attr_reader :voice_settings
|
|
233
|
+
|
|
234
|
+
sig do
|
|
235
|
+
params(
|
|
236
|
+
voice_settings:
|
|
237
|
+
T.any(
|
|
238
|
+
Telnyx::Calls::ElevenLabsVoiceSettings::OrHash,
|
|
239
|
+
Telnyx::Calls::TelnyxVoiceSettings::OrHash,
|
|
240
|
+
Telnyx::Calls::AwsVoiceSettings::OrHash,
|
|
241
|
+
Telnyx::AzureVoiceSettings::OrHash,
|
|
242
|
+
Telnyx::RimeVoiceSettings::OrHash,
|
|
243
|
+
Telnyx::ResembleVoiceSettings::OrHash,
|
|
244
|
+
Telnyx::XaiVoiceSettings::OrHash
|
|
245
|
+
)
|
|
246
|
+
).void
|
|
247
|
+
end
|
|
248
|
+
attr_writer :voice_settings
|
|
249
|
+
|
|
250
|
+
sig do
|
|
251
|
+
params(
|
|
252
|
+
call_control_id: String,
|
|
253
|
+
assistant:
|
|
254
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Assistant::OrHash,
|
|
255
|
+
client_state: String,
|
|
256
|
+
command_id: String,
|
|
257
|
+
conversation_relay_dtmf_detection: T::Boolean,
|
|
258
|
+
conversation_relay_settings:
|
|
259
|
+
Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::OrHash,
|
|
260
|
+
conversation_relay_url: String,
|
|
261
|
+
greeting: String,
|
|
262
|
+
interruption_settings:
|
|
263
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::OrHash,
|
|
264
|
+
language: String,
|
|
265
|
+
languages:
|
|
266
|
+
T::Array[
|
|
267
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Language::OrHash
|
|
268
|
+
],
|
|
269
|
+
transcription:
|
|
270
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Transcription::OrHash,
|
|
271
|
+
transcription_language: String,
|
|
272
|
+
tts_language: String,
|
|
273
|
+
voice: String,
|
|
274
|
+
voice_settings:
|
|
275
|
+
T.any(
|
|
276
|
+
Telnyx::Calls::ElevenLabsVoiceSettings::OrHash,
|
|
277
|
+
Telnyx::Calls::TelnyxVoiceSettings::OrHash,
|
|
278
|
+
Telnyx::Calls::AwsVoiceSettings::OrHash,
|
|
279
|
+
Telnyx::AzureVoiceSettings::OrHash,
|
|
280
|
+
Telnyx::RimeVoiceSettings::OrHash,
|
|
281
|
+
Telnyx::ResembleVoiceSettings::OrHash,
|
|
282
|
+
Telnyx::XaiVoiceSettings::OrHash
|
|
283
|
+
),
|
|
284
|
+
request_options: Telnyx::RequestOptions::OrHash
|
|
285
|
+
).returns(T.attached_class)
|
|
286
|
+
end
|
|
287
|
+
def self.new(
|
|
288
|
+
call_control_id:,
|
|
289
|
+
# Custom parameters for the Conversation Relay session. Pass key-value data as
|
|
290
|
+
# `assistant.dynamic_variables` to make it available to the relay session.
|
|
291
|
+
assistant: nil,
|
|
292
|
+
# Use this field to add state to subsequent webhooks. It must be a valid Base-64
|
|
293
|
+
# encoded string.
|
|
294
|
+
client_state: nil,
|
|
295
|
+
# Use this field to avoid duplicate commands. Telnyx will ignore any command with
|
|
296
|
+
# the same `command_id` for the same `call_control_id`.
|
|
297
|
+
command_id: nil,
|
|
298
|
+
# Enable DTMF detection for the relay session.
|
|
299
|
+
conversation_relay_dtmf_detection: nil,
|
|
300
|
+
# Conversation Relay connection settings. This object is used by TeXML Call
|
|
301
|
+
# Scripting's `<ConversationRelay>` verb. The `interruptible` and
|
|
302
|
+
# `interruptible_greeting` fields are shorthand for
|
|
303
|
+
# `interruption_settings.interruptible` and
|
|
304
|
+
# `interruption_settings.interruptible_greeting`; use top-level
|
|
305
|
+
# `interruption_settings` for the full interruption settings shape.
|
|
306
|
+
conversation_relay_settings: nil,
|
|
307
|
+
# WebSocket URL for your Conversation Relay server. Must start with `ws://` or
|
|
308
|
+
# `wss://`.
|
|
309
|
+
conversation_relay_url: nil,
|
|
310
|
+
# Text played when the relay session starts.
|
|
311
|
+
greeting: nil,
|
|
312
|
+
# Settings for handling caller interruptions during Conversation Relay speech.
|
|
313
|
+
interruption_settings: nil,
|
|
314
|
+
# Default language for the relay session. This value is used for both
|
|
315
|
+
# text-to-speech and speech recognition unless `tts_language` or
|
|
316
|
+
# `transcription_language` are provided.
|
|
317
|
+
language: nil,
|
|
318
|
+
# Language-specific TTS and transcription settings. Use this when the relay
|
|
319
|
+
# session needs per-language provider, voice, or speech model configuration.
|
|
320
|
+
languages: nil,
|
|
321
|
+
# Speech-to-text settings for Conversation Relay.
|
|
322
|
+
transcription: nil,
|
|
323
|
+
# Language to use for speech recognition. Overrides `language` for transcription
|
|
324
|
+
# when provided.
|
|
325
|
+
transcription_language: nil,
|
|
326
|
+
# Language to use for text-to-speech. Overrides `language` for TTS when provided.
|
|
327
|
+
tts_language: nil,
|
|
328
|
+
# The voice to be used by the voice assistant. Currently we support ElevenLabs,
|
|
329
|
+
# Telnyx and AWS voices.
|
|
330
|
+
#
|
|
331
|
+
# **Supported Providers:**
|
|
332
|
+
#
|
|
333
|
+
# - **AWS:** Use `AWS.Polly.<VoiceId>` (e.g., `AWS.Polly.Joanna`). For neural
|
|
334
|
+
# voices, which provide more realistic, human-like speech, append `-Neural` to
|
|
335
|
+
# the `VoiceId` (e.g., `AWS.Polly.Joanna-Neural`). Check the
|
|
336
|
+
# [available voices](https://docs.aws.amazon.com/polly/latest/dg/available-voices.html)
|
|
337
|
+
# for compatibility.
|
|
338
|
+
# - **Azure:** Use `Azure.<VoiceId>. (e.g. Azure.en-CA-ClaraNeural,
|
|
339
|
+
# Azure.en-CA-LiamNeural, Azure.en-US-BrianMultilingualNeural,
|
|
340
|
+
# Azure.en-US-Ava:DragonHDLatestNeural. For a complete list of voices, go to
|
|
341
|
+
# [Azure Voice Gallery](https://speech.microsoft.com/portal/voicegallery).)
|
|
342
|
+
# - **ElevenLabs:** Use `ElevenLabs.<ModelId>.<VoiceId>` (e.g.,
|
|
343
|
+
# `ElevenLabs.BaseModel.John`). The `ModelId` part is optional. To use
|
|
344
|
+
# ElevenLabs, you must provide your ElevenLabs API key as an integration secret
|
|
345
|
+
# under `"voice_settings": {"api_key_ref": "<secret_id>"}`. See
|
|
346
|
+
# [integration secrets documentation](https://developers.telnyx.com/api/secrets-manager/integration-secrets/create-integration-secret)
|
|
347
|
+
# for details. Check
|
|
348
|
+
# [available voices](https://elevenlabs.io/docs/api-reference/get-voices).
|
|
349
|
+
# - **Telnyx:** Use `Telnyx.<model_id>.<voice_id>`
|
|
350
|
+
# - **Inworld:** Use `Inworld.<ModelId>.<VoiceId>` (e.g., `Inworld.Mini.Loretta`,
|
|
351
|
+
# `Inworld.Max.Oliver`). Supported models: `Mini`, `Max`.
|
|
352
|
+
# - **xAI:** Use `xAI.<VoiceId>` (e.g., `xAI.eve`). Available voices: `eve`,
|
|
353
|
+
# `ara`, `rex`, `sal`, `leo`.
|
|
354
|
+
voice: nil,
|
|
355
|
+
# The settings associated with the voice selected
|
|
356
|
+
voice_settings: nil,
|
|
357
|
+
request_options: {}
|
|
358
|
+
)
|
|
359
|
+
end
|
|
360
|
+
|
|
361
|
+
sig do
|
|
362
|
+
override.returns(
|
|
363
|
+
{
|
|
364
|
+
call_control_id: String,
|
|
365
|
+
assistant:
|
|
366
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Assistant,
|
|
367
|
+
client_state: String,
|
|
368
|
+
command_id: String,
|
|
369
|
+
conversation_relay_dtmf_detection: T::Boolean,
|
|
370
|
+
conversation_relay_settings:
|
|
371
|
+
Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings,
|
|
372
|
+
conversation_relay_url: String,
|
|
373
|
+
greeting: String,
|
|
374
|
+
interruption_settings:
|
|
375
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings,
|
|
376
|
+
language: String,
|
|
377
|
+
languages:
|
|
378
|
+
T::Array[
|
|
379
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Language
|
|
380
|
+
],
|
|
381
|
+
transcription:
|
|
382
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Transcription,
|
|
383
|
+
transcription_language: String,
|
|
384
|
+
tts_language: String,
|
|
385
|
+
voice: String,
|
|
386
|
+
voice_settings:
|
|
387
|
+
T.any(
|
|
388
|
+
Telnyx::Calls::ElevenLabsVoiceSettings,
|
|
389
|
+
Telnyx::Calls::TelnyxVoiceSettings,
|
|
390
|
+
Telnyx::Calls::AwsVoiceSettings,
|
|
391
|
+
Telnyx::AzureVoiceSettings,
|
|
392
|
+
Telnyx::RimeVoiceSettings,
|
|
393
|
+
Telnyx::ResembleVoiceSettings,
|
|
394
|
+
Telnyx::XaiVoiceSettings
|
|
395
|
+
),
|
|
396
|
+
request_options: Telnyx::RequestOptions
|
|
397
|
+
}
|
|
398
|
+
)
|
|
399
|
+
end
|
|
400
|
+
def to_hash
|
|
401
|
+
end
|
|
402
|
+
|
|
403
|
+
class Assistant < Telnyx::Internal::Type::BaseModel
|
|
404
|
+
OrHash =
|
|
405
|
+
T.type_alias do
|
|
406
|
+
T.any(
|
|
407
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Assistant,
|
|
408
|
+
Telnyx::Internal::AnyHash
|
|
409
|
+
)
|
|
410
|
+
end
|
|
411
|
+
|
|
412
|
+
# Custom key-value parameters forwarded to the Conversation Relay session.
|
|
413
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
414
|
+
attr_reader :dynamic_variables
|
|
415
|
+
|
|
416
|
+
sig { params(dynamic_variables: T::Hash[Symbol, String]).void }
|
|
417
|
+
attr_writer :dynamic_variables
|
|
418
|
+
|
|
419
|
+
# Custom parameters for the Conversation Relay session. Pass key-value data as
|
|
420
|
+
# `assistant.dynamic_variables` to make it available to the relay session.
|
|
421
|
+
sig do
|
|
422
|
+
params(dynamic_variables: T::Hash[Symbol, String]).returns(
|
|
423
|
+
T.attached_class
|
|
424
|
+
)
|
|
425
|
+
end
|
|
426
|
+
def self.new(
|
|
427
|
+
# Custom key-value parameters forwarded to the Conversation Relay session.
|
|
428
|
+
dynamic_variables: nil
|
|
429
|
+
)
|
|
430
|
+
end
|
|
431
|
+
|
|
432
|
+
sig do
|
|
433
|
+
override.returns({ dynamic_variables: T::Hash[Symbol, String] })
|
|
434
|
+
end
|
|
435
|
+
def to_hash
|
|
436
|
+
end
|
|
437
|
+
end
|
|
438
|
+
|
|
439
|
+
class ConversationRelaySettings < Telnyx::Internal::Type::BaseModel
|
|
440
|
+
OrHash =
|
|
441
|
+
T.type_alias do
|
|
442
|
+
T.any(
|
|
443
|
+
Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings,
|
|
444
|
+
Telnyx::Internal::AnyHash
|
|
445
|
+
)
|
|
446
|
+
end
|
|
447
|
+
|
|
448
|
+
# WebSocket URL for your Conversation Relay server. Must start with `ws://` or
|
|
449
|
+
# `wss://`.
|
|
450
|
+
sig { returns(String) }
|
|
451
|
+
attr_accessor :url
|
|
452
|
+
|
|
453
|
+
# Whether to enable DTMF detection during the relay session.
|
|
454
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
455
|
+
attr_reader :dtmf_detection
|
|
456
|
+
|
|
457
|
+
sig { params(dtmf_detection: T::Boolean).void }
|
|
458
|
+
attr_writer :dtmf_detection
|
|
459
|
+
|
|
460
|
+
# Controls when caller input can interrupt assistant speech. `any` allows speech
|
|
461
|
+
# or DTMF interruptions; `none` disables interruptions; `speech` allows speech
|
|
462
|
+
# only; `dtmf` allows DTMF only.
|
|
463
|
+
sig do
|
|
464
|
+
returns(
|
|
465
|
+
T.nilable(
|
|
466
|
+
Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Interruptible::OrSymbol
|
|
467
|
+
)
|
|
468
|
+
)
|
|
469
|
+
end
|
|
470
|
+
attr_reader :interruptible
|
|
471
|
+
|
|
472
|
+
sig do
|
|
473
|
+
params(
|
|
474
|
+
interruptible:
|
|
475
|
+
Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Interruptible::OrSymbol
|
|
476
|
+
).void
|
|
477
|
+
end
|
|
478
|
+
attr_writer :interruptible
|
|
479
|
+
|
|
480
|
+
# Controls when caller input can interrupt assistant speech. `any` allows speech
|
|
481
|
+
# or DTMF interruptions; `none` disables interruptions; `speech` allows speech
|
|
482
|
+
# only; `dtmf` allows DTMF only.
|
|
483
|
+
sig do
|
|
484
|
+
returns(
|
|
485
|
+
T.nilable(
|
|
486
|
+
Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::InterruptibleGreeting::OrSymbol
|
|
487
|
+
)
|
|
488
|
+
)
|
|
489
|
+
end
|
|
490
|
+
attr_reader :interruptible_greeting
|
|
491
|
+
|
|
492
|
+
sig do
|
|
493
|
+
params(
|
|
494
|
+
interruptible_greeting:
|
|
495
|
+
Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::InterruptibleGreeting::OrSymbol
|
|
496
|
+
).void
|
|
497
|
+
end
|
|
498
|
+
attr_writer :interruptible_greeting
|
|
499
|
+
|
|
500
|
+
# Language-specific TTS and transcription settings.
|
|
501
|
+
sig do
|
|
502
|
+
returns(
|
|
503
|
+
T.nilable(
|
|
504
|
+
T::Array[
|
|
505
|
+
Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Language
|
|
506
|
+
]
|
|
507
|
+
)
|
|
508
|
+
)
|
|
509
|
+
end
|
|
510
|
+
attr_reader :languages
|
|
511
|
+
|
|
512
|
+
sig do
|
|
513
|
+
params(
|
|
514
|
+
languages:
|
|
515
|
+
T::Array[
|
|
516
|
+
Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Language::OrHash
|
|
517
|
+
]
|
|
518
|
+
).void
|
|
519
|
+
end
|
|
520
|
+
attr_writer :languages
|
|
521
|
+
|
|
522
|
+
# Conversation Relay connection settings. This object is used by TeXML Call
|
|
523
|
+
# Scripting's `<ConversationRelay>` verb. The `interruptible` and
|
|
524
|
+
# `interruptible_greeting` fields are shorthand for
|
|
525
|
+
# `interruption_settings.interruptible` and
|
|
526
|
+
# `interruption_settings.interruptible_greeting`; use top-level
|
|
527
|
+
# `interruption_settings` for the full interruption settings shape.
|
|
528
|
+
sig do
|
|
529
|
+
params(
|
|
530
|
+
url: String,
|
|
531
|
+
dtmf_detection: T::Boolean,
|
|
532
|
+
interruptible:
|
|
533
|
+
Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Interruptible::OrSymbol,
|
|
534
|
+
interruptible_greeting:
|
|
535
|
+
Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::InterruptibleGreeting::OrSymbol,
|
|
536
|
+
languages:
|
|
537
|
+
T::Array[
|
|
538
|
+
Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Language::OrHash
|
|
539
|
+
]
|
|
540
|
+
).returns(T.attached_class)
|
|
541
|
+
end
|
|
542
|
+
def self.new(
|
|
543
|
+
# WebSocket URL for your Conversation Relay server. Must start with `ws://` or
|
|
544
|
+
# `wss://`.
|
|
545
|
+
url:,
|
|
546
|
+
# Whether to enable DTMF detection during the relay session.
|
|
547
|
+
dtmf_detection: nil,
|
|
548
|
+
# Controls when caller input can interrupt assistant speech. `any` allows speech
|
|
549
|
+
# or DTMF interruptions; `none` disables interruptions; `speech` allows speech
|
|
550
|
+
# only; `dtmf` allows DTMF only.
|
|
551
|
+
interruptible: nil,
|
|
552
|
+
# Controls when caller input can interrupt assistant speech. `any` allows speech
|
|
553
|
+
# or DTMF interruptions; `none` disables interruptions; `speech` allows speech
|
|
554
|
+
# only; `dtmf` allows DTMF only.
|
|
555
|
+
interruptible_greeting: nil,
|
|
556
|
+
# Language-specific TTS and transcription settings.
|
|
557
|
+
languages: nil
|
|
558
|
+
)
|
|
559
|
+
end
|
|
560
|
+
|
|
561
|
+
sig do
|
|
562
|
+
override.returns(
|
|
563
|
+
{
|
|
564
|
+
url: String,
|
|
565
|
+
dtmf_detection: T::Boolean,
|
|
566
|
+
interruptible:
|
|
567
|
+
Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Interruptible::OrSymbol,
|
|
568
|
+
interruptible_greeting:
|
|
569
|
+
Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::InterruptibleGreeting::OrSymbol,
|
|
570
|
+
languages:
|
|
571
|
+
T::Array[
|
|
572
|
+
Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Language
|
|
573
|
+
]
|
|
574
|
+
}
|
|
575
|
+
)
|
|
576
|
+
end
|
|
577
|
+
def to_hash
|
|
578
|
+
end
|
|
579
|
+
|
|
580
|
+
# Controls when caller input can interrupt assistant speech. `any` allows speech
|
|
581
|
+
# or DTMF interruptions; `none` disables interruptions; `speech` allows speech
|
|
582
|
+
# only; `dtmf` allows DTMF only.
|
|
583
|
+
module Interruptible
|
|
584
|
+
extend Telnyx::Internal::Type::Enum
|
|
585
|
+
|
|
586
|
+
TaggedSymbol =
|
|
587
|
+
T.type_alias do
|
|
588
|
+
T.all(
|
|
589
|
+
Symbol,
|
|
590
|
+
Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Interruptible
|
|
591
|
+
)
|
|
592
|
+
end
|
|
593
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
594
|
+
|
|
595
|
+
NONE =
|
|
596
|
+
T.let(
|
|
597
|
+
:none,
|
|
598
|
+
Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Interruptible::TaggedSymbol
|
|
599
|
+
)
|
|
600
|
+
ANY =
|
|
601
|
+
T.let(
|
|
602
|
+
:any,
|
|
603
|
+
Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Interruptible::TaggedSymbol
|
|
604
|
+
)
|
|
605
|
+
SPEECH =
|
|
606
|
+
T.let(
|
|
607
|
+
:speech,
|
|
608
|
+
Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Interruptible::TaggedSymbol
|
|
609
|
+
)
|
|
610
|
+
DTMF =
|
|
611
|
+
T.let(
|
|
612
|
+
:dtmf,
|
|
613
|
+
Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Interruptible::TaggedSymbol
|
|
614
|
+
)
|
|
615
|
+
|
|
616
|
+
sig do
|
|
617
|
+
override.returns(
|
|
618
|
+
T::Array[
|
|
619
|
+
Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Interruptible::TaggedSymbol
|
|
620
|
+
]
|
|
621
|
+
)
|
|
622
|
+
end
|
|
623
|
+
def self.values
|
|
624
|
+
end
|
|
625
|
+
end
|
|
626
|
+
|
|
627
|
+
# Controls when caller input can interrupt assistant speech. `any` allows speech
|
|
628
|
+
# or DTMF interruptions; `none` disables interruptions; `speech` allows speech
|
|
629
|
+
# only; `dtmf` allows DTMF only.
|
|
630
|
+
module InterruptibleGreeting
|
|
631
|
+
extend Telnyx::Internal::Type::Enum
|
|
632
|
+
|
|
633
|
+
TaggedSymbol =
|
|
634
|
+
T.type_alias do
|
|
635
|
+
T.all(
|
|
636
|
+
Symbol,
|
|
637
|
+
Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::InterruptibleGreeting
|
|
638
|
+
)
|
|
639
|
+
end
|
|
640
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
641
|
+
|
|
642
|
+
NONE =
|
|
643
|
+
T.let(
|
|
644
|
+
:none,
|
|
645
|
+
Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::InterruptibleGreeting::TaggedSymbol
|
|
646
|
+
)
|
|
647
|
+
ANY =
|
|
648
|
+
T.let(
|
|
649
|
+
:any,
|
|
650
|
+
Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::InterruptibleGreeting::TaggedSymbol
|
|
651
|
+
)
|
|
652
|
+
SPEECH =
|
|
653
|
+
T.let(
|
|
654
|
+
:speech,
|
|
655
|
+
Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::InterruptibleGreeting::TaggedSymbol
|
|
656
|
+
)
|
|
657
|
+
DTMF =
|
|
658
|
+
T.let(
|
|
659
|
+
:dtmf,
|
|
660
|
+
Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::InterruptibleGreeting::TaggedSymbol
|
|
661
|
+
)
|
|
662
|
+
|
|
663
|
+
sig do
|
|
664
|
+
override.returns(
|
|
665
|
+
T::Array[
|
|
666
|
+
Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::InterruptibleGreeting::TaggedSymbol
|
|
667
|
+
]
|
|
668
|
+
)
|
|
669
|
+
end
|
|
670
|
+
def self.values
|
|
671
|
+
end
|
|
672
|
+
end
|
|
673
|
+
|
|
674
|
+
class Language < Telnyx::Internal::Type::BaseModel
|
|
675
|
+
OrHash =
|
|
676
|
+
T.type_alias do
|
|
677
|
+
T.any(
|
|
678
|
+
Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::Language,
|
|
679
|
+
Telnyx::Internal::AnyHash
|
|
680
|
+
)
|
|
681
|
+
end
|
|
682
|
+
|
|
683
|
+
# BCP 47 language code.
|
|
684
|
+
sig { returns(T.nilable(String)) }
|
|
685
|
+
attr_reader :code
|
|
686
|
+
|
|
687
|
+
sig { params(code: String).void }
|
|
688
|
+
attr_writer :code
|
|
689
|
+
|
|
690
|
+
# Speech recognition model for this language.
|
|
691
|
+
sig { returns(T.nilable(String)) }
|
|
692
|
+
attr_reader :speech_model
|
|
693
|
+
|
|
694
|
+
sig { params(speech_model: String).void }
|
|
695
|
+
attr_writer :speech_model
|
|
696
|
+
|
|
697
|
+
# Speech-to-text provider for this language.
|
|
698
|
+
sig { returns(T.nilable(String)) }
|
|
699
|
+
attr_reader :transcription_provider
|
|
700
|
+
|
|
701
|
+
sig { params(transcription_provider: String).void }
|
|
702
|
+
attr_writer :transcription_provider
|
|
703
|
+
|
|
704
|
+
# Text-to-speech provider for this language.
|
|
705
|
+
sig { returns(T.nilable(String)) }
|
|
706
|
+
attr_reader :tts_provider
|
|
707
|
+
|
|
708
|
+
sig { params(tts_provider: String).void }
|
|
709
|
+
attr_writer :tts_provider
|
|
710
|
+
|
|
711
|
+
# Voice identifier for this language.
|
|
712
|
+
sig { returns(T.nilable(String)) }
|
|
713
|
+
attr_reader :voice
|
|
714
|
+
|
|
715
|
+
sig { params(voice: String).void }
|
|
716
|
+
attr_writer :voice
|
|
717
|
+
|
|
718
|
+
# Language-specific speech and transcription settings for Conversation Relay.
|
|
719
|
+
sig do
|
|
720
|
+
params(
|
|
721
|
+
code: String,
|
|
722
|
+
speech_model: String,
|
|
723
|
+
transcription_provider: String,
|
|
724
|
+
tts_provider: String,
|
|
725
|
+
voice: String
|
|
726
|
+
).returns(T.attached_class)
|
|
727
|
+
end
|
|
728
|
+
def self.new(
|
|
729
|
+
# BCP 47 language code.
|
|
730
|
+
code: nil,
|
|
731
|
+
# Speech recognition model for this language.
|
|
732
|
+
speech_model: nil,
|
|
733
|
+
# Speech-to-text provider for this language.
|
|
734
|
+
transcription_provider: nil,
|
|
735
|
+
# Text-to-speech provider for this language.
|
|
736
|
+
tts_provider: nil,
|
|
737
|
+
# Voice identifier for this language.
|
|
738
|
+
voice: nil
|
|
739
|
+
)
|
|
740
|
+
end
|
|
741
|
+
|
|
742
|
+
sig do
|
|
743
|
+
override.returns(
|
|
744
|
+
{
|
|
745
|
+
code: String,
|
|
746
|
+
speech_model: String,
|
|
747
|
+
transcription_provider: String,
|
|
748
|
+
tts_provider: String,
|
|
749
|
+
voice: String
|
|
750
|
+
}
|
|
751
|
+
)
|
|
752
|
+
end
|
|
753
|
+
def to_hash
|
|
754
|
+
end
|
|
755
|
+
end
|
|
756
|
+
end
|
|
757
|
+
|
|
758
|
+
class InterruptionSettings < Telnyx::Internal::Type::BaseModel
|
|
759
|
+
OrHash =
|
|
760
|
+
T.type_alias do
|
|
761
|
+
T.any(
|
|
762
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings,
|
|
763
|
+
Telnyx::Internal::AnyHash
|
|
764
|
+
)
|
|
765
|
+
end
|
|
766
|
+
|
|
767
|
+
# Legacy boolean form. `true` is equivalent to `interruptible=any`; `false` is
|
|
768
|
+
# equivalent to `interruptible=none`.
|
|
769
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
770
|
+
attr_reader :enable
|
|
771
|
+
|
|
772
|
+
sig { params(enable: T::Boolean).void }
|
|
773
|
+
attr_writer :enable
|
|
774
|
+
|
|
775
|
+
# Controls when caller input can interrupt assistant speech. `any` allows speech
|
|
776
|
+
# or DTMF interruptions; `none` disables interruptions; `speech` allows speech
|
|
777
|
+
# only; `dtmf` allows DTMF only.
|
|
778
|
+
sig do
|
|
779
|
+
returns(
|
|
780
|
+
T.nilable(
|
|
781
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::Interruptible::OrSymbol
|
|
782
|
+
)
|
|
783
|
+
)
|
|
784
|
+
end
|
|
785
|
+
attr_reader :interruptible
|
|
786
|
+
|
|
787
|
+
sig do
|
|
788
|
+
params(
|
|
789
|
+
interruptible:
|
|
790
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::Interruptible::OrSymbol
|
|
791
|
+
).void
|
|
792
|
+
end
|
|
793
|
+
attr_writer :interruptible
|
|
794
|
+
|
|
795
|
+
# Controls when caller input can interrupt assistant speech. `any` allows speech
|
|
796
|
+
# or DTMF interruptions; `none` disables interruptions; `speech` allows speech
|
|
797
|
+
# only; `dtmf` allows DTMF only.
|
|
798
|
+
sig do
|
|
799
|
+
returns(
|
|
800
|
+
T.nilable(
|
|
801
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::InterruptibleGreeting::OrSymbol
|
|
802
|
+
)
|
|
803
|
+
)
|
|
804
|
+
end
|
|
805
|
+
attr_reader :interruptible_greeting
|
|
806
|
+
|
|
807
|
+
sig do
|
|
808
|
+
params(
|
|
809
|
+
interruptible_greeting:
|
|
810
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::InterruptibleGreeting::OrSymbol
|
|
811
|
+
).void
|
|
812
|
+
end
|
|
813
|
+
attr_writer :interruptible_greeting
|
|
814
|
+
|
|
815
|
+
# Controls when caller input can interrupt assistant speech. `any` allows speech
|
|
816
|
+
# or DTMF interruptions; `none` disables interruptions; `speech` allows speech
|
|
817
|
+
# only; `dtmf` allows DTMF only.
|
|
818
|
+
sig do
|
|
819
|
+
returns(
|
|
820
|
+
T.nilable(
|
|
821
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::WelcomeGreetingInterruptible::OrSymbol
|
|
822
|
+
)
|
|
823
|
+
)
|
|
824
|
+
end
|
|
825
|
+
attr_reader :welcome_greeting_interruptible
|
|
826
|
+
|
|
827
|
+
sig do
|
|
828
|
+
params(
|
|
829
|
+
welcome_greeting_interruptible:
|
|
830
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::WelcomeGreetingInterruptible::OrSymbol
|
|
831
|
+
).void
|
|
832
|
+
end
|
|
833
|
+
attr_writer :welcome_greeting_interruptible
|
|
834
|
+
|
|
835
|
+
# Settings for handling caller interruptions during Conversation Relay speech.
|
|
836
|
+
sig do
|
|
837
|
+
params(
|
|
838
|
+
enable: T::Boolean,
|
|
839
|
+
interruptible:
|
|
840
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::Interruptible::OrSymbol,
|
|
841
|
+
interruptible_greeting:
|
|
842
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::InterruptibleGreeting::OrSymbol,
|
|
843
|
+
welcome_greeting_interruptible:
|
|
844
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::WelcomeGreetingInterruptible::OrSymbol
|
|
845
|
+
).returns(T.attached_class)
|
|
846
|
+
end
|
|
847
|
+
def self.new(
|
|
848
|
+
# Legacy boolean form. `true` is equivalent to `interruptible=any`; `false` is
|
|
849
|
+
# equivalent to `interruptible=none`.
|
|
850
|
+
enable: nil,
|
|
851
|
+
# Controls when caller input can interrupt assistant speech. `any` allows speech
|
|
852
|
+
# or DTMF interruptions; `none` disables interruptions; `speech` allows speech
|
|
853
|
+
# only; `dtmf` allows DTMF only.
|
|
854
|
+
interruptible: nil,
|
|
855
|
+
# Controls when caller input can interrupt assistant speech. `any` allows speech
|
|
856
|
+
# or DTMF interruptions; `none` disables interruptions; `speech` allows speech
|
|
857
|
+
# only; `dtmf` allows DTMF only.
|
|
858
|
+
interruptible_greeting: nil,
|
|
859
|
+
# Controls when caller input can interrupt assistant speech. `any` allows speech
|
|
860
|
+
# or DTMF interruptions; `none` disables interruptions; `speech` allows speech
|
|
861
|
+
# only; `dtmf` allows DTMF only.
|
|
862
|
+
welcome_greeting_interruptible: nil
|
|
863
|
+
)
|
|
864
|
+
end
|
|
865
|
+
|
|
866
|
+
sig do
|
|
867
|
+
override.returns(
|
|
868
|
+
{
|
|
869
|
+
enable: T::Boolean,
|
|
870
|
+
interruptible:
|
|
871
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::Interruptible::OrSymbol,
|
|
872
|
+
interruptible_greeting:
|
|
873
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::InterruptibleGreeting::OrSymbol,
|
|
874
|
+
welcome_greeting_interruptible:
|
|
875
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::WelcomeGreetingInterruptible::OrSymbol
|
|
876
|
+
}
|
|
877
|
+
)
|
|
878
|
+
end
|
|
879
|
+
def to_hash
|
|
880
|
+
end
|
|
881
|
+
|
|
882
|
+
# Controls when caller input can interrupt assistant speech. `any` allows speech
|
|
883
|
+
# or DTMF interruptions; `none` disables interruptions; `speech` allows speech
|
|
884
|
+
# only; `dtmf` allows DTMF only.
|
|
885
|
+
module Interruptible
|
|
886
|
+
extend Telnyx::Internal::Type::Enum
|
|
887
|
+
|
|
888
|
+
TaggedSymbol =
|
|
889
|
+
T.type_alias do
|
|
890
|
+
T.all(
|
|
891
|
+
Symbol,
|
|
892
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::Interruptible
|
|
893
|
+
)
|
|
894
|
+
end
|
|
895
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
896
|
+
|
|
897
|
+
NONE =
|
|
898
|
+
T.let(
|
|
899
|
+
:none,
|
|
900
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::Interruptible::TaggedSymbol
|
|
901
|
+
)
|
|
902
|
+
ANY =
|
|
903
|
+
T.let(
|
|
904
|
+
:any,
|
|
905
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::Interruptible::TaggedSymbol
|
|
906
|
+
)
|
|
907
|
+
SPEECH =
|
|
908
|
+
T.let(
|
|
909
|
+
:speech,
|
|
910
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::Interruptible::TaggedSymbol
|
|
911
|
+
)
|
|
912
|
+
DTMF =
|
|
913
|
+
T.let(
|
|
914
|
+
:dtmf,
|
|
915
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::Interruptible::TaggedSymbol
|
|
916
|
+
)
|
|
917
|
+
|
|
918
|
+
sig do
|
|
919
|
+
override.returns(
|
|
920
|
+
T::Array[
|
|
921
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::Interruptible::TaggedSymbol
|
|
922
|
+
]
|
|
923
|
+
)
|
|
924
|
+
end
|
|
925
|
+
def self.values
|
|
926
|
+
end
|
|
927
|
+
end
|
|
928
|
+
|
|
929
|
+
# Controls when caller input can interrupt assistant speech. `any` allows speech
|
|
930
|
+
# or DTMF interruptions; `none` disables interruptions; `speech` allows speech
|
|
931
|
+
# only; `dtmf` allows DTMF only.
|
|
932
|
+
module InterruptibleGreeting
|
|
933
|
+
extend Telnyx::Internal::Type::Enum
|
|
934
|
+
|
|
935
|
+
TaggedSymbol =
|
|
936
|
+
T.type_alias do
|
|
937
|
+
T.all(
|
|
938
|
+
Symbol,
|
|
939
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::InterruptibleGreeting
|
|
940
|
+
)
|
|
941
|
+
end
|
|
942
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
943
|
+
|
|
944
|
+
NONE =
|
|
945
|
+
T.let(
|
|
946
|
+
:none,
|
|
947
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::InterruptibleGreeting::TaggedSymbol
|
|
948
|
+
)
|
|
949
|
+
ANY =
|
|
950
|
+
T.let(
|
|
951
|
+
:any,
|
|
952
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::InterruptibleGreeting::TaggedSymbol
|
|
953
|
+
)
|
|
954
|
+
SPEECH =
|
|
955
|
+
T.let(
|
|
956
|
+
:speech,
|
|
957
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::InterruptibleGreeting::TaggedSymbol
|
|
958
|
+
)
|
|
959
|
+
DTMF =
|
|
960
|
+
T.let(
|
|
961
|
+
:dtmf,
|
|
962
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::InterruptibleGreeting::TaggedSymbol
|
|
963
|
+
)
|
|
964
|
+
|
|
965
|
+
sig do
|
|
966
|
+
override.returns(
|
|
967
|
+
T::Array[
|
|
968
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::InterruptibleGreeting::TaggedSymbol
|
|
969
|
+
]
|
|
970
|
+
)
|
|
971
|
+
end
|
|
972
|
+
def self.values
|
|
973
|
+
end
|
|
974
|
+
end
|
|
975
|
+
|
|
976
|
+
# Controls when caller input can interrupt assistant speech. `any` allows speech
|
|
977
|
+
# or DTMF interruptions; `none` disables interruptions; `speech` allows speech
|
|
978
|
+
# only; `dtmf` allows DTMF only.
|
|
979
|
+
module WelcomeGreetingInterruptible
|
|
980
|
+
extend Telnyx::Internal::Type::Enum
|
|
981
|
+
|
|
982
|
+
TaggedSymbol =
|
|
983
|
+
T.type_alias do
|
|
984
|
+
T.all(
|
|
985
|
+
Symbol,
|
|
986
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::WelcomeGreetingInterruptible
|
|
987
|
+
)
|
|
988
|
+
end
|
|
989
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
990
|
+
|
|
991
|
+
NONE =
|
|
992
|
+
T.let(
|
|
993
|
+
:none,
|
|
994
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::WelcomeGreetingInterruptible::TaggedSymbol
|
|
995
|
+
)
|
|
996
|
+
ANY =
|
|
997
|
+
T.let(
|
|
998
|
+
:any,
|
|
999
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::WelcomeGreetingInterruptible::TaggedSymbol
|
|
1000
|
+
)
|
|
1001
|
+
SPEECH =
|
|
1002
|
+
T.let(
|
|
1003
|
+
:speech,
|
|
1004
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::WelcomeGreetingInterruptible::TaggedSymbol
|
|
1005
|
+
)
|
|
1006
|
+
DTMF =
|
|
1007
|
+
T.let(
|
|
1008
|
+
:dtmf,
|
|
1009
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::WelcomeGreetingInterruptible::TaggedSymbol
|
|
1010
|
+
)
|
|
1011
|
+
|
|
1012
|
+
sig do
|
|
1013
|
+
override.returns(
|
|
1014
|
+
T::Array[
|
|
1015
|
+
Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::WelcomeGreetingInterruptible::TaggedSymbol
|
|
1016
|
+
]
|
|
1017
|
+
)
|
|
1018
|
+
end
|
|
1019
|
+
def self.values
|
|
1020
|
+
end
|
|
1021
|
+
end
|
|
1022
|
+
end
|
|
1023
|
+
|
|
1024
|
+
class Language < Telnyx::Internal::Type::BaseModel
|
|
1025
|
+
OrHash =
|
|
1026
|
+
T.type_alias do
|
|
1027
|
+
T.any(
|
|
1028
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Language,
|
|
1029
|
+
Telnyx::Internal::AnyHash
|
|
1030
|
+
)
|
|
1031
|
+
end
|
|
1032
|
+
|
|
1033
|
+
# BCP 47 language code.
|
|
1034
|
+
sig { returns(T.nilable(String)) }
|
|
1035
|
+
attr_reader :code
|
|
1036
|
+
|
|
1037
|
+
sig { params(code: String).void }
|
|
1038
|
+
attr_writer :code
|
|
1039
|
+
|
|
1040
|
+
# Speech recognition model for this language.
|
|
1041
|
+
sig { returns(T.nilable(String)) }
|
|
1042
|
+
attr_reader :speech_model
|
|
1043
|
+
|
|
1044
|
+
sig { params(speech_model: String).void }
|
|
1045
|
+
attr_writer :speech_model
|
|
1046
|
+
|
|
1047
|
+
# Speech-to-text provider for this language.
|
|
1048
|
+
sig { returns(T.nilable(String)) }
|
|
1049
|
+
attr_reader :transcription_provider
|
|
1050
|
+
|
|
1051
|
+
sig { params(transcription_provider: String).void }
|
|
1052
|
+
attr_writer :transcription_provider
|
|
1053
|
+
|
|
1054
|
+
# Text-to-speech provider for this language.
|
|
1055
|
+
sig { returns(T.nilable(String)) }
|
|
1056
|
+
attr_reader :tts_provider
|
|
1057
|
+
|
|
1058
|
+
sig { params(tts_provider: String).void }
|
|
1059
|
+
attr_writer :tts_provider
|
|
1060
|
+
|
|
1061
|
+
# Voice identifier for this language.
|
|
1062
|
+
sig { returns(T.nilable(String)) }
|
|
1063
|
+
attr_reader :voice
|
|
1064
|
+
|
|
1065
|
+
sig { params(voice: String).void }
|
|
1066
|
+
attr_writer :voice
|
|
1067
|
+
|
|
1068
|
+
# Language-specific speech and transcription settings for Conversation Relay.
|
|
1069
|
+
sig do
|
|
1070
|
+
params(
|
|
1071
|
+
code: String,
|
|
1072
|
+
speech_model: String,
|
|
1073
|
+
transcription_provider: String,
|
|
1074
|
+
tts_provider: String,
|
|
1075
|
+
voice: String
|
|
1076
|
+
).returns(T.attached_class)
|
|
1077
|
+
end
|
|
1078
|
+
def self.new(
|
|
1079
|
+
# BCP 47 language code.
|
|
1080
|
+
code: nil,
|
|
1081
|
+
# Speech recognition model for this language.
|
|
1082
|
+
speech_model: nil,
|
|
1083
|
+
# Speech-to-text provider for this language.
|
|
1084
|
+
transcription_provider: nil,
|
|
1085
|
+
# Text-to-speech provider for this language.
|
|
1086
|
+
tts_provider: nil,
|
|
1087
|
+
# Voice identifier for this language.
|
|
1088
|
+
voice: nil
|
|
1089
|
+
)
|
|
1090
|
+
end
|
|
1091
|
+
|
|
1092
|
+
sig do
|
|
1093
|
+
override.returns(
|
|
1094
|
+
{
|
|
1095
|
+
code: String,
|
|
1096
|
+
speech_model: String,
|
|
1097
|
+
transcription_provider: String,
|
|
1098
|
+
tts_provider: String,
|
|
1099
|
+
voice: String
|
|
1100
|
+
}
|
|
1101
|
+
)
|
|
1102
|
+
end
|
|
1103
|
+
def to_hash
|
|
1104
|
+
end
|
|
1105
|
+
end
|
|
1106
|
+
|
|
1107
|
+
class Transcription < Telnyx::Internal::Type::BaseModel
|
|
1108
|
+
OrHash =
|
|
1109
|
+
T.type_alias do
|
|
1110
|
+
T.any(
|
|
1111
|
+
Telnyx::Calls::ActionStartConversationRelayParams::Transcription,
|
|
1112
|
+
Telnyx::Internal::AnyHash
|
|
1113
|
+
)
|
|
1114
|
+
end
|
|
1115
|
+
|
|
1116
|
+
# Transcription language.
|
|
1117
|
+
sig { returns(T.nilable(String)) }
|
|
1118
|
+
attr_reader :language
|
|
1119
|
+
|
|
1120
|
+
sig { params(language: String).void }
|
|
1121
|
+
attr_writer :language
|
|
1122
|
+
|
|
1123
|
+
# Transcription model to use.
|
|
1124
|
+
sig { returns(T.nilable(String)) }
|
|
1125
|
+
attr_reader :model
|
|
1126
|
+
|
|
1127
|
+
sig { params(model: String).void }
|
|
1128
|
+
attr_writer :model
|
|
1129
|
+
|
|
1130
|
+
# Transcription provider to use.
|
|
1131
|
+
sig { returns(T.nilable(String)) }
|
|
1132
|
+
attr_reader :provider
|
|
1133
|
+
|
|
1134
|
+
sig { params(provider: String).void }
|
|
1135
|
+
attr_writer :provider
|
|
1136
|
+
|
|
1137
|
+
# Speech-to-text settings for Conversation Relay.
|
|
1138
|
+
sig do
|
|
1139
|
+
params(language: String, model: String, provider: String).returns(
|
|
1140
|
+
T.attached_class
|
|
1141
|
+
)
|
|
1142
|
+
end
|
|
1143
|
+
def self.new(
|
|
1144
|
+
# Transcription language.
|
|
1145
|
+
language: nil,
|
|
1146
|
+
# Transcription model to use.
|
|
1147
|
+
model: nil,
|
|
1148
|
+
# Transcription provider to use.
|
|
1149
|
+
provider: nil
|
|
1150
|
+
)
|
|
1151
|
+
end
|
|
1152
|
+
|
|
1153
|
+
sig do
|
|
1154
|
+
override.returns(
|
|
1155
|
+
{ language: String, model: String, provider: String }
|
|
1156
|
+
)
|
|
1157
|
+
end
|
|
1158
|
+
def to_hash
|
|
1159
|
+
end
|
|
1160
|
+
end
|
|
1161
|
+
|
|
1162
|
+
# The settings associated with the voice selected
|
|
1163
|
+
module VoiceSettings
|
|
1164
|
+
extend Telnyx::Internal::Type::Union
|
|
1165
|
+
|
|
1166
|
+
Variants =
|
|
1167
|
+
T.type_alias do
|
|
1168
|
+
T.any(
|
|
1169
|
+
Telnyx::Calls::ElevenLabsVoiceSettings,
|
|
1170
|
+
Telnyx::Calls::TelnyxVoiceSettings,
|
|
1171
|
+
Telnyx::Calls::AwsVoiceSettings,
|
|
1172
|
+
Telnyx::AzureVoiceSettings,
|
|
1173
|
+
Telnyx::RimeVoiceSettings,
|
|
1174
|
+
Telnyx::ResembleVoiceSettings,
|
|
1175
|
+
Telnyx::XaiVoiceSettings
|
|
1176
|
+
)
|
|
1177
|
+
end
|
|
1178
|
+
|
|
1179
|
+
sig do
|
|
1180
|
+
override.returns(
|
|
1181
|
+
T::Array[
|
|
1182
|
+
Telnyx::Calls::ActionStartConversationRelayParams::VoiceSettings::Variants
|
|
1183
|
+
]
|
|
1184
|
+
)
|
|
1185
|
+
end
|
|
1186
|
+
def self.variants
|
|
1187
|
+
end
|
|
1188
|
+
end
|
|
1189
|
+
end
|
|
1190
|
+
end
|
|
1191
|
+
end
|
|
1192
|
+
end
|