telnyx 5.98.0 → 5.100.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 (121) 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 +5 -0
  5. data/lib/telnyx/models/ai/assistant_create_params.rb +9 -231
  6. data/lib/telnyx/models/ai/assistant_update_params.rb +9 -231
  7. data/lib/telnyx/models/ai/assistants/canary_deploy.rb +128 -7
  8. data/lib/telnyx/models/ai/assistants/canary_deploy_response.rb +131 -7
  9. data/lib/telnyx/models/ai/assistants/update_assistant.rb +9 -236
  10. data/lib/telnyx/models/ai/external_llm.rb +89 -0
  11. data/lib/telnyx/models/ai/external_llm_req.rb +89 -0
  12. data/lib/telnyx/models/ai/fallback_config.rb +37 -0
  13. data/lib/telnyx/models/ai/fallback_config_req.rb +37 -0
  14. data/lib/telnyx/models/ai/inference_embedding.rb +9 -234
  15. data/lib/telnyx/models/ai/post_conversation_settings.rb +30 -0
  16. data/lib/telnyx/models/ai/post_conversation_settings_req.rb +30 -0
  17. data/lib/telnyx/models/calls/action_gather_using_ai_params.rb +26 -3
  18. data/lib/telnyx/models/calls/action_gather_using_speak_params.rb +26 -3
  19. data/lib/telnyx/models/calls/action_speak_params.rb +26 -3
  20. data/lib/telnyx/models/calls/action_start_ai_assistant_params.rb +26 -3
  21. data/lib/telnyx/models/conferences/action_speak_params.rb +26 -3
  22. data/lib/telnyx/models/uac_connection_create_params.rb +738 -0
  23. data/lib/telnyx/models/uac_connection_create_response.rb +898 -0
  24. data/lib/telnyx/models/uac_connection_delete_params.rb +20 -0
  25. data/lib/telnyx/models/uac_connection_delete_response.rb +898 -0
  26. data/lib/telnyx/models/uac_connection_list_params.rb +143 -0
  27. data/lib/telnyx/models/uac_connection_list_response.rb +876 -0
  28. data/lib/telnyx/models/uac_connection_retrieve_params.rb +20 -0
  29. data/lib/telnyx/models/uac_connection_retrieve_response.rb +899 -0
  30. data/lib/telnyx/models/uac_connection_update_params.rb +740 -0
  31. data/lib/telnyx/models/uac_connection_update_response.rb +898 -0
  32. data/lib/telnyx/models/uac_connections/action_check_registration_status_params.rb +22 -0
  33. data/lib/telnyx/models/uac_connections/action_check_registration_status_response.rb +104 -0
  34. data/lib/telnyx/models.rb +12 -0
  35. data/lib/telnyx/resources/ai/assistants/canary_deploys.rb +6 -10
  36. data/lib/telnyx/resources/ai/assistants/versions.rb +3 -3
  37. data/lib/telnyx/resources/ai/assistants.rb +6 -6
  38. data/lib/telnyx/resources/calls/actions.rb +4 -4
  39. data/lib/telnyx/resources/conferences/actions.rb +1 -1
  40. data/lib/telnyx/resources/uac_connections/actions.rb +39 -0
  41. data/lib/telnyx/resources/uac_connections.rb +256 -0
  42. data/lib/telnyx/version.rb +1 -1
  43. data/lib/telnyx.rb +20 -1
  44. data/rbi/telnyx/client.rbi +4 -0
  45. data/rbi/telnyx/models/ai/assistant_create_params.rbi +12 -463
  46. data/rbi/telnyx/models/ai/assistant_update_params.rbi +12 -463
  47. data/rbi/telnyx/models/ai/assistants/canary_deploy.rbi +303 -10
  48. data/rbi/telnyx/models/ai/assistants/canary_deploy_response.rbi +309 -9
  49. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +12 -469
  50. data/rbi/telnyx/models/ai/external_llm.rbi +161 -0
  51. data/rbi/telnyx/models/ai/external_llm_req.rbi +161 -0
  52. data/rbi/telnyx/models/ai/fallback_config.rbi +64 -0
  53. data/rbi/telnyx/models/ai/fallback_config_req.rbi +64 -0
  54. data/rbi/telnyx/models/ai/inference_embedding.rbi +12 -460
  55. data/rbi/telnyx/models/ai/post_conversation_settings.rbi +45 -0
  56. data/rbi/telnyx/models/ai/post_conversation_settings_req.rbi +45 -0
  57. data/rbi/telnyx/models/calls/action_gather_using_ai_params.rbi +50 -5
  58. data/rbi/telnyx/models/calls/action_gather_using_speak_params.rbi +50 -5
  59. data/rbi/telnyx/models/calls/action_speak_params.rbi +50 -5
  60. data/rbi/telnyx/models/calls/action_start_ai_assistant_params.rbi +50 -5
  61. data/rbi/telnyx/models/conferences/action_speak_params.rbi +50 -5
  62. data/rbi/telnyx/models/uac_connection_create_params.rbi +1465 -0
  63. data/rbi/telnyx/models/uac_connection_create_response.rbi +1793 -0
  64. data/rbi/telnyx/models/uac_connection_delete_params.rbi +35 -0
  65. data/rbi/telnyx/models/uac_connection_delete_response.rbi +1793 -0
  66. data/rbi/telnyx/models/uac_connection_list_params.rbi +261 -0
  67. data/rbi/telnyx/models/uac_connection_list_response.rbi +1727 -0
  68. data/rbi/telnyx/models/uac_connection_retrieve_params.rbi +35 -0
  69. data/rbi/telnyx/models/uac_connection_retrieve_response.rbi +1793 -0
  70. data/rbi/telnyx/models/uac_connection_update_params.rbi +1463 -0
  71. data/rbi/telnyx/models/uac_connection_update_response.rbi +1793 -0
  72. data/rbi/telnyx/models/uac_connections/action_check_registration_status_params.rbi +40 -0
  73. data/rbi/telnyx/models/uac_connections/action_check_registration_status_response.rbi +237 -0
  74. data/rbi/telnyx/models.rbi +12 -0
  75. data/rbi/telnyx/resources/ai/assistants/canary_deploys.rbi +6 -14
  76. data/rbi/telnyx/resources/ai/assistants/versions.rbi +3 -5
  77. data/rbi/telnyx/resources/ai/assistants.rbi +6 -10
  78. data/rbi/telnyx/resources/calls/actions.rbi +16 -4
  79. data/rbi/telnyx/resources/conferences/actions.rbi +4 -1
  80. data/rbi/telnyx/resources/uac_connections/actions.rbi +33 -0
  81. data/rbi/telnyx/resources/uac_connections.rbi +348 -0
  82. data/sig/telnyx/client.rbs +2 -0
  83. data/sig/telnyx/models/ai/assistant_create_params.rbs +18 -205
  84. data/sig/telnyx/models/ai/assistant_update_params.rbs +18 -205
  85. data/sig/telnyx/models/ai/assistants/canary_deploy.rbs +113 -4
  86. data/sig/telnyx/models/ai/assistants/canary_deploy_response.rbs +113 -8
  87. data/sig/telnyx/models/ai/assistants/update_assistant.rbs +18 -205
  88. data/sig/telnyx/models/ai/external_llm.rbs +75 -0
  89. data/sig/telnyx/models/ai/external_llm_req.rbs +75 -0
  90. data/sig/telnyx/models/ai/fallback_config.rbs +38 -0
  91. data/sig/telnyx/models/ai/fallback_config_req.rbs +40 -0
  92. data/sig/telnyx/models/ai/inference_embedding.rbs +17 -206
  93. data/sig/telnyx/models/ai/post_conversation_settings.rbs +17 -0
  94. data/sig/telnyx/models/ai/post_conversation_settings_req.rbs +17 -0
  95. data/sig/telnyx/models/calls/action_gather_using_ai_params.rbs +15 -0
  96. data/sig/telnyx/models/calls/action_gather_using_speak_params.rbs +15 -0
  97. data/sig/telnyx/models/calls/action_speak_params.rbs +15 -0
  98. data/sig/telnyx/models/calls/action_start_ai_assistant_params.rbs +15 -0
  99. data/sig/telnyx/models/conferences/action_speak_params.rbs +15 -0
  100. data/sig/telnyx/models/uac_connection_create_params.rbs +609 -0
  101. data/sig/telnyx/models/uac_connection_create_response.rbs +741 -0
  102. data/sig/telnyx/models/uac_connection_delete_params.rbs +20 -0
  103. data/sig/telnyx/models/uac_connection_delete_response.rbs +741 -0
  104. data/sig/telnyx/models/uac_connection_list_params.rbs +112 -0
  105. data/sig/telnyx/models/uac_connection_list_response.rbs +722 -0
  106. data/sig/telnyx/models/uac_connection_retrieve_params.rbs +20 -0
  107. data/sig/telnyx/models/uac_connection_retrieve_response.rbs +741 -0
  108. data/sig/telnyx/models/uac_connection_update_params.rbs +615 -0
  109. data/sig/telnyx/models/uac_connection_update_response.rbs +741 -0
  110. data/sig/telnyx/models/uac_connections/action_check_registration_status_params.rbs +22 -0
  111. data/sig/telnyx/models/uac_connections/action_check_registration_status_response.rbs +117 -0
  112. data/sig/telnyx/models.rbs +12 -0
  113. data/sig/telnyx/resources/ai/assistants/canary_deploys.rbs +2 -2
  114. data/sig/telnyx/resources/ai/assistants/versions.rbs +3 -3
  115. data/sig/telnyx/resources/ai/assistants.rbs +6 -6
  116. data/sig/telnyx/resources/uac_connections/actions.rbs +14 -0
  117. data/sig/telnyx/resources/uac_connections.rbs +90 -0
  118. metadata +62 -5
  119. data/lib/telnyx/models/ai/assistants/version_config.rb +0 -30
  120. data/rbi/telnyx/models/ai/assistants/version_config.rbi +0 -45
  121. data/sig/telnyx/models/ai/assistants/version_config.rbs +0 -19
@@ -0,0 +1,348 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Resources
5
+ # UAC connection operations
6
+ class UacConnections
7
+ # UAC connection operations
8
+ sig { returns(Telnyx::Resources::UacConnections::Actions) }
9
+ attr_reader :actions
10
+
11
+ # Creates a UAC connection. A UAC (User Agent Client) Connection registers Telnyx
12
+ # to your PBX — the opposite of a standard SIP trunk, where the PBX registers to
13
+ # Telnyx. Use UAC when your PBX doesn’t support outbound SIP registration or you
14
+ # need Telnyx to maintain the registration.
15
+ sig do
16
+ params(
17
+ connection_name: String,
18
+ active: T::Boolean,
19
+ anchorsite_override: Telnyx::AnchorsiteOverride::OrSymbol,
20
+ android_push_credential_id: T.nilable(String),
21
+ call_cost_in_webhooks: T::Boolean,
22
+ default_on_hold_comfort_noise_enabled: T::Boolean,
23
+ dtmf_type: Telnyx::DtmfType::OrSymbol,
24
+ encode_contact_header_enabled: T::Boolean,
25
+ encrypted_media: T.nilable(Telnyx::EncryptedMedia::OrSymbol),
26
+ external_uac_settings:
27
+ Telnyx::UacConnectionCreateParams::ExternalUacSettings::OrHash,
28
+ inbound: Telnyx::UacConnectionCreateParams::Inbound::OrHash,
29
+ internal_uac_settings:
30
+ Telnyx::UacConnectionCreateParams::InternalUacSettings::OrHash,
31
+ ios_push_credential_id: T.nilable(String),
32
+ jitter_buffer: Telnyx::ConnectionJitterBuffer::OrHash,
33
+ noise_suppression:
34
+ Telnyx::UacConnectionCreateParams::NoiseSuppression::OrSymbol,
35
+ noise_suppression_details:
36
+ Telnyx::ConnectionNoiseSuppressionDetails::OrHash,
37
+ onnet_t38_passthrough_enabled: T::Boolean,
38
+ outbound: Telnyx::UacConnectionCreateParams::Outbound::OrHash,
39
+ password: String,
40
+ rtcp_settings: Telnyx::ConnectionRtcpSettings::OrHash,
41
+ sip_uri_calling_preference:
42
+ Telnyx::UacConnectionCreateParams::SipUriCallingPreference::OrSymbol,
43
+ tags: T::Array[String],
44
+ user_name: String,
45
+ webhook_api_version:
46
+ Telnyx::UacConnectionCreateParams::WebhookAPIVersion::OrSymbol,
47
+ webhook_event_failover_url: T.nilable(String),
48
+ webhook_event_url: String,
49
+ webhook_timeout_secs: T.nilable(Integer),
50
+ request_options: Telnyx::RequestOptions::OrHash
51
+ ).returns(Telnyx::Models::UacConnectionCreateResponse)
52
+ end
53
+ def create(
54
+ # A user-assigned name to help manage the connection.
55
+ connection_name:,
56
+ # Defaults to true
57
+ active: nil,
58
+ # `Latency` directs Telnyx to route media through the site with the lowest
59
+ # round-trip time to the user's connection. Telnyx calculates this time using ICMP
60
+ # ping messages. This can be disabled by specifying a site to handle all media.
61
+ anchorsite_override: nil,
62
+ # The uuid of the push credential for Android
63
+ android_push_credential_id: nil,
64
+ # Specifies if call cost webhooks should be sent for this connection.
65
+ call_cost_in_webhooks: nil,
66
+ # When enabled, Telnyx will generate comfort noise when you place the call on
67
+ # hold. If disabled, you will need to generate comfort noise or on hold music to
68
+ # avoid RTP timeout.
69
+ default_on_hold_comfort_noise_enabled: nil,
70
+ # Sets the type of DTMF digits sent from Telnyx to this Connection. Note that DTMF
71
+ # digits sent to Telnyx will be accepted in all formats.
72
+ dtmf_type: nil,
73
+ # Encode the SIP contact header sent by Telnyx to avoid issues for NAT or ALG
74
+ # scenarios.
75
+ encode_contact_header_enabled: nil,
76
+ # Enable use of SRTP for encryption. Cannot be set if the transport_portocol is
77
+ # TLS.
78
+ encrypted_media: nil,
79
+ # External SIP peer settings used by Telnyx when registering to your PBX and
80
+ # routing outbound calls.
81
+ external_uac_settings: nil,
82
+ # Inbound settings that can be supplied when creating or updating a UAC
83
+ # connection. The SIP subdomain fields returned in UAC connection responses are
84
+ # generated by Telnyx and are not accepted as request parameters.
85
+ inbound: nil,
86
+ # Internal Telnyx-side settings for a UAC connection.
87
+ internal_uac_settings: nil,
88
+ # The uuid of the push credential for Ios
89
+ ios_push_credential_id: nil,
90
+ # Configuration options for Jitter Buffer. Enables Jitter Buffer for RTP streams
91
+ # of SIP Trunking calls. The feature is off unless enabled. You may define min and
92
+ # max values in msec for customized buffering behaviors. Larger values add latency
93
+ # but tolerate more jitter, while smaller values reduce latency but are more
94
+ # sensitive to jitter and reordering.
95
+ jitter_buffer: nil,
96
+ # Controls when noise suppression is applied to calls. When set to 'inbound',
97
+ # noise suppression is applied to incoming audio. When set to 'outbound', it's
98
+ # applied to outgoing audio. When set to 'both', it's applied in both directions.
99
+ # When set to 'disabled', noise suppression is turned off.
100
+ noise_suppression: nil,
101
+ # Configuration options for noise suppression. These settings are stored
102
+ # regardless of the noise_suppression value, but only take effect when
103
+ # noise_suppression is not 'disabled'. If you disable noise suppression and later
104
+ # re-enable it, the previously configured settings will be used.
105
+ noise_suppression_details: nil,
106
+ # Enable on-net T38 if you prefer the sender and receiver negotiating T38 directly
107
+ # if both are on the Telnyx network. If this is disabled, Telnyx will be able to
108
+ # use T38 on just one leg of the call depending on each leg's settings.
109
+ onnet_t38_passthrough_enabled: nil,
110
+ outbound: nil,
111
+ # The password to be used as part of the credentials. Must be 8 to 128 characters
112
+ # long.
113
+ password: nil,
114
+ rtcp_settings: nil,
115
+ # This feature enables inbound SIP URI calls to your Credential Auth Connection.
116
+ # If enabled for all (unrestricted) then anyone who calls the SIP URI
117
+ # <your-username>@telnyx.com will be connected to your Connection. You can also
118
+ # choose to allow only calls that are originated on any Connections under your
119
+ # account (internal).
120
+ sip_uri_calling_preference: nil,
121
+ # Tags associated with the connection.
122
+ tags: nil,
123
+ # The user name to be used as part of the credentials. Must be 4-32 characters
124
+ # long and alphanumeric values only (no spaces or special characters).
125
+ user_name: nil,
126
+ # Determines which webhook format will be used, Telnyx API v1, v2 or texml. Note -
127
+ # texml can only be set when the outbound object parameter call_parking_enabled is
128
+ # included and set to true.
129
+ webhook_api_version: nil,
130
+ # The failover URL where webhooks related to this connection will be sent if
131
+ # sending to the primary URL fails. Must include a scheme, such as 'https'.
132
+ webhook_event_failover_url: nil,
133
+ # The URL where webhooks related to this connection will be sent. Must include a
134
+ # scheme, such as 'https'.
135
+ webhook_event_url: nil,
136
+ # Specifies how many seconds to wait before timing out a webhook.
137
+ webhook_timeout_secs: nil,
138
+ request_options: {}
139
+ )
140
+ end
141
+
142
+ # Retrieves the details of an existing UAC connection.
143
+ sig do
144
+ params(
145
+ id: String,
146
+ request_options: Telnyx::RequestOptions::OrHash
147
+ ).returns(Telnyx::Models::UacConnectionRetrieveResponse)
148
+ end
149
+ def retrieve(
150
+ # Identifies the resource.
151
+ id,
152
+ request_options: {}
153
+ )
154
+ end
155
+
156
+ # Updates settings of an existing UAC connection.
157
+ sig do
158
+ params(
159
+ id: String,
160
+ active: T::Boolean,
161
+ anchorsite_override: Telnyx::AnchorsiteOverride::OrSymbol,
162
+ android_push_credential_id: T.nilable(String),
163
+ call_cost_in_webhooks: T::Boolean,
164
+ connection_name: String,
165
+ default_on_hold_comfort_noise_enabled: T::Boolean,
166
+ dtmf_type: Telnyx::DtmfType::OrSymbol,
167
+ encode_contact_header_enabled: T::Boolean,
168
+ encrypted_media: T.nilable(Telnyx::EncryptedMedia::OrSymbol),
169
+ external_uac_settings:
170
+ Telnyx::UacConnectionUpdateParams::ExternalUacSettings::OrHash,
171
+ inbound: Telnyx::UacConnectionUpdateParams::Inbound::OrHash,
172
+ internal_uac_settings:
173
+ Telnyx::UacConnectionUpdateParams::InternalUacSettings::OrHash,
174
+ ios_push_credential_id: T.nilable(String),
175
+ jitter_buffer: Telnyx::ConnectionJitterBuffer::OrHash,
176
+ noise_suppression:
177
+ Telnyx::UacConnectionUpdateParams::NoiseSuppression::OrSymbol,
178
+ noise_suppression_details:
179
+ Telnyx::ConnectionNoiseSuppressionDetails::OrHash,
180
+ onnet_t38_passthrough_enabled: T::Boolean,
181
+ outbound: Telnyx::UacConnectionUpdateParams::Outbound::OrHash,
182
+ password: String,
183
+ rtcp_settings: Telnyx::ConnectionRtcpSettings::OrHash,
184
+ sip_uri_calling_preference:
185
+ Telnyx::UacConnectionUpdateParams::SipUriCallingPreference::OrSymbol,
186
+ tags: T::Array[String],
187
+ user_name: String,
188
+ webhook_api_version:
189
+ Telnyx::UacConnectionUpdateParams::WebhookAPIVersion::OrSymbol,
190
+ webhook_event_failover_url: T.nilable(String),
191
+ webhook_event_url: String,
192
+ webhook_timeout_secs: T.nilable(Integer),
193
+ request_options: Telnyx::RequestOptions::OrHash
194
+ ).returns(Telnyx::Models::UacConnectionUpdateResponse)
195
+ end
196
+ def update(
197
+ # Identifies the resource.
198
+ id,
199
+ # Defaults to true
200
+ active: nil,
201
+ # `Latency` directs Telnyx to route media through the site with the lowest
202
+ # round-trip time to the user's connection. Telnyx calculates this time using ICMP
203
+ # ping messages. This can be disabled by specifying a site to handle all media.
204
+ anchorsite_override: nil,
205
+ # The uuid of the push credential for Android
206
+ android_push_credential_id: nil,
207
+ # Specifies if call cost webhooks should be sent for this connection.
208
+ call_cost_in_webhooks: nil,
209
+ # A user-assigned name to help manage the connection.
210
+ connection_name: nil,
211
+ # When enabled, Telnyx will generate comfort noise when you place the call on
212
+ # hold. If disabled, you will need to generate comfort noise or on hold music to
213
+ # avoid RTP timeout.
214
+ default_on_hold_comfort_noise_enabled: nil,
215
+ # Sets the type of DTMF digits sent from Telnyx to this Connection. Note that DTMF
216
+ # digits sent to Telnyx will be accepted in all formats.
217
+ dtmf_type: nil,
218
+ # Encode the SIP contact header sent by Telnyx to avoid issues for NAT or ALG
219
+ # scenarios.
220
+ encode_contact_header_enabled: nil,
221
+ # Enable use of SRTP for encryption. Cannot be set if the transport_portocol is
222
+ # TLS.
223
+ encrypted_media: nil,
224
+ # External SIP peer settings used by Telnyx when registering to your PBX and
225
+ # routing outbound calls.
226
+ external_uac_settings: nil,
227
+ # Inbound settings that can be supplied when creating or updating a UAC
228
+ # connection. The SIP subdomain fields returned in UAC connection responses are
229
+ # generated by Telnyx and are not accepted as request parameters.
230
+ inbound: nil,
231
+ # Internal Telnyx-side settings for a UAC connection.
232
+ internal_uac_settings: nil,
233
+ # The uuid of the push credential for Ios
234
+ ios_push_credential_id: nil,
235
+ # Configuration options for Jitter Buffer. Enables Jitter Buffer for RTP streams
236
+ # of SIP Trunking calls. The feature is off unless enabled. You may define min and
237
+ # max values in msec for customized buffering behaviors. Larger values add latency
238
+ # but tolerate more jitter, while smaller values reduce latency but are more
239
+ # sensitive to jitter and reordering.
240
+ jitter_buffer: nil,
241
+ # Controls when noise suppression is applied to calls. When set to 'inbound',
242
+ # noise suppression is applied to incoming audio. When set to 'outbound', it's
243
+ # applied to outgoing audio. When set to 'both', it's applied in both directions.
244
+ # When set to 'disabled', noise suppression is turned off.
245
+ noise_suppression: nil,
246
+ # Configuration options for noise suppression. These settings are stored
247
+ # regardless of the noise_suppression value, but only take effect when
248
+ # noise_suppression is not 'disabled'. If you disable noise suppression and later
249
+ # re-enable it, the previously configured settings will be used.
250
+ noise_suppression_details: nil,
251
+ # Enable on-net T38 if you prefer the sender and receiver negotiating T38 directly
252
+ # if both are on the Telnyx network. If this is disabled, Telnyx will be able to
253
+ # use T38 on just one leg of the call depending on each leg's settings.
254
+ onnet_t38_passthrough_enabled: nil,
255
+ outbound: nil,
256
+ # The password to be used as part of the credentials. Must be 8 to 128 characters
257
+ # long.
258
+ password: nil,
259
+ rtcp_settings: nil,
260
+ # This feature enables inbound SIP URI calls to your Credential Auth Connection.
261
+ # If enabled for all (unrestricted) then anyone who calls the SIP URI
262
+ # <your-username>@telnyx.com will be connected to your Connection. You can also
263
+ # choose to allow only calls that are originated on any Connections under your
264
+ # account (internal).
265
+ sip_uri_calling_preference: nil,
266
+ # Tags associated with the connection.
267
+ tags: nil,
268
+ # The user name to be used as part of the credentials. Must be 4-32 characters
269
+ # long and alphanumeric values only (no spaces or special characters).
270
+ user_name: nil,
271
+ # Determines which webhook format will be used, Telnyx API v1 or v2.
272
+ webhook_api_version: nil,
273
+ # The failover URL where webhooks related to this connection will be sent if
274
+ # sending to the primary URL fails. Must include a scheme, such as 'https'.
275
+ webhook_event_failover_url: nil,
276
+ # The URL where webhooks related to this connection will be sent. Must include a
277
+ # scheme, such as 'https'.
278
+ webhook_event_url: nil,
279
+ # Specifies how many seconds to wait before timing out a webhook.
280
+ webhook_timeout_secs: nil,
281
+ request_options: {}
282
+ )
283
+ end
284
+
285
+ # Returns a list of your UAC connections. A UAC (User Agent Client) Connection
286
+ # registers Telnyx to your PBX — the opposite of a standard SIP trunk, where the
287
+ # PBX registers to Telnyx. Use UAC when your PBX doesn’t support outbound SIP
288
+ # registration or you need Telnyx to maintain the registration.
289
+ sig do
290
+ params(
291
+ filter: Telnyx::UacConnectionListParams::Filter::OrHash,
292
+ page_number: Integer,
293
+ page_size: Integer,
294
+ sort: Telnyx::UacConnectionListParams::Sort::OrSymbol,
295
+ request_options: Telnyx::RequestOptions::OrHash
296
+ ).returns(
297
+ Telnyx::Internal::DefaultFlatPagination[
298
+ Telnyx::Models::UacConnectionListResponse
299
+ ]
300
+ )
301
+ end
302
+ def list(
303
+ # Consolidated filter parameter (deepObject style). Originally:
304
+ # filter[connection_name], filter[fqdn], filter[outbound_voice_profile_id],
305
+ # filter[outbound.outbound_voice_profile_id]
306
+ filter: nil,
307
+ page_number: nil,
308
+ page_size: nil,
309
+ # Specifies the sort order for results. By default sorting direction is ascending.
310
+ # To have the results sorted in descending order add the <code> -</code>
311
+ # prefix.<br/><br/> That is: <ul>
312
+ #
313
+ # <li>
314
+ # <code>connection_name</code>: sorts the result by the
315
+ # <code>connection_name</code> field in ascending order.
316
+ # </li>
317
+ #
318
+ # <li>
319
+ # <code>-connection_name</code>: sorts the result by the
320
+ # <code>connection_name</code> field in descending order.
321
+ # </li>
322
+ # </ul> <br/> If not given, results are sorted by <code>created_at</code> in descending order.
323
+ sort: nil,
324
+ request_options: {}
325
+ )
326
+ end
327
+
328
+ # Deletes an existing UAC connection.
329
+ sig do
330
+ params(
331
+ id: String,
332
+ request_options: Telnyx::RequestOptions::OrHash
333
+ ).returns(Telnyx::Models::UacConnectionDeleteResponse)
334
+ end
335
+ def delete(
336
+ # Identifies the resource.
337
+ id,
338
+ request_options: {}
339
+ )
340
+ end
341
+
342
+ # @api private
343
+ sig { params(client: Telnyx::Client).returns(T.attached_class) }
344
+ def self.new(client:)
345
+ end
346
+ end
347
+ end
348
+ end
@@ -342,6 +342,8 @@ module Telnyx
342
342
 
343
343
  attr_reader pronunciation_dicts: Telnyx::Resources::PronunciationDicts
344
344
 
345
+ attr_reader uac_connections: Telnyx::Resources::UacConnections
346
+
345
347
  private def auth_headers: -> ::Hash[String, String]
346
348
 
347
349
  private def bearer_auth: -> ::Hash[String, String]
@@ -10,8 +10,8 @@ module Telnyx
10
10
  dynamic_variables_webhook_timeout_ms: Integer,
11
11
  dynamic_variables_webhook_url: String,
12
12
  enabled_features: ::Array[Telnyx::Models::AI::enabled_features],
13
- external_llm: Telnyx::AI::AssistantCreateParams::ExternalLlm,
14
- fallback_config: Telnyx::AI::AssistantCreateParams::FallbackConfig,
13
+ external_llm: Telnyx::AI::ExternalLlmReq,
14
+ fallback_config: Telnyx::AI::FallbackConfigReq,
15
15
  greeting: String,
16
16
  insight_settings: Telnyx::AI::InsightSettings,
17
17
  integrations: ::Array[Telnyx::AI::AssistantCreateParams::Integration],
@@ -21,7 +21,7 @@ module Telnyx
21
21
  messaging_settings: Telnyx::AI::MessagingSettings,
22
22
  model: String,
23
23
  observability_settings: Telnyx::AI::ObservabilityReq,
24
- post_conversation_settings: Telnyx::AI::AssistantCreateParams::PostConversationSettings,
24
+ post_conversation_settings: Telnyx::AI::PostConversationSettingsReq,
25
25
  privacy_settings: Telnyx::AI::PrivacySettings,
26
26
  tags: ::Array[String],
27
27
  telephony_settings: Telnyx::AI::TelephonySettings,
@@ -63,17 +63,17 @@ module Telnyx
63
63
  ::Array[Telnyx::Models::AI::enabled_features]
64
64
  ) -> ::Array[Telnyx::Models::AI::enabled_features]
65
65
 
66
- attr_reader external_llm: Telnyx::AI::AssistantCreateParams::ExternalLlm?
66
+ attr_reader external_llm: Telnyx::AI::ExternalLlmReq?
67
67
 
68
68
  def external_llm=: (
69
- Telnyx::AI::AssistantCreateParams::ExternalLlm
70
- ) -> Telnyx::AI::AssistantCreateParams::ExternalLlm
69
+ Telnyx::AI::ExternalLlmReq
70
+ ) -> Telnyx::AI::ExternalLlmReq
71
71
 
72
- attr_reader fallback_config: Telnyx::AI::AssistantCreateParams::FallbackConfig?
72
+ attr_reader fallback_config: Telnyx::AI::FallbackConfigReq?
73
73
 
74
74
  def fallback_config=: (
75
- Telnyx::AI::AssistantCreateParams::FallbackConfig
76
- ) -> Telnyx::AI::AssistantCreateParams::FallbackConfig
75
+ Telnyx::AI::FallbackConfigReq
76
+ ) -> Telnyx::AI::FallbackConfigReq
77
77
 
78
78
  attr_reader greeting: String?
79
79
 
@@ -123,11 +123,11 @@ module Telnyx
123
123
  Telnyx::AI::ObservabilityReq
124
124
  ) -> Telnyx::AI::ObservabilityReq
125
125
 
126
- attr_reader post_conversation_settings: Telnyx::AI::AssistantCreateParams::PostConversationSettings?
126
+ attr_reader post_conversation_settings: Telnyx::AI::PostConversationSettingsReq?
127
127
 
128
128
  def post_conversation_settings=: (
129
- Telnyx::AI::AssistantCreateParams::PostConversationSettings
130
- ) -> Telnyx::AI::AssistantCreateParams::PostConversationSettings
129
+ Telnyx::AI::PostConversationSettingsReq
130
+ ) -> Telnyx::AI::PostConversationSettingsReq
131
131
 
132
132
  attr_reader privacy_settings: Telnyx::AI::PrivacySettings?
133
133
 
@@ -181,8 +181,8 @@ module Telnyx
181
181
  ?dynamic_variables_webhook_timeout_ms: Integer,
182
182
  ?dynamic_variables_webhook_url: String,
183
183
  ?enabled_features: ::Array[Telnyx::Models::AI::enabled_features],
184
- ?external_llm: Telnyx::AI::AssistantCreateParams::ExternalLlm,
185
- ?fallback_config: Telnyx::AI::AssistantCreateParams::FallbackConfig,
184
+ ?external_llm: Telnyx::AI::ExternalLlmReq,
185
+ ?fallback_config: Telnyx::AI::FallbackConfigReq,
186
186
  ?greeting: String,
187
187
  ?insight_settings: Telnyx::AI::InsightSettings,
188
188
  ?integrations: ::Array[Telnyx::AI::AssistantCreateParams::Integration],
@@ -192,7 +192,7 @@ module Telnyx
192
192
  ?messaging_settings: Telnyx::AI::MessagingSettings,
193
193
  ?model: String,
194
194
  ?observability_settings: Telnyx::AI::ObservabilityReq,
195
- ?post_conversation_settings: Telnyx::AI::AssistantCreateParams::PostConversationSettings,
195
+ ?post_conversation_settings: Telnyx::AI::PostConversationSettingsReq,
196
196
  ?privacy_settings: Telnyx::AI::PrivacySettings,
197
197
  ?tags: ::Array[String],
198
198
  ?telephony_settings: Telnyx::AI::TelephonySettings,
@@ -212,8 +212,8 @@ module Telnyx
212
212
  dynamic_variables_webhook_timeout_ms: Integer,
213
213
  dynamic_variables_webhook_url: String,
214
214
  enabled_features: ::Array[Telnyx::Models::AI::enabled_features],
215
- external_llm: Telnyx::AI::AssistantCreateParams::ExternalLlm,
216
- fallback_config: Telnyx::AI::AssistantCreateParams::FallbackConfig,
215
+ external_llm: Telnyx::AI::ExternalLlmReq,
216
+ fallback_config: Telnyx::AI::FallbackConfigReq,
217
217
  greeting: String,
218
218
  insight_settings: Telnyx::AI::InsightSettings,
219
219
  integrations: ::Array[Telnyx::AI::AssistantCreateParams::Integration],
@@ -223,7 +223,7 @@ module Telnyx
223
223
  messaging_settings: Telnyx::AI::MessagingSettings,
224
224
  model: String,
225
225
  observability_settings: Telnyx::AI::ObservabilityReq,
226
- post_conversation_settings: Telnyx::AI::AssistantCreateParams::PostConversationSettings,
226
+ post_conversation_settings: Telnyx::AI::PostConversationSettingsReq,
227
227
  privacy_settings: Telnyx::AI::PrivacySettings,
228
228
  tags: ::Array[String],
229
229
  telephony_settings: Telnyx::AI::TelephonySettings,
@@ -235,181 +235,6 @@ module Telnyx
235
235
  request_options: Telnyx::RequestOptions
236
236
  }
237
237
 
238
- type external_llm =
239
- {
240
- base_url: String,
241
- model: String,
242
- authentication_method: Telnyx::Models::AI::AssistantCreateParams::ExternalLlm::authentication_method,
243
- certificate_ref: String,
244
- forward_metadata: bool,
245
- llm_api_key_ref: String,
246
- token_retrieval_url: String
247
- }
248
-
249
- class ExternalLlm < Telnyx::Internal::Type::BaseModel
250
- attr_accessor base_url: String
251
-
252
- attr_accessor model: String
253
-
254
- attr_reader authentication_method: Telnyx::Models::AI::AssistantCreateParams::ExternalLlm::authentication_method?
255
-
256
- def authentication_method=: (
257
- Telnyx::Models::AI::AssistantCreateParams::ExternalLlm::authentication_method
258
- ) -> Telnyx::Models::AI::AssistantCreateParams::ExternalLlm::authentication_method
259
-
260
- attr_reader certificate_ref: String?
261
-
262
- def certificate_ref=: (String) -> String
263
-
264
- attr_reader forward_metadata: bool?
265
-
266
- def forward_metadata=: (bool) -> bool
267
-
268
- attr_reader llm_api_key_ref: String?
269
-
270
- def llm_api_key_ref=: (String) -> String
271
-
272
- attr_reader token_retrieval_url: String?
273
-
274
- def token_retrieval_url=: (String) -> String
275
-
276
- def initialize: (
277
- base_url: String,
278
- model: String,
279
- ?authentication_method: Telnyx::Models::AI::AssistantCreateParams::ExternalLlm::authentication_method,
280
- ?certificate_ref: String,
281
- ?forward_metadata: bool,
282
- ?llm_api_key_ref: String,
283
- ?token_retrieval_url: String
284
- ) -> void
285
-
286
- def to_hash: -> {
287
- base_url: String,
288
- model: String,
289
- authentication_method: Telnyx::Models::AI::AssistantCreateParams::ExternalLlm::authentication_method,
290
- certificate_ref: String,
291
- forward_metadata: bool,
292
- llm_api_key_ref: String,
293
- token_retrieval_url: String
294
- }
295
-
296
- type authentication_method = :token | :certificate
297
-
298
- module AuthenticationMethod
299
- extend Telnyx::Internal::Type::Enum
300
-
301
- TOKEN: :token
302
- CERTIFICATE: :certificate
303
-
304
- def self?.values: -> ::Array[Telnyx::Models::AI::AssistantCreateParams::ExternalLlm::authentication_method]
305
- end
306
- end
307
-
308
- type fallback_config =
309
- {
310
- external_llm: Telnyx::AI::AssistantCreateParams::FallbackConfig::ExternalLlm,
311
- llm_api_key_ref: String,
312
- model: String
313
- }
314
-
315
- class FallbackConfig < Telnyx::Internal::Type::BaseModel
316
- attr_reader external_llm: Telnyx::AI::AssistantCreateParams::FallbackConfig::ExternalLlm?
317
-
318
- def external_llm=: (
319
- Telnyx::AI::AssistantCreateParams::FallbackConfig::ExternalLlm
320
- ) -> Telnyx::AI::AssistantCreateParams::FallbackConfig::ExternalLlm
321
-
322
- attr_reader llm_api_key_ref: String?
323
-
324
- def llm_api_key_ref=: (String) -> String
325
-
326
- attr_reader model: String?
327
-
328
- def model=: (String) -> String
329
-
330
- def initialize: (
331
- ?external_llm: Telnyx::AI::AssistantCreateParams::FallbackConfig::ExternalLlm,
332
- ?llm_api_key_ref: String,
333
- ?model: String
334
- ) -> void
335
-
336
- def to_hash: -> {
337
- external_llm: Telnyx::AI::AssistantCreateParams::FallbackConfig::ExternalLlm,
338
- llm_api_key_ref: String,
339
- model: String
340
- }
341
-
342
- type external_llm =
343
- {
344
- base_url: String,
345
- model: String,
346
- authentication_method: Telnyx::Models::AI::AssistantCreateParams::FallbackConfig::ExternalLlm::authentication_method,
347
- certificate_ref: String,
348
- forward_metadata: bool,
349
- llm_api_key_ref: String,
350
- token_retrieval_url: String
351
- }
352
-
353
- class ExternalLlm < Telnyx::Internal::Type::BaseModel
354
- attr_accessor base_url: String
355
-
356
- attr_accessor model: String
357
-
358
- attr_reader authentication_method: Telnyx::Models::AI::AssistantCreateParams::FallbackConfig::ExternalLlm::authentication_method?
359
-
360
- def authentication_method=: (
361
- Telnyx::Models::AI::AssistantCreateParams::FallbackConfig::ExternalLlm::authentication_method
362
- ) -> Telnyx::Models::AI::AssistantCreateParams::FallbackConfig::ExternalLlm::authentication_method
363
-
364
- attr_reader certificate_ref: String?
365
-
366
- def certificate_ref=: (String) -> String
367
-
368
- attr_reader forward_metadata: bool?
369
-
370
- def forward_metadata=: (bool) -> bool
371
-
372
- attr_reader llm_api_key_ref: String?
373
-
374
- def llm_api_key_ref=: (String) -> String
375
-
376
- attr_reader token_retrieval_url: String?
377
-
378
- def token_retrieval_url=: (String) -> String
379
-
380
- def initialize: (
381
- base_url: String,
382
- model: String,
383
- ?authentication_method: Telnyx::Models::AI::AssistantCreateParams::FallbackConfig::ExternalLlm::authentication_method,
384
- ?certificate_ref: String,
385
- ?forward_metadata: bool,
386
- ?llm_api_key_ref: String,
387
- ?token_retrieval_url: String
388
- ) -> void
389
-
390
- def to_hash: -> {
391
- base_url: String,
392
- model: String,
393
- authentication_method: Telnyx::Models::AI::AssistantCreateParams::FallbackConfig::ExternalLlm::authentication_method,
394
- certificate_ref: String,
395
- forward_metadata: bool,
396
- llm_api_key_ref: String,
397
- token_retrieval_url: String
398
- }
399
-
400
- type authentication_method = :token | :certificate
401
-
402
- module AuthenticationMethod
403
- extend Telnyx::Internal::Type::Enum
404
-
405
- TOKEN: :token
406
- CERTIFICATE: :certificate
407
-
408
- def self?.values: -> ::Array[Telnyx::Models::AI::AssistantCreateParams::FallbackConfig::ExternalLlm::authentication_method]
409
- end
410
- end
411
- end
412
-
413
238
  type integration =
414
239
  { integration_id: String, allowed_list: ::Array[String] }
415
240
 
@@ -533,18 +358,6 @@ module Telnyx
533
358
 
534
359
  def to_hash: -> { id: String, allowed_tools: ::Array[String] }
535
360
  end
536
-
537
- type post_conversation_settings = { enabled: bool }
538
-
539
- class PostConversationSettings < Telnyx::Internal::Type::BaseModel
540
- attr_reader enabled: bool?
541
-
542
- def enabled=: (bool) -> bool
543
-
544
- def initialize: (?enabled: bool) -> void
545
-
546
- def to_hash: -> { enabled: bool }
547
- end
548
361
  end
549
362
  end
550
363
  end