telnyx 5.112.0 → 5.113.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (261) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +17 -0
  3. data/README.md +1 -1
  4. data/lib/telnyx/models/ai/assistant_create_params.rb +9 -178
  5. data/lib/telnyx/models/ai/assistant_integration.rb +38 -0
  6. data/lib/telnyx/models/ai/assistant_mcp_server.rb +35 -0
  7. data/lib/telnyx/models/ai/assistant_tool.rb +14 -14
  8. data/lib/telnyx/models/ai/assistant_update_params.rb +9 -178
  9. data/lib/telnyx/models/ai/assistants/canary_deploy.rb +3 -123
  10. data/lib/telnyx/models/ai/assistants/canary_deploy_response.rb +3 -125
  11. data/lib/telnyx/models/ai/assistants/clause.rb +54 -0
  12. data/lib/telnyx/models/ai/assistants/rollout_slot.rb +27 -0
  13. data/lib/telnyx/models/ai/assistants/rule_input.rb +40 -0
  14. data/lib/telnyx/models/ai/assistants/rule_output.rb +40 -0
  15. data/lib/telnyx/models/ai/assistants/serve.rb +33 -0
  16. data/lib/telnyx/models/ai/assistants/update_assistant.rb +9 -179
  17. data/lib/telnyx/models/ai/inference_embedding.rb +9 -177
  18. data/lib/telnyx/models/ai/inference_embedding_interruption_settings.rb +47 -0
  19. data/lib/telnyx/models/ai/openai_create_response_params.rb +3 -3
  20. data/lib/telnyx/models/ai/openai_list_models_response.rb +3 -210
  21. data/lib/telnyx/models/ai/start_speaking_plan.rb +37 -0
  22. data/lib/telnyx/models/ai/transcription_endpointing_plan.rb +39 -0
  23. data/lib/telnyx/models/ai/transfer_tool.rb +7 -9
  24. data/lib/telnyx/models/ai_create_response_params.rb +4 -4
  25. data/lib/telnyx/models/ai_retrieve_models_response.rb +3 -210
  26. data/lib/telnyx/models/call_conversation_ended.rb +13 -1
  27. data/lib/telnyx/models/calls/action_gather_using_ai_params.rb +4 -23
  28. data/lib/telnyx/models/calls/action_gather_using_speak_params.rb +4 -23
  29. data/lib/telnyx/models/calls/action_speak_params.rb +4 -23
  30. data/lib/telnyx/models/calls/action_start_ai_assistant_params.rb +4 -23
  31. data/lib/telnyx/models/calls/action_start_conversation_relay_params.rb +169 -118
  32. data/lib/telnyx/models/calls/transcription_engine_assemblyai_config.rb +64 -0
  33. data/lib/telnyx/models/calls/transcription_engine_speechmatics_config.rb +100 -0
  34. data/lib/telnyx/models/calls/transcription_engine_xai_config.rb +108 -0
  35. data/lib/telnyx/models/calls/transcription_start_request.rb +8 -167
  36. data/lib/telnyx/models/conferences/action_speak_params.rb +4 -23
  37. data/lib/telnyx/models/fax.rb +7 -5
  38. data/lib/telnyx/models/fax_create_params.rb +7 -5
  39. data/lib/telnyx/models/fax_delivered.rb +3 -2
  40. data/lib/telnyx/models/fax_failed.rb +3 -2
  41. data/lib/telnyx/models/fax_media_processed.rb +3 -2
  42. data/lib/telnyx/models/fax_queued.rb +3 -2
  43. data/lib/telnyx/models/fax_sending_started.rb +3 -2
  44. data/lib/telnyx/models/model_metadata.rb +212 -0
  45. data/lib/telnyx/models/network_list_interfaces_response.rb +112 -2
  46. data/lib/telnyx/models/public_internet_gateway_create_response.rb +3 -8
  47. data/lib/telnyx/models/public_internet_gateway_delete_response.rb +3 -8
  48. data/lib/telnyx/models/public_internet_gateway_read.rb +83 -0
  49. data/lib/telnyx/models/public_internet_gateway_retrieve_response.rb +3 -8
  50. data/lib/telnyx/models/texml/accounts/call_calls_params.rb +62 -12
  51. data/lib/telnyx/models/texml_initiate_ai_call_params.rb +18 -4
  52. data/lib/telnyx/models/text_to_speech_generate_params.rb +6 -6
  53. data/lib/telnyx/models/uac_connection.rb +412 -0
  54. data/lib/telnyx/models/uac_connection_create_params.rb +9 -255
  55. data/lib/telnyx/models/uac_connection_create_response.rb +3 -878
  56. data/lib/telnyx/models/uac_connection_delete_response.rb +3 -878
  57. data/lib/telnyx/models/uac_connection_retrieve_response.rb +3 -879
  58. data/lib/telnyx/models/uac_connection_update_params.rb +9 -255
  59. data/lib/telnyx/models/uac_connection_update_response.rb +3 -878
  60. data/lib/telnyx/models/uac_external_settings.rb +101 -0
  61. data/lib/telnyx/models/uac_inbound.rb +210 -0
  62. data/lib/telnyx/models/uac_internal_settings.rb +25 -0
  63. data/lib/telnyx/models/uac_outbound.rb +131 -0
  64. data/lib/telnyx/models/virtual_cross_connect_combined.rb +212 -0
  65. data/lib/telnyx/models/virtual_cross_connect_create_response.rb +3 -8
  66. data/lib/telnyx/models/virtual_cross_connect_delete_response.rb +3 -8
  67. data/lib/telnyx/models/virtual_cross_connect_retrieve_response.rb +3 -8
  68. data/lib/telnyx/models/virtual_cross_connect_update_response.rb +3 -8
  69. data/lib/telnyx/models/wireguard_interface_create_response.rb +3 -8
  70. data/lib/telnyx/models/wireguard_interface_delete_response.rb +3 -8
  71. data/lib/telnyx/models/wireguard_interface_read.rb +136 -0
  72. data/lib/telnyx/models/wireguard_interface_retrieve_response.rb +3 -8
  73. data/lib/telnyx/models/xai_voice_settings.rb +36 -0
  74. data/lib/telnyx/models.rb +20 -0
  75. data/lib/telnyx/resources/ai/assistants/canary_deploys.rb +2 -2
  76. data/lib/telnyx/resources/ai/assistants/versions.rb +3 -3
  77. data/lib/telnyx/resources/ai/assistants.rb +6 -6
  78. data/lib/telnyx/resources/ai/openai.rb +1 -1
  79. data/lib/telnyx/resources/ai.rb +3 -3
  80. data/lib/telnyx/resources/calls/actions.rb +15 -17
  81. data/lib/telnyx/resources/conferences/actions.rb +1 -1
  82. data/lib/telnyx/resources/faxes.rb +13 -1
  83. data/lib/telnyx/resources/public_internet_gateways.rb +2 -2
  84. data/lib/telnyx/resources/texml.rb +4 -2
  85. data/lib/telnyx/resources/uac_connections.rb +8 -8
  86. data/lib/telnyx/resources/virtual_cross_connects.rb +2 -2
  87. data/lib/telnyx/resources/wireguard_interfaces.rb +2 -2
  88. data/lib/telnyx/version.rb +1 -1
  89. data/lib/telnyx.rb +23 -4
  90. data/rbi/telnyx/models/ai/assistant_create_params.rbi +12 -352
  91. data/rbi/telnyx/models/ai/assistant_integration.rbi +60 -0
  92. data/rbi/telnyx/models/ai/assistant_mcp_server.rbi +51 -0
  93. data/rbi/telnyx/models/ai/assistant_tool.rbi +10 -10
  94. data/rbi/telnyx/models/ai/assistant_update_params.rbi +12 -352
  95. data/rbi/telnyx/models/ai/assistants/canary_deploy.rbi +4 -290
  96. data/rbi/telnyx/models/ai/assistants/canary_deploy_response.rbi +3 -301
  97. data/rbi/telnyx/models/ai/assistants/clause.rbi +91 -0
  98. data/rbi/telnyx/models/ai/assistants/rollout_slot.rbi +36 -0
  99. data/rbi/telnyx/models/ai/assistants/rule_input.rbi +73 -0
  100. data/rbi/telnyx/models/ai/assistants/rule_output.rbi +73 -0
  101. data/rbi/telnyx/models/ai/assistants/serve.rbi +61 -0
  102. data/rbi/telnyx/models/ai/assistants/update_assistant.rbi +12 -366
  103. data/rbi/telnyx/models/ai/inference_embedding.rbi +12 -351
  104. data/rbi/telnyx/models/ai/inference_embedding_interruption_settings.rbi +83 -0
  105. data/rbi/telnyx/models/ai/openai_create_response_params.rbi +4 -4
  106. data/rbi/telnyx/models/ai/openai_list_models_response.rbi +3 -315
  107. data/rbi/telnyx/models/ai/start_speaking_plan.rbi +70 -0
  108. data/rbi/telnyx/models/ai/transcription_endpointing_plan.rbi +71 -0
  109. data/rbi/telnyx/models/ai/transfer_tool.rbi +5 -5
  110. data/rbi/telnyx/models/ai_create_response_params.rbi +4 -4
  111. data/rbi/telnyx/models/ai_retrieve_models_response.rbi +3 -310
  112. data/rbi/telnyx/models/call_conversation_ended.rbi +10 -0
  113. data/rbi/telnyx/models/calls/action_gather_using_ai_params.rbi +5 -41
  114. data/rbi/telnyx/models/calls/action_gather_using_speak_params.rbi +5 -41
  115. data/rbi/telnyx/models/calls/action_speak_params.rbi +5 -41
  116. data/rbi/telnyx/models/calls/action_start_ai_assistant_params.rbi +5 -41
  117. data/rbi/telnyx/models/calls/action_start_conversation_relay_params.rbi +371 -254
  118. data/rbi/telnyx/models/calls/transcription_engine_assemblyai_config.rbi +155 -0
  119. data/rbi/telnyx/models/calls/transcription_engine_speechmatics_config.rbi +289 -0
  120. data/rbi/telnyx/models/calls/transcription_engine_xai_config.rbi +329 -0
  121. data/rbi/telnyx/models/calls/transcription_start_request.rbi +20 -480
  122. data/rbi/telnyx/models/conferences/action_speak_params.rbi +5 -41
  123. data/rbi/telnyx/models/fax.rbi +12 -8
  124. data/rbi/telnyx/models/fax_create_params.rbi +12 -8
  125. data/rbi/telnyx/models/fax_delivered.rbi +6 -4
  126. data/rbi/telnyx/models/fax_failed.rbi +6 -4
  127. data/rbi/telnyx/models/fax_media_processed.rbi +6 -4
  128. data/rbi/telnyx/models/fax_queued.rbi +6 -4
  129. data/rbi/telnyx/models/fax_sending_started.rbi +6 -4
  130. data/rbi/telnyx/models/model_metadata.rbi +272 -0
  131. data/rbi/telnyx/models/network_list_interfaces_response.rbi +181 -4
  132. data/rbi/telnyx/models/public_internet_gateway_create_response.rbi +6 -38
  133. data/rbi/telnyx/models/public_internet_gateway_delete_response.rbi +6 -38
  134. data/rbi/telnyx/models/public_internet_gateway_read.rbi +128 -0
  135. data/rbi/telnyx/models/public_internet_gateway_retrieve_response.rbi +6 -38
  136. data/rbi/telnyx/models/texml/accounts/call_calls_params.rbi +81 -9
  137. data/rbi/telnyx/models/texml_initiate_ai_call_params.rbi +27 -3
  138. data/rbi/telnyx/models/text_to_speech_generate_params.rbi +6 -6
  139. data/rbi/telnyx/models/uac_connection.rbi +684 -0
  140. data/rbi/telnyx/models/uac_connection_create_params.rbi +12 -516
  141. data/rbi/telnyx/models/uac_connection_create_response.rbi +4 -1756
  142. data/rbi/telnyx/models/uac_connection_delete_response.rbi +4 -1756
  143. data/rbi/telnyx/models/uac_connection_retrieve_response.rbi +4 -1756
  144. data/rbi/telnyx/models/uac_connection_update_params.rbi +12 -516
  145. data/rbi/telnyx/models/uac_connection_update_response.rbi +4 -1756
  146. data/rbi/telnyx/models/uac_external_settings.rbi +146 -0
  147. data/rbi/telnyx/models/uac_inbound.rbi +410 -0
  148. data/rbi/telnyx/models/uac_internal_settings.rbi +39 -0
  149. data/rbi/telnyx/models/uac_outbound.rbi +224 -0
  150. data/rbi/telnyx/models/virtual_cross_connect_combined.rbi +345 -0
  151. data/rbi/telnyx/models/virtual_cross_connect_create_response.rbi +6 -36
  152. data/rbi/telnyx/models/virtual_cross_connect_delete_response.rbi +6 -36
  153. data/rbi/telnyx/models/virtual_cross_connect_retrieve_response.rbi +6 -38
  154. data/rbi/telnyx/models/virtual_cross_connect_update_response.rbi +6 -36
  155. data/rbi/telnyx/models/wireguard_interface_create_response.rbi +6 -36
  156. data/rbi/telnyx/models/wireguard_interface_delete_response.rbi +6 -36
  157. data/rbi/telnyx/models/wireguard_interface_read.rbi +213 -0
  158. data/rbi/telnyx/models/wireguard_interface_retrieve_response.rbi +6 -36
  159. data/rbi/telnyx/models/xai_voice_settings.rbi +64 -0
  160. data/rbi/telnyx/models.rbi +20 -0
  161. data/rbi/telnyx/resources/ai/assistants/canary_deploys.rbi +2 -4
  162. data/rbi/telnyx/resources/ai/assistants/versions.rbi +3 -9
  163. data/rbi/telnyx/resources/ai/assistants.rbi +6 -10
  164. data/rbi/telnyx/resources/ai/openai.rbi +1 -1
  165. data/rbi/telnyx/resources/ai.rbi +2 -2
  166. data/rbi/telnyx/resources/calls/actions.rbi +24 -24
  167. data/rbi/telnyx/resources/conferences/actions.rbi +1 -1
  168. data/rbi/telnyx/resources/faxes.rbi +18 -4
  169. data/rbi/telnyx/resources/public_internet_gateways.rbi +1 -1
  170. data/rbi/telnyx/resources/texml.rbi +7 -1
  171. data/rbi/telnyx/resources/uac_connections.rbi +7 -13
  172. data/rbi/telnyx/resources/virtual_cross_connects.rbi +1 -1
  173. data/rbi/telnyx/resources/wireguard_interfaces.rbi +1 -1
  174. data/sig/telnyx/models/ai/assistant_create_params.rbs +18 -149
  175. data/sig/telnyx/models/ai/assistant_integration.rbs +26 -0
  176. data/sig/telnyx/models/ai/assistant_mcp_server.rbs +19 -0
  177. data/sig/telnyx/models/ai/assistant_tool.rbs +8 -8
  178. data/sig/telnyx/models/ai/assistant_update_params.rbs +18 -149
  179. data/sig/telnyx/models/ai/assistants/canary_deploy.rbs +6 -113
  180. data/sig/telnyx/models/ai/assistants/canary_deploy_response.rbs +4 -109
  181. data/sig/telnyx/models/ai/assistants/clause.rbs +46 -0
  182. data/sig/telnyx/models/ai/assistants/rollout_slot.rbs +19 -0
  183. data/sig/telnyx/models/ai/assistants/rule_input.rbs +33 -0
  184. data/sig/telnyx/models/ai/assistants/rule_output.rbs +33 -0
  185. data/sig/telnyx/models/ai/assistants/serve.rbs +35 -0
  186. data/sig/telnyx/models/ai/assistants/update_assistant.rbs +18 -152
  187. data/sig/telnyx/models/ai/inference_embedding.rbs +18 -149
  188. data/sig/telnyx/models/ai/inference_embedding_interruption_settings.rbs +40 -0
  189. data/sig/telnyx/models/ai/openai_create_response_params.rbs +5 -5
  190. data/sig/telnyx/models/ai/openai_list_models_response.rbs +4 -149
  191. data/sig/telnyx/models/ai/start_speaking_plan.rbs +33 -0
  192. data/sig/telnyx/models/ai/transcription_endpointing_plan.rbs +38 -0
  193. data/sig/telnyx/models/ai/transfer_tool.rbs +4 -4
  194. data/sig/telnyx/models/ai_create_response_params.rbs +5 -4
  195. data/sig/telnyx/models/ai_retrieve_models_response.rbs +4 -149
  196. data/sig/telnyx/models/call_conversation_ended.rbs +5 -0
  197. data/sig/telnyx/models/calls/action_gather_using_ai_params.rbs +1 -15
  198. data/sig/telnyx/models/calls/action_gather_using_speak_params.rbs +1 -15
  199. data/sig/telnyx/models/calls/action_speak_params.rbs +1 -15
  200. data/sig/telnyx/models/calls/action_start_ai_assistant_params.rbs +1 -15
  201. data/sig/telnyx/models/calls/action_start_conversation_relay_params.rbs +141 -102
  202. data/sig/telnyx/models/calls/transcription_engine_assemblyai_config.rbs +62 -0
  203. data/sig/telnyx/models/calls/transcription_engine_speechmatics_config.rbs +114 -0
  204. data/sig/telnyx/models/calls/transcription_engine_xai_config.rbs +130 -0
  205. data/sig/telnyx/models/calls/transcription_start_request.rbs +13 -185
  206. data/sig/telnyx/models/conferences/action_speak_params.rbs +1 -15
  207. data/sig/telnyx/models/model_metadata.rbs +142 -0
  208. data/sig/telnyx/models/network_list_interfaces_response.rbs +106 -4
  209. data/sig/telnyx/models/public_internet_gateway_create_response.rbs +6 -18
  210. data/sig/telnyx/models/public_internet_gateway_delete_response.rbs +6 -18
  211. data/sig/telnyx/models/public_internet_gateway_read.rbs +80 -0
  212. data/sig/telnyx/models/public_internet_gateway_retrieve_response.rbs +6 -18
  213. data/sig/telnyx/models/texml/accounts/call_calls_params.rbs +27 -3
  214. data/sig/telnyx/models/texml_initiate_ai_call_params.rbs +9 -1
  215. data/sig/telnyx/models/text_to_speech_generate_params.rbs +6 -6
  216. data/sig/telnyx/models/uac_connection.rbs +338 -0
  217. data/sig/telnyx/models/uac_connection_create_params.rbs +17 -211
  218. data/sig/telnyx/models/uac_connection_create_response.rbs +5 -731
  219. data/sig/telnyx/models/uac_connection_delete_response.rbs +5 -731
  220. data/sig/telnyx/models/uac_connection_retrieve_response.rbs +5 -731
  221. data/sig/telnyx/models/uac_connection_update_params.rbs +17 -211
  222. data/sig/telnyx/models/uac_connection_update_response.rbs +5 -731
  223. data/sig/telnyx/models/uac_external_settings.rbs +73 -0
  224. data/sig/telnyx/models/uac_inbound.rbs +190 -0
  225. data/sig/telnyx/models/uac_internal_settings.rbs +15 -0
  226. data/sig/telnyx/models/uac_outbound.rbs +113 -0
  227. data/sig/telnyx/models/virtual_cross_connect_combined.rbs +190 -0
  228. data/sig/telnyx/models/virtual_cross_connect_create_response.rbs +6 -18
  229. data/sig/telnyx/models/virtual_cross_connect_delete_response.rbs +6 -18
  230. data/sig/telnyx/models/virtual_cross_connect_retrieve_response.rbs +6 -18
  231. data/sig/telnyx/models/virtual_cross_connect_update_response.rbs +6 -18
  232. data/sig/telnyx/models/wireguard_interface_create_response.rbs +6 -18
  233. data/sig/telnyx/models/wireguard_interface_delete_response.rbs +6 -18
  234. data/sig/telnyx/models/wireguard_interface_read.rbs +127 -0
  235. data/sig/telnyx/models/wireguard_interface_retrieve_response.rbs +6 -18
  236. data/sig/telnyx/models/xai_voice_settings.rbs +34 -0
  237. data/sig/telnyx/models.rbs +20 -0
  238. data/sig/telnyx/resources/ai/assistants/canary_deploys.rbs +2 -2
  239. data/sig/telnyx/resources/ai/assistants/versions.rbs +3 -3
  240. data/sig/telnyx/resources/ai/assistants.rbs +6 -6
  241. data/sig/telnyx/resources/ai/openai.rbs +1 -1
  242. data/sig/telnyx/resources/ai.rbs +1 -1
  243. data/sig/telnyx/resources/calls/actions.rbs +2 -4
  244. data/sig/telnyx/resources/public_internet_gateways.rbs +1 -1
  245. data/sig/telnyx/resources/texml.rbs +1 -0
  246. data/sig/telnyx/resources/uac_connections.rbs +7 -7
  247. data/sig/telnyx/resources/virtual_cross_connects.rbs +1 -1
  248. data/sig/telnyx/resources/wireguard_interfaces.rbs +1 -1
  249. metadata +71 -14
  250. data/lib/telnyx/models/public_internet_gateway_list_response.rb +0 -10
  251. data/lib/telnyx/models/uac_connection_list_response.rb +0 -876
  252. data/lib/telnyx/models/virtual_cross_connect_list_response.rb +0 -10
  253. data/lib/telnyx/models/wireguard_interface_list_response.rb +0 -10
  254. data/rbi/telnyx/models/public_internet_gateway_list_response.rbi +0 -23
  255. data/rbi/telnyx/models/uac_connection_list_response.rbi +0 -1727
  256. data/rbi/telnyx/models/virtual_cross_connect_list_response.rbi +0 -23
  257. data/rbi/telnyx/models/wireguard_interface_list_response.rbi +0 -23
  258. data/sig/telnyx/models/public_internet_gateway_list_response.rbs +0 -11
  259. data/sig/telnyx/models/uac_connection_list_response.rbs +0 -722
  260. data/sig/telnyx/models/virtual_cross_connect_list_response.rbs +0 -11
  261. data/sig/telnyx/models/wireguard_interface_list_response.rbs +0 -11
@@ -0,0 +1,146 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ class UacExternalSettings < Telnyx::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Telnyx::UacExternalSettings, Telnyx::Internal::AnyHash)
9
+ end
10
+
11
+ # The authentication username used in SIP digest authentication. If not set, the
12
+ # Username value will be used.
13
+ sig { returns(T.nilable(String)) }
14
+ attr_accessor :auth_username
15
+
16
+ # The registration interval, in seconds, indicating how often the system refreshes
17
+ # the SIP registration with the external SIP peer.
18
+ sig { returns(T.nilable(Integer)) }
19
+ attr_accessor :expiration_sec
20
+
21
+ # The user portion of the SIP From header used in outbound requests. This controls
22
+ # the caller identity presented to the external SIP peer.
23
+ sig { returns(T.nilable(String)) }
24
+ attr_accessor :from_user
25
+
26
+ # An optional SIP proxy used to route outbound requests before reaching the
27
+ # external SIP peer.
28
+ sig { returns(T.nilable(String)) }
29
+ attr_accessor :outbound_proxy
30
+
31
+ # The SIP password used for digest authentication with the external SIP peer.
32
+ sig { returns(T.nilable(String)) }
33
+ attr_reader :password
34
+
35
+ sig { params(password: String).void }
36
+ attr_writer :password
37
+
38
+ # The SIP proxy address of the external SIP peer used for registrations and
39
+ # outbound call routing.
40
+ sig { returns(T.nilable(String)) }
41
+ attr_reader :proxy
42
+
43
+ sig { params(proxy: String).void }
44
+ attr_writer :proxy
45
+
46
+ # The transport protocol used for SIP signaling when communicating with the
47
+ # external SIP peer. One of UDP, TLS, or TCP.
48
+ sig do
49
+ returns(T.nilable(Telnyx::UacExternalSettings::Transport::OrSymbol))
50
+ end
51
+ attr_accessor :transport
52
+
53
+ # The SIP username used to authenticate with the external SIP peer for
54
+ # registrations and outbound calls. Must start with a letter or number and contain
55
+ # only letters, numbers, hyphens, and underscores.
56
+ sig { returns(T.nilable(String)) }
57
+ attr_reader :username
58
+
59
+ sig { params(username: String).void }
60
+ attr_writer :username
61
+
62
+ # External SIP peer settings used by Telnyx when registering to your PBX and
63
+ # routing outbound calls.
64
+ sig do
65
+ params(
66
+ auth_username: T.nilable(String),
67
+ expiration_sec: T.nilable(Integer),
68
+ from_user: T.nilable(String),
69
+ outbound_proxy: T.nilable(String),
70
+ password: String,
71
+ proxy: String,
72
+ transport:
73
+ T.nilable(Telnyx::UacExternalSettings::Transport::OrSymbol),
74
+ username: String
75
+ ).returns(T.attached_class)
76
+ end
77
+ def self.new(
78
+ # The authentication username used in SIP digest authentication. If not set, the
79
+ # Username value will be used.
80
+ auth_username: nil,
81
+ # The registration interval, in seconds, indicating how often the system refreshes
82
+ # the SIP registration with the external SIP peer.
83
+ expiration_sec: nil,
84
+ # The user portion of the SIP From header used in outbound requests. This controls
85
+ # the caller identity presented to the external SIP peer.
86
+ from_user: nil,
87
+ # An optional SIP proxy used to route outbound requests before reaching the
88
+ # external SIP peer.
89
+ outbound_proxy: nil,
90
+ # The SIP password used for digest authentication with the external SIP peer.
91
+ password: nil,
92
+ # The SIP proxy address of the external SIP peer used for registrations and
93
+ # outbound call routing.
94
+ proxy: nil,
95
+ # The transport protocol used for SIP signaling when communicating with the
96
+ # external SIP peer. One of UDP, TLS, or TCP.
97
+ transport: nil,
98
+ # The SIP username used to authenticate with the external SIP peer for
99
+ # registrations and outbound calls. Must start with a letter or number and contain
100
+ # only letters, numbers, hyphens, and underscores.
101
+ username: nil
102
+ )
103
+ end
104
+
105
+ sig do
106
+ override.returns(
107
+ {
108
+ auth_username: T.nilable(String),
109
+ expiration_sec: T.nilable(Integer),
110
+ from_user: T.nilable(String),
111
+ outbound_proxy: T.nilable(String),
112
+ password: String,
113
+ proxy: String,
114
+ transport:
115
+ T.nilable(Telnyx::UacExternalSettings::Transport::OrSymbol),
116
+ username: String
117
+ }
118
+ )
119
+ end
120
+ def to_hash
121
+ end
122
+
123
+ # The transport protocol used for SIP signaling when communicating with the
124
+ # external SIP peer. One of UDP, TLS, or TCP.
125
+ module Transport
126
+ extend Telnyx::Internal::Type::Enum
127
+
128
+ TaggedSymbol =
129
+ T.type_alias { T.all(Symbol, Telnyx::UacExternalSettings::Transport) }
130
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
131
+
132
+ UDP = T.let(:UDP, Telnyx::UacExternalSettings::Transport::TaggedSymbol)
133
+ TLS = T.let(:TLS, Telnyx::UacExternalSettings::Transport::TaggedSymbol)
134
+ TCP = T.let(:TCP, Telnyx::UacExternalSettings::Transport::TaggedSymbol)
135
+
136
+ sig do
137
+ override.returns(
138
+ T::Array[Telnyx::UacExternalSettings::Transport::TaggedSymbol]
139
+ )
140
+ end
141
+ def self.values
142
+ end
143
+ end
144
+ end
145
+ end
146
+ end
@@ -0,0 +1,410 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ class UacInbound < Telnyx::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias { T.any(Telnyx::UacInbound, Telnyx::Internal::AnyHash) }
8
+
9
+ # This setting allows you to set the format with which the caller's number (ANI)
10
+ # is sent for inbound phone calls.
11
+ sig do
12
+ returns(T.nilable(Telnyx::UacInbound::AniNumberFormat::TaggedSymbol))
13
+ end
14
+ attr_reader :ani_number_format
15
+
16
+ sig do
17
+ params(
18
+ ani_number_format: Telnyx::UacInbound::AniNumberFormat::OrSymbol
19
+ ).void
20
+ end
21
+ attr_writer :ani_number_format
22
+
23
+ # When set, this will limit the total number of inbound calls to phone numbers
24
+ # associated with this connection.
25
+ sig { returns(T.nilable(Integer)) }
26
+ attr_reader :channel_limit
27
+
28
+ sig { params(channel_limit: Integer).void }
29
+ attr_writer :channel_limit
30
+
31
+ # Defines the list of codecs that Telnyx will send for inbound calls to a specific
32
+ # number on your portal account, in priority order. This only works when the
33
+ # Connection the number is assigned to uses Media Handling mode: default. OPUS and
34
+ # H.264 codecs are available only when using TCP or TLS transport for SIP.
35
+ sig { returns(T.nilable(T::Array[String])) }
36
+ attr_reader :codecs
37
+
38
+ sig { params(codecs: T::Array[String]).void }
39
+ attr_writer :codecs
40
+
41
+ # Default routing method to be used when a number is associated with the
42
+ # connection. Must be one of the routing method types or left blank, other values
43
+ # are not allowed.
44
+ sig do
45
+ returns(
46
+ T.nilable(Telnyx::UacInbound::DefaultRoutingMethod::TaggedSymbol)
47
+ )
48
+ end
49
+ attr_reader :default_routing_method
50
+
51
+ sig do
52
+ params(
53
+ default_routing_method:
54
+ Telnyx::UacInbound::DefaultRoutingMethod::OrSymbol
55
+ ).void
56
+ end
57
+ attr_writer :default_routing_method
58
+
59
+ sig do
60
+ returns(T.nilable(Telnyx::UacInbound::DnisNumberFormat::TaggedSymbol))
61
+ end
62
+ attr_reader :dnis_number_format
63
+
64
+ sig do
65
+ params(
66
+ dnis_number_format: Telnyx::UacInbound::DnisNumberFormat::OrSymbol
67
+ ).void
68
+ end
69
+ attr_writer :dnis_number_format
70
+
71
+ # Generate ringback tone through 183 session progress message with early media.
72
+ sig { returns(T.nilable(T::Boolean)) }
73
+ attr_reader :generate_ringback_tone
74
+
75
+ sig { params(generate_ringback_tone: T::Boolean).void }
76
+ attr_writer :generate_ringback_tone
77
+
78
+ # When set, inbound phone calls will receive ISUP parameters via SIP headers.
79
+ # (Only when available and only when using TCP or TLS transport.)
80
+ sig { returns(T.nilable(T::Boolean)) }
81
+ attr_reader :isup_headers_enabled
82
+
83
+ sig { params(isup_headers_enabled: T::Boolean).void }
84
+ attr_writer :isup_headers_enabled
85
+
86
+ # Enable PRACK messages as defined in RFC3262.
87
+ sig { returns(T.nilable(T::Boolean)) }
88
+ attr_reader :prack_enabled
89
+
90
+ sig { params(prack_enabled: T::Boolean).void }
91
+ attr_writer :prack_enabled
92
+
93
+ # When enabled the SIP Connection will receive the Identity header with
94
+ # Shaken/Stir data in the SIP INVITE message of inbound calls, even when using UDP
95
+ # transport.
96
+ sig { returns(T.nilable(T::Boolean)) }
97
+ attr_reader :shaken_stir_enabled
98
+
99
+ sig { params(shaken_stir_enabled: T::Boolean).void }
100
+ attr_writer :shaken_stir_enabled
101
+
102
+ # When enabled, allows multiple devices to ring simultaneously on incoming calls.
103
+ sig do
104
+ returns(
105
+ T.nilable(Telnyx::UacInbound::SimultaneousRinging::TaggedSymbol)
106
+ )
107
+ end
108
+ attr_reader :simultaneous_ringing
109
+
110
+ sig do
111
+ params(
112
+ simultaneous_ringing:
113
+ Telnyx::UacInbound::SimultaneousRinging::OrSymbol
114
+ ).void
115
+ end
116
+ attr_writer :simultaneous_ringing
117
+
118
+ # Defaults to true.
119
+ sig { returns(T.nilable(T::Boolean)) }
120
+ attr_reader :sip_compact_headers_enabled
121
+
122
+ sig { params(sip_compact_headers_enabled: T::Boolean).void }
123
+ attr_writer :sip_compact_headers_enabled
124
+
125
+ # The Telnyx-generated SIP subdomain for this UAC connection.
126
+ sig { returns(T.nilable(String)) }
127
+ attr_reader :sip_subdomain
128
+
129
+ sig { params(sip_subdomain: String).void }
130
+ attr_writer :sip_subdomain
131
+
132
+ # Controls which SIP URI callers may reach this connection.
133
+ sig do
134
+ returns(
135
+ T.nilable(
136
+ Telnyx::UacInbound::SipSubdomainReceiveSettings::TaggedSymbol
137
+ )
138
+ )
139
+ end
140
+ attr_reader :sip_subdomain_receive_settings
141
+
142
+ sig do
143
+ params(
144
+ sip_subdomain_receive_settings:
145
+ Telnyx::UacInbound::SipSubdomainReceiveSettings::OrSymbol
146
+ ).void
147
+ end
148
+ attr_writer :sip_subdomain_receive_settings
149
+
150
+ # Time(sec) before aborting if connection is not made.
151
+ sig { returns(T.nilable(Integer)) }
152
+ attr_reader :timeout_1xx_secs
153
+
154
+ sig { params(timeout_1xx_secs: Integer).void }
155
+ attr_writer :timeout_1xx_secs
156
+
157
+ # Time(sec) before aborting if call is unanswered (min: 1, max: 600).
158
+ sig { returns(T.nilable(Integer)) }
159
+ attr_reader :timeout_2xx_secs
160
+
161
+ sig { params(timeout_2xx_secs: Integer).void }
162
+ attr_writer :timeout_2xx_secs
163
+
164
+ sig do
165
+ params(
166
+ ani_number_format: Telnyx::UacInbound::AniNumberFormat::OrSymbol,
167
+ channel_limit: Integer,
168
+ codecs: T::Array[String],
169
+ default_routing_method:
170
+ Telnyx::UacInbound::DefaultRoutingMethod::OrSymbol,
171
+ dnis_number_format: Telnyx::UacInbound::DnisNumberFormat::OrSymbol,
172
+ generate_ringback_tone: T::Boolean,
173
+ isup_headers_enabled: T::Boolean,
174
+ prack_enabled: T::Boolean,
175
+ shaken_stir_enabled: T::Boolean,
176
+ simultaneous_ringing:
177
+ Telnyx::UacInbound::SimultaneousRinging::OrSymbol,
178
+ sip_compact_headers_enabled: T::Boolean,
179
+ sip_subdomain: String,
180
+ sip_subdomain_receive_settings:
181
+ Telnyx::UacInbound::SipSubdomainReceiveSettings::OrSymbol,
182
+ timeout_1xx_secs: Integer,
183
+ timeout_2xx_secs: Integer
184
+ ).returns(T.attached_class)
185
+ end
186
+ def self.new(
187
+ # This setting allows you to set the format with which the caller's number (ANI)
188
+ # is sent for inbound phone calls.
189
+ ani_number_format: nil,
190
+ # When set, this will limit the total number of inbound calls to phone numbers
191
+ # associated with this connection.
192
+ channel_limit: nil,
193
+ # Defines the list of codecs that Telnyx will send for inbound calls to a specific
194
+ # number on your portal account, in priority order. This only works when the
195
+ # Connection the number is assigned to uses Media Handling mode: default. OPUS and
196
+ # H.264 codecs are available only when using TCP or TLS transport for SIP.
197
+ codecs: nil,
198
+ # Default routing method to be used when a number is associated with the
199
+ # connection. Must be one of the routing method types or left blank, other values
200
+ # are not allowed.
201
+ default_routing_method: nil,
202
+ dnis_number_format: nil,
203
+ # Generate ringback tone through 183 session progress message with early media.
204
+ generate_ringback_tone: nil,
205
+ # When set, inbound phone calls will receive ISUP parameters via SIP headers.
206
+ # (Only when available and only when using TCP or TLS transport.)
207
+ isup_headers_enabled: nil,
208
+ # Enable PRACK messages as defined in RFC3262.
209
+ prack_enabled: nil,
210
+ # When enabled the SIP Connection will receive the Identity header with
211
+ # Shaken/Stir data in the SIP INVITE message of inbound calls, even when using UDP
212
+ # transport.
213
+ shaken_stir_enabled: nil,
214
+ # When enabled, allows multiple devices to ring simultaneously on incoming calls.
215
+ simultaneous_ringing: nil,
216
+ # Defaults to true.
217
+ sip_compact_headers_enabled: nil,
218
+ # The Telnyx-generated SIP subdomain for this UAC connection.
219
+ sip_subdomain: nil,
220
+ # Controls which SIP URI callers may reach this connection.
221
+ sip_subdomain_receive_settings: nil,
222
+ # Time(sec) before aborting if connection is not made.
223
+ timeout_1xx_secs: nil,
224
+ # Time(sec) before aborting if call is unanswered (min: 1, max: 600).
225
+ timeout_2xx_secs: nil
226
+ )
227
+ end
228
+
229
+ sig do
230
+ override.returns(
231
+ {
232
+ ani_number_format:
233
+ Telnyx::UacInbound::AniNumberFormat::TaggedSymbol,
234
+ channel_limit: Integer,
235
+ codecs: T::Array[String],
236
+ default_routing_method:
237
+ Telnyx::UacInbound::DefaultRoutingMethod::TaggedSymbol,
238
+ dnis_number_format:
239
+ Telnyx::UacInbound::DnisNumberFormat::TaggedSymbol,
240
+ generate_ringback_tone: T::Boolean,
241
+ isup_headers_enabled: T::Boolean,
242
+ prack_enabled: T::Boolean,
243
+ shaken_stir_enabled: T::Boolean,
244
+ simultaneous_ringing:
245
+ Telnyx::UacInbound::SimultaneousRinging::TaggedSymbol,
246
+ sip_compact_headers_enabled: T::Boolean,
247
+ sip_subdomain: String,
248
+ sip_subdomain_receive_settings:
249
+ Telnyx::UacInbound::SipSubdomainReceiveSettings::TaggedSymbol,
250
+ timeout_1xx_secs: Integer,
251
+ timeout_2xx_secs: Integer
252
+ }
253
+ )
254
+ end
255
+ def to_hash
256
+ end
257
+
258
+ # This setting allows you to set the format with which the caller's number (ANI)
259
+ # is sent for inbound phone calls.
260
+ module AniNumberFormat
261
+ extend Telnyx::Internal::Type::Enum
262
+
263
+ TaggedSymbol =
264
+ T.type_alias { T.all(Symbol, Telnyx::UacInbound::AniNumberFormat) }
265
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
266
+
267
+ PLUS_E_164 =
268
+ T.let(:"+E.164", Telnyx::UacInbound::AniNumberFormat::TaggedSymbol)
269
+ E_164 =
270
+ T.let(:"E.164", Telnyx::UacInbound::AniNumberFormat::TaggedSymbol)
271
+ PLUS_E_164_NATIONAL =
272
+ T.let(
273
+ :"+E.164-national",
274
+ Telnyx::UacInbound::AniNumberFormat::TaggedSymbol
275
+ )
276
+ E_164_NATIONAL =
277
+ T.let(
278
+ :"E.164-national",
279
+ Telnyx::UacInbound::AniNumberFormat::TaggedSymbol
280
+ )
281
+
282
+ sig do
283
+ override.returns(
284
+ T::Array[Telnyx::UacInbound::AniNumberFormat::TaggedSymbol]
285
+ )
286
+ end
287
+ def self.values
288
+ end
289
+ end
290
+
291
+ # Default routing method to be used when a number is associated with the
292
+ # connection. Must be one of the routing method types or left blank, other values
293
+ # are not allowed.
294
+ module DefaultRoutingMethod
295
+ extend Telnyx::Internal::Type::Enum
296
+
297
+ TaggedSymbol =
298
+ T.type_alias do
299
+ T.all(Symbol, Telnyx::UacInbound::DefaultRoutingMethod)
300
+ end
301
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
302
+
303
+ SEQUENTIAL =
304
+ T.let(
305
+ :sequential,
306
+ Telnyx::UacInbound::DefaultRoutingMethod::TaggedSymbol
307
+ )
308
+ ROUND_ROBIN =
309
+ T.let(
310
+ :"round-robin",
311
+ Telnyx::UacInbound::DefaultRoutingMethod::TaggedSymbol
312
+ )
313
+
314
+ sig do
315
+ override.returns(
316
+ T::Array[Telnyx::UacInbound::DefaultRoutingMethod::TaggedSymbol]
317
+ )
318
+ end
319
+ def self.values
320
+ end
321
+ end
322
+
323
+ module DnisNumberFormat
324
+ extend Telnyx::Internal::Type::Enum
325
+
326
+ TaggedSymbol =
327
+ T.type_alias { T.all(Symbol, Telnyx::UacInbound::DnisNumberFormat) }
328
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
329
+
330
+ PLUS_E164 =
331
+ T.let(:"+e164", Telnyx::UacInbound::DnisNumberFormat::TaggedSymbol)
332
+ E164 = T.let(:e164, Telnyx::UacInbound::DnisNumberFormat::TaggedSymbol)
333
+ NATIONAL =
334
+ T.let(:national, Telnyx::UacInbound::DnisNumberFormat::TaggedSymbol)
335
+ SIP_USERNAME =
336
+ T.let(
337
+ :sip_username,
338
+ Telnyx::UacInbound::DnisNumberFormat::TaggedSymbol
339
+ )
340
+
341
+ sig do
342
+ override.returns(
343
+ T::Array[Telnyx::UacInbound::DnisNumberFormat::TaggedSymbol]
344
+ )
345
+ end
346
+ def self.values
347
+ end
348
+ end
349
+
350
+ # When enabled, allows multiple devices to ring simultaneously on incoming calls.
351
+ module SimultaneousRinging
352
+ extend Telnyx::Internal::Type::Enum
353
+
354
+ TaggedSymbol =
355
+ T.type_alias do
356
+ T.all(Symbol, Telnyx::UacInbound::SimultaneousRinging)
357
+ end
358
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
359
+
360
+ DISABLED =
361
+ T.let(
362
+ :disabled,
363
+ Telnyx::UacInbound::SimultaneousRinging::TaggedSymbol
364
+ )
365
+ ENABLED =
366
+ T.let(:enabled, Telnyx::UacInbound::SimultaneousRinging::TaggedSymbol)
367
+
368
+ sig do
369
+ override.returns(
370
+ T::Array[Telnyx::UacInbound::SimultaneousRinging::TaggedSymbol]
371
+ )
372
+ end
373
+ def self.values
374
+ end
375
+ end
376
+
377
+ # Controls which SIP URI callers may reach this connection.
378
+ module SipSubdomainReceiveSettings
379
+ extend Telnyx::Internal::Type::Enum
380
+
381
+ TaggedSymbol =
382
+ T.type_alias do
383
+ T.all(Symbol, Telnyx::UacInbound::SipSubdomainReceiveSettings)
384
+ end
385
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
386
+
387
+ ONLY_MY_CONNECTIONS =
388
+ T.let(
389
+ :only_my_connections,
390
+ Telnyx::UacInbound::SipSubdomainReceiveSettings::TaggedSymbol
391
+ )
392
+ FROM_ANYONE =
393
+ T.let(
394
+ :from_anyone,
395
+ Telnyx::UacInbound::SipSubdomainReceiveSettings::TaggedSymbol
396
+ )
397
+
398
+ sig do
399
+ override.returns(
400
+ T::Array[
401
+ Telnyx::UacInbound::SipSubdomainReceiveSettings::TaggedSymbol
402
+ ]
403
+ )
404
+ end
405
+ def self.values
406
+ end
407
+ end
408
+ end
409
+ end
410
+ end
@@ -0,0 +1,39 @@
1
+ # typed: strong
2
+
3
+ module Telnyx
4
+ module Models
5
+ class UacInternalSettings < Telnyx::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Telnyx::UacInternalSettings, Telnyx::Internal::AnyHash)
9
+ end
10
+
11
+ # The SIP URI that Telnyx will call when handling an inbound request from the
12
+ # external peer. Do not include a `sip:` prefix. The value must be in the format
13
+ # `userinfo@<subdomain.>sip.telnyx.com` or
14
+ # `userinfo@<subdomain.>sipdev.telnyx.com`; the userinfo portion may contain only
15
+ # letters, digits, hyphens, and underscores.
16
+ sig { returns(T.nilable(String)) }
17
+ attr_reader :destination_uri
18
+
19
+ sig { params(destination_uri: String).void }
20
+ attr_writer :destination_uri
21
+
22
+ # Internal Telnyx-side settings for a UAC connection.
23
+ sig { params(destination_uri: String).returns(T.attached_class) }
24
+ def self.new(
25
+ # The SIP URI that Telnyx will call when handling an inbound request from the
26
+ # external peer. Do not include a `sip:` prefix. The value must be in the format
27
+ # `userinfo@<subdomain.>sip.telnyx.com` or
28
+ # `userinfo@<subdomain.>sipdev.telnyx.com`; the userinfo portion may contain only
29
+ # letters, digits, hyphens, and underscores.
30
+ destination_uri: nil
31
+ )
32
+ end
33
+
34
+ sig { override.returns({ destination_uri: String }) }
35
+ def to_hash
36
+ end
37
+ end
38
+ end
39
+ end