telnyx 5.119.0 → 5.121.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.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +21 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/client.rb +6 -0
  5. data/lib/telnyx/models/call_dial_params.rb +551 -1
  6. data/lib/telnyx/models/calls/action_answer_params.rb +556 -1
  7. data/lib/telnyx/models/calls/action_gather_using_speak_params.rb +2 -2
  8. data/lib/telnyx/models/calls/action_speak_params.rb +2 -2
  9. data/lib/telnyx/models/calls/action_start_conversation_relay_params.rb +411 -84
  10. data/lib/telnyx/models/conferences/action_speak_params.rb +2 -2
  11. data/lib/telnyx/models/voice_sdk_call_report_list_params.rb +56 -0
  12. data/lib/telnyx/models/voice_sdk_call_report_list_response.rb +385 -0
  13. data/lib/telnyx/models/voice_sdk_call_report_retrieve_params.rb +20 -0
  14. data/lib/telnyx/models/voice_sdk_call_report_retrieve_response.rb +390 -0
  15. data/lib/telnyx/models.rb +4 -0
  16. data/lib/telnyx/resources/calls/actions.rb +26 -8
  17. data/lib/telnyx/resources/calls.rb +3 -1
  18. data/lib/telnyx/resources/voice_sdk_call_reports.rb +71 -0
  19. data/lib/telnyx/version.rb +1 -1
  20. data/lib/telnyx.rb +5 -0
  21. data/rbi/telnyx/client.rbi +5 -0
  22. data/rbi/telnyx/models/call_dial_params.rbi +1273 -0
  23. data/rbi/telnyx/models/calls/action_answer_params.rbi +1279 -0
  24. data/rbi/telnyx/models/calls/action_gather_using_speak_params.rbi +4 -4
  25. data/rbi/telnyx/models/calls/action_speak_params.rbi +4 -4
  26. data/rbi/telnyx/models/calls/action_start_conversation_relay_params.rbi +928 -133
  27. data/rbi/telnyx/models/conferences/action_speak_params.rbi +4 -4
  28. data/rbi/telnyx/models/voice_sdk_call_report_list_params.rbi +108 -0
  29. data/rbi/telnyx/models/voice_sdk_call_report_list_response.rbi +774 -0
  30. data/rbi/telnyx/models/voice_sdk_call_report_retrieve_params.rbi +38 -0
  31. data/rbi/telnyx/models/voice_sdk_call_report_retrieve_response.rbi +782 -0
  32. data/rbi/telnyx/models.rbi +5 -0
  33. data/rbi/telnyx/resources/calls/actions.rbi +73 -24
  34. data/rbi/telnyx/resources/calls.rbi +9 -0
  35. data/rbi/telnyx/resources/conferences/actions.rbi +2 -2
  36. data/rbi/telnyx/resources/voice_sdk_call_reports.rbi +58 -0
  37. data/sig/telnyx/client.rbs +2 -0
  38. data/sig/telnyx/models/call_dial_params.rbs +440 -0
  39. data/sig/telnyx/models/calls/action_answer_params.rbs +440 -0
  40. data/sig/telnyx/models/calls/action_start_conversation_relay_params.rbs +317 -51
  41. data/sig/telnyx/models/voice_sdk_call_report_list_params.rbs +57 -0
  42. data/sig/telnyx/models/voice_sdk_call_report_list_response.rbs +340 -0
  43. data/sig/telnyx/models/voice_sdk_call_report_retrieve_params.rbs +23 -0
  44. data/sig/telnyx/models/voice_sdk_call_report_retrieve_response.rbs +345 -0
  45. data/sig/telnyx/models.rbs +4 -0
  46. data/sig/telnyx/resources/calls/actions.rbs +12 -3
  47. data/sig/telnyx/resources/calls.rbs +1 -0
  48. data/sig/telnyx/resources/voice_sdk_call_reports.rbs +19 -0
  49. metadata +17 -2
@@ -1969,6 +1969,11 @@ module Telnyx
1969
1969
 
1970
1970
  VoiceDesignRetrieveParams = Telnyx::Models::VoiceDesignRetrieveParams
1971
1971
 
1972
+ VoiceSDKCallReportListParams = Telnyx::Models::VoiceSDKCallReportListParams
1973
+
1974
+ VoiceSDKCallReportRetrieveParams =
1975
+ Telnyx::Models::VoiceSDKCallReportRetrieveParams
1976
+
1972
1977
  WebhookAPIVersion = Telnyx::Models::WebhookAPIVersion
1973
1978
 
1974
1979
  WebhookDeliveryListParams = Telnyx::Models::WebhookDeliveryListParams
@@ -61,6 +61,8 @@ module Telnyx
61
61
  billing_group_id: String,
62
62
  client_state: String,
63
63
  command_id: String,
64
+ conversation_relay_config:
65
+ Telnyx::Calls::ActionAnswerParams::ConversationRelayConfig::OrHash,
64
66
  custom_headers: T::Array[Telnyx::CustomSipHeader::OrHash],
65
67
  deepfake_detection:
66
68
  Telnyx::Calls::ActionAnswerParams::DeepfakeDetection::OrHash,
@@ -124,6 +126,13 @@ module Telnyx
124
126
  # Use this field to avoid duplicate commands. Telnyx will ignore any command with
125
127
  # the same `command_id` for the same `call_control_id`.
126
128
  command_id: nil,
129
+ # Starts a Conversation Relay session automatically when the answered/dialed call
130
+ # is answered. This embedded shape is supported on `answer` and `dial`. It uses
131
+ # public field names (`url`, `dtmf_detection`, `greeting`, `voice`, `language`,
132
+ # etc.) and maps them to the underlying Conversation Relay action. `client_state`,
133
+ # `tts_language`, and `transcription_language` inside this object are ignored; use
134
+ # the parent command's `client_state` and `command_id` fields instead.
135
+ conversation_relay_config: nil,
127
136
  # Custom headers to be added to the SIP INVITE response.
128
137
  custom_headers: nil,
129
138
  # Enables deepfake detection on the call. When enabled, audio from the remote
@@ -704,8 +713,8 @@ module Telnyx
704
713
  # `speech-02-hd`, `speech-2.6-turbo`, `speech-2.8-turbo`. Use `voice_settings`
705
714
  # to configure speed, volume, pitch, and language_boost.
706
715
  # - **Rime:** Use `Rime.<model_id>.<voice_id>` (e.g., `Rime.Arcana.cove`).
707
- # Supported model_ids: `Arcana`, `Mist`. Use `voice_settings` to configure
708
- # voice_speed.
716
+ # Supported model_ids: `Arcana`, `Mist`, `ArcanaV3`, `Coda`. Use
717
+ # `voice_settings` to configure voice_speed.
709
718
  # - **Resemble:** Use `Resemble.Turbo.<voice_id>` (e.g.,
710
719
  # `Resemble.Turbo.my_voice`). Only `Turbo` model is supported. Use
711
720
  # `voice_settings` to configure precision, sample_rate, and format.
@@ -1117,8 +1126,8 @@ module Telnyx
1117
1126
  # `speech-02-hd`, `speech-2.6-turbo`, `speech-2.8-turbo`. Use `voice_settings`
1118
1127
  # to configure speed, volume, pitch, and language_boost.
1119
1128
  # - **Rime:** Use `Rime.<model_id>.<voice_id>` (e.g., `Rime.Arcana.cove`).
1120
- # Supported model_ids: `Arcana`, `Mist`. Use `voice_settings` to configure
1121
- # voice_speed.
1129
+ # Supported model_ids: `Arcana`, `Mist`, `ArcanaV3`, `Coda`. Use
1130
+ # `voice_settings` to configure voice_speed.
1122
1131
  # - **Resemble:** Use `Resemble.Turbo.<voice_id>` (e.g.,
1123
1132
  # `Resemble.Turbo.my_voice`). Only `Turbo` model is supported. Use
1124
1133
  # `voice_settings` to configure precision, sample_rate, and format.
@@ -1292,7 +1301,13 @@ module Telnyx
1292
1301
  conversation_relay_settings:
1293
1302
  Telnyx::Calls::ActionStartConversationRelayParams::ConversationRelaySettings::OrHash,
1294
1303
  conversation_relay_url: String,
1304
+ custom_parameters: T::Hash[Symbol, T.anything],
1305
+ dtmf_detection: T::Boolean,
1295
1306
  greeting: String,
1307
+ interruptible:
1308
+ Telnyx::Calls::ActionStartConversationRelayParams::Interruptible::OrSymbol,
1309
+ interruptible_greeting:
1310
+ Telnyx::Calls::ActionStartConversationRelayParams::InterruptibleGreeting::OrSymbol,
1296
1311
  interruption_settings:
1297
1312
  Telnyx::Calls::ActionStartConversationRelayParams::InterruptionSettings::OrHash,
1298
1313
  language: String,
@@ -1300,19 +1315,25 @@ module Telnyx
1300
1315
  T::Array[
1301
1316
  Telnyx::Calls::ActionStartConversationRelayParams::Language::OrHash
1302
1317
  ],
1303
- transcription:
1304
- Telnyx::Calls::ActionStartConversationRelayParams::Transcription::OrHash,
1305
- transcription_language: String,
1306
- tts_language: String,
1318
+ provider: String,
1319
+ structured_provider: T::Hash[Symbol, T.anything],
1320
+ transcription: T::Hash[Symbol, T.anything],
1321
+ transcription_engine:
1322
+ Telnyx::Calls::ActionStartConversationRelayParams::TranscriptionEngine::OrSymbol,
1323
+ transcription_engine_config: T::Hash[Symbol, T.anything],
1324
+ tts_provider: String,
1325
+ url: String,
1307
1326
  voice: String,
1308
1327
  voice_settings:
1309
1328
  T.any(
1310
1329
  Telnyx::Calls::ElevenLabsVoiceSettings::OrHash,
1311
1330
  Telnyx::Calls::TelnyxVoiceSettings::OrHash,
1312
1331
  Telnyx::Calls::AwsVoiceSettings::OrHash,
1332
+ Telnyx::MinimaxVoiceSettings::OrHash,
1313
1333
  Telnyx::AzureVoiceSettings::OrHash,
1314
1334
  Telnyx::RimeVoiceSettings::OrHash,
1315
1335
  Telnyx::ResembleVoiceSettings::OrHash,
1336
+ Telnyx::Calls::ActionStartConversationRelayParams::VoiceSettings::Inworld::OrHash,
1316
1337
  Telnyx::XaiVoiceSettings::OrHash
1317
1338
  ),
1318
1339
  request_options: Telnyx::RequestOptions::OrHash
@@ -1332,34 +1353,62 @@ module Telnyx
1332
1353
  command_id: nil,
1333
1354
  # Enable DTMF detection for the relay session.
1334
1355
  conversation_relay_dtmf_detection: nil,
1335
- # Conversation Relay connection settings. This object is used by TeXML Call
1336
- # Scripting's `<ConversationRelay>` verb. The `interruptible` and
1337
- # `interruptible_greeting` fields are shorthand for
1338
- # `interruption_settings.interruptible` and
1339
- # `interruption_settings.interruptible_greeting`; use top-level
1340
- # `interruption_settings` for the full interruption settings shape.
1356
+ # Conversation Relay connection settings. This object can provide `url`,
1357
+ # `dtmf_detection`, `interruptible`, `interruptible_greeting`, and `languages`.
1358
+ # Top-level aliases override nested values when both are present.
1341
1359
  conversation_relay_settings: nil,
1342
1360
  # WebSocket URL for your Conversation Relay server. Must start with `ws://` or
1343
1361
  # `wss://`.
1344
1362
  conversation_relay_url: nil,
1363
+ # Custom key-value parameters forwarded to the relay session as
1364
+ # `assistant.dynamic_variables`. If `assistant.dynamic_variables` is also present,
1365
+ # these values are merged in.
1366
+ custom_parameters: nil,
1367
+ # Public alias for `conversation_relay_dtmf_detection`. If both are present, this
1368
+ # value wins.
1369
+ dtmf_detection: nil,
1345
1370
  # Text played when the relay session starts.
1346
1371
  greeting: nil,
1372
+ # Controls when caller input can interrupt assistant speech. `any` allows speech
1373
+ # or DTMF interruptions; `none` disables interruptions; `speech` allows speech
1374
+ # only; `dtmf` allows DTMF only.
1375
+ interruptible: nil,
1376
+ # Controls when caller input can interrupt assistant speech. `any` allows speech
1377
+ # or DTMF interruptions; `none` disables interruptions; `speech` allows speech
1378
+ # only; `dtmf` allows DTMF only.
1379
+ interruptible_greeting: nil,
1347
1380
  # Settings for handling caller interruptions during Conversation Relay speech.
1348
1381
  interruption_settings: nil,
1349
1382
  # Default language for the relay session. This value is used for both
1350
- # text-to-speech and speech recognition unless `tts_language` or
1351
- # `transcription_language` are provided.
1383
+ # text-to-speech and speech recognition.
1352
1384
  language: nil,
1353
- # Language-specific TTS and transcription settings. Use this when the relay
1354
- # session needs per-language provider, voice, or speech model configuration.
1385
+ # Per-language TTS and transcription settings.
1355
1386
  languages: nil,
1356
- # Speech-to-text settings for Conversation Relay.
1387
+ # Structured voice provider. Must be supplied together with `structured_provider`.
1388
+ provider: nil,
1389
+ # Provider-specific structured voice settings. Must be supplied together with
1390
+ # `provider`; Telnyx sends the value as the nested provider configuration for
1391
+ # Conversation Relay.
1392
+ structured_provider: nil,
1393
+ # Not supported for Conversation Relay start requests. Use `transcription_engine`
1394
+ # and `transcription_engine_config` instead.
1357
1395
  transcription: nil,
1358
- # Language to use for speech recognition. Overrides `language` for transcription
1359
- # when provided.
1360
- transcription_language: nil,
1361
- # Language to use for text-to-speech. Overrides `language` for TTS when provided.
1362
- tts_language: nil,
1396
+ # Engine to use for speech recognition. Legacy values `A` - `Google`, `B` -
1397
+ # `Telnyx` are supported for backward compatibility. For Conversation Relay, use
1398
+ # this field with `transcription_engine_config`; the `transcription` object is not
1399
+ # supported.
1400
+ transcription_engine: nil,
1401
+ # Engine-specific transcription settings for Conversation Relay. This accepts the
1402
+ # same provider-specific options used by the Call Transcription Start command,
1403
+ # such as `transcription_model`, without requiring the engine discriminator to be
1404
+ # repeated inside this object.
1405
+ transcription_engine_config: nil,
1406
+ # Text-to-speech provider. If omitted, Telnyx derives it from `voice` or
1407
+ # `provider`.
1408
+ tts_provider: nil,
1409
+ # Public alias for `conversation_relay_url`. Must start with `ws://` or `wss://`.
1410
+ # If both are present, this value wins.
1411
+ url: nil,
1363
1412
  # The voice to be used by the voice assistant. Currently we support ElevenLabs,
1364
1413
  # Telnyx and AWS voices.
1365
1414
  #
@@ -48,6 +48,8 @@ module Telnyx
48
48
  client_state: String,
49
49
  command_id: String,
50
50
  conference_config: Telnyx::CallDialParams::ConferenceConfig::OrHash,
51
+ conversation_relay_config:
52
+ Telnyx::CallDialParams::ConversationRelayConfig::OrHash,
51
53
  custom_headers: T::Array[Telnyx::CustomSipHeader::OrHash],
52
54
  deepfake_detection: Telnyx::CallDialParams::DeepfakeDetection::OrHash,
53
55
  dialogflow_config: Telnyx::DialogflowConfig::OrHash,
@@ -178,6 +180,13 @@ module Telnyx
178
180
  command_id: nil,
179
181
  # Optional configuration parameters to dial new participant into a conference.
180
182
  conference_config: nil,
183
+ # Starts a Conversation Relay session automatically when the answered/dialed call
184
+ # is answered. This embedded shape is supported on `answer` and `dial`. It uses
185
+ # public field names (`url`, `dtmf_detection`, `greeting`, `voice`, `language`,
186
+ # etc.) and maps them to the underlying Conversation Relay action. `client_state`,
187
+ # `tts_language`, and `transcription_language` inside this object are ignored; use
188
+ # the parent command's `client_state` and `command_id` fields instead.
189
+ conversation_relay_config: nil,
181
190
  # Custom headers to be added to the SIP INVITE.
182
191
  custom_headers: nil,
183
192
  # Enables deepfake detection on the call. When enabled, audio from the remote
@@ -577,8 +577,8 @@ module Telnyx
577
577
  # `speech-02-hd`, `speech-2.6-turbo`, `speech-2.8-turbo`. Use `voice_settings`
578
578
  # to configure speed, volume, pitch, and language_boost.
579
579
  # - **Rime:** Use `Rime.<model_id>.<voice_id>` (e.g., `Rime.Arcana.cove`).
580
- # Supported model_ids: `Arcana`, `Mist`. Use `voice_settings` to configure
581
- # voice_speed.
580
+ # Supported model_ids: `Arcana`, `Mist`, `ArcanaV3`, `Coda`. Use
581
+ # `voice_settings` to configure voice_speed.
582
582
  # - **Resemble:** Use `Resemble.Turbo.<voice_id>` (e.g.,
583
583
  # `Resemble.Turbo.my_voice`). Only `Turbo` model is supported. Use
584
584
  # `voice_settings` to configure precision, sample_rate, and format.
@@ -0,0 +1,58 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Resources
5
+ # Retrieve raw Voice SDK call report stats payloads for WebRTC call
6
+ # troubleshooting.
7
+ class VoiceSDKCallReports
8
+ # Returns raw call report stats JSON payloads stored for the authenticated user
9
+ # and `call_id`. The user is derived from Telnyx authentication, not from request
10
+ # parameters.
11
+ sig do
12
+ params(
13
+ call_id: String,
14
+ request_options: Telnyx::RequestOptions::OrHash
15
+ ).returns(
16
+ T::Array[Telnyx::Models::VoiceSDKCallReportRetrieveResponseItem]
17
+ )
18
+ end
19
+ def retrieve(
20
+ # Call identifier used to retrieve reports owned by the authenticated user.
21
+ call_id,
22
+ request_options: {}
23
+ )
24
+ end
25
+
26
+ # Returns paginated raw call report stats JSON payloads stored for the
27
+ # authenticated user. The user is derived from Telnyx authentication, not from
28
+ # request parameters.
29
+ sig do
30
+ params(
31
+ page_number: Integer,
32
+ page_size: Integer,
33
+ sort: Telnyx::VoiceSDKCallReportListParams::Sort::OrSymbol,
34
+ request_options: Telnyx::RequestOptions::OrHash
35
+ ).returns(
36
+ Telnyx::Internal::DefaultFlatPagination[
37
+ Telnyx::Models::VoiceSDKCallReportListResponse
38
+ ]
39
+ )
40
+ end
41
+ def list(
42
+ page_number: nil,
43
+ page_size: nil,
44
+ # Set the order of the results by creation date. `asc` and `created_at` sort
45
+ # oldest reports first; `desc` and `-created_at` sort newest reports first. If not
46
+ # given, results are sorted by creation date in descending order.
47
+ sort: nil,
48
+ request_options: {}
49
+ )
50
+ end
51
+
52
+ # @api private
53
+ sig { params(client: Telnyx::Client).returns(T.attached_class) }
54
+ def self.new(client:)
55
+ end
56
+ end
57
+ end
58
+ end
@@ -344,6 +344,8 @@ module Telnyx
344
344
 
345
345
  attr_reader uac_connections: Telnyx::Resources::UacConnections
346
346
 
347
+ attr_reader voice_sdk_call_reports: Telnyx::Resources::VoiceSDKCallReports
348
+
347
349
  private def auth_headers: -> ::Hash[String, String]
348
350
 
349
351
  private def bearer_auth: -> ::Hash[String, String]