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