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,1793 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ class UacConnectionUpdateResponse < Telnyx::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Telnyx::Models::UacConnectionUpdateResponse,
10
+ Telnyx::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # A UAC (User Agent Client) Connection registers Telnyx to your PBX — the opposite
15
+ # of a standard SIP trunk, where the PBX registers to Telnyx. Use UAC when your
16
+ # PBX doesn’t support outbound SIP registration or you need Telnyx to maintain the
17
+ # registration.
18
+ sig do
19
+ returns(T.nilable(Telnyx::Models::UacConnectionUpdateResponse::Data))
20
+ end
21
+ attr_reader :data
22
+
23
+ sig do
24
+ params(
25
+ data: Telnyx::Models::UacConnectionUpdateResponse::Data::OrHash
26
+ ).void
27
+ end
28
+ attr_writer :data
29
+
30
+ sig do
31
+ params(
32
+ data: Telnyx::Models::UacConnectionUpdateResponse::Data::OrHash
33
+ ).returns(T.attached_class)
34
+ end
35
+ def self.new(
36
+ # A UAC (User Agent Client) Connection registers Telnyx to your PBX — the opposite
37
+ # of a standard SIP trunk, where the PBX registers to Telnyx. Use UAC when your
38
+ # PBX doesn’t support outbound SIP registration or you need Telnyx to maintain the
39
+ # registration.
40
+ data: nil
41
+ )
42
+ end
43
+
44
+ sig do
45
+ override.returns(
46
+ { data: Telnyx::Models::UacConnectionUpdateResponse::Data }
47
+ )
48
+ end
49
+ def to_hash
50
+ end
51
+
52
+ class Data < Telnyx::Internal::Type::BaseModel
53
+ OrHash =
54
+ T.type_alias do
55
+ T.any(
56
+ Telnyx::Models::UacConnectionUpdateResponse::Data,
57
+ Telnyx::Internal::AnyHash
58
+ )
59
+ end
60
+
61
+ # Identifies the type of resource.
62
+ sig { returns(T.nilable(String)) }
63
+ attr_reader :id
64
+
65
+ sig { params(id: String).void }
66
+ attr_writer :id
67
+
68
+ # Defaults to true
69
+ sig { returns(T.nilable(T::Boolean)) }
70
+ attr_reader :active
71
+
72
+ sig { params(active: T::Boolean).void }
73
+ attr_writer :active
74
+
75
+ # `Latency` directs Telnyx to route media through the site with the lowest
76
+ # round-trip time to the user's connection. Telnyx calculates this time using ICMP
77
+ # ping messages. This can be disabled by specifying a site to handle all media.
78
+ sig { returns(T.nilable(Telnyx::AnchorsiteOverride::TaggedSymbol)) }
79
+ attr_reader :anchorsite_override
80
+
81
+ sig do
82
+ params(anchorsite_override: Telnyx::AnchorsiteOverride::OrSymbol).void
83
+ end
84
+ attr_writer :anchorsite_override
85
+
86
+ # The uuid of the push credential for Android
87
+ sig { returns(T.nilable(String)) }
88
+ attr_accessor :android_push_credential_id
89
+
90
+ # The authentication strategy used by this connection.
91
+ sig do
92
+ returns(
93
+ T.nilable(
94
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Authentication::TaggedSymbol
95
+ )
96
+ )
97
+ end
98
+ attr_reader :authentication
99
+
100
+ sig do
101
+ params(
102
+ authentication:
103
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Authentication::OrSymbol
104
+ ).void
105
+ end
106
+ attr_writer :authentication
107
+
108
+ # Specifies if call cost webhooks should be sent for this connection.
109
+ sig { returns(T.nilable(T::Boolean)) }
110
+ attr_reader :call_cost_in_webhooks
111
+
112
+ sig { params(call_cost_in_webhooks: T::Boolean).void }
113
+ attr_writer :call_cost_in_webhooks
114
+
115
+ sig { returns(T.nilable(String)) }
116
+ attr_reader :connection_name
117
+
118
+ sig { params(connection_name: String).void }
119
+ attr_writer :connection_name
120
+
121
+ # ISO-8601 formatted date indicating when the resource was created.
122
+ sig { returns(T.nilable(String)) }
123
+ attr_reader :created_at
124
+
125
+ sig { params(created_at: String).void }
126
+ attr_writer :created_at
127
+
128
+ # When enabled, Telnyx will generate comfort noise when you place the call on
129
+ # hold. If disabled, you will need to generate comfort noise or on hold music to
130
+ # avoid RTP timeout.
131
+ sig { returns(T.nilable(T::Boolean)) }
132
+ attr_reader :default_on_hold_comfort_noise_enabled
133
+
134
+ sig { params(default_on_hold_comfort_noise_enabled: T::Boolean).void }
135
+ attr_writer :default_on_hold_comfort_noise_enabled
136
+
137
+ # Sets the type of DTMF digits sent from Telnyx to this Connection. Note that DTMF
138
+ # digits sent to Telnyx will be accepted in all formats.
139
+ sig { returns(T.nilable(Telnyx::DtmfType::TaggedSymbol)) }
140
+ attr_reader :dtmf_type
141
+
142
+ sig { params(dtmf_type: Telnyx::DtmfType::OrSymbol).void }
143
+ attr_writer :dtmf_type
144
+
145
+ # Encode the SIP contact header sent by Telnyx to avoid issues for NAT or ALG
146
+ # scenarios.
147
+ sig { returns(T.nilable(T::Boolean)) }
148
+ attr_reader :encode_contact_header_enabled
149
+
150
+ sig { params(encode_contact_header_enabled: T::Boolean).void }
151
+ attr_writer :encode_contact_header_enabled
152
+
153
+ # Enable use of SRTP for encryption. Cannot be set if the transport_portocol is
154
+ # TLS.
155
+ sig { returns(T.nilable(Telnyx::EncryptedMedia::TaggedSymbol)) }
156
+ attr_accessor :encrypted_media
157
+
158
+ # External SIP peer settings used by Telnyx when registering to your PBX and
159
+ # routing outbound calls.
160
+ sig do
161
+ returns(
162
+ T.nilable(
163
+ Telnyx::Models::UacConnectionUpdateResponse::Data::ExternalUacSettings
164
+ )
165
+ )
166
+ end
167
+ attr_reader :external_uac_settings
168
+
169
+ sig do
170
+ params(
171
+ external_uac_settings:
172
+ Telnyx::Models::UacConnectionUpdateResponse::Data::ExternalUacSettings::OrHash
173
+ ).void
174
+ end
175
+ attr_writer :external_uac_settings
176
+
177
+ # The Telnyx-managed FQDN generated for the UAC connection.
178
+ sig { returns(T.nilable(String)) }
179
+ attr_reader :fqdn
180
+
181
+ sig { params(fqdn: String).void }
182
+ attr_writer :fqdn
183
+
184
+ # The fixed outbound authentication mode used by UAC FQDN records.
185
+ sig do
186
+ returns(
187
+ T.nilable(
188
+ Telnyx::Models::UacConnectionUpdateResponse::Data::FqdnOutboundAuthentication::TaggedSymbol
189
+ )
190
+ )
191
+ end
192
+ attr_reader :fqdn_outbound_authentication
193
+
194
+ sig do
195
+ params(
196
+ fqdn_outbound_authentication:
197
+ Telnyx::Models::UacConnectionUpdateResponse::Data::FqdnOutboundAuthentication::OrSymbol
198
+ ).void
199
+ end
200
+ attr_writer :fqdn_outbound_authentication
201
+
202
+ # FQDN records managed automatically by the UAC connection lifecycle.
203
+ sig { returns(T.nilable(T::Array[Telnyx::Fqdn])) }
204
+ attr_reader :fqdns
205
+
206
+ sig { params(fqdns: T::Array[Telnyx::Fqdn::OrHash]).void }
207
+ attr_writer :fqdns
208
+
209
+ sig do
210
+ returns(
211
+ T.nilable(
212
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound
213
+ )
214
+ )
215
+ end
216
+ attr_reader :inbound
217
+
218
+ sig do
219
+ params(
220
+ inbound:
221
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::OrHash
222
+ ).void
223
+ end
224
+ attr_writer :inbound
225
+
226
+ # Internal Telnyx-side settings for a UAC connection.
227
+ sig do
228
+ returns(
229
+ T.nilable(
230
+ Telnyx::Models::UacConnectionUpdateResponse::Data::InternalUacSettings
231
+ )
232
+ )
233
+ end
234
+ attr_reader :internal_uac_settings
235
+
236
+ sig do
237
+ params(
238
+ internal_uac_settings:
239
+ Telnyx::Models::UacConnectionUpdateResponse::Data::InternalUacSettings::OrHash
240
+ ).void
241
+ end
242
+ attr_writer :internal_uac_settings
243
+
244
+ # The uuid of the push credential for Ios
245
+ sig { returns(T.nilable(String)) }
246
+ attr_accessor :ios_push_credential_id
247
+
248
+ # Configuration options for Jitter Buffer. Enables Jitter Buffer for RTP streams
249
+ # of SIP Trunking calls. The feature is off unless enabled. You may define min and
250
+ # max values in msec for customized buffering behaviors. Larger values add latency
251
+ # but tolerate more jitter, while smaller values reduce latency but are more
252
+ # sensitive to jitter and reordering.
253
+ sig { returns(T.nilable(Telnyx::ConnectionJitterBuffer)) }
254
+ attr_reader :jitter_buffer
255
+
256
+ sig do
257
+ params(jitter_buffer: Telnyx::ConnectionJitterBuffer::OrHash).void
258
+ end
259
+ attr_writer :jitter_buffer
260
+
261
+ # Controls when noise suppression is applied to calls. When set to 'inbound',
262
+ # noise suppression is applied to incoming audio. When set to 'outbound', it's
263
+ # applied to outgoing audio. When set to 'both', it's applied in both directions.
264
+ # When set to 'disabled', noise suppression is turned off.
265
+ sig do
266
+ returns(
267
+ T.nilable(
268
+ Telnyx::Models::UacConnectionUpdateResponse::Data::NoiseSuppression::TaggedSymbol
269
+ )
270
+ )
271
+ end
272
+ attr_reader :noise_suppression
273
+
274
+ sig do
275
+ params(
276
+ noise_suppression:
277
+ Telnyx::Models::UacConnectionUpdateResponse::Data::NoiseSuppression::OrSymbol
278
+ ).void
279
+ end
280
+ attr_writer :noise_suppression
281
+
282
+ # Configuration options for noise suppression. These settings are stored
283
+ # regardless of the noise_suppression value, but only take effect when
284
+ # noise_suppression is not 'disabled'. If you disable noise suppression and later
285
+ # re-enable it, the previously configured settings will be used.
286
+ sig { returns(T.nilable(Telnyx::ConnectionNoiseSuppressionDetails)) }
287
+ attr_reader :noise_suppression_details
288
+
289
+ sig do
290
+ params(
291
+ noise_suppression_details:
292
+ Telnyx::ConnectionNoiseSuppressionDetails::OrHash
293
+ ).void
294
+ end
295
+ attr_writer :noise_suppression_details
296
+
297
+ # Enable on-net T38 if you prefer the sender and receiver negotiating T38 directly
298
+ # if both are on the Telnyx network. If this is disabled, Telnyx will be able to
299
+ # use T38 on just one leg of the call depending on each leg's settings.
300
+ sig { returns(T.nilable(T::Boolean)) }
301
+ attr_reader :onnet_t38_passthrough_enabled
302
+
303
+ sig { params(onnet_t38_passthrough_enabled: T::Boolean).void }
304
+ attr_writer :onnet_t38_passthrough_enabled
305
+
306
+ sig do
307
+ returns(
308
+ T.nilable(
309
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Outbound
310
+ )
311
+ )
312
+ end
313
+ attr_reader :outbound
314
+
315
+ sig do
316
+ params(
317
+ outbound:
318
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Outbound::OrHash
319
+ ).void
320
+ end
321
+ attr_writer :outbound
322
+
323
+ # The password to be used as part of the credentials. Must be 8 to 128 characters
324
+ # long.
325
+ sig { returns(T.nilable(String)) }
326
+ attr_reader :password
327
+
328
+ sig { params(password: String).void }
329
+ attr_writer :password
330
+
331
+ # Identifies the type of the resource.
332
+ sig { returns(T.nilable(String)) }
333
+ attr_reader :record_type
334
+
335
+ sig { params(record_type: String).void }
336
+ attr_writer :record_type
337
+
338
+ # The most recently known SIP registration status for this UAC connection.
339
+ sig { returns(T.nilable(String)) }
340
+ attr_accessor :registration_status
341
+
342
+ # ISO 8601 formatted date indicating when the registration status was last
343
+ # updated.
344
+ sig { returns(T.nilable(String)) }
345
+ attr_accessor :registration_status_updated_at
346
+
347
+ sig { returns(T.nilable(Telnyx::ConnectionRtcpSettings)) }
348
+ attr_reader :rtcp_settings
349
+
350
+ sig do
351
+ params(rtcp_settings: Telnyx::ConnectionRtcpSettings::OrHash).void
352
+ end
353
+ attr_writer :rtcp_settings
354
+
355
+ # This feature enables inbound SIP URI calls to your Credential Auth Connection.
356
+ # If enabled for all (unrestricted) then anyone who calls the SIP URI
357
+ # <your-username>@telnyx.com will be connected to your Connection. You can also
358
+ # choose to allow only calls that are originated on any Connections under your
359
+ # account (internal).
360
+ sig do
361
+ returns(
362
+ T.nilable(
363
+ Telnyx::Models::UacConnectionUpdateResponse::Data::SipUriCallingPreference::TaggedSymbol
364
+ )
365
+ )
366
+ end
367
+ attr_reader :sip_uri_calling_preference
368
+
369
+ sig do
370
+ params(
371
+ sip_uri_calling_preference:
372
+ Telnyx::Models::UacConnectionUpdateResponse::Data::SipUriCallingPreference::OrSymbol
373
+ ).void
374
+ end
375
+ attr_writer :sip_uri_calling_preference
376
+
377
+ # Tags associated with the connection.
378
+ sig { returns(T.nilable(T::Array[String])) }
379
+ attr_reader :tags
380
+
381
+ sig { params(tags: T::Array[String]).void }
382
+ attr_writer :tags
383
+
384
+ # ISO-8601 formatted date indicating when the resource was updated.
385
+ sig { returns(T.nilable(String)) }
386
+ attr_reader :updated_at
387
+
388
+ sig { params(updated_at: String).void }
389
+ attr_writer :updated_at
390
+
391
+ # The user name to be used as part of the credentials. Must be 4-32 characters
392
+ # long and alphanumeric values only (no spaces or special characters). At least
393
+ # one of the first 5 characters must be a letter.
394
+ sig { returns(T.nilable(String)) }
395
+ attr_reader :user_name
396
+
397
+ sig { params(user_name: String).void }
398
+ attr_writer :user_name
399
+
400
+ # Determines which webhook format will be used, Telnyx API v1 or v2.
401
+ sig do
402
+ returns(
403
+ T.nilable(
404
+ Telnyx::Models::UacConnectionUpdateResponse::Data::WebhookAPIVersion::TaggedSymbol
405
+ )
406
+ )
407
+ end
408
+ attr_reader :webhook_api_version
409
+
410
+ sig do
411
+ params(
412
+ webhook_api_version:
413
+ Telnyx::Models::UacConnectionUpdateResponse::Data::WebhookAPIVersion::OrSymbol
414
+ ).void
415
+ end
416
+ attr_writer :webhook_api_version
417
+
418
+ # The failover URL where webhooks related to this connection will be sent if
419
+ # sending to the primary URL fails. Must include a scheme, such as 'https'.
420
+ sig { returns(T.nilable(String)) }
421
+ attr_accessor :webhook_event_failover_url
422
+
423
+ # The URL where webhooks related to this connection will be sent. Must include a
424
+ # scheme, such as 'https'.
425
+ sig { returns(T.nilable(String)) }
426
+ attr_reader :webhook_event_url
427
+
428
+ sig { params(webhook_event_url: String).void }
429
+ attr_writer :webhook_event_url
430
+
431
+ # Specifies how many seconds to wait before timing out a webhook.
432
+ sig { returns(T.nilable(Integer)) }
433
+ attr_accessor :webhook_timeout_secs
434
+
435
+ # A UAC (User Agent Client) Connection registers Telnyx to your PBX — the opposite
436
+ # of a standard SIP trunk, where the PBX registers to Telnyx. Use UAC when your
437
+ # PBX doesn’t support outbound SIP registration or you need Telnyx to maintain the
438
+ # registration.
439
+ sig do
440
+ params(
441
+ id: String,
442
+ active: T::Boolean,
443
+ anchorsite_override: Telnyx::AnchorsiteOverride::OrSymbol,
444
+ android_push_credential_id: T.nilable(String),
445
+ authentication:
446
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Authentication::OrSymbol,
447
+ call_cost_in_webhooks: T::Boolean,
448
+ connection_name: String,
449
+ created_at: String,
450
+ default_on_hold_comfort_noise_enabled: T::Boolean,
451
+ dtmf_type: Telnyx::DtmfType::OrSymbol,
452
+ encode_contact_header_enabled: T::Boolean,
453
+ encrypted_media: T.nilable(Telnyx::EncryptedMedia::OrSymbol),
454
+ external_uac_settings:
455
+ Telnyx::Models::UacConnectionUpdateResponse::Data::ExternalUacSettings::OrHash,
456
+ fqdn: String,
457
+ fqdn_outbound_authentication:
458
+ Telnyx::Models::UacConnectionUpdateResponse::Data::FqdnOutboundAuthentication::OrSymbol,
459
+ fqdns: T::Array[Telnyx::Fqdn::OrHash],
460
+ inbound:
461
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::OrHash,
462
+ internal_uac_settings:
463
+ Telnyx::Models::UacConnectionUpdateResponse::Data::InternalUacSettings::OrHash,
464
+ ios_push_credential_id: T.nilable(String),
465
+ jitter_buffer: Telnyx::ConnectionJitterBuffer::OrHash,
466
+ noise_suppression:
467
+ Telnyx::Models::UacConnectionUpdateResponse::Data::NoiseSuppression::OrSymbol,
468
+ noise_suppression_details:
469
+ Telnyx::ConnectionNoiseSuppressionDetails::OrHash,
470
+ onnet_t38_passthrough_enabled: T::Boolean,
471
+ outbound:
472
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Outbound::OrHash,
473
+ password: String,
474
+ record_type: String,
475
+ registration_status: T.nilable(String),
476
+ registration_status_updated_at: T.nilable(String),
477
+ rtcp_settings: Telnyx::ConnectionRtcpSettings::OrHash,
478
+ sip_uri_calling_preference:
479
+ Telnyx::Models::UacConnectionUpdateResponse::Data::SipUriCallingPreference::OrSymbol,
480
+ tags: T::Array[String],
481
+ updated_at: String,
482
+ user_name: String,
483
+ webhook_api_version:
484
+ Telnyx::Models::UacConnectionUpdateResponse::Data::WebhookAPIVersion::OrSymbol,
485
+ webhook_event_failover_url: T.nilable(String),
486
+ webhook_event_url: String,
487
+ webhook_timeout_secs: T.nilable(Integer)
488
+ ).returns(T.attached_class)
489
+ end
490
+ def self.new(
491
+ # Identifies the type of resource.
492
+ id: nil,
493
+ # Defaults to true
494
+ active: nil,
495
+ # `Latency` directs Telnyx to route media through the site with the lowest
496
+ # round-trip time to the user's connection. Telnyx calculates this time using ICMP
497
+ # ping messages. This can be disabled by specifying a site to handle all media.
498
+ anchorsite_override: nil,
499
+ # The uuid of the push credential for Android
500
+ android_push_credential_id: nil,
501
+ # The authentication strategy used by this connection.
502
+ authentication: nil,
503
+ # Specifies if call cost webhooks should be sent for this connection.
504
+ call_cost_in_webhooks: nil,
505
+ connection_name: nil,
506
+ # ISO-8601 formatted date indicating when the resource was created.
507
+ created_at: nil,
508
+ # When enabled, Telnyx will generate comfort noise when you place the call on
509
+ # hold. If disabled, you will need to generate comfort noise or on hold music to
510
+ # avoid RTP timeout.
511
+ default_on_hold_comfort_noise_enabled: nil,
512
+ # Sets the type of DTMF digits sent from Telnyx to this Connection. Note that DTMF
513
+ # digits sent to Telnyx will be accepted in all formats.
514
+ dtmf_type: nil,
515
+ # Encode the SIP contact header sent by Telnyx to avoid issues for NAT or ALG
516
+ # scenarios.
517
+ encode_contact_header_enabled: nil,
518
+ # Enable use of SRTP for encryption. Cannot be set if the transport_portocol is
519
+ # TLS.
520
+ encrypted_media: nil,
521
+ # External SIP peer settings used by Telnyx when registering to your PBX and
522
+ # routing outbound calls.
523
+ external_uac_settings: nil,
524
+ # The Telnyx-managed FQDN generated for the UAC connection.
525
+ fqdn: nil,
526
+ # The fixed outbound authentication mode used by UAC FQDN records.
527
+ fqdn_outbound_authentication: nil,
528
+ # FQDN records managed automatically by the UAC connection lifecycle.
529
+ fqdns: nil,
530
+ inbound: nil,
531
+ # Internal Telnyx-side settings for a UAC connection.
532
+ internal_uac_settings: nil,
533
+ # The uuid of the push credential for Ios
534
+ ios_push_credential_id: nil,
535
+ # Configuration options for Jitter Buffer. Enables Jitter Buffer for RTP streams
536
+ # of SIP Trunking calls. The feature is off unless enabled. You may define min and
537
+ # max values in msec for customized buffering behaviors. Larger values add latency
538
+ # but tolerate more jitter, while smaller values reduce latency but are more
539
+ # sensitive to jitter and reordering.
540
+ jitter_buffer: nil,
541
+ # Controls when noise suppression is applied to calls. When set to 'inbound',
542
+ # noise suppression is applied to incoming audio. When set to 'outbound', it's
543
+ # applied to outgoing audio. When set to 'both', it's applied in both directions.
544
+ # When set to 'disabled', noise suppression is turned off.
545
+ noise_suppression: nil,
546
+ # Configuration options for noise suppression. These settings are stored
547
+ # regardless of the noise_suppression value, but only take effect when
548
+ # noise_suppression is not 'disabled'. If you disable noise suppression and later
549
+ # re-enable it, the previously configured settings will be used.
550
+ noise_suppression_details: nil,
551
+ # Enable on-net T38 if you prefer the sender and receiver negotiating T38 directly
552
+ # if both are on the Telnyx network. If this is disabled, Telnyx will be able to
553
+ # use T38 on just one leg of the call depending on each leg's settings.
554
+ onnet_t38_passthrough_enabled: nil,
555
+ outbound: nil,
556
+ # The password to be used as part of the credentials. Must be 8 to 128 characters
557
+ # long.
558
+ password: nil,
559
+ # Identifies the type of the resource.
560
+ record_type: nil,
561
+ # The most recently known SIP registration status for this UAC connection.
562
+ registration_status: nil,
563
+ # ISO 8601 formatted date indicating when the registration status was last
564
+ # updated.
565
+ registration_status_updated_at: nil,
566
+ rtcp_settings: nil,
567
+ # This feature enables inbound SIP URI calls to your Credential Auth Connection.
568
+ # If enabled for all (unrestricted) then anyone who calls the SIP URI
569
+ # <your-username>@telnyx.com will be connected to your Connection. You can also
570
+ # choose to allow only calls that are originated on any Connections under your
571
+ # account (internal).
572
+ sip_uri_calling_preference: nil,
573
+ # Tags associated with the connection.
574
+ tags: nil,
575
+ # ISO-8601 formatted date indicating when the resource was updated.
576
+ updated_at: nil,
577
+ # The user name to be used as part of the credentials. Must be 4-32 characters
578
+ # long and alphanumeric values only (no spaces or special characters). At least
579
+ # one of the first 5 characters must be a letter.
580
+ user_name: nil,
581
+ # Determines which webhook format will be used, Telnyx API v1 or v2.
582
+ webhook_api_version: nil,
583
+ # The failover URL where webhooks related to this connection will be sent if
584
+ # sending to the primary URL fails. Must include a scheme, such as 'https'.
585
+ webhook_event_failover_url: nil,
586
+ # The URL where webhooks related to this connection will be sent. Must include a
587
+ # scheme, such as 'https'.
588
+ webhook_event_url: nil,
589
+ # Specifies how many seconds to wait before timing out a webhook.
590
+ webhook_timeout_secs: nil
591
+ )
592
+ end
593
+
594
+ sig do
595
+ override.returns(
596
+ {
597
+ id: String,
598
+ active: T::Boolean,
599
+ anchorsite_override: Telnyx::AnchorsiteOverride::TaggedSymbol,
600
+ android_push_credential_id: T.nilable(String),
601
+ authentication:
602
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Authentication::TaggedSymbol,
603
+ call_cost_in_webhooks: T::Boolean,
604
+ connection_name: String,
605
+ created_at: String,
606
+ default_on_hold_comfort_noise_enabled: T::Boolean,
607
+ dtmf_type: Telnyx::DtmfType::TaggedSymbol,
608
+ encode_contact_header_enabled: T::Boolean,
609
+ encrypted_media: T.nilable(Telnyx::EncryptedMedia::TaggedSymbol),
610
+ external_uac_settings:
611
+ Telnyx::Models::UacConnectionUpdateResponse::Data::ExternalUacSettings,
612
+ fqdn: String,
613
+ fqdn_outbound_authentication:
614
+ Telnyx::Models::UacConnectionUpdateResponse::Data::FqdnOutboundAuthentication::TaggedSymbol,
615
+ fqdns: T::Array[Telnyx::Fqdn],
616
+ inbound:
617
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound,
618
+ internal_uac_settings:
619
+ Telnyx::Models::UacConnectionUpdateResponse::Data::InternalUacSettings,
620
+ ios_push_credential_id: T.nilable(String),
621
+ jitter_buffer: Telnyx::ConnectionJitterBuffer,
622
+ noise_suppression:
623
+ Telnyx::Models::UacConnectionUpdateResponse::Data::NoiseSuppression::TaggedSymbol,
624
+ noise_suppression_details:
625
+ Telnyx::ConnectionNoiseSuppressionDetails,
626
+ onnet_t38_passthrough_enabled: T::Boolean,
627
+ outbound:
628
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Outbound,
629
+ password: String,
630
+ record_type: String,
631
+ registration_status: T.nilable(String),
632
+ registration_status_updated_at: T.nilable(String),
633
+ rtcp_settings: Telnyx::ConnectionRtcpSettings,
634
+ sip_uri_calling_preference:
635
+ Telnyx::Models::UacConnectionUpdateResponse::Data::SipUriCallingPreference::TaggedSymbol,
636
+ tags: T::Array[String],
637
+ updated_at: String,
638
+ user_name: String,
639
+ webhook_api_version:
640
+ Telnyx::Models::UacConnectionUpdateResponse::Data::WebhookAPIVersion::TaggedSymbol,
641
+ webhook_event_failover_url: T.nilable(String),
642
+ webhook_event_url: String,
643
+ webhook_timeout_secs: T.nilable(Integer)
644
+ }
645
+ )
646
+ end
647
+ def to_hash
648
+ end
649
+
650
+ # The authentication strategy used by this connection.
651
+ module Authentication
652
+ extend Telnyx::Internal::Type::Enum
653
+
654
+ TaggedSymbol =
655
+ T.type_alias do
656
+ T.all(
657
+ Symbol,
658
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Authentication
659
+ )
660
+ end
661
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
662
+
663
+ UAC_AUTHENTICATION =
664
+ T.let(
665
+ :"uac-authentication",
666
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Authentication::TaggedSymbol
667
+ )
668
+
669
+ sig do
670
+ override.returns(
671
+ T::Array[
672
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Authentication::TaggedSymbol
673
+ ]
674
+ )
675
+ end
676
+ def self.values
677
+ end
678
+ end
679
+
680
+ class ExternalUacSettings < Telnyx::Internal::Type::BaseModel
681
+ OrHash =
682
+ T.type_alias do
683
+ T.any(
684
+ Telnyx::Models::UacConnectionUpdateResponse::Data::ExternalUacSettings,
685
+ Telnyx::Internal::AnyHash
686
+ )
687
+ end
688
+
689
+ # The authentication username used in SIP digest authentication. If not set, the
690
+ # Username value will be used.
691
+ sig { returns(T.nilable(String)) }
692
+ attr_accessor :auth_username
693
+
694
+ # The registration interval, in seconds, indicating how often the system refreshes
695
+ # the SIP registration with the external SIP peer.
696
+ sig { returns(T.nilable(Integer)) }
697
+ attr_accessor :expiration_sec
698
+
699
+ # The user portion of the SIP From header used in outbound requests. This controls
700
+ # the caller identity presented to the external SIP peer.
701
+ sig { returns(T.nilable(String)) }
702
+ attr_accessor :from_user
703
+
704
+ # An optional SIP proxy used to route outbound requests before reaching the
705
+ # external SIP peer.
706
+ sig { returns(T.nilable(String)) }
707
+ attr_accessor :outbound_proxy
708
+
709
+ # The SIP password used for digest authentication with the external SIP peer.
710
+ sig { returns(T.nilable(String)) }
711
+ attr_reader :password
712
+
713
+ sig { params(password: String).void }
714
+ attr_writer :password
715
+
716
+ # The SIP proxy address of the external SIP peer used for registrations and
717
+ # outbound call routing.
718
+ sig { returns(T.nilable(String)) }
719
+ attr_reader :proxy
720
+
721
+ sig { params(proxy: String).void }
722
+ attr_writer :proxy
723
+
724
+ # The transport protocol used for SIP signaling when communicating with the
725
+ # external SIP peer. One of UDP, TLS, or TCP.
726
+ sig do
727
+ returns(
728
+ T.nilable(
729
+ Telnyx::Models::UacConnectionUpdateResponse::Data::ExternalUacSettings::Transport::TaggedSymbol
730
+ )
731
+ )
732
+ end
733
+ attr_accessor :transport
734
+
735
+ # The SIP username used to authenticate with the external SIP peer for
736
+ # registrations and outbound calls. Must start with a letter or number and contain
737
+ # only letters, numbers, hyphens, and underscores.
738
+ sig { returns(T.nilable(String)) }
739
+ attr_reader :username
740
+
741
+ sig { params(username: String).void }
742
+ attr_writer :username
743
+
744
+ # External SIP peer settings used by Telnyx when registering to your PBX and
745
+ # routing outbound calls.
746
+ sig do
747
+ params(
748
+ auth_username: T.nilable(String),
749
+ expiration_sec: T.nilable(Integer),
750
+ from_user: T.nilable(String),
751
+ outbound_proxy: T.nilable(String),
752
+ password: String,
753
+ proxy: String,
754
+ transport:
755
+ T.nilable(
756
+ Telnyx::Models::UacConnectionUpdateResponse::Data::ExternalUacSettings::Transport::OrSymbol
757
+ ),
758
+ username: String
759
+ ).returns(T.attached_class)
760
+ end
761
+ def self.new(
762
+ # The authentication username used in SIP digest authentication. If not set, the
763
+ # Username value will be used.
764
+ auth_username: nil,
765
+ # The registration interval, in seconds, indicating how often the system refreshes
766
+ # the SIP registration with the external SIP peer.
767
+ expiration_sec: nil,
768
+ # The user portion of the SIP From header used in outbound requests. This controls
769
+ # the caller identity presented to the external SIP peer.
770
+ from_user: nil,
771
+ # An optional SIP proxy used to route outbound requests before reaching the
772
+ # external SIP peer.
773
+ outbound_proxy: nil,
774
+ # The SIP password used for digest authentication with the external SIP peer.
775
+ password: nil,
776
+ # The SIP proxy address of the external SIP peer used for registrations and
777
+ # outbound call routing.
778
+ proxy: nil,
779
+ # The transport protocol used for SIP signaling when communicating with the
780
+ # external SIP peer. One of UDP, TLS, or TCP.
781
+ transport: nil,
782
+ # The SIP username used to authenticate with the external SIP peer for
783
+ # registrations and outbound calls. Must start with a letter or number and contain
784
+ # only letters, numbers, hyphens, and underscores.
785
+ username: nil
786
+ )
787
+ end
788
+
789
+ sig do
790
+ override.returns(
791
+ {
792
+ auth_username: T.nilable(String),
793
+ expiration_sec: T.nilable(Integer),
794
+ from_user: T.nilable(String),
795
+ outbound_proxy: T.nilable(String),
796
+ password: String,
797
+ proxy: String,
798
+ transport:
799
+ T.nilable(
800
+ Telnyx::Models::UacConnectionUpdateResponse::Data::ExternalUacSettings::Transport::TaggedSymbol
801
+ ),
802
+ username: String
803
+ }
804
+ )
805
+ end
806
+ def to_hash
807
+ end
808
+
809
+ # The transport protocol used for SIP signaling when communicating with the
810
+ # external SIP peer. One of UDP, TLS, or TCP.
811
+ module Transport
812
+ extend Telnyx::Internal::Type::Enum
813
+
814
+ TaggedSymbol =
815
+ T.type_alias do
816
+ T.all(
817
+ Symbol,
818
+ Telnyx::Models::UacConnectionUpdateResponse::Data::ExternalUacSettings::Transport
819
+ )
820
+ end
821
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
822
+
823
+ UDP =
824
+ T.let(
825
+ :UDP,
826
+ Telnyx::Models::UacConnectionUpdateResponse::Data::ExternalUacSettings::Transport::TaggedSymbol
827
+ )
828
+ TLS =
829
+ T.let(
830
+ :TLS,
831
+ Telnyx::Models::UacConnectionUpdateResponse::Data::ExternalUacSettings::Transport::TaggedSymbol
832
+ )
833
+ TCP =
834
+ T.let(
835
+ :TCP,
836
+ Telnyx::Models::UacConnectionUpdateResponse::Data::ExternalUacSettings::Transport::TaggedSymbol
837
+ )
838
+
839
+ sig do
840
+ override.returns(
841
+ T::Array[
842
+ Telnyx::Models::UacConnectionUpdateResponse::Data::ExternalUacSettings::Transport::TaggedSymbol
843
+ ]
844
+ )
845
+ end
846
+ def self.values
847
+ end
848
+ end
849
+ end
850
+
851
+ # The fixed outbound authentication mode used by UAC FQDN records.
852
+ module FqdnOutboundAuthentication
853
+ extend Telnyx::Internal::Type::Enum
854
+
855
+ TaggedSymbol =
856
+ T.type_alias do
857
+ T.all(
858
+ Symbol,
859
+ Telnyx::Models::UacConnectionUpdateResponse::Data::FqdnOutboundAuthentication
860
+ )
861
+ end
862
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
863
+
864
+ CREDENTIAL_AUTHENTICATION =
865
+ T.let(
866
+ :"credential-authentication",
867
+ Telnyx::Models::UacConnectionUpdateResponse::Data::FqdnOutboundAuthentication::TaggedSymbol
868
+ )
869
+
870
+ sig do
871
+ override.returns(
872
+ T::Array[
873
+ Telnyx::Models::UacConnectionUpdateResponse::Data::FqdnOutboundAuthentication::TaggedSymbol
874
+ ]
875
+ )
876
+ end
877
+ def self.values
878
+ end
879
+ end
880
+
881
+ class Inbound < Telnyx::Internal::Type::BaseModel
882
+ OrHash =
883
+ T.type_alias do
884
+ T.any(
885
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound,
886
+ Telnyx::Internal::AnyHash
887
+ )
888
+ end
889
+
890
+ # This setting allows you to set the format with which the caller's number (ANI)
891
+ # is sent for inbound phone calls.
892
+ sig do
893
+ returns(
894
+ T.nilable(
895
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::AniNumberFormat::TaggedSymbol
896
+ )
897
+ )
898
+ end
899
+ attr_reader :ani_number_format
900
+
901
+ sig do
902
+ params(
903
+ ani_number_format:
904
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::AniNumberFormat::OrSymbol
905
+ ).void
906
+ end
907
+ attr_writer :ani_number_format
908
+
909
+ # When set, this will limit the total number of inbound calls to phone numbers
910
+ # associated with this connection.
911
+ sig { returns(T.nilable(Integer)) }
912
+ attr_reader :channel_limit
913
+
914
+ sig { params(channel_limit: Integer).void }
915
+ attr_writer :channel_limit
916
+
917
+ # Defines the list of codecs that Telnyx will send for inbound calls to a specific
918
+ # number on your portal account, in priority order. This only works when the
919
+ # Connection the number is assigned to uses Media Handling mode: default. OPUS and
920
+ # H.264 codecs are available only when using TCP or TLS transport for SIP.
921
+ sig { returns(T.nilable(T::Array[String])) }
922
+ attr_reader :codecs
923
+
924
+ sig { params(codecs: T::Array[String]).void }
925
+ attr_writer :codecs
926
+
927
+ # Default routing method to be used when a number is associated with the
928
+ # connection. Must be one of the routing method types or left blank, other values
929
+ # are not allowed.
930
+ sig do
931
+ returns(
932
+ T.nilable(
933
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::DefaultRoutingMethod::TaggedSymbol
934
+ )
935
+ )
936
+ end
937
+ attr_reader :default_routing_method
938
+
939
+ sig do
940
+ params(
941
+ default_routing_method:
942
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::DefaultRoutingMethod::OrSymbol
943
+ ).void
944
+ end
945
+ attr_writer :default_routing_method
946
+
947
+ sig do
948
+ returns(
949
+ T.nilable(
950
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::DnisNumberFormat::TaggedSymbol
951
+ )
952
+ )
953
+ end
954
+ attr_reader :dnis_number_format
955
+
956
+ sig do
957
+ params(
958
+ dnis_number_format:
959
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::DnisNumberFormat::OrSymbol
960
+ ).void
961
+ end
962
+ attr_writer :dnis_number_format
963
+
964
+ # Generate ringback tone through 183 session progress message with early media.
965
+ sig { returns(T.nilable(T::Boolean)) }
966
+ attr_reader :generate_ringback_tone
967
+
968
+ sig { params(generate_ringback_tone: T::Boolean).void }
969
+ attr_writer :generate_ringback_tone
970
+
971
+ # When set, inbound phone calls will receive ISUP parameters via SIP headers.
972
+ # (Only when available and only when using TCP or TLS transport.)
973
+ sig { returns(T.nilable(T::Boolean)) }
974
+ attr_reader :isup_headers_enabled
975
+
976
+ sig { params(isup_headers_enabled: T::Boolean).void }
977
+ attr_writer :isup_headers_enabled
978
+
979
+ # Enable PRACK messages as defined in RFC3262.
980
+ sig { returns(T.nilable(T::Boolean)) }
981
+ attr_reader :prack_enabled
982
+
983
+ sig { params(prack_enabled: T::Boolean).void }
984
+ attr_writer :prack_enabled
985
+
986
+ # When enabled the SIP Connection will receive the Identity header with
987
+ # Shaken/Stir data in the SIP INVITE message of inbound calls, even when using UDP
988
+ # transport.
989
+ sig { returns(T.nilable(T::Boolean)) }
990
+ attr_reader :shaken_stir_enabled
991
+
992
+ sig { params(shaken_stir_enabled: T::Boolean).void }
993
+ attr_writer :shaken_stir_enabled
994
+
995
+ # When enabled, allows multiple devices to ring simultaneously on incoming calls.
996
+ sig do
997
+ returns(
998
+ T.nilable(
999
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::SimultaneousRinging::TaggedSymbol
1000
+ )
1001
+ )
1002
+ end
1003
+ attr_reader :simultaneous_ringing
1004
+
1005
+ sig do
1006
+ params(
1007
+ simultaneous_ringing:
1008
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::SimultaneousRinging::OrSymbol
1009
+ ).void
1010
+ end
1011
+ attr_writer :simultaneous_ringing
1012
+
1013
+ # Defaults to true.
1014
+ sig { returns(T.nilable(T::Boolean)) }
1015
+ attr_reader :sip_compact_headers_enabled
1016
+
1017
+ sig { params(sip_compact_headers_enabled: T::Boolean).void }
1018
+ attr_writer :sip_compact_headers_enabled
1019
+
1020
+ # The Telnyx-generated SIP subdomain for this UAC connection.
1021
+ sig { returns(T.nilable(String)) }
1022
+ attr_reader :sip_subdomain
1023
+
1024
+ sig { params(sip_subdomain: String).void }
1025
+ attr_writer :sip_subdomain
1026
+
1027
+ # Controls which SIP URI callers may reach this connection.
1028
+ sig do
1029
+ returns(
1030
+ T.nilable(
1031
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::SipSubdomainReceiveSettings::TaggedSymbol
1032
+ )
1033
+ )
1034
+ end
1035
+ attr_reader :sip_subdomain_receive_settings
1036
+
1037
+ sig do
1038
+ params(
1039
+ sip_subdomain_receive_settings:
1040
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::SipSubdomainReceiveSettings::OrSymbol
1041
+ ).void
1042
+ end
1043
+ attr_writer :sip_subdomain_receive_settings
1044
+
1045
+ # Time(sec) before aborting if connection is not made.
1046
+ sig { returns(T.nilable(Integer)) }
1047
+ attr_reader :timeout_1xx_secs
1048
+
1049
+ sig { params(timeout_1xx_secs: Integer).void }
1050
+ attr_writer :timeout_1xx_secs
1051
+
1052
+ # Time(sec) before aborting if call is unanswered (min: 1, max: 600).
1053
+ sig { returns(T.nilable(Integer)) }
1054
+ attr_reader :timeout_2xx_secs
1055
+
1056
+ sig { params(timeout_2xx_secs: Integer).void }
1057
+ attr_writer :timeout_2xx_secs
1058
+
1059
+ sig do
1060
+ params(
1061
+ ani_number_format:
1062
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::AniNumberFormat::OrSymbol,
1063
+ channel_limit: Integer,
1064
+ codecs: T::Array[String],
1065
+ default_routing_method:
1066
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::DefaultRoutingMethod::OrSymbol,
1067
+ dnis_number_format:
1068
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::DnisNumberFormat::OrSymbol,
1069
+ generate_ringback_tone: T::Boolean,
1070
+ isup_headers_enabled: T::Boolean,
1071
+ prack_enabled: T::Boolean,
1072
+ shaken_stir_enabled: T::Boolean,
1073
+ simultaneous_ringing:
1074
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::SimultaneousRinging::OrSymbol,
1075
+ sip_compact_headers_enabled: T::Boolean,
1076
+ sip_subdomain: String,
1077
+ sip_subdomain_receive_settings:
1078
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::SipSubdomainReceiveSettings::OrSymbol,
1079
+ timeout_1xx_secs: Integer,
1080
+ timeout_2xx_secs: Integer
1081
+ ).returns(T.attached_class)
1082
+ end
1083
+ def self.new(
1084
+ # This setting allows you to set the format with which the caller's number (ANI)
1085
+ # is sent for inbound phone calls.
1086
+ ani_number_format: nil,
1087
+ # When set, this will limit the total number of inbound calls to phone numbers
1088
+ # associated with this connection.
1089
+ channel_limit: nil,
1090
+ # Defines the list of codecs that Telnyx will send for inbound calls to a specific
1091
+ # number on your portal account, in priority order. This only works when the
1092
+ # Connection the number is assigned to uses Media Handling mode: default. OPUS and
1093
+ # H.264 codecs are available only when using TCP or TLS transport for SIP.
1094
+ codecs: nil,
1095
+ # Default routing method to be used when a number is associated with the
1096
+ # connection. Must be one of the routing method types or left blank, other values
1097
+ # are not allowed.
1098
+ default_routing_method: nil,
1099
+ dnis_number_format: nil,
1100
+ # Generate ringback tone through 183 session progress message with early media.
1101
+ generate_ringback_tone: nil,
1102
+ # When set, inbound phone calls will receive ISUP parameters via SIP headers.
1103
+ # (Only when available and only when using TCP or TLS transport.)
1104
+ isup_headers_enabled: nil,
1105
+ # Enable PRACK messages as defined in RFC3262.
1106
+ prack_enabled: nil,
1107
+ # When enabled the SIP Connection will receive the Identity header with
1108
+ # Shaken/Stir data in the SIP INVITE message of inbound calls, even when using UDP
1109
+ # transport.
1110
+ shaken_stir_enabled: nil,
1111
+ # When enabled, allows multiple devices to ring simultaneously on incoming calls.
1112
+ simultaneous_ringing: nil,
1113
+ # Defaults to true.
1114
+ sip_compact_headers_enabled: nil,
1115
+ # The Telnyx-generated SIP subdomain for this UAC connection.
1116
+ sip_subdomain: nil,
1117
+ # Controls which SIP URI callers may reach this connection.
1118
+ sip_subdomain_receive_settings: nil,
1119
+ # Time(sec) before aborting if connection is not made.
1120
+ timeout_1xx_secs: nil,
1121
+ # Time(sec) before aborting if call is unanswered (min: 1, max: 600).
1122
+ timeout_2xx_secs: nil
1123
+ )
1124
+ end
1125
+
1126
+ sig do
1127
+ override.returns(
1128
+ {
1129
+ ani_number_format:
1130
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::AniNumberFormat::TaggedSymbol,
1131
+ channel_limit: Integer,
1132
+ codecs: T::Array[String],
1133
+ default_routing_method:
1134
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::DefaultRoutingMethod::TaggedSymbol,
1135
+ dnis_number_format:
1136
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::DnisNumberFormat::TaggedSymbol,
1137
+ generate_ringback_tone: T::Boolean,
1138
+ isup_headers_enabled: T::Boolean,
1139
+ prack_enabled: T::Boolean,
1140
+ shaken_stir_enabled: T::Boolean,
1141
+ simultaneous_ringing:
1142
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::SimultaneousRinging::TaggedSymbol,
1143
+ sip_compact_headers_enabled: T::Boolean,
1144
+ sip_subdomain: String,
1145
+ sip_subdomain_receive_settings:
1146
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::SipSubdomainReceiveSettings::TaggedSymbol,
1147
+ timeout_1xx_secs: Integer,
1148
+ timeout_2xx_secs: Integer
1149
+ }
1150
+ )
1151
+ end
1152
+ def to_hash
1153
+ end
1154
+
1155
+ # This setting allows you to set the format with which the caller's number (ANI)
1156
+ # is sent for inbound phone calls.
1157
+ module AniNumberFormat
1158
+ extend Telnyx::Internal::Type::Enum
1159
+
1160
+ TaggedSymbol =
1161
+ T.type_alias do
1162
+ T.all(
1163
+ Symbol,
1164
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::AniNumberFormat
1165
+ )
1166
+ end
1167
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1168
+
1169
+ PLUS_E_164 =
1170
+ T.let(
1171
+ :"+E.164",
1172
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::AniNumberFormat::TaggedSymbol
1173
+ )
1174
+ E_164 =
1175
+ T.let(
1176
+ :"E.164",
1177
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::AniNumberFormat::TaggedSymbol
1178
+ )
1179
+ PLUS_E_164_NATIONAL =
1180
+ T.let(
1181
+ :"+E.164-national",
1182
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::AniNumberFormat::TaggedSymbol
1183
+ )
1184
+ E_164_NATIONAL =
1185
+ T.let(
1186
+ :"E.164-national",
1187
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::AniNumberFormat::TaggedSymbol
1188
+ )
1189
+
1190
+ sig do
1191
+ override.returns(
1192
+ T::Array[
1193
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::AniNumberFormat::TaggedSymbol
1194
+ ]
1195
+ )
1196
+ end
1197
+ def self.values
1198
+ end
1199
+ end
1200
+
1201
+ # Default routing method to be used when a number is associated with the
1202
+ # connection. Must be one of the routing method types or left blank, other values
1203
+ # are not allowed.
1204
+ module DefaultRoutingMethod
1205
+ extend Telnyx::Internal::Type::Enum
1206
+
1207
+ TaggedSymbol =
1208
+ T.type_alias do
1209
+ T.all(
1210
+ Symbol,
1211
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::DefaultRoutingMethod
1212
+ )
1213
+ end
1214
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1215
+
1216
+ SEQUENTIAL =
1217
+ T.let(
1218
+ :sequential,
1219
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::DefaultRoutingMethod::TaggedSymbol
1220
+ )
1221
+ ROUND_ROBIN =
1222
+ T.let(
1223
+ :"round-robin",
1224
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::DefaultRoutingMethod::TaggedSymbol
1225
+ )
1226
+
1227
+ sig do
1228
+ override.returns(
1229
+ T::Array[
1230
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::DefaultRoutingMethod::TaggedSymbol
1231
+ ]
1232
+ )
1233
+ end
1234
+ def self.values
1235
+ end
1236
+ end
1237
+
1238
+ module DnisNumberFormat
1239
+ extend Telnyx::Internal::Type::Enum
1240
+
1241
+ TaggedSymbol =
1242
+ T.type_alias do
1243
+ T.all(
1244
+ Symbol,
1245
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::DnisNumberFormat
1246
+ )
1247
+ end
1248
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1249
+
1250
+ PLUS_E164 =
1251
+ T.let(
1252
+ :"+e164",
1253
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::DnisNumberFormat::TaggedSymbol
1254
+ )
1255
+ E164 =
1256
+ T.let(
1257
+ :e164,
1258
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::DnisNumberFormat::TaggedSymbol
1259
+ )
1260
+ NATIONAL =
1261
+ T.let(
1262
+ :national,
1263
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::DnisNumberFormat::TaggedSymbol
1264
+ )
1265
+ SIP_USERNAME =
1266
+ T.let(
1267
+ :sip_username,
1268
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::DnisNumberFormat::TaggedSymbol
1269
+ )
1270
+
1271
+ sig do
1272
+ override.returns(
1273
+ T::Array[
1274
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::DnisNumberFormat::TaggedSymbol
1275
+ ]
1276
+ )
1277
+ end
1278
+ def self.values
1279
+ end
1280
+ end
1281
+
1282
+ # When enabled, allows multiple devices to ring simultaneously on incoming calls.
1283
+ module SimultaneousRinging
1284
+ extend Telnyx::Internal::Type::Enum
1285
+
1286
+ TaggedSymbol =
1287
+ T.type_alias do
1288
+ T.all(
1289
+ Symbol,
1290
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::SimultaneousRinging
1291
+ )
1292
+ end
1293
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1294
+
1295
+ DISABLED =
1296
+ T.let(
1297
+ :disabled,
1298
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::SimultaneousRinging::TaggedSymbol
1299
+ )
1300
+ ENABLED =
1301
+ T.let(
1302
+ :enabled,
1303
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::SimultaneousRinging::TaggedSymbol
1304
+ )
1305
+
1306
+ sig do
1307
+ override.returns(
1308
+ T::Array[
1309
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::SimultaneousRinging::TaggedSymbol
1310
+ ]
1311
+ )
1312
+ end
1313
+ def self.values
1314
+ end
1315
+ end
1316
+
1317
+ # Controls which SIP URI callers may reach this connection.
1318
+ module SipSubdomainReceiveSettings
1319
+ extend Telnyx::Internal::Type::Enum
1320
+
1321
+ TaggedSymbol =
1322
+ T.type_alias do
1323
+ T.all(
1324
+ Symbol,
1325
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::SipSubdomainReceiveSettings
1326
+ )
1327
+ end
1328
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1329
+
1330
+ ONLY_MY_CONNECTIONS =
1331
+ T.let(
1332
+ :only_my_connections,
1333
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::SipSubdomainReceiveSettings::TaggedSymbol
1334
+ )
1335
+ FROM_ANYONE =
1336
+ T.let(
1337
+ :from_anyone,
1338
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::SipSubdomainReceiveSettings::TaggedSymbol
1339
+ )
1340
+
1341
+ sig do
1342
+ override.returns(
1343
+ T::Array[
1344
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Inbound::SipSubdomainReceiveSettings::TaggedSymbol
1345
+ ]
1346
+ )
1347
+ end
1348
+ def self.values
1349
+ end
1350
+ end
1351
+ end
1352
+
1353
+ class InternalUacSettings < Telnyx::Internal::Type::BaseModel
1354
+ OrHash =
1355
+ T.type_alias do
1356
+ T.any(
1357
+ Telnyx::Models::UacConnectionUpdateResponse::Data::InternalUacSettings,
1358
+ Telnyx::Internal::AnyHash
1359
+ )
1360
+ end
1361
+
1362
+ # The SIP URI that Telnyx will call when handling an inbound request from the
1363
+ # external peer. Do not include a `sip:` prefix. The value must be in the format
1364
+ # `userinfo@[subdomain.]sip.telnyx.com` or
1365
+ # `userinfo@[subdomain.]sipdev.telnyx.com`; the userinfo portion may contain only
1366
+ # letters, digits, hyphens, and underscores.
1367
+ sig { returns(T.nilable(String)) }
1368
+ attr_reader :destination_uri
1369
+
1370
+ sig { params(destination_uri: String).void }
1371
+ attr_writer :destination_uri
1372
+
1373
+ # Internal Telnyx-side settings for a UAC connection.
1374
+ sig { params(destination_uri: String).returns(T.attached_class) }
1375
+ def self.new(
1376
+ # The SIP URI that Telnyx will call when handling an inbound request from the
1377
+ # external peer. Do not include a `sip:` prefix. The value must be in the format
1378
+ # `userinfo@[subdomain.]sip.telnyx.com` or
1379
+ # `userinfo@[subdomain.]sipdev.telnyx.com`; the userinfo portion may contain only
1380
+ # letters, digits, hyphens, and underscores.
1381
+ destination_uri: nil
1382
+ )
1383
+ end
1384
+
1385
+ sig { override.returns({ destination_uri: String }) }
1386
+ def to_hash
1387
+ end
1388
+ end
1389
+
1390
+ # Controls when noise suppression is applied to calls. When set to 'inbound',
1391
+ # noise suppression is applied to incoming audio. When set to 'outbound', it's
1392
+ # applied to outgoing audio. When set to 'both', it's applied in both directions.
1393
+ # When set to 'disabled', noise suppression is turned off.
1394
+ module NoiseSuppression
1395
+ extend Telnyx::Internal::Type::Enum
1396
+
1397
+ TaggedSymbol =
1398
+ T.type_alias do
1399
+ T.all(
1400
+ Symbol,
1401
+ Telnyx::Models::UacConnectionUpdateResponse::Data::NoiseSuppression
1402
+ )
1403
+ end
1404
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1405
+
1406
+ INBOUND =
1407
+ T.let(
1408
+ :inbound,
1409
+ Telnyx::Models::UacConnectionUpdateResponse::Data::NoiseSuppression::TaggedSymbol
1410
+ )
1411
+ OUTBOUND =
1412
+ T.let(
1413
+ :outbound,
1414
+ Telnyx::Models::UacConnectionUpdateResponse::Data::NoiseSuppression::TaggedSymbol
1415
+ )
1416
+ BOTH =
1417
+ T.let(
1418
+ :both,
1419
+ Telnyx::Models::UacConnectionUpdateResponse::Data::NoiseSuppression::TaggedSymbol
1420
+ )
1421
+ DISABLED =
1422
+ T.let(
1423
+ :disabled,
1424
+ Telnyx::Models::UacConnectionUpdateResponse::Data::NoiseSuppression::TaggedSymbol
1425
+ )
1426
+
1427
+ sig do
1428
+ override.returns(
1429
+ T::Array[
1430
+ Telnyx::Models::UacConnectionUpdateResponse::Data::NoiseSuppression::TaggedSymbol
1431
+ ]
1432
+ )
1433
+ end
1434
+ def self.values
1435
+ end
1436
+ end
1437
+
1438
+ class Outbound < Telnyx::Internal::Type::BaseModel
1439
+ OrHash =
1440
+ T.type_alias do
1441
+ T.any(
1442
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Outbound,
1443
+ Telnyx::Internal::AnyHash
1444
+ )
1445
+ end
1446
+
1447
+ # Set a phone number as the ani_override value to override caller id number on
1448
+ # outbound calls.
1449
+ sig { returns(T.nilable(String)) }
1450
+ attr_reader :ani_override
1451
+
1452
+ sig { params(ani_override: String).void }
1453
+ attr_writer :ani_override
1454
+
1455
+ # Specifies when we apply your ani_override setting. Only applies when
1456
+ # ani_override is not blank.
1457
+ sig do
1458
+ returns(
1459
+ T.nilable(
1460
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Outbound::AniOverrideType::TaggedSymbol
1461
+ )
1462
+ )
1463
+ end
1464
+ attr_reader :ani_override_type
1465
+
1466
+ sig do
1467
+ params(
1468
+ ani_override_type:
1469
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Outbound::AniOverrideType::OrSymbol
1470
+ ).void
1471
+ end
1472
+ attr_writer :ani_override_type
1473
+
1474
+ # Forces all SIP calls originated on this connection to be "parked" instead of
1475
+ # "bridged" to the destination specified on the URI. Parked calls will return
1476
+ # ringback to the caller and will await for a Call Control command to define which
1477
+ # action will be taken next.
1478
+ sig { returns(T.nilable(T::Boolean)) }
1479
+ attr_accessor :call_parking_enabled
1480
+
1481
+ # When set, this will limit the total number of outbound calls to phone numbers
1482
+ # associated with this connection.
1483
+ sig { returns(T.nilable(Integer)) }
1484
+ attr_reader :channel_limit
1485
+
1486
+ sig { params(channel_limit: Integer).void }
1487
+ attr_writer :channel_limit
1488
+
1489
+ # Generate ringback tone through 183 session progress message with early media.
1490
+ sig { returns(T.nilable(T::Boolean)) }
1491
+ attr_reader :generate_ringback_tone
1492
+
1493
+ sig { params(generate_ringback_tone: T::Boolean).void }
1494
+ attr_writer :generate_ringback_tone
1495
+
1496
+ # When set, ringback will not wait for indication before sending ringback tone to
1497
+ # calling party.
1498
+ sig { returns(T.nilable(T::Boolean)) }
1499
+ attr_reader :instant_ringback_enabled
1500
+
1501
+ sig { params(instant_ringback_enabled: T::Boolean).void }
1502
+ attr_writer :instant_ringback_enabled
1503
+
1504
+ # A 2-character country code specifying the country whose national dialing rules
1505
+ # should be used. For example, if set to `US` then any US number can be dialed
1506
+ # without preprending +1 to the number. When left blank, Telnyx will try US and GB
1507
+ # dialing rules, in that order, by default.
1508
+ sig { returns(T.nilable(String)) }
1509
+ attr_reader :localization
1510
+
1511
+ sig { params(localization: String).void }
1512
+ attr_writer :localization
1513
+
1514
+ # Identifies the associated outbound voice profile.
1515
+ sig { returns(T.nilable(String)) }
1516
+ attr_reader :outbound_voice_profile_id
1517
+
1518
+ sig { params(outbound_voice_profile_id: String).void }
1519
+ attr_writer :outbound_voice_profile_id
1520
+
1521
+ # This setting only affects connections with Fax-type Outbound Voice Profiles. The
1522
+ # setting dictates whether or not Telnyx sends a t.38 reinvite.<br/><br/> By
1523
+ # default, Telnyx will send the re-invite. If set to `customer`, the caller is
1524
+ # expected to send the t.38 reinvite.
1525
+ sig do
1526
+ returns(
1527
+ T.nilable(
1528
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Outbound::T38ReinviteSource::TaggedSymbol
1529
+ )
1530
+ )
1531
+ end
1532
+ attr_reader :t38_reinvite_source
1533
+
1534
+ sig do
1535
+ params(
1536
+ t38_reinvite_source:
1537
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Outbound::T38ReinviteSource::OrSymbol
1538
+ ).void
1539
+ end
1540
+ attr_writer :t38_reinvite_source
1541
+
1542
+ sig do
1543
+ params(
1544
+ ani_override: String,
1545
+ ani_override_type:
1546
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Outbound::AniOverrideType::OrSymbol,
1547
+ call_parking_enabled: T.nilable(T::Boolean),
1548
+ channel_limit: Integer,
1549
+ generate_ringback_tone: T::Boolean,
1550
+ instant_ringback_enabled: T::Boolean,
1551
+ localization: String,
1552
+ outbound_voice_profile_id: String,
1553
+ t38_reinvite_source:
1554
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Outbound::T38ReinviteSource::OrSymbol
1555
+ ).returns(T.attached_class)
1556
+ end
1557
+ def self.new(
1558
+ # Set a phone number as the ani_override value to override caller id number on
1559
+ # outbound calls.
1560
+ ani_override: nil,
1561
+ # Specifies when we apply your ani_override setting. Only applies when
1562
+ # ani_override is not blank.
1563
+ ani_override_type: nil,
1564
+ # Forces all SIP calls originated on this connection to be "parked" instead of
1565
+ # "bridged" to the destination specified on the URI. Parked calls will return
1566
+ # ringback to the caller and will await for a Call Control command to define which
1567
+ # action will be taken next.
1568
+ call_parking_enabled: nil,
1569
+ # When set, this will limit the total number of outbound calls to phone numbers
1570
+ # associated with this connection.
1571
+ channel_limit: nil,
1572
+ # Generate ringback tone through 183 session progress message with early media.
1573
+ generate_ringback_tone: nil,
1574
+ # When set, ringback will not wait for indication before sending ringback tone to
1575
+ # calling party.
1576
+ instant_ringback_enabled: nil,
1577
+ # A 2-character country code specifying the country whose national dialing rules
1578
+ # should be used. For example, if set to `US` then any US number can be dialed
1579
+ # without preprending +1 to the number. When left blank, Telnyx will try US and GB
1580
+ # dialing rules, in that order, by default.
1581
+ localization: nil,
1582
+ # Identifies the associated outbound voice profile.
1583
+ outbound_voice_profile_id: nil,
1584
+ # This setting only affects connections with Fax-type Outbound Voice Profiles. The
1585
+ # setting dictates whether or not Telnyx sends a t.38 reinvite.<br/><br/> By
1586
+ # default, Telnyx will send the re-invite. If set to `customer`, the caller is
1587
+ # expected to send the t.38 reinvite.
1588
+ t38_reinvite_source: nil
1589
+ )
1590
+ end
1591
+
1592
+ sig do
1593
+ override.returns(
1594
+ {
1595
+ ani_override: String,
1596
+ ani_override_type:
1597
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Outbound::AniOverrideType::TaggedSymbol,
1598
+ call_parking_enabled: T.nilable(T::Boolean),
1599
+ channel_limit: Integer,
1600
+ generate_ringback_tone: T::Boolean,
1601
+ instant_ringback_enabled: T::Boolean,
1602
+ localization: String,
1603
+ outbound_voice_profile_id: String,
1604
+ t38_reinvite_source:
1605
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Outbound::T38ReinviteSource::TaggedSymbol
1606
+ }
1607
+ )
1608
+ end
1609
+ def to_hash
1610
+ end
1611
+
1612
+ # Specifies when we apply your ani_override setting. Only applies when
1613
+ # ani_override is not blank.
1614
+ module AniOverrideType
1615
+ extend Telnyx::Internal::Type::Enum
1616
+
1617
+ TaggedSymbol =
1618
+ T.type_alias do
1619
+ T.all(
1620
+ Symbol,
1621
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Outbound::AniOverrideType
1622
+ )
1623
+ end
1624
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1625
+
1626
+ ALWAYS =
1627
+ T.let(
1628
+ :always,
1629
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Outbound::AniOverrideType::TaggedSymbol
1630
+ )
1631
+ NORMAL =
1632
+ T.let(
1633
+ :normal,
1634
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Outbound::AniOverrideType::TaggedSymbol
1635
+ )
1636
+ EMERGENCY =
1637
+ T.let(
1638
+ :emergency,
1639
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Outbound::AniOverrideType::TaggedSymbol
1640
+ )
1641
+
1642
+ sig do
1643
+ override.returns(
1644
+ T::Array[
1645
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Outbound::AniOverrideType::TaggedSymbol
1646
+ ]
1647
+ )
1648
+ end
1649
+ def self.values
1650
+ end
1651
+ end
1652
+
1653
+ # This setting only affects connections with Fax-type Outbound Voice Profiles. The
1654
+ # setting dictates whether or not Telnyx sends a t.38 reinvite.<br/><br/> By
1655
+ # default, Telnyx will send the re-invite. If set to `customer`, the caller is
1656
+ # expected to send the t.38 reinvite.
1657
+ module T38ReinviteSource
1658
+ extend Telnyx::Internal::Type::Enum
1659
+
1660
+ TaggedSymbol =
1661
+ T.type_alias do
1662
+ T.all(
1663
+ Symbol,
1664
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Outbound::T38ReinviteSource
1665
+ )
1666
+ end
1667
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1668
+
1669
+ TELNYX =
1670
+ T.let(
1671
+ :telnyx,
1672
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Outbound::T38ReinviteSource::TaggedSymbol
1673
+ )
1674
+ CUSTOMER =
1675
+ T.let(
1676
+ :customer,
1677
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Outbound::T38ReinviteSource::TaggedSymbol
1678
+ )
1679
+ DISABLED =
1680
+ T.let(
1681
+ :disabled,
1682
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Outbound::T38ReinviteSource::TaggedSymbol
1683
+ )
1684
+ PASSTHRU =
1685
+ T.let(
1686
+ :passthru,
1687
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Outbound::T38ReinviteSource::TaggedSymbol
1688
+ )
1689
+ CALLER_PASSTHRU =
1690
+ T.let(
1691
+ :"caller-passthru",
1692
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Outbound::T38ReinviteSource::TaggedSymbol
1693
+ )
1694
+ CALLEE_PASSTHRU =
1695
+ T.let(
1696
+ :"callee-passthru",
1697
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Outbound::T38ReinviteSource::TaggedSymbol
1698
+ )
1699
+
1700
+ sig do
1701
+ override.returns(
1702
+ T::Array[
1703
+ Telnyx::Models::UacConnectionUpdateResponse::Data::Outbound::T38ReinviteSource::TaggedSymbol
1704
+ ]
1705
+ )
1706
+ end
1707
+ def self.values
1708
+ end
1709
+ end
1710
+ end
1711
+
1712
+ # This feature enables inbound SIP URI calls to your Credential Auth Connection.
1713
+ # If enabled for all (unrestricted) then anyone who calls the SIP URI
1714
+ # <your-username>@telnyx.com will be connected to your Connection. You can also
1715
+ # choose to allow only calls that are originated on any Connections under your
1716
+ # account (internal).
1717
+ module SipUriCallingPreference
1718
+ extend Telnyx::Internal::Type::Enum
1719
+
1720
+ TaggedSymbol =
1721
+ T.type_alias do
1722
+ T.all(
1723
+ Symbol,
1724
+ Telnyx::Models::UacConnectionUpdateResponse::Data::SipUriCallingPreference
1725
+ )
1726
+ end
1727
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1728
+
1729
+ DISABLED =
1730
+ T.let(
1731
+ :disabled,
1732
+ Telnyx::Models::UacConnectionUpdateResponse::Data::SipUriCallingPreference::TaggedSymbol
1733
+ )
1734
+ UNRESTRICTED =
1735
+ T.let(
1736
+ :unrestricted,
1737
+ Telnyx::Models::UacConnectionUpdateResponse::Data::SipUriCallingPreference::TaggedSymbol
1738
+ )
1739
+ INTERNAL =
1740
+ T.let(
1741
+ :internal,
1742
+ Telnyx::Models::UacConnectionUpdateResponse::Data::SipUriCallingPreference::TaggedSymbol
1743
+ )
1744
+
1745
+ sig do
1746
+ override.returns(
1747
+ T::Array[
1748
+ Telnyx::Models::UacConnectionUpdateResponse::Data::SipUriCallingPreference::TaggedSymbol
1749
+ ]
1750
+ )
1751
+ end
1752
+ def self.values
1753
+ end
1754
+ end
1755
+
1756
+ # Determines which webhook format will be used, Telnyx API v1 or v2.
1757
+ module WebhookAPIVersion
1758
+ extend Telnyx::Internal::Type::Enum
1759
+
1760
+ TaggedSymbol =
1761
+ T.type_alias do
1762
+ T.all(
1763
+ Symbol,
1764
+ Telnyx::Models::UacConnectionUpdateResponse::Data::WebhookAPIVersion
1765
+ )
1766
+ end
1767
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1768
+
1769
+ V1 =
1770
+ T.let(
1771
+ :"1",
1772
+ Telnyx::Models::UacConnectionUpdateResponse::Data::WebhookAPIVersion::TaggedSymbol
1773
+ )
1774
+ V2 =
1775
+ T.let(
1776
+ :"2",
1777
+ Telnyx::Models::UacConnectionUpdateResponse::Data::WebhookAPIVersion::TaggedSymbol
1778
+ )
1779
+
1780
+ sig do
1781
+ override.returns(
1782
+ T::Array[
1783
+ Telnyx::Models::UacConnectionUpdateResponse::Data::WebhookAPIVersion::TaggedSymbol
1784
+ ]
1785
+ )
1786
+ end
1787
+ def self.values
1788
+ end
1789
+ end
1790
+ end
1791
+ end
1792
+ end
1793
+ end