twilio-ruby 5.77.0 → 7.3.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (728) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test-and-deploy.yml +11 -1
  3. data/.gitignore +3 -0
  4. data/CHANGES.md +722 -0
  5. data/CONTRIBUTING.md +10 -2
  6. data/Gemfile +3 -0
  7. data/LICENSE +1 -1
  8. data/Makefile +6 -0
  9. data/README.md +15 -9
  10. data/UPGRADE.md +21 -0
  11. data/cluster_spec.rb +77 -0
  12. data/lib/twilio-ruby/base/client_base.rb +124 -0
  13. data/lib/twilio-ruby/framework/request.rb +8 -1
  14. data/lib/twilio-ruby/framework/rest/error.rb +0 -12
  15. data/lib/twilio-ruby/http/http_client.rb +13 -5
  16. data/lib/twilio-ruby/jwt/access_token.rb +0 -59
  17. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +201 -178
  18. data/lib/twilio-ruby/rest/accounts/v1/bulk_consents.rb +133 -0
  19. data/lib/twilio-ruby/rest/accounts/v1/bulk_contacts.rb +133 -0
  20. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +380 -332
  21. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +380 -332
  22. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +122 -114
  23. data/lib/twilio-ruby/rest/accounts/v1/safelist.rb +176 -0
  24. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +219 -192
  25. data/lib/twilio-ruby/rest/accounts/v1.rb +63 -42
  26. data/lib/twilio-ruby/rest/accounts.rb +4 -34
  27. data/lib/twilio-ruby/rest/accounts_base.rb +38 -0
  28. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +371 -365
  29. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +560 -530
  30. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +624 -605
  31. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +316 -320
  32. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +395 -0
  33. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +395 -0
  34. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +395 -0
  35. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +395 -0
  36. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +395 -0
  37. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +395 -0
  38. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +395 -0
  39. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +435 -0
  40. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +139 -118
  41. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +203 -194
  42. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +403 -417
  43. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +294 -342
  44. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +503 -511
  45. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +844 -641
  46. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +844 -641
  47. data/lib/twilio-ruby/rest/api/v2010/account/call/transcription.rb +307 -0
  48. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +159 -153
  49. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +233 -240
  50. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +955 -1050
  51. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +668 -756
  52. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +458 -458
  53. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +494 -493
  54. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +433 -407
  55. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +323 -352
  56. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +403 -418
  57. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +539 -554
  58. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +539 -553
  59. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +539 -553
  60. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +850 -903
  61. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +342 -302
  62. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +170 -166
  63. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +345 -350
  64. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +624 -641
  65. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +160 -138
  66. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +160 -138
  67. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +403 -399
  68. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +375 -358
  69. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +345 -338
  70. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +435 -390
  71. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload/data.rb +200 -0
  72. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +384 -380
  73. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +373 -385
  74. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +369 -372
  75. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +512 -513
  76. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +422 -408
  77. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +342 -306
  78. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +384 -368
  79. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +408 -373
  80. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +353 -0
  81. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_ip_access_control_list_mapping.rb +353 -0
  82. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +141 -0
  83. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations/auth_registrations_credential_list_mapping.rb +353 -0
  84. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +127 -0
  85. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +95 -103
  86. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +346 -339
  87. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +346 -338
  88. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +658 -645
  89. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +421 -421
  90. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +408 -374
  91. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +142 -150
  92. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +174 -154
  93. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +369 -350
  94. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +315 -339
  95. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +315 -339
  96. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +315 -339
  97. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +315 -339
  98. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +315 -339
  99. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +315 -339
  100. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +315 -339
  101. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +315 -339
  102. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +382 -416
  103. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +494 -484
  104. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +113 -104
  105. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +175 -161
  106. data/lib/twilio-ruby/rest/api/v2010/account.rb +986 -943
  107. data/lib/twilio-ruby/rest/api/v2010.rb +126 -148
  108. data/lib/twilio-ruby/rest/api.rb +25 -34
  109. data/lib/twilio-ruby/rest/api_base.rb +38 -0
  110. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_knowledge.rb +355 -0
  111. data/lib/twilio-ruby/rest/assistants/v1/assistant/assistants_tool.rb +362 -0
  112. data/lib/twilio-ruby/rest/assistants/v1/assistant/feedback.rb +303 -0
  113. data/lib/twilio-ruby/rest/assistants/v1/assistant/message.rb +201 -0
  114. data/lib/twilio-ruby/rest/assistants/v1/assistant.rb +668 -0
  115. data/lib/twilio-ruby/rest/assistants/v1/knowledge/chunk.rb +229 -0
  116. data/lib/twilio-ruby/rest/assistants/v1/knowledge/knowledge_status.rb +209 -0
  117. data/lib/twilio-ruby/rest/assistants/v1/knowledge.rb +591 -0
  118. data/lib/twilio-ruby/rest/assistants/v1/policy.rb +264 -0
  119. data/lib/twilio-ruby/rest/assistants/v1/session/message.rb +264 -0
  120. data/lib/twilio-ruby/rest/assistants/v1/session.rb +328 -0
  121. data/lib/twilio-ruby/rest/assistants/v1/tool.rb +586 -0
  122. data/lib/twilio-ruby/rest/assistants/v1.rb +100 -0
  123. data/lib/twilio-ruby/rest/assistants.rb +6 -0
  124. data/lib/twilio-ruby/rest/assistants_base.rb +38 -0
  125. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +302 -279
  126. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +301 -279
  127. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +276 -248
  128. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +249 -235
  129. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +248 -216
  130. data/lib/twilio-ruby/rest/bulkexports/v1.rb +57 -55
  131. data/lib/twilio-ruby/rest/bulkexports.rb +3 -34
  132. data/lib/twilio-ruby/rest/bulkexports_base.rb +38 -0
  133. data/lib/twilio-ruby/rest/chat/v1/credential.rb +428 -403
  134. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +381 -391
  135. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +431 -440
  136. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +447 -437
  137. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +543 -515
  138. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +405 -367
  139. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +245 -239
  140. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +474 -440
  141. data/lib/twilio-ruby/rest/chat/v1/service.rb +870 -894
  142. data/lib/twilio-ruby/rest/chat/v1.rb +57 -55
  143. data/lib/twilio-ruby/rest/chat/v2/credential.rb +428 -401
  144. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +376 -370
  145. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +381 -386
  146. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +492 -527
  147. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +519 -533
  148. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +449 -467
  149. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +612 -605
  150. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +405 -369
  151. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +369 -381
  152. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +412 -419
  153. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +516 -491
  154. data/lib/twilio-ruby/rest/chat/v2/service.rb +773 -778
  155. data/lib/twilio-ruby/rest/chat/v2.rb +57 -53
  156. data/lib/twilio-ruby/rest/chat/v3/channel.rb +291 -267
  157. data/lib/twilio-ruby/rest/chat/v3.rb +64 -41
  158. data/lib/twilio-ruby/rest/chat.rb +4 -48
  159. data/lib/twilio-ruby/rest/chat_base.rb +48 -0
  160. data/lib/twilio-ruby/rest/client.rb +333 -584
  161. data/lib/twilio-ruby/rest/content/v1/content/approval_create.rb +185 -0
  162. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +202 -188
  163. data/lib/twilio-ruby/rest/content/v1/content.rb +941 -336
  164. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +244 -232
  165. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +258 -246
  166. data/lib/twilio-ruby/rest/content/v1.rb +54 -52
  167. data/lib/twilio-ruby/rest/content/v2/content.rb +316 -0
  168. data/lib/twilio-ruby/rest/content/v2/content_and_approvals.rb +309 -0
  169. data/lib/twilio-ruby/rest/content/v2.rb +46 -0
  170. data/lib/twilio-ruby/rest/content.rb +2 -46
  171. data/lib/twilio-ruby/rest/content_base.rb +43 -0
  172. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +481 -444
  173. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +259 -227
  174. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +284 -252
  175. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +337 -344
  176. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +543 -510
  177. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +504 -495
  178. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +434 -403
  179. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +626 -590
  180. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +434 -409
  181. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +305 -304
  182. data/lib/twilio-ruby/rest/conversations/v1/role.rb +393 -356
  183. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +369 -373
  184. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +305 -289
  185. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +251 -235
  186. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +312 -279
  187. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +344 -371
  188. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +550 -550
  189. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +513 -530
  190. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +443 -438
  191. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +638 -626
  192. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +311 -317
  193. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +405 -380
  194. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +453 -455
  195. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +490 -474
  196. data/lib/twilio-ruby/rest/conversations/v1/service.rb +483 -447
  197. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +452 -435
  198. data/lib/twilio-ruby/rest/conversations/v1/user.rb +478 -441
  199. data/lib/twilio-ruby/rest/conversations/v1.rb +129 -136
  200. data/lib/twilio-ruby/rest/conversations.rb +9 -34
  201. data/lib/twilio-ruby/rest/conversations_base.rb +38 -0
  202. data/lib/twilio-ruby/rest/events/v1/event_type.rb +319 -288
  203. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +302 -0
  204. data/lib/twilio-ruby/rest/events/v1/schema.rb +230 -218
  205. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +117 -100
  206. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +123 -103
  207. data/lib/twilio-ruby/rest/events/v1/sink.rb +443 -408
  208. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +374 -339
  209. data/lib/twilio-ruby/rest/events/v1/subscription.rb +425 -387
  210. data/lib/twilio-ruby/rest/events/v1.rb +87 -87
  211. data/lib/twilio-ruby/rest/events.rb +5 -34
  212. data/lib/twilio-ruby/rest/events_base.rb +38 -0
  213. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +439 -387
  214. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +372 -330
  215. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +547 -496
  216. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +572 -570
  217. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +321 -306
  218. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +221 -208
  219. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +435 -384
  220. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +350 -303
  221. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +435 -380
  222. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +352 -403
  223. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +209 -190
  224. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +157 -0
  225. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +137 -124
  226. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +188 -166
  227. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +247 -229
  228. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +343 -319
  229. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +404 -398
  230. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +264 -225
  231. data/lib/twilio-ruby/rest/flex_api/v1/plugin/plugin_versions.rb +397 -0
  232. data/lib/twilio-ruby/rest/flex_api/v1/plugin.rb +446 -0
  233. data/lib/twilio-ruby/rest/flex_api/v1/plugin_archive.rb +247 -0
  234. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration/configured_plugin.rb +393 -0
  235. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration.rb +386 -0
  236. data/lib/twilio-ruby/rest/flex_api/v1/plugin_configuration_archive.rb +233 -0
  237. data/lib/twilio-ruby/rest/flex_api/v1/plugin_release.rb +332 -0
  238. data/lib/twilio-ruby/rest/flex_api/v1/plugin_version_archive.rb +256 -0
  239. data/lib/twilio-ruby/rest/flex_api/v1/provisioning_status.rb +188 -0
  240. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +387 -331
  241. data/lib/twilio-ruby/rest/flex_api/v1.rb +313 -214
  242. data/lib/twilio-ruby/rest/flex_api/v2/flex_user.rb +370 -0
  243. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +145 -127
  244. data/lib/twilio-ruby/rest/flex_api/v2.rb +70 -28
  245. data/lib/twilio-ruby/rest/flex_api.rb +21 -117
  246. data/lib/twilio-ruby/rest/flex_api_base.rb +43 -0
  247. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +247 -227
  248. data/lib/twilio-ruby/rest/frontline_api/v1.rb +42 -38
  249. data/lib/twilio-ruby/rest/frontline_api.rb +2 -34
  250. data/lib/twilio-ruby/rest/frontline_api_base.rb +38 -0
  251. data/lib/twilio-ruby/rest/iam/v1/api_key.rb +270 -0
  252. data/lib/twilio-ruby/rest/iam/v1/get_api_keys.rb +223 -0
  253. data/lib/twilio-ruby/rest/iam/v1/key.rb +177 -0
  254. data/lib/twilio-ruby/rest/iam/v1.rb +61 -0
  255. data/lib/twilio-ruby/rest/iam.rb +6 -0
  256. data/lib/twilio-ruby/rest/iam_base.rb +38 -0
  257. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +315 -315
  258. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +353 -0
  259. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +270 -255
  260. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +242 -225
  261. data/lib/twilio-ruby/rest/insights/v1/call.rb +263 -236
  262. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +534 -439
  263. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +484 -467
  264. data/lib/twilio-ruby/rest/insights/v1/conference.rb +498 -502
  265. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +379 -371
  266. data/lib/twilio-ruby/rest/insights/v1/room.rb +491 -489
  267. data/lib/twilio-ruby/rest/insights/v1/setting.rb +249 -205
  268. data/lib/twilio-ruby/rest/insights/v1.rb +84 -83
  269. data/lib/twilio-ruby/rest/insights.rb +6 -34
  270. data/lib/twilio-ruby/rest/insights_base.rb +38 -0
  271. data/lib/twilio-ruby/rest/intelligence/v2/custom_operator.rb +447 -0
  272. data/lib/twilio-ruby/rest/intelligence/v2/operator.rb +356 -0
  273. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachment.rb +217 -0
  274. data/lib/twilio-ruby/rest/intelligence/v2/operator_attachments.rb +197 -0
  275. data/lib/twilio-ruby/rest/intelligence/v2/operator_type.rb +358 -0
  276. data/lib/twilio-ruby/rest/intelligence/v2/prebuilt_operator.rb +356 -0
  277. data/lib/twilio-ruby/rest/intelligence/v2/service.rb +517 -0
  278. data/lib/twilio-ruby/rest/intelligence/v2/transcript/media.rb +227 -0
  279. data/lib/twilio-ruby/rest/intelligence/v2/transcript/operator_result.rb +389 -0
  280. data/lib/twilio-ruby/rest/intelligence/v2/transcript/sentence.rb +262 -0
  281. data/lib/twilio-ruby/rest/intelligence/v2/transcript.rb +525 -0
  282. data/lib/twilio-ruby/rest/intelligence/v2.rb +176 -0
  283. data/lib/twilio-ruby/rest/intelligence.rb +6 -0
  284. data/lib/twilio-ruby/rest/intelligence_base.rb +38 -0
  285. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +428 -364
  286. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +381 -359
  287. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +431 -397
  288. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +447 -409
  289. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +543 -488
  290. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +405 -347
  291. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +245 -233
  292. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +474 -418
  293. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +870 -779
  294. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +57 -53
  295. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +428 -364
  296. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +376 -343
  297. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +381 -359
  298. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +492 -451
  299. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +519 -479
  300. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +449 -411
  301. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +612 -555
  302. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +405 -347
  303. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +369 -351
  304. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +404 -384
  305. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +516 -467
  306. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +773 -689
  307. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +57 -53
  308. data/lib/twilio-ruby/rest/ip_messaging.rb +3 -41
  309. data/lib/twilio-ruby/rest/ip_messaging_base.rb +43 -0
  310. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +246 -239
  311. data/lib/twilio-ruby/rest/lookups/v1.rb +42 -39
  312. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +376 -335
  313. data/lib/twilio-ruby/rest/lookups/v2.rb +42 -38
  314. data/lib/twilio-ruby/rest/lookups.rb +2 -41
  315. data/lib/twilio-ruby/rest/lookups_base.rb +43 -0
  316. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on/available_add_on_extension.rb +309 -0
  317. data/lib/twilio-ruby/rest/marketplace/v1/available_add_on.rb +336 -0
  318. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_extension.rb +352 -0
  319. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on/installed_add_on_usage.rb +157 -0
  320. data/lib/twilio-ruby/rest/marketplace/v1/installed_add_on.rb +465 -0
  321. data/lib/twilio-ruby/rest/marketplace/v1/module_data_management.rb +310 -0
  322. data/lib/twilio-ruby/rest/marketplace/v1/referral_conversion.rb +199 -0
  323. data/lib/twilio-ruby/rest/marketplace/v1.rb +85 -0
  324. data/lib/twilio-ruby/rest/marketplace.rb +6 -0
  325. data/lib/twilio-ruby/rest/marketplace_base.rb +38 -0
  326. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +124 -119
  327. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +361 -346
  328. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +499 -466
  329. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +192 -0
  330. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +285 -0
  331. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +282 -232
  332. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +231 -218
  333. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +161 -144
  334. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +209 -210
  335. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service_domain_association.rb +197 -0
  336. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +356 -335
  337. data/lib/twilio-ruby/rest/messaging/v1/service/channel_sender.rb +370 -0
  338. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +363 -341
  339. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +363 -336
  340. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +613 -521
  341. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +124 -115
  342. data/lib/twilio-ruby/rest/messaging/v1/service.rb +774 -763
  343. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +793 -713
  344. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +109 -94
  345. data/lib/twilio-ruby/rest/messaging/v1.rb +187 -165
  346. data/lib/twilio-ruby/rest/messaging.rb +10 -53
  347. data/lib/twilio-ruby/rest/messaging_base.rb +38 -0
  348. data/lib/twilio-ruby/rest/microvisor/v1/account_config.rb +355 -307
  349. data/lib/twilio-ruby/rest/microvisor/v1/account_secret.rb +348 -300
  350. data/lib/twilio-ruby/rest/microvisor/v1/app/app_manifest.rb +202 -185
  351. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +342 -320
  352. data/lib/twilio-ruby/rest/microvisor/v1/device/device_config.rb +374 -335
  353. data/lib/twilio-ruby/rest/microvisor/v1/device/device_secret.rb +367 -328
  354. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +420 -383
  355. data/lib/twilio-ruby/rest/microvisor/v1.rb +87 -85
  356. data/lib/twilio-ruby/rest/microvisor.rb +4 -50
  357. data/lib/twilio-ruby/rest/microvisor_base.rb +38 -0
  358. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +401 -395
  359. data/lib/twilio-ruby/rest/monitor/v1/event.rb +384 -390
  360. data/lib/twilio-ruby/rest/monitor/v1.rb +57 -53
  361. data/lib/twilio-ruby/rest/monitor.rb +3 -34
  362. data/lib/twilio-ruby/rest/monitor_base.rb +38 -0
  363. data/lib/twilio-ruby/rest/notify/v1/credential.rb +428 -408
  364. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +442 -452
  365. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +316 -362
  366. data/lib/twilio-ruby/rest/notify/v1/service.rb +633 -622
  367. data/lib/twilio-ruby/rest/notify/v1.rb +57 -55
  368. data/lib/twilio-ruby/rest/notify.rb +3 -34
  369. data/lib/twilio-ruby/rest/notify_base.rb +38 -0
  370. data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +241 -0
  371. data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +111 -94
  372. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in.rb +294 -0
  373. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in_phone_number.rb +322 -0
  374. data/lib/twilio-ruby/rest/numbers/v1/porting_portability.rb +256 -0
  375. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration.rb +149 -0
  376. data/lib/twilio-ruby/rest/numbers/v1/porting_webhook_configuration_delete.rb +168 -0
  377. data/lib/twilio-ruby/rest/numbers/v1/signing_request_configuration.rb +273 -0
  378. data/lib/twilio-ruby/rest/numbers/v1/webhook.rb +161 -0
  379. data/lib/twilio-ruby/rest/numbers/v1.rb +148 -28
  380. data/lib/twilio-ruby/rest/numbers/v2/authorization_document/dependent_hosted_number_order.rb +344 -0
  381. data/lib/twilio-ruby/rest/numbers/v2/authorization_document.rb +408 -0
  382. data/lib/twilio-ruby/rest/numbers/v2/bulk_hosted_number_order.rb +266 -0
  383. data/lib/twilio-ruby/rest/numbers/v2/bundle_clone.rb +277 -0
  384. data/lib/twilio-ruby/rest/numbers/v2/hosted_number_order.rb +507 -0
  385. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +281 -261
  386. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +329 -298
  387. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +340 -309
  388. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +197 -181
  389. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +613 -607
  390. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +400 -351
  391. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +293 -266
  392. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +342 -307
  393. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +428 -371
  394. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +293 -266
  395. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +178 -181
  396. data/lib/twilio-ruby/rest/numbers/v2.rb +93 -28
  397. data/lib/twilio-ruby/rest/numbers.rb +2 -47
  398. data/lib/twilio-ruby/rest/numbers_base.rb +43 -0
  399. data/lib/twilio-ruby/rest/oauth/v1/authorize.rb +144 -0
  400. data/lib/twilio-ruby/rest/oauth/v1/token.rb +176 -151
  401. data/lib/twilio-ruby/rest/oauth/v1.rb +39 -56
  402. data/lib/twilio-ruby/rest/oauth.rb +3 -65
  403. data/lib/twilio-ruby/rest/oauth_base.rb +38 -0
  404. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +371 -396
  405. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +451 -446
  406. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +617 -625
  407. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +57 -55
  408. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +302 -298
  409. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +326 -309
  410. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +345 -330
  411. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +436 -398
  412. data/lib/twilio-ruby/rest/preview/marketplace.rb +57 -53
  413. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +383 -374
  414. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +448 -399
  415. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +439 -407
  416. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +383 -374
  417. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +424 -398
  418. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +442 -404
  419. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +383 -374
  420. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +424 -398
  421. data/lib/twilio-ruby/rest/preview/sync/service.rb +502 -452
  422. data/lib/twilio-ruby/rest/preview/sync.rb +42 -37
  423. data/lib/twilio-ruby/rest/preview/wireless/command.rb +390 -364
  424. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +455 -398
  425. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +233 -205
  426. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +577 -523
  427. data/lib/twilio-ruby/rest/preview/wireless.rb +72 -69
  428. data/lib/twilio-ruby/rest/preview.rb +11 -79
  429. data/lib/twilio-ruby/rest/preview_base.rb +53 -0
  430. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +300 -275
  431. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +108 -119
  432. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +293 -268
  433. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +108 -119
  434. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +300 -275
  435. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +223 -197
  436. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +122 -135
  437. data/lib/twilio-ruby/rest/pricing/v1.rb +45 -42
  438. data/lib/twilio-ruby/rest/pricing/v2/country.rb +292 -270
  439. data/lib/twilio-ruby/rest/pricing/v2/number.rb +235 -217
  440. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +300 -275
  441. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +241 -220
  442. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +122 -138
  443. data/lib/twilio-ruby/rest/pricing/v2.rb +63 -65
  444. data/lib/twilio-ruby/rest/pricing.rb +6 -41
  445. data/lib/twilio-ruby/rest/pricing_base.rb +43 -0
  446. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +426 -403
  447. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +411 -418
  448. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +433 -449
  449. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +426 -442
  450. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +529 -506
  451. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +406 -370
  452. data/lib/twilio-ruby/rest/proxy/v1/service.rb +566 -596
  453. data/lib/twilio-ruby/rest/proxy/v1.rb +42 -38
  454. data/lib/twilio-ruby/rest/proxy.rb +2 -34
  455. data/lib/twilio-ruby/rest/proxy_base.rb +38 -0
  456. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +265 -227
  457. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +265 -223
  458. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +265 -227
  459. data/lib/twilio-ruby/rest/routes/v2.rb +72 -69
  460. data/lib/twilio-ruby/rest/routes.rb +4 -34
  461. data/lib/twilio-ruby/rest/routes_base.rb +38 -0
  462. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +316 -323
  463. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +419 -380
  464. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +209 -208
  465. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +412 -384
  466. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +342 -338
  467. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +362 -383
  468. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +410 -396
  469. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +461 -447
  470. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +224 -234
  471. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +343 -353
  472. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +419 -380
  473. data/lib/twilio-ruby/rest/serverless/v1/service.rb +530 -493
  474. data/lib/twilio-ruby/rest/serverless/v1.rb +42 -37
  475. data/lib/twilio-ruby/rest/serverless.rb +2 -34
  476. data/lib/twilio-ruby/rest/serverless_base.rb +38 -0
  477. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +209 -199
  478. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +224 -218
  479. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +364 -355
  480. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +429 -394
  481. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +209 -200
  482. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +224 -221
  483. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +364 -361
  484. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +477 -449
  485. data/lib/twilio-ruby/rest/studio/v1/flow.rb +385 -355
  486. data/lib/twilio-ruby/rest/studio/v1.rb +42 -37
  487. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +209 -200
  488. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +224 -221
  489. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +364 -361
  490. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +470 -442
  491. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +344 -320
  492. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +237 -0
  493. data/lib/twilio-ruby/rest/studio/v2/flow.rb +528 -472
  494. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +124 -99
  495. data/lib/twilio-ruby/rest/studio/v2.rb +48 -44
  496. data/lib/twilio-ruby/rest/studio.rb +3 -41
  497. data/lib/twilio-ruby/rest/studio_base.rb +43 -0
  498. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +396 -382
  499. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +477 -483
  500. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +401 -409
  501. data/lib/twilio-ruby/rest/supersim/v1/network.rb +303 -297
  502. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +342 -332
  503. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +385 -351
  504. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +247 -237
  505. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +243 -224
  506. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +201 -188
  507. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +465 -453
  508. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +361 -361
  509. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +306 -344
  510. data/lib/twilio-ruby/rest/supersim/v1.rb +144 -147
  511. data/lib/twilio-ruby/rest/supersim.rb +10 -34
  512. data/lib/twilio-ruby/rest/supersim_base.rb +38 -0
  513. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +383 -371
  514. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +464 -423
  515. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +473 -490
  516. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +383 -370
  517. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +479 -445
  518. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +476 -495
  519. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +383 -368
  520. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +479 -444
  521. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +142 -132
  522. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +428 -400
  523. data/lib/twilio-ruby/rest/sync/v1/service.rb +584 -567
  524. data/lib/twilio-ruby/rest/sync/v1.rb +42 -37
  525. data/lib/twilio-ruby/rest/sync.rb +2 -34
  526. data/lib/twilio-ruby/rest/sync_base.rb +38 -0
  527. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +414 -395
  528. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +445 -464
  529. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +709 -749
  530. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +659 -661
  531. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +418 -382
  532. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_bulk_real_time_statistics.rb +164 -0
  533. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +362 -369
  534. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +282 -275
  535. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +233 -236
  536. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +240 -258
  537. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +583 -572
  538. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +691 -732
  539. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +394 -388
  540. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +238 -239
  541. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +284 -265
  542. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +218 -193
  543. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +254 -234
  544. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +630 -637
  545. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +362 -375
  546. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +248 -241
  547. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +233 -244
  548. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +532 -510
  549. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +356 -356
  550. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +234 -206
  551. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +244 -234
  552. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +729 -730
  553. data/lib/twilio-ruby/rest/taskrouter/v1.rb +42 -37
  554. data/lib/twilio-ruby/rest/taskrouter.rb +2 -34
  555. data/lib/twilio-ruby/rest/taskrouter_base.rb +38 -0
  556. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +349 -320
  557. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +349 -317
  558. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +449 -419
  559. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +482 -451
  560. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +229 -191
  561. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +632 -630
  562. data/lib/twilio-ruby/rest/trunking/v1.rb +42 -38
  563. data/lib/twilio-ruby/rest/trunking.rb +2 -34
  564. data/lib/twilio-ruby/rest/trunking_base.rb +38 -0
  565. data/lib/twilio-ruby/rest/trusthub/v1/compliance_inquiries.rb +249 -0
  566. data/lib/twilio-ruby/rest/trusthub/v1/compliance_registration_inquiries.rb +357 -0
  567. data/lib/twilio-ruby/rest/trusthub/v1/compliance_tollfree_inquiries.rb +220 -0
  568. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +364 -352
  569. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +348 -323
  570. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +338 -321
  571. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +541 -513
  572. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +392 -346
  573. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +285 -261
  574. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +278 -252
  575. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +406 -359
  576. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +285 -261
  577. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +364 -352
  578. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +348 -323
  579. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +338 -321
  580. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +541 -513
  581. data/lib/twilio-ruby/rest/trusthub/v1.rb +168 -139
  582. data/lib/twilio-ruby/rest/trusthub.rb +8 -34
  583. data/lib/twilio-ruby/rest/trusthub_base.rb +38 -0
  584. data/lib/twilio-ruby/rest/verify/v2/form.rb +196 -183
  585. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +228 -207
  586. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +277 -254
  587. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +194 -192
  588. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +503 -531
  589. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +454 -453
  590. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +252 -283
  591. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +429 -414
  592. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +388 -363
  593. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +410 -388
  594. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +429 -384
  595. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +390 -372
  596. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +224 -205
  597. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +456 -412
  598. data/lib/twilio-ruby/rest/verify/v2/service.rb +816 -780
  599. data/lib/twilio-ruby/rest/verify/v2/template.rb +222 -205
  600. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +375 -387
  601. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +242 -226
  602. data/lib/twilio-ruby/rest/verify/v2.rb +99 -103
  603. data/lib/twilio-ruby/rest/verify.rb +7 -34
  604. data/lib/twilio-ruby/rest/verify_base.rb +38 -0
  605. data/lib/twilio-ruby/rest/video/v1/composition.rb +484 -507
  606. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +534 -647
  607. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +286 -261
  608. data/lib/twilio-ruby/rest/video/v1/recording.rb +431 -426
  609. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +286 -261
  610. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +262 -0
  611. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +334 -0
  612. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +186 -0
  613. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +341 -0
  614. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +503 -0
  615. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +175 -0
  616. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +428 -0
  617. data/lib/twilio-ruby/rest/video/v1/room.rb +613 -602
  618. data/lib/twilio-ruby/rest/video/v1.rb +99 -99
  619. data/lib/twilio-ruby/rest/video.rb +7 -34
  620. data/lib/twilio-ruby/rest/video_base.rb +38 -0
  621. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +161 -176
  622. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +510 -486
  623. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +449 -434
  624. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +400 -352
  625. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +138 -121
  626. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +196 -183
  627. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +376 -397
  628. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +220 -190
  629. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +123 -121
  630. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +386 -339
  631. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +369 -319
  632. data/lib/twilio-ruby/rest/voice/v1.rb +130 -117
  633. data/lib/twilio-ruby/rest/voice.rb +7 -34
  634. data/lib/twilio-ruby/rest/voice_base.rb +38 -0
  635. data/lib/twilio-ruby/rest/wireless/v1/command.rb +415 -406
  636. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +472 -436
  637. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +299 -284
  638. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +240 -243
  639. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +641 -647
  640. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +227 -221
  641. data/lib/twilio-ruby/rest/wireless/v1.rb +78 -76
  642. data/lib/twilio-ruby/rest/wireless.rb +5 -34
  643. data/lib/twilio-ruby/rest/wireless_base.rb +38 -0
  644. data/lib/twilio-ruby/rest.rb +1 -0
  645. data/lib/twilio-ruby/twiml/messaging_response.rb +1 -1
  646. data/lib/twilio-ruby/twiml/voice_response.rb +97 -18
  647. data/lib/twilio-ruby/version.rb +1 -1
  648. data/sonar-project.properties +1 -1
  649. data/twilio-ruby.gemspec +2 -1
  650. metadata +148 -80
  651. data/conf/cacert.pem +0 -3376
  652. data/lib/twilio-ruby/framework/twilio_response.rb +0 -19
  653. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +0 -500
  654. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +0 -500
  655. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +0 -500
  656. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +0 -500
  657. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +0 -500
  658. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +0 -500
  659. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +0 -500
  660. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +0 -464
  661. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +0 -301
  662. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +0 -314
  663. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +0 -348
  664. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping.rb +0 -348
  665. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +0 -163
  666. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping.rb +0 -348
  667. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +0 -137
  668. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +0 -220
  669. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +0 -214
  670. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +0 -399
  671. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +0 -418
  672. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +0 -392
  673. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +0 -469
  674. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +0 -218
  675. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +0 -386
  676. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +0 -456
  677. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +0 -255
  678. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +0 -237
  679. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +0 -507
  680. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +0 -420
  681. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +0 -650
  682. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +0 -194
  683. data/lib/twilio-ruby/rest/autopilot/v1.rb +0 -52
  684. data/lib/twilio-ruby/rest/autopilot.rb +0 -53
  685. data/lib/twilio-ruby/rest/events/v1/schema/version.rb +0 -290
  686. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answersets.rb +0 -144
  687. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +0 -321
  688. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +0 -397
  689. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +0 -399
  690. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +0 -221
  691. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +0 -403
  692. data/lib/twilio-ruby/rest/media/v1.rb +0 -76
  693. data/lib/twilio-ruby/rest/media.rb +0 -65
  694. data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +0 -164
  695. data/lib/twilio-ruby/rest/messaging/v1/domain_cert.rb +0 -257
  696. data/lib/twilio-ruby/rest/oauth/v1/device_code.rb +0 -153
  697. data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +0 -162
  698. data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +0 -242
  699. data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +0 -193
  700. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +0 -382
  701. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +0 -365
  702. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +0 -425
  703. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +0 -376
  704. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +0 -469
  705. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +0 -45
  706. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +0 -212
  707. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +0 -212
  708. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +0 -206
  709. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +0 -386
  710. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +0 -407
  711. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +0 -380
  712. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +0 -437
  713. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +0 -212
  714. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +0 -373
  715. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +0 -428
  716. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +0 -241
  717. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +0 -225
  718. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +0 -495
  719. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +0 -629
  720. data/lib/twilio-ruby/rest/preview/understand.rb +0 -45
  721. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +0 -199
  722. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +0 -413
  723. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_anonymize.rb +0 -240
  724. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +0 -335
  725. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +0 -175
  726. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +0 -340
  727. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +0 -499
  728. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +0 -144
@@ -1,1057 +1,962 @@
1
1
  ##
2
- # This code was generated by
3
- # \ / _ _ _| _ _
4
- # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
- # / /
2
+ # This code was generated by
3
+ # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
+ # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
+ # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
+ #
7
+ # Twilio - Api
8
+ # This is the public Twilio REST API.
9
+ #
10
+ # NOTE: This class is auto generated by OpenAPI Generator.
11
+ # https://openapi-generator.tech
12
+ # Do not edit the class manually.
6
13
  #
7
- # frozen_string_literal: true
8
-
9
- module Twilio
10
- module REST
11
- class Api < Domain
12
- class V2010 < Version
13
- class AccountContext < InstanceContext
14
- class CallList < ListResource
15
- ##
16
- # Initialize the CallList
17
- # @param [Version] version Version that contains the resource
18
- # @param [String] account_sid The SID of the
19
- # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Call
20
- # resource.
21
- # @return [CallList] CallList
22
- def initialize(version, account_sid: nil)
23
- super(version)
24
-
25
- # Path Solution
26
- @solution = {account_sid: account_sid}
27
- @uri = "/Accounts/#{@solution[:account_sid]}/Calls.json"
28
-
29
- # Components
30
- @feedback_summaries = nil
31
- end
32
-
33
- ##
34
- # Create the CallInstance
35
- # @param [String] to The phone number, SIP address, or client identifier to call.
36
- # @param [String] from The phone number or client identifier to use as the caller
37
- # id. If using a phone number, it must be a Twilio number or a Verified {outgoing
38
- # caller id}[https://www.twilio.com/docs/voice/api/outgoing-caller-ids] for your
39
- # account. If the `to` parameter is a phone number, `From` must also be a phone
40
- # number.
41
- # @param [String] method The HTTP method we should use when calling the `url`
42
- # parameter's value. Can be: `GET` or `POST` and the default is `POST`. If an
43
- # `application_sid` parameter is present, this parameter is ignored.
44
- # @param [String] fallback_url The URL that we call using the `fallback_method` if
45
- # an error occurs when requesting or executing the TwiML at `url`. If an
46
- # `application_sid` parameter is present, this parameter is ignored.
47
- # @param [String] fallback_method The HTTP method that we should use to request
48
- # the `fallback_url`. Can be: `GET` or `POST` and the default is `POST`. If an
49
- # `application_sid` parameter is present, this parameter is ignored.
50
- # @param [String] status_callback The URL we should call using the
51
- # `status_callback_method` to send status information to your application. If no
52
- # `status_callback_event` is specified, we will send the `completed` status. If an
53
- # `application_sid` parameter is present, this parameter is ignored. URLs must
54
- # contain a valid hostname (underscores are not permitted).
55
- # @param [Array[String]] status_callback_event The call progress events that we
56
- # will send to the `status_callback` URL. Can be: `initiated`, `ringing`,
57
- # `answered`, and `completed`. If no event is specified, we send the `completed`
58
- # status. If you want to receive multiple events, specify each one in a separate
59
- # `status_callback_event` parameter. See the code sample for {monitoring call
60
- # progress}[https://www.twilio.com/docs/voice/api/call-resource?code-sample=code-create-a-call-resource-and-specify-a-statuscallbackevent&code-sdk-version=json].
61
- # If an `application_sid` is present, this parameter is ignored.
62
- # @param [String] status_callback_method The HTTP method we should use when
63
- # calling the `status_callback` URL. Can be: `GET` or `POST` and the default is
64
- # `POST`. If an `application_sid` parameter is present, this parameter is ignored.
65
- # @param [String] send_digits A string of keys to dial after connecting to the
66
- # number, maximum of 32 digits. Valid digits in the string include: any digit
67
- # (`0`-`9`), '`#`', '`*`' and '`w`', to insert a half second pause. For example,
68
- # if you connected to a company phone number and wanted to pause for one second,
69
- # and then dial extension 1234 followed by the pound key, the value of this
70
- # parameter would be `ww1234#`. Remember to URL-encode this string, since the
71
- # '`#`' character has special meaning in a URL. If both `SendDigits` and
72
- # `MachineDetection` parameters are provided, then `MachineDetection` will be
73
- # ignored.
74
- # @param [String] timeout The integer number of seconds that we should allow the
75
- # phone to ring before assuming there is no answer. The default is `60` seconds
76
- # and the maximum is `600` seconds. For some call flows, we will add a 5-second
77
- # buffer to the timeout value you provide. For this reason, a timeout value of 10
78
- # seconds could result in an actual timeout closer to 15 seconds. You can set this
79
- # to a short time, such as `15` seconds, to hang up before reaching an answering
80
- # machine or voicemail.
81
- # @param [Boolean] record Whether to record the call. Can be `true` to record the
82
- # phone call, or `false` to not. The default is `false`. The `recording_url` is
83
- # sent to the `status_callback` URL.
84
- # @param [String] recording_channels The number of channels in the final
85
- # recording. Can be: `mono` or `dual`. The default is `mono`. `mono` records both
86
- # legs of the call in a single channel of the recording file. `dual` records each
87
- # leg to a separate channel of the recording file. The first channel of a
88
- # dual-channel recording contains the parent call and the second channel contains
89
- # the child call.
90
- # @param [String] recording_status_callback The URL that we call when the
91
- # recording is available to be accessed.
92
- # @param [String] recording_status_callback_method The HTTP method we should use
93
- # when calling the `recording_status_callback` URL. Can be: `GET` or `POST` and
94
- # the default is `POST`.
95
- # @param [String] sip_auth_username The username used to authenticate the caller
96
- # making a SIP call.
97
- # @param [String] sip_auth_password The password required to authenticate the user
98
- # account specified in `sip_auth_username`.
99
- # @param [String] machine_detection Whether to detect if a human, answering
100
- # machine, or fax has picked up the call. Can be: `Enable` or `DetectMessageEnd`.
101
- # Use `Enable` if you would like us to return `AnsweredBy` as soon as the called
102
- # party is identified. Use `DetectMessageEnd`, if you would like to leave a
103
- # message on an answering machine. If `send_digits` is provided, this parameter is
104
- # ignored. For more information, see {Answering Machine
105
- # Detection}[https://www.twilio.com/docs/voice/answering-machine-detection].
106
- # @param [String] machine_detection_timeout The number of seconds that we should
107
- # attempt to detect an answering machine before timing out and sending a voice
108
- # request with `AnsweredBy` of `unknown`. The default timeout is 30 seconds.
109
- # @param [Array[String]] recording_status_callback_event The recording status
110
- # events that will trigger calls to the URL specified in
111
- # `recording_status_callback`. Can be: `in-progress`, `completed` and `absent`.
112
- # Defaults to `completed`. Separate multiple values with a space.
113
- # @param [String] trim Whether to trim any leading and trailing silence from the
114
- # recording. Can be: `trim-silence` or `do-not-trim` and the default is
115
- # `trim-silence`.
116
- # @param [String] caller_id The phone number, SIP address, or Client identifier
117
- # that made this call. Phone numbers are in {E.164
118
- # format}[https://wwnw.twilio.com/docs/glossary/what-e164] (e.g., +16175551212).
119
- # SIP addresses are formatted as `name@company.com`.
120
- # @param [String] machine_detection_speech_threshold The number of milliseconds
121
- # that is used as the measuring stick for the length of the speech activity, where
122
- # durations lower than this value will be interpreted as a human and longer than
123
- # this value as a machine. Possible Values: 1000-6000. Default: 2400.
124
- # @param [String] machine_detection_speech_end_threshold The number of
125
- # milliseconds of silence after speech activity at which point the speech activity
126
- # is considered complete. Possible Values: 500-5000. Default: 1200.
127
- # @param [String] machine_detection_silence_timeout The number of milliseconds of
128
- # initial silence after which an `unknown` AnsweredBy result will be returned.
129
- # Possible Values: 2000-10000. Default: 5000.
130
- # @param [String] async_amd Select whether to perform answering machine detection
131
- # in the background. Default, blocks the execution of the call until Answering
132
- # Machine Detection is completed. Can be: `true` or `false`.
133
- # @param [String] async_amd_status_callback The URL that we should call using the
134
- # `async_amd_status_callback_method` to notify customer application whether the
135
- # call was answered by human, machine or fax.
136
- # @param [String] async_amd_status_callback_method The HTTP method we should use
137
- # when calling the `async_amd_status_callback` URL. Can be: `GET` or `POST` and
138
- # the default is `POST`.
139
- # @param [String] byoc The SID of a BYOC (Bring Your Own Carrier) trunk to route
140
- # this call with. Note that `byoc` is only meaningful when `to` is a phone number;
141
- # it will otherwise be ignored. (Beta)
142
- # @param [String] call_reason The Reason for the outgoing call. Use it to specify
143
- # the purpose of the call that is presented on the called party's phone. (Branded
144
- # Calls Beta)
145
- # @param [String] call_token A token string needed to invoke a forwarded call. A
146
- # call_token is generated when an incoming call is received on a Twilio number.
147
- # Pass an incoming call's call_token value to a forwarded call via the call_token
148
- # parameter when creating a new call. A forwarded call should bear the same
149
- # CallerID of the original incoming call.
150
- # @param [String] recording_track The audio track to record for the call. Can be:
151
- # `inbound`, `outbound` or `both`. The default is `both`. `inbound` records the
152
- # audio that is received by Twilio. `outbound` records the audio that is generated
153
- # from Twilio. `both` records the audio that is received and generated by Twilio.
154
- # @param [String] time_limit The maximum duration of the call in seconds.
155
- # Constraints depend on account and configuration.
156
- # @param [String] url The absolute URL that returns the TwiML instructions for the
157
- # call. We will call this URL using the `method` when the call connects. For more
158
- # information, see the {Url
159
- # Parameter}[https://www.twilio.com/docs/voice/make-calls#specify-a-url-parameter]
160
- # section in {Making Calls}[https://www.twilio.com/docs/voice/make-calls].
161
- # @param [String] twiml TwiML instructions for the call Twilio will use without
162
- # fetching Twiml from url parameter. If both `twiml` and `url` are provided then
163
- # `twiml` parameter will be ignored. Max 4000 characters.
164
- # @param [String] application_sid The SID of the Application resource that will
165
- # handle the call, if the call will be handled by an application.
166
- # @return [CallInstance] Created CallInstance
167
- def create(to: nil, from: nil, method: :unset, fallback_url: :unset, fallback_method: :unset, status_callback: :unset, status_callback_event: :unset, status_callback_method: :unset, send_digits: :unset, timeout: :unset, record: :unset, recording_channels: :unset, recording_status_callback: :unset, recording_status_callback_method: :unset, sip_auth_username: :unset, sip_auth_password: :unset, machine_detection: :unset, machine_detection_timeout: :unset, recording_status_callback_event: :unset, trim: :unset, caller_id: :unset, machine_detection_speech_threshold: :unset, machine_detection_speech_end_threshold: :unset, machine_detection_silence_timeout: :unset, async_amd: :unset, async_amd_status_callback: :unset, async_amd_status_callback_method: :unset, byoc: :unset, call_reason: :unset, call_token: :unset, recording_track: :unset, time_limit: :unset, url: :unset, twiml: :unset, application_sid: :unset)
168
- data = Twilio::Values.of({
169
- 'To' => to,
170
- 'From' => from,
171
- 'Url' => url,
172
- 'Twiml' => twiml,
173
- 'ApplicationSid' => application_sid,
174
- 'Method' => method,
175
- 'FallbackUrl' => fallback_url,
176
- 'FallbackMethod' => fallback_method,
177
- 'StatusCallback' => status_callback,
178
- 'StatusCallbackEvent' => Twilio.serialize_list(status_callback_event) { |e| e },
179
- 'StatusCallbackMethod' => status_callback_method,
180
- 'SendDigits' => send_digits,
181
- 'Timeout' => timeout,
182
- 'Record' => record,
183
- 'RecordingChannels' => recording_channels,
184
- 'RecordingStatusCallback' => recording_status_callback,
185
- 'RecordingStatusCallbackMethod' => recording_status_callback_method,
186
- 'SipAuthUsername' => sip_auth_username,
187
- 'SipAuthPassword' => sip_auth_password,
188
- 'MachineDetection' => machine_detection,
189
- 'MachineDetectionTimeout' => machine_detection_timeout,
190
- 'RecordingStatusCallbackEvent' => Twilio.serialize_list(recording_status_callback_event) { |e| e },
191
- 'Trim' => trim,
192
- 'CallerId' => caller_id,
193
- 'MachineDetectionSpeechThreshold' => machine_detection_speech_threshold,
194
- 'MachineDetectionSpeechEndThreshold' => machine_detection_speech_end_threshold,
195
- 'MachineDetectionSilenceTimeout' => machine_detection_silence_timeout,
196
- 'AsyncAmd' => async_amd,
197
- 'AsyncAmdStatusCallback' => async_amd_status_callback,
198
- 'AsyncAmdStatusCallbackMethod' => async_amd_status_callback_method,
199
- 'Byoc' => byoc,
200
- 'CallReason' => call_reason,
201
- 'CallToken' => call_token,
202
- 'RecordingTrack' => recording_track,
203
- 'TimeLimit' => time_limit,
204
- })
205
-
206
- payload = @version.create('POST', @uri, data: data)
207
-
208
- CallInstance.new(@version, payload, account_sid: @solution[:account_sid], )
209
- end
210
-
211
- ##
212
- # Lists CallInstance records from the API as a list.
213
- # Unlike stream(), this operation is eager and will load `limit` records into
214
- # memory before returning.
215
- # @param [String] to Only show calls made to this phone number, SIP address,
216
- # Client identifier or SIM SID.
217
- # @param [String] from Only include calls from this phone number, SIP address,
218
- # Client identifier or SIM SID.
219
- # @param [String] parent_call_sid Only include calls spawned by calls with this
220
- # SID.
221
- # @param [call.Status] status The status of the calls to include. Can be:
222
- # `queued`, `ringing`, `in-progress`, `canceled`, `completed`, `failed`, `busy`,
223
- # or `no-answer`.
224
- # @param [Time] start_time_before Only include calls that started on this date
225
- # @param [Time] start_time Only include calls that started on this date
226
- # @param [Time] start_time_after Only include calls that started on this date
227
- # @param [Time] end_time_before Only include calls that ended on this date
228
- # @param [Time] end_time Only include calls that ended on this date
229
- # @param [Time] end_time_after Only include calls that ended on this date
230
- # @param [Integer] limit Upper limit for the number of records to return. stream()
231
- # guarantees to never return more than limit. Default is no limit
232
- # @param [Integer] page_size Number of records to fetch per request, when
233
- # not set will use the default value of 50 records. If no page_size is defined
234
- # but a limit is defined, stream() will attempt to read the limit with the most
235
- # efficient page size, i.e. min(limit, 1000)
236
- # @return [Array] Array of up to limit results
237
- def list(to: :unset, from: :unset, parent_call_sid: :unset, status: :unset, start_time_before: :unset, start_time: :unset, start_time_after: :unset, end_time_before: :unset, end_time: :unset, end_time_after: :unset, limit: nil, page_size: nil)
238
- self.stream(
239
- to: to,
240
- from: from,
241
- parent_call_sid: parent_call_sid,
242
- status: status,
243
- start_time_before: start_time_before,
244
- start_time: start_time,
245
- start_time_after: start_time_after,
246
- end_time_before: end_time_before,
247
- end_time: end_time,
248
- end_time_after: end_time_after,
249
- limit: limit,
250
- page_size: page_size
251
- ).entries
252
- end
253
-
254
- ##
255
- # Streams CallInstance records from the API as an Enumerable.
256
- # This operation lazily loads records as efficiently as possible until the limit
257
- # is reached.
258
- # @param [String] to Only show calls made to this phone number, SIP address,
259
- # Client identifier or SIM SID.
260
- # @param [String] from Only include calls from this phone number, SIP address,
261
- # Client identifier or SIM SID.
262
- # @param [String] parent_call_sid Only include calls spawned by calls with this
263
- # SID.
264
- # @param [call.Status] status The status of the calls to include. Can be:
265
- # `queued`, `ringing`, `in-progress`, `canceled`, `completed`, `failed`, `busy`,
266
- # or `no-answer`.
267
- # @param [Time] start_time_before Only include calls that started on this date
268
- # @param [Time] start_time Only include calls that started on this date
269
- # @param [Time] start_time_after Only include calls that started on this date
270
- # @param [Time] end_time_before Only include calls that ended on this date
271
- # @param [Time] end_time Only include calls that ended on this date
272
- # @param [Time] end_time_after Only include calls that ended on this date
273
- # @param [Integer] limit Upper limit for the number of records to return. stream()
274
- # guarantees to never return more than limit. Default is no limit.
275
- # @param [Integer] page_size Number of records to fetch per request, when
276
- # not set will use the default value of 50 records. If no page_size is defined
277
- # but a limit is defined, stream() will attempt to read the limit with the most
278
- # efficient page size, i.e. min(limit, 1000)
279
- # @return [Enumerable] Enumerable that will yield up to limit results
280
- def stream(to: :unset, from: :unset, parent_call_sid: :unset, status: :unset, start_time_before: :unset, start_time: :unset, start_time_after: :unset, end_time_before: :unset, end_time: :unset, end_time_after: :unset, limit: nil, page_size: nil)
281
- limits = @version.read_limits(limit, page_size)
282
-
283
- page = self.page(
284
- to: to,
285
- from: from,
286
- parent_call_sid: parent_call_sid,
287
- status: status,
288
- start_time_before: start_time_before,
289
- start_time: start_time,
290
- start_time_after: start_time_after,
291
- end_time_before: end_time_before,
292
- end_time: end_time,
293
- end_time_after: end_time_after,
294
- page_size: limits[:page_size],
295
- )
296
-
297
- @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
298
- end
299
-
300
- ##
301
- # When passed a block, yields CallInstance records from the API.
302
- # This operation lazily loads records as efficiently as possible until the limit
303
- # is reached.
304
- def each
305
- limits = @version.read_limits
306
-
307
- page = self.page(page_size: limits[:page_size], )
308
-
309
- @version.stream(page,
310
- limit: limits[:limit],
311
- page_limit: limits[:page_limit]).each {|x| yield x}
312
- end
313
-
314
- ##
315
- # Retrieve a single page of CallInstance records from the API.
316
- # Request is executed immediately.
317
- # @param [String] to Only show calls made to this phone number, SIP address,
318
- # Client identifier or SIM SID.
319
- # @param [String] from Only include calls from this phone number, SIP address,
320
- # Client identifier or SIM SID.
321
- # @param [String] parent_call_sid Only include calls spawned by calls with this
322
- # SID.
323
- # @param [call.Status] status The status of the calls to include. Can be:
324
- # `queued`, `ringing`, `in-progress`, `canceled`, `completed`, `failed`, `busy`,
325
- # or `no-answer`.
326
- # @param [Time] start_time_before Only include calls that started on this date
327
- # @param [Time] start_time Only include calls that started on this date
328
- # @param [Time] start_time_after Only include calls that started on this date
329
- # @param [Time] end_time_before Only include calls that ended on this date
330
- # @param [Time] end_time Only include calls that ended on this date
331
- # @param [Time] end_time_after Only include calls that ended on this date
332
- # @param [String] page_token PageToken provided by the API
333
- # @param [Integer] page_number Page Number, this value is simply for client state
334
- # @param [Integer] page_size Number of records to return, defaults to 50
335
- # @return [Page] Page of CallInstance
336
- def page(to: :unset, from: :unset, parent_call_sid: :unset, status: :unset, start_time_before: :unset, start_time: :unset, start_time_after: :unset, end_time_before: :unset, end_time: :unset, end_time_after: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
337
- params = Twilio::Values.of({
338
- 'To' => to,
339
- 'From' => from,
340
- 'ParentCallSid' => parent_call_sid,
341
- 'Status' => status,
342
- 'StartTime<' => Twilio.serialize_iso8601_datetime(start_time_before),
343
- 'StartTime' => Twilio.serialize_iso8601_datetime(start_time),
344
- 'StartTime>' => Twilio.serialize_iso8601_datetime(start_time_after),
345
- 'EndTime<' => Twilio.serialize_iso8601_datetime(end_time_before),
346
- 'EndTime' => Twilio.serialize_iso8601_datetime(end_time),
347
- 'EndTime>' => Twilio.serialize_iso8601_datetime(end_time_after),
348
- 'PageToken' => page_token,
349
- 'Page' => page_number,
350
- 'PageSize' => page_size,
351
- })
352
-
353
- response = @version.page('GET', @uri, params: params)
354
-
355
- CallPage.new(@version, response, @solution)
356
- end
357
-
358
- ##
359
- # Retrieve a single page of CallInstance records from the API.
360
- # Request is executed immediately.
361
- # @param [String] target_url API-generated URL for the requested results page
362
- # @return [Page] Page of CallInstance
363
- def get_page(target_url)
364
- response = @version.domain.request(
365
- 'GET',
366
- target_url
367
- )
368
- CallPage.new(@version, response, @solution)
369
- end
370
-
371
- ##
372
- # Access the feedback_summaries
373
- # @param [String] sid A 34 character string that uniquely identifies this
374
- # resource.
375
- # @return [FeedbackSummaryList]
376
- # @return [FeedbackSummaryContext] if sid was passed.
377
- def feedback_summaries(sid=:unset)
378
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
379
-
380
- if sid != :unset
381
- return FeedbackSummaryContext.new(@version, @solution[:account_sid], sid, )
382
- end
383
-
384
- @feedback_summaries ||= FeedbackSummaryList.new(@version, account_sid: @solution[:account_sid], )
385
- end
386
-
387
- ##
388
- # Provide a user friendly representation
389
- def to_s
390
- '#<Twilio.Api.V2010.CallList>'
391
- end
392
- end
393
-
394
- class CallPage < Page
395
- ##
396
- # Initialize the CallPage
397
- # @param [Version] version Version that contains the resource
398
- # @param [Response] response Response from the API
399
- # @param [Hash] solution Path solution for the resource
400
- # @return [CallPage] CallPage
401
- def initialize(version, response, solution)
402
- super(version, response)
403
-
404
- # Path Solution
405
- @solution = solution
406
- end
407
-
408
- ##
409
- # Build an instance of CallInstance
410
- # @param [Hash] payload Payload response from the API
411
- # @return [CallInstance] CallInstance
412
- def get_instance(payload)
413
- CallInstance.new(@version, payload, account_sid: @solution[:account_sid], )
414
- end
415
-
416
- ##
417
- # Provide a user friendly representation
418
- def to_s
419
- '<Twilio.Api.V2010.CallPage>'
420
- end
421
- end
422
-
423
- class CallContext < InstanceContext
424
- ##
425
- # Initialize the CallContext
426
- # @param [Version] version Version that contains the resource
427
- # @param [String] account_sid The SID of the
428
- # {Account}[https://www.twilio.com/docs/iam/api/account] that created the Call
429
- # resource(s) to fetch.
430
- # @param [String] sid The SID of the Call resource to fetch.
431
- # @return [CallContext] CallContext
432
- def initialize(version, account_sid, sid)
433
- super(version)
434
-
435
- # Path Solution
436
- @solution = {account_sid: account_sid, sid: sid, }
437
- @uri = "/Accounts/#{@solution[:account_sid]}/Calls/#{@solution[:sid]}.json"
438
-
439
- # Dependents
440
- @recordings = nil
441
- @notifications = nil
442
- @feedback = nil
443
- @events = nil
444
- @payments = nil
445
- @siprec = nil
446
- @streams = nil
447
- @user_defined_message_subscriptions = nil
448
- @user_defined_messages = nil
449
- end
450
-
451
- ##
452
- # Delete the CallInstance
453
- # @return [Boolean] true if delete succeeds, false otherwise
454
- def delete
455
- @version.delete('DELETE', @uri)
456
- end
457
-
458
- ##
459
- # Fetch the CallInstance
460
- # @return [CallInstance] Fetched CallInstance
461
- def fetch
462
- payload = @version.fetch('GET', @uri)
463
-
464
- CallInstance.new(@version, payload, account_sid: @solution[:account_sid], sid: @solution[:sid], )
465
- end
466
-
467
- ##
468
- # Update the CallInstance
469
- # @param [String] url The absolute URL that returns the TwiML instructions for the
470
- # call. We will call this URL using the `method` when the call connects. For more
471
- # information, see the {Url
472
- # Parameter}[https://www.twilio.com/docs/voice/make-calls#specify-a-url-parameter]
473
- # section in {Making Calls}[https://www.twilio.com/docs/voice/make-calls].
474
- # @param [String] method The HTTP method we should use when calling the `url`. Can
475
- # be: `GET` or `POST` and the default is `POST`. If an `application_sid` parameter
476
- # is present, this parameter is ignored.
477
- # @param [call.UpdateStatus] status The new status of the resource. Can be:
478
- # `canceled` or `completed`. Specifying `canceled` will attempt to hang up calls
479
- # that are queued or ringing; however, it will not affect calls already in
480
- # progress. Specifying `completed` will attempt to hang up a call even if it's
481
- # already in progress.
482
- # @param [String] fallback_url The URL that we call using the `fallback_method` if
483
- # an error occurs when requesting or executing the TwiML at `url`. If an
484
- # `application_sid` parameter is present, this parameter is ignored.
485
- # @param [String] fallback_method The HTTP method that we should use to request
486
- # the `fallback_url`. Can be: `GET` or `POST` and the default is `POST`. If an
487
- # `application_sid` parameter is present, this parameter is ignored.
488
- # @param [String] status_callback The URL we should call using the
489
- # `status_callback_method` to send status information to your application. If no
490
- # `status_callback_event` is specified, we will send the `completed` status. If an
491
- # `application_sid` parameter is present, this parameter is ignored. URLs must
492
- # contain a valid hostname (underscores are not permitted).
493
- # @param [String] status_callback_method The HTTP method we should use when
494
- # requesting the `status_callback` URL. Can be: `GET` or `POST` and the default is
495
- # `POST`. If an `application_sid` parameter is present, this parameter is ignored.
496
- # @param [String] twiml TwiML instructions for the call Twilio will use without
497
- # fetching Twiml from url. Twiml and url parameters are mutually exclusive
498
- # @param [String] time_limit The maximum duration of the call in seconds.
499
- # Constraints depend on account and configuration.
500
- # @return [CallInstance] Updated CallInstance
501
- def update(url: :unset, method: :unset, status: :unset, fallback_url: :unset, fallback_method: :unset, status_callback: :unset, status_callback_method: :unset, twiml: :unset, time_limit: :unset)
502
- data = Twilio::Values.of({
503
- 'Url' => url,
504
- 'Method' => method,
505
- 'Status' => status,
506
- 'FallbackUrl' => fallback_url,
507
- 'FallbackMethod' => fallback_method,
508
- 'StatusCallback' => status_callback,
509
- 'StatusCallbackMethod' => status_callback_method,
510
- 'Twiml' => twiml,
511
- 'TimeLimit' => time_limit,
512
- })
513
-
514
- payload = @version.update('POST', @uri, data: data)
515
-
516
- CallInstance.new(@version, payload, account_sid: @solution[:account_sid], sid: @solution[:sid], )
517
- end
518
-
519
- ##
520
- # Access the recordings
521
- # @return [RecordingList]
522
- # @return [RecordingContext] if sid was passed.
523
- def recordings(sid=:unset)
524
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
525
-
526
- if sid != :unset
527
- return RecordingContext.new(@version, @solution[:account_sid], @solution[:sid], sid, )
528
- end
529
-
530
- unless @recordings
531
- @recordings = RecordingList.new(
532
- @version,
533
- account_sid: @solution[:account_sid],
534
- call_sid: @solution[:sid],
535
- )
536
- end
537
-
538
- @recordings
539
- end
540
-
541
- ##
542
- # Access the notifications
543
- # @return [NotificationList]
544
- # @return [NotificationContext] if sid was passed.
545
- def notifications(sid=:unset)
546
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
547
-
548
- if sid != :unset
549
- return NotificationContext.new(@version, @solution[:account_sid], @solution[:sid], sid, )
550
- end
551
-
552
- unless @notifications
553
- @notifications = NotificationList.new(
554
- @version,
555
- account_sid: @solution[:account_sid],
556
- call_sid: @solution[:sid],
557
- )
558
- end
559
-
560
- @notifications
561
- end
562
-
563
- ##
564
- # Access the feedback
565
- # @return [FeedbackList]
566
- # @return [FeedbackContext]
567
- def feedback
568
- FeedbackContext.new(@version, @solution[:account_sid], @solution[:sid], )
569
- end
570
-
571
- ##
572
- # Access the events
573
- # @return [EventList]
574
- # @return [EventContext]
575
- def events
576
- unless @events
577
- @events = EventList.new(@version, account_sid: @solution[:account_sid], call_sid: @solution[:sid], )
578
- end
579
-
580
- @events
581
- end
582
-
583
- ##
584
- # Access the payments
585
- # @return [PaymentList]
586
- # @return [PaymentContext] if sid was passed.
587
- def payments(sid=:unset)
588
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
589
-
590
- if sid != :unset
591
- return PaymentContext.new(@version, @solution[:account_sid], @solution[:sid], sid, )
592
- end
593
-
594
- unless @payments
595
- @payments = PaymentList.new(
596
- @version,
597
- account_sid: @solution[:account_sid],
598
- call_sid: @solution[:sid],
599
- )
600
- end
601
-
602
- @payments
603
- end
604
-
605
- ##
606
- # Access the siprec
607
- # @return [SiprecList]
608
- # @return [SiprecContext] if sid was passed.
609
- def siprec(sid=:unset)
610
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
611
-
612
- if sid != :unset
613
- return SiprecContext.new(@version, @solution[:account_sid], @solution[:sid], sid, )
614
- end
615
-
616
- unless @siprec
617
- @siprec = SiprecList.new(@version, account_sid: @solution[:account_sid], call_sid: @solution[:sid], )
618
- end
619
-
620
- @siprec
621
- end
622
-
623
- ##
624
- # Access the streams
625
- # @return [StreamList]
626
- # @return [StreamContext] if sid was passed.
627
- def streams(sid=:unset)
628
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
629
-
630
- if sid != :unset
631
- return StreamContext.new(@version, @solution[:account_sid], @solution[:sid], sid, )
632
- end
633
-
634
- unless @streams
635
- @streams = StreamList.new(@version, account_sid: @solution[:account_sid], call_sid: @solution[:sid], )
636
- end
637
-
638
- @streams
639
- end
640
-
641
- ##
642
- # Access the user_defined_message_subscriptions
643
- # @return [UserDefinedMessageSubscriptionList]
644
- # @return [UserDefinedMessageSubscriptionContext] if sid was passed.
645
- def user_defined_message_subscriptions(sid=:unset)
646
- raise ArgumentError, 'sid cannot be nil' if sid.nil?
647
-
648
- if sid != :unset
649
- return UserDefinedMessageSubscriptionContext.new(
650
- @version,
651
- @solution[:account_sid],
652
- @solution[:sid],
653
- sid,
654
- )
655
- end
656
-
657
- unless @user_defined_message_subscriptions
658
- @user_defined_message_subscriptions = UserDefinedMessageSubscriptionList.new(
659
- @version,
660
- account_sid: @solution[:account_sid],
661
- call_sid: @solution[:sid],
662
- )
663
- end
664
-
665
- @user_defined_message_subscriptions
666
- end
667
-
668
- ##
669
- # Access the user_defined_messages
670
- # @return [UserDefinedMessageList]
671
- # @return [UserDefinedMessageContext]
672
- def user_defined_messages
673
- unless @user_defined_messages
674
- @user_defined_messages = UserDefinedMessageList.new(
675
- @version,
676
- account_sid: @solution[:account_sid],
677
- call_sid: @solution[:sid],
678
- )
679
- end
680
-
681
- @user_defined_messages
682
- end
683
-
684
- ##
685
- # Provide a user friendly representation
686
- def to_s
687
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
688
- "#<Twilio.Api.V2010.CallContext #{context}>"
689
- end
690
-
691
- ##
692
- # Provide a detailed, user friendly representation
693
- def inspect
694
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
695
- "#<Twilio.Api.V2010.CallContext #{context}>"
696
- end
697
- end
698
-
699
- class CallInstance < InstanceResource
700
- ##
701
- # Initialize the CallInstance
702
- # @param [Version] version Version that contains the resource
703
- # @param [Hash] payload payload that contains response from Twilio
704
- # @param [String] account_sid The SID of the
705
- # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Call
706
- # resource.
707
- # @param [String] sid The SID of the Call resource to fetch.
708
- # @return [CallInstance] CallInstance
709
- def initialize(version, payload, account_sid: nil, sid: nil)
710
- super(version)
711
-
712
- # Marshaled Properties
713
- @properties = {
714
- 'sid' => payload['sid'],
715
- 'date_created' => Twilio.deserialize_rfc2822(payload['date_created']),
716
- 'date_updated' => Twilio.deserialize_rfc2822(payload['date_updated']),
717
- 'parent_call_sid' => payload['parent_call_sid'],
718
- 'account_sid' => payload['account_sid'],
719
- 'to' => payload['to'],
720
- 'to_formatted' => payload['to_formatted'],
721
- 'from' => payload['from'],
722
- 'from_formatted' => payload['from_formatted'],
723
- 'phone_number_sid' => payload['phone_number_sid'],
724
- 'status' => payload['status'],
725
- 'start_time' => Twilio.deserialize_rfc2822(payload['start_time']),
726
- 'end_time' => Twilio.deserialize_rfc2822(payload['end_time']),
727
- 'duration' => payload['duration'],
728
- 'price' => payload['price'],
729
- 'price_unit' => payload['price_unit'],
730
- 'direction' => payload['direction'],
731
- 'answered_by' => payload['answered_by'],
732
- 'api_version' => payload['api_version'],
733
- 'forwarded_from' => payload['forwarded_from'],
734
- 'group_sid' => payload['group_sid'],
735
- 'caller_name' => payload['caller_name'],
736
- 'queue_time' => payload['queue_time'],
737
- 'trunk_sid' => payload['trunk_sid'],
738
- 'uri' => payload['uri'],
739
- 'subresource_uris' => payload['subresource_uris'],
740
- }
741
-
742
- # Context
743
- @instance_context = nil
744
- @params = {'account_sid' => account_sid, 'sid' => sid || @properties['sid'], }
745
- end
746
-
747
- ##
748
- # Generate an instance context for the instance, the context is capable of
749
- # performing various actions. All instance actions are proxied to the context
750
- # @return [CallContext] CallContext for this CallInstance
751
- def context
752
- unless @instance_context
753
- @instance_context = CallContext.new(@version, @params['account_sid'], @params['sid'], )
754
- end
755
- @instance_context
756
- end
757
-
758
- ##
759
- # @return [String] The unique string that identifies this resource
760
- def sid
761
- @properties['sid']
762
- end
763
-
764
- ##
765
- # @return [Time] The RFC 2822 date and time in GMT that this resource was created
766
- def date_created
767
- @properties['date_created']
768
- end
769
-
770
- ##
771
- # @return [Time] The RFC 2822 date and time in GMT that this resource was last updated
772
- def date_updated
773
- @properties['date_updated']
774
- end
775
-
776
- ##
777
- # @return [String] The SID that identifies the call that created this leg.
778
- def parent_call_sid
779
- @properties['parent_call_sid']
780
- end
781
-
782
- ##
783
- # @return [String] The SID of the Account that created this resource
784
- def account_sid
785
- @properties['account_sid']
786
- end
787
-
788
- ##
789
- # @return [String] The phone number, SIP address or Client identifier that received this call. Phone numbers are in E.164 format (e.g., +16175551212). SIP addresses are formatted as `name@company.com`. Client identifiers are formatted `client:name`.
790
- def to
791
- @properties['to']
792
- end
793
-
794
- ##
795
- # @return [String] The phone number, SIP address or Client identifier that received this call. Formatted for display.
796
- def to_formatted
797
- @properties['to_formatted']
798
- end
799
-
800
- ##
801
- # @return [String] The phone number, SIP address or Client identifier that made this call. Phone numbers are in E.164 format (e.g., +16175551212). SIP addresses are formatted as `name@company.com`. Client identifiers are formatted `client:name`.
802
- def from
803
- @properties['from']
804
- end
805
-
806
- ##
807
- # @return [String] The calling phone number, SIP address, or Client identifier formatted for display.
808
- def from_formatted
809
- @properties['from_formatted']
810
- end
811
-
812
- ##
813
- # @return [String] If the call was inbound, this is the SID of the IncomingPhoneNumber resource that received the call. If the call was outbound, it is the SID of the OutgoingCallerId resource from which the call was placed.
814
- def phone_number_sid
815
- @properties['phone_number_sid']
816
- end
817
-
818
- ##
819
- # @return [call.Status] The status of this call.
820
- def status
821
- @properties['status']
822
- end
823
-
824
- ##
825
- # @return [Time] The start time of the call. Null if the call has not yet been dialed.
826
- def start_time
827
- @properties['start_time']
828
- end
829
-
830
- ##
831
- # @return [Time] The end time of the call. Null if the call did not complete successfully.
832
- def end_time
833
- @properties['end_time']
834
- end
835
-
836
- ##
837
- # @return [String] The length of the call in seconds.
838
- def duration
839
- @properties['duration']
840
- end
841
-
842
- ##
843
- # @return [String] The charge for this call, in the currency associated with the account. Populated after the call is completed. May not be immediately available.
844
- def price
845
- @properties['price']
846
- end
847
-
848
- ##
849
- # @return [String] The currency in which `Price` is measured.
850
- def price_unit
851
- @properties['price_unit']
852
- end
853
-
854
- ##
855
- # @return [String] A string describing the direction of the call. `inbound` for inbound calls, `outbound-api` for calls initiated via the REST API or `outbound-dial` for calls initiated by a `Dial` verb.
856
- def direction
857
- @properties['direction']
858
- end
859
-
860
- ##
861
- # @return [String] Either `human` or `machine` if this call was initiated with answering machine detection. Empty otherwise.
862
- def answered_by
863
- @properties['answered_by']
864
- end
865
-
866
- ##
867
- # @return [String] The API Version used to create the call
868
- def api_version
869
- @properties['api_version']
870
- end
871
-
872
- ##
873
- # @return [String] The forwarding phone number if this call was an incoming call forwarded from another number (depends on carrier supporting forwarding). Otherwise, empty.
874
- def forwarded_from
875
- @properties['forwarded_from']
876
- end
877
-
878
- ##
879
- # @return [String] The Group SID associated with this call. If no Group is associated with the call, the field is empty.
880
- def group_sid
881
- @properties['group_sid']
882
- end
883
-
884
- ##
885
- # @return [String] The caller's name if this call was an incoming call to a phone number with caller ID Lookup enabled. Otherwise, empty.
886
- def caller_name
887
- @properties['caller_name']
888
- end
889
-
890
- ##
891
- # @return [String] The wait time in milliseconds before the call is placed.
892
- def queue_time
893
- @properties['queue_time']
894
- end
895
-
896
- ##
897
- # @return [String] The (optional) unique identifier of the trunk resource that was used for this call.
898
- def trunk_sid
899
- @properties['trunk_sid']
900
- end
901
-
902
- ##
903
- # @return [String] The URI of this resource, relative to `https://api.twilio.com`
904
- def uri
905
- @properties['uri']
906
- end
907
-
908
- ##
909
- # @return [String] A list of related subresources identified by their relative URIs
910
- def subresource_uris
911
- @properties['subresource_uris']
912
- end
913
-
914
- ##
915
- # Delete the CallInstance
916
- # @return [Boolean] true if delete succeeds, false otherwise
917
- def delete
918
- context.delete
919
- end
920
-
921
- ##
922
- # Fetch the CallInstance
923
- # @return [CallInstance] Fetched CallInstance
924
- def fetch
925
- context.fetch
926
- end
927
-
928
- ##
929
- # Update the CallInstance
930
- # @param [String] url The absolute URL that returns the TwiML instructions for the
931
- # call. We will call this URL using the `method` when the call connects. For more
932
- # information, see the {Url
933
- # Parameter}[https://www.twilio.com/docs/voice/make-calls#specify-a-url-parameter]
934
- # section in {Making Calls}[https://www.twilio.com/docs/voice/make-calls].
935
- # @param [String] method The HTTP method we should use when calling the `url`. Can
936
- # be: `GET` or `POST` and the default is `POST`. If an `application_sid` parameter
937
- # is present, this parameter is ignored.
938
- # @param [call.UpdateStatus] status The new status of the resource. Can be:
939
- # `canceled` or `completed`. Specifying `canceled` will attempt to hang up calls
940
- # that are queued or ringing; however, it will not affect calls already in
941
- # progress. Specifying `completed` will attempt to hang up a call even if it's
942
- # already in progress.
943
- # @param [String] fallback_url The URL that we call using the `fallback_method` if
944
- # an error occurs when requesting or executing the TwiML at `url`. If an
945
- # `application_sid` parameter is present, this parameter is ignored.
946
- # @param [String] fallback_method The HTTP method that we should use to request
947
- # the `fallback_url`. Can be: `GET` or `POST` and the default is `POST`. If an
948
- # `application_sid` parameter is present, this parameter is ignored.
949
- # @param [String] status_callback The URL we should call using the
950
- # `status_callback_method` to send status information to your application. If no
951
- # `status_callback_event` is specified, we will send the `completed` status. If an
952
- # `application_sid` parameter is present, this parameter is ignored. URLs must
953
- # contain a valid hostname (underscores are not permitted).
954
- # @param [String] status_callback_method The HTTP method we should use when
955
- # requesting the `status_callback` URL. Can be: `GET` or `POST` and the default is
956
- # `POST`. If an `application_sid` parameter is present, this parameter is ignored.
957
- # @param [String] twiml TwiML instructions for the call Twilio will use without
958
- # fetching Twiml from url. Twiml and url parameters are mutually exclusive
959
- # @param [String] time_limit The maximum duration of the call in seconds.
960
- # Constraints depend on account and configuration.
961
- # @return [CallInstance] Updated CallInstance
962
- def update(url: :unset, method: :unset, status: :unset, fallback_url: :unset, fallback_method: :unset, status_callback: :unset, status_callback_method: :unset, twiml: :unset, time_limit: :unset)
963
- context.update(
964
- url: url,
965
- method: method,
966
- status: status,
967
- fallback_url: fallback_url,
968
- fallback_method: fallback_method,
969
- status_callback: status_callback,
970
- status_callback_method: status_callback_method,
971
- twiml: twiml,
972
- time_limit: time_limit,
973
- )
974
- end
975
-
976
- ##
977
- # Access the recordings
978
- # @return [recordings] recordings
979
- def recordings
980
- context.recordings
981
- end
982
-
983
- ##
984
- # Access the notifications
985
- # @return [notifications] notifications
986
- def notifications
987
- context.notifications
988
- end
989
-
990
- ##
991
- # Access the feedback
992
- # @return [feedback] feedback
993
- def feedback
994
- context.feedback
995
- end
996
-
997
- ##
998
- # Access the events
999
- # @return [events] events
1000
- def events
1001
- context.events
1002
- end
1003
-
1004
- ##
1005
- # Access the payments
1006
- # @return [payments] payments
1007
- def payments
1008
- context.payments
1009
- end
1010
-
1011
- ##
1012
- # Access the siprec
1013
- # @return [siprec] siprec
1014
- def siprec
1015
- context.siprec
1016
- end
1017
-
1018
- ##
1019
- # Access the streams
1020
- # @return [streams] streams
1021
- def streams
1022
- context.streams
1023
- end
1024
-
1025
- ##
1026
- # Access the user_defined_message_subscriptions
1027
- # @return [user_defined_message_subscriptions] user_defined_message_subscriptions
1028
- def user_defined_message_subscriptions
1029
- context.user_defined_message_subscriptions
1030
- end
1031
14
 
1032
- ##
1033
- # Access the user_defined_messages
1034
- # @return [user_defined_messages] user_defined_messages
1035
- def user_defined_messages
1036
- context.user_defined_messages
1037
- end
1038
15
 
1039
- ##
1040
- # Provide a user friendly representation
1041
- def to_s
1042
- values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
1043
- "<Twilio.Api.V2010.CallInstance #{values}>"
1044
- end
1045
-
1046
- ##
1047
- # Provide a detailed, user friendly representation
1048
- def inspect
1049
- values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
1050
- "<Twilio.Api.V2010.CallInstance #{values}>"
16
+ module Twilio
17
+ module REST
18
+ class Api < ApiBase
19
+ class V2010 < Version
20
+ class AccountContext < InstanceContext
21
+
22
+ class CallList < ListResource
23
+
24
+ ##
25
+ # Initialize the CallList
26
+ # @param [Version] version Version that contains the resource
27
+ # @return [CallList] CallList
28
+ def initialize(version, account_sid: nil)
29
+ super(version)
30
+ # Path Solution
31
+ @solution = { account_sid: account_sid }
32
+ @uri = "/Accounts/#{@solution[:account_sid]}/Calls.json"
33
+
34
+ end
35
+ ##
36
+ # Create the CallInstance
37
+ # @param [String] to The phone number, SIP address, or client identifier to call.
38
+ # @param [String] from The phone number or client identifier to use as the caller id. If using a phone number, it must be a Twilio number or a Verified [outgoing caller id](https://www.twilio.com/docs/voice/api/outgoing-caller-ids) for your account. If the `to` parameter is a phone number, `From` must also be a phone number.
39
+ # @param [String] method The HTTP method we should use when calling the `url` parameter's value. Can be: `GET` or `POST` and the default is `POST`. If an `application_sid` parameter is present, this parameter is ignored.
40
+ # @param [String] fallback_url The URL that we call using the `fallback_method` if an error occurs when requesting or executing the TwiML at `url`. If an `application_sid` parameter is present, this parameter is ignored.
41
+ # @param [String] fallback_method The HTTP method that we should use to request the `fallback_url`. Can be: `GET` or `POST` and the default is `POST`. If an `application_sid` parameter is present, this parameter is ignored.
42
+ # @param [String] status_callback The URL we should call using the `status_callback_method` to send status information to your application. If no `status_callback_event` is specified, we will send the `completed` status. If an `application_sid` parameter is present, this parameter is ignored. URLs must contain a valid hostname (underscores are not permitted).
43
+ # @param [Array[String]] status_callback_event The call progress events that we will send to the `status_callback` URL. Can be: `initiated`, `ringing`, `answered`, and `completed`. If no event is specified, we send the `completed` status. If you want to receive multiple events, specify each one in a separate `status_callback_event` parameter. See the code sample for [monitoring call progress](https://www.twilio.com/docs/voice/api/call-resource?code-sample=code-create-a-call-resource-and-specify-a-statuscallbackevent&code-sdk-version=json). If an `application_sid` is present, this parameter is ignored.
44
+ # @param [String] status_callback_method The HTTP method we should use when calling the `status_callback` URL. Can be: `GET` or `POST` and the default is `POST`. If an `application_sid` parameter is present, this parameter is ignored.
45
+ # @param [String] send_digits A string of keys to dial after connecting to the number, maximum of 32 digits. Valid digits in the string include: any digit (`0`-`9`), '`#`', '`*`' and '`w`', to insert a half second pause. For example, if you connected to a company phone number and wanted to pause for one second, and then dial extension 1234 followed by the pound key, the value of this parameter would be `ww1234#`. Remember to URL-encode this string, since the '`#`' character has special meaning in a URL. If both `SendDigits` and `MachineDetection` parameters are provided, then `MachineDetection` will be ignored.
46
+ # @param [String] timeout The integer number of seconds that we should allow the phone to ring before assuming there is no answer. The default is `60` seconds and the maximum is `600` seconds. For some call flows, we will add a 5-second buffer to the timeout value you provide. For this reason, a timeout value of 10 seconds could result in an actual timeout closer to 15 seconds. You can set this to a short time, such as `15` seconds, to hang up before reaching an answering machine or voicemail.
47
+ # @param [Boolean] record Whether to record the call. Can be `true` to record the phone call, or `false` to not. The default is `false`. The `recording_url` is sent to the `status_callback` URL.
48
+ # @param [String] recording_channels The number of channels in the final recording. Can be: `mono` or `dual`. The default is `mono`. `mono` records both legs of the call in a single channel of the recording file. `dual` records each leg to a separate channel of the recording file. The first channel of a dual-channel recording contains the parent call and the second channel contains the child call.
49
+ # @param [String] recording_status_callback The URL that we call when the recording is available to be accessed.
50
+ # @param [String] recording_status_callback_method The HTTP method we should use when calling the `recording_status_callback` URL. Can be: `GET` or `POST` and the default is `POST`.
51
+ # @param [String] sip_auth_username The username used to authenticate the caller making a SIP call.
52
+ # @param [String] sip_auth_password The password required to authenticate the user account specified in `sip_auth_username`.
53
+ # @param [String] machine_detection Whether to detect if a human, answering machine, or fax has picked up the call. Can be: `Enable` or `DetectMessageEnd`. Use `Enable` if you would like us to return `AnsweredBy` as soon as the called party is identified. Use `DetectMessageEnd`, if you would like to leave a message on an answering machine. If `send_digits` is provided, this parameter is ignored. For more information, see [Answering Machine Detection](https://www.twilio.com/docs/voice/answering-machine-detection).
54
+ # @param [String] machine_detection_timeout The number of seconds that we should attempt to detect an answering machine before timing out and sending a voice request with `AnsweredBy` of `unknown`. The default timeout is 30 seconds.
55
+ # @param [Array[String]] recording_status_callback_event The recording status events that will trigger calls to the URL specified in `recording_status_callback`. Can be: `in-progress`, `completed` and `absent`. Defaults to `completed`. Separate multiple values with a space.
56
+ # @param [String] trim Whether to trim any leading and trailing silence from the recording. Can be: `trim-silence` or `do-not-trim` and the default is `trim-silence`.
57
+ # @param [String] caller_id The phone number, SIP address, or Client identifier that made this call. Phone numbers are in [E.164 format](https://wwnw.twilio.com/docs/glossary/what-e164) (e.g., +16175551212). SIP addresses are formatted as `name@company.com`.
58
+ # @param [String] machine_detection_speech_threshold The number of milliseconds that is used as the measuring stick for the length of the speech activity, where durations lower than this value will be interpreted as a human and longer than this value as a machine. Possible Values: 1000-6000. Default: 2400.
59
+ # @param [String] machine_detection_speech_end_threshold The number of milliseconds of silence after speech activity at which point the speech activity is considered complete. Possible Values: 500-5000. Default: 1200.
60
+ # @param [String] machine_detection_silence_timeout The number of milliseconds of initial silence after which an `unknown` AnsweredBy result will be returned. Possible Values: 2000-10000. Default: 5000.
61
+ # @param [String] async_amd Select whether to perform answering machine detection in the background. Default, blocks the execution of the call until Answering Machine Detection is completed. Can be: `true` or `false`.
62
+ # @param [String] async_amd_status_callback The URL that we should call using the `async_amd_status_callback_method` to notify customer application whether the call was answered by human, machine or fax.
63
+ # @param [String] async_amd_status_callback_method The HTTP method we should use when calling the `async_amd_status_callback` URL. Can be: `GET` or `POST` and the default is `POST`.
64
+ # @param [String] byoc The SID of a BYOC (Bring Your Own Carrier) trunk to route this call with. Note that `byoc` is only meaningful when `to` is a phone number; it will otherwise be ignored. (Beta)
65
+ # @param [String] call_reason The Reason for the outgoing call. Use it to specify the purpose of the call that is presented on the called party's phone. (Branded Calls Beta)
66
+ # @param [String] call_token A token string needed to invoke a forwarded call. A call_token is generated when an incoming call is received on a Twilio number. Pass an incoming call's call_token value to a forwarded call via the call_token parameter when creating a new call. A forwarded call should bear the same CallerID of the original incoming call.
67
+ # @param [String] recording_track The audio track to record for the call. Can be: `inbound`, `outbound` or `both`. The default is `both`. `inbound` records the audio that is received by Twilio. `outbound` records the audio that is generated from Twilio. `both` records the audio that is received and generated by Twilio.
68
+ # @param [String] time_limit The maximum duration of the call in seconds. Constraints depend on account and configuration.
69
+ # @param [String] url The absolute URL that returns the TwiML instructions for the call. We will call this URL using the `method` when the call connects. For more information, see the [Url Parameter](https://www.twilio.com/docs/voice/make-calls#specify-a-url-parameter) section in [Making Calls](https://www.twilio.com/docs/voice/make-calls).
70
+ # @param [String] twiml TwiML instructions for the call Twilio will use without fetching Twiml from url parameter. If both `twiml` and `url` are provided then `twiml` parameter will be ignored. Max 4000 characters.
71
+ # @param [String] application_sid The SID of the Application resource that will handle the call, if the call will be handled by an application.
72
+ # @return [CallInstance] Created CallInstance
73
+ def create(
74
+ to: nil,
75
+ from: nil,
76
+ method: :unset,
77
+ fallback_url: :unset,
78
+ fallback_method: :unset,
79
+ status_callback: :unset,
80
+ status_callback_event: :unset,
81
+ status_callback_method: :unset,
82
+ send_digits: :unset,
83
+ timeout: :unset,
84
+ record: :unset,
85
+ recording_channels: :unset,
86
+ recording_status_callback: :unset,
87
+ recording_status_callback_method: :unset,
88
+ sip_auth_username: :unset,
89
+ sip_auth_password: :unset,
90
+ machine_detection: :unset,
91
+ machine_detection_timeout: :unset,
92
+ recording_status_callback_event: :unset,
93
+ trim: :unset,
94
+ caller_id: :unset,
95
+ machine_detection_speech_threshold: :unset,
96
+ machine_detection_speech_end_threshold: :unset,
97
+ machine_detection_silence_timeout: :unset,
98
+ async_amd: :unset,
99
+ async_amd_status_callback: :unset,
100
+ async_amd_status_callback_method: :unset,
101
+ byoc: :unset,
102
+ call_reason: :unset,
103
+ call_token: :unset,
104
+ recording_track: :unset,
105
+ time_limit: :unset,
106
+ url: :unset,
107
+ twiml: :unset,
108
+ application_sid: :unset
109
+ )
110
+
111
+ data = Twilio::Values.of({
112
+ 'To' => to,
113
+ 'From' => from,
114
+ 'Method' => method,
115
+ 'FallbackUrl' => fallback_url,
116
+ 'FallbackMethod' => fallback_method,
117
+ 'StatusCallback' => status_callback,
118
+ 'StatusCallbackEvent' => Twilio.serialize_list(status_callback_event) { |e| e },
119
+ 'StatusCallbackMethod' => status_callback_method,
120
+ 'SendDigits' => send_digits,
121
+ 'Timeout' => timeout,
122
+ 'Record' => record,
123
+ 'RecordingChannels' => recording_channels,
124
+ 'RecordingStatusCallback' => recording_status_callback,
125
+ 'RecordingStatusCallbackMethod' => recording_status_callback_method,
126
+ 'SipAuthUsername' => sip_auth_username,
127
+ 'SipAuthPassword' => sip_auth_password,
128
+ 'MachineDetection' => machine_detection,
129
+ 'MachineDetectionTimeout' => machine_detection_timeout,
130
+ 'RecordingStatusCallbackEvent' => Twilio.serialize_list(recording_status_callback_event) { |e| e },
131
+ 'Trim' => trim,
132
+ 'CallerId' => caller_id,
133
+ 'MachineDetectionSpeechThreshold' => machine_detection_speech_threshold,
134
+ 'MachineDetectionSpeechEndThreshold' => machine_detection_speech_end_threshold,
135
+ 'MachineDetectionSilenceTimeout' => machine_detection_silence_timeout,
136
+ 'AsyncAmd' => async_amd,
137
+ 'AsyncAmdStatusCallback' => async_amd_status_callback,
138
+ 'AsyncAmdStatusCallbackMethod' => async_amd_status_callback_method,
139
+ 'Byoc' => byoc,
140
+ 'CallReason' => call_reason,
141
+ 'CallToken' => call_token,
142
+ 'RecordingTrack' => recording_track,
143
+ 'TimeLimit' => time_limit,
144
+ 'Url' => url,
145
+ 'Twiml' => twiml,
146
+ 'ApplicationSid' => application_sid,
147
+ })
148
+
149
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
150
+
151
+ payload = @version.create('POST', @uri, data: data, headers: headers)
152
+ CallInstance.new(
153
+ @version,
154
+ payload,
155
+ account_sid: @solution[:account_sid],
156
+ )
157
+ end
158
+
159
+
160
+ ##
161
+ # Lists CallInstance records from the API as a list.
162
+ # Unlike stream(), this operation is eager and will load `limit` records into
163
+ # memory before returning.
164
+ # @param [String] to Only show calls made to this phone number, SIP address, Client identifier or SIM SID.
165
+ # @param [String] from Only include calls from this phone number, SIP address, Client identifier or SIM SID.
166
+ # @param [String] parent_call_sid Only include calls spawned by calls with this SID.
167
+ # @param [Status] status The status of the calls to include. Can be: `queued`, `ringing`, `in-progress`, `canceled`, `completed`, `failed`, `busy`, or `no-answer`.
168
+ # @param [Time] start_time Only include calls that started on this date. Specify a date as `YYYY-MM-DD` in UTC, for example: `2009-07-06`, to read only calls that started on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, to read calls that started on or before midnight of this date, and `StartTime>=YYYY-MM-DD` to read calls that started on or after midnight of this date.
169
+ # @param [Time] start_time_before Only include calls that started on this date. Specify a date as `YYYY-MM-DD` in UTC, for example: `2009-07-06`, to read only calls that started on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, to read calls that started on or before midnight of this date, and `StartTime>=YYYY-MM-DD` to read calls that started on or after midnight of this date.
170
+ # @param [Time] start_time_after Only include calls that started on this date. Specify a date as `YYYY-MM-DD` in UTC, for example: `2009-07-06`, to read only calls that started on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, to read calls that started on or before midnight of this date, and `StartTime>=YYYY-MM-DD` to read calls that started on or after midnight of this date.
171
+ # @param [Time] end_time Only include calls that ended on this date. Specify a date as `YYYY-MM-DD` in UTC, for example: `2009-07-06`, to read only calls that ended on this date. You can also specify an inequality, such as `EndTime<=YYYY-MM-DD`, to read calls that ended on or before midnight of this date, and `EndTime>=YYYY-MM-DD` to read calls that ended on or after midnight of this date.
172
+ # @param [Time] end_time_before Only include calls that ended on this date. Specify a date as `YYYY-MM-DD` in UTC, for example: `2009-07-06`, to read only calls that ended on this date. You can also specify an inequality, such as `EndTime<=YYYY-MM-DD`, to read calls that ended on or before midnight of this date, and `EndTime>=YYYY-MM-DD` to read calls that ended on or after midnight of this date.
173
+ # @param [Time] end_time_after Only include calls that ended on this date. Specify a date as `YYYY-MM-DD` in UTC, for example: `2009-07-06`, to read only calls that ended on this date. You can also specify an inequality, such as `EndTime<=YYYY-MM-DD`, to read calls that ended on or before midnight of this date, and `EndTime>=YYYY-MM-DD` to read calls that ended on or after midnight of this date.
174
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
175
+ # guarantees to never return more than limit. Default is no limit
176
+ # @param [Integer] page_size Number of records to fetch per request, when
177
+ # not set will use the default value of 50 records. If no page_size is defined
178
+ # but a limit is defined, stream() will attempt to read the limit with the most
179
+ # efficient page size, i.e. min(limit, 1000)
180
+ # @return [Array] Array of up to limit results
181
+ def list(to: :unset, from: :unset, parent_call_sid: :unset, status: :unset, start_time: :unset, start_time_before: :unset, start_time_after: :unset, end_time: :unset, end_time_before: :unset, end_time_after: :unset, limit: nil, page_size: nil)
182
+ self.stream(
183
+ to: to,
184
+ from: from,
185
+ parent_call_sid: parent_call_sid,
186
+ status: status,
187
+ start_time: start_time,
188
+ start_time_before: start_time_before,
189
+ start_time_after: start_time_after,
190
+ end_time: end_time,
191
+ end_time_before: end_time_before,
192
+ end_time_after: end_time_after,
193
+ limit: limit,
194
+ page_size: page_size
195
+ ).entries
196
+ end
197
+
198
+ ##
199
+ # Streams Instance records from the API as an Enumerable.
200
+ # This operation lazily loads records as efficiently as possible until the limit
201
+ # is reached.
202
+ # @param [String] to Only show calls made to this phone number, SIP address, Client identifier or SIM SID.
203
+ # @param [String] from Only include calls from this phone number, SIP address, Client identifier or SIM SID.
204
+ # @param [String] parent_call_sid Only include calls spawned by calls with this SID.
205
+ # @param [Status] status The status of the calls to include. Can be: `queued`, `ringing`, `in-progress`, `canceled`, `completed`, `failed`, `busy`, or `no-answer`.
206
+ # @param [Time] start_time Only include calls that started on this date. Specify a date as `YYYY-MM-DD` in UTC, for example: `2009-07-06`, to read only calls that started on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, to read calls that started on or before midnight of this date, and `StartTime>=YYYY-MM-DD` to read calls that started on or after midnight of this date.
207
+ # @param [Time] start_time_before Only include calls that started on this date. Specify a date as `YYYY-MM-DD` in UTC, for example: `2009-07-06`, to read only calls that started on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, to read calls that started on or before midnight of this date, and `StartTime>=YYYY-MM-DD` to read calls that started on or after midnight of this date.
208
+ # @param [Time] start_time_after Only include calls that started on this date. Specify a date as `YYYY-MM-DD` in UTC, for example: `2009-07-06`, to read only calls that started on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, to read calls that started on or before midnight of this date, and `StartTime>=YYYY-MM-DD` to read calls that started on or after midnight of this date.
209
+ # @param [Time] end_time Only include calls that ended on this date. Specify a date as `YYYY-MM-DD` in UTC, for example: `2009-07-06`, to read only calls that ended on this date. You can also specify an inequality, such as `EndTime<=YYYY-MM-DD`, to read calls that ended on or before midnight of this date, and `EndTime>=YYYY-MM-DD` to read calls that ended on or after midnight of this date.
210
+ # @param [Time] end_time_before Only include calls that ended on this date. Specify a date as `YYYY-MM-DD` in UTC, for example: `2009-07-06`, to read only calls that ended on this date. You can also specify an inequality, such as `EndTime<=YYYY-MM-DD`, to read calls that ended on or before midnight of this date, and `EndTime>=YYYY-MM-DD` to read calls that ended on or after midnight of this date.
211
+ # @param [Time] end_time_after Only include calls that ended on this date. Specify a date as `YYYY-MM-DD` in UTC, for example: `2009-07-06`, to read only calls that ended on this date. You can also specify an inequality, such as `EndTime<=YYYY-MM-DD`, to read calls that ended on or before midnight of this date, and `EndTime>=YYYY-MM-DD` to read calls that ended on or after midnight of this date.
212
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
213
+ # guarantees to never return more than limit. Default is no limit
214
+ # @param [Integer] page_size Number of records to fetch per request, when
215
+ # not set will use the default value of 50 records. If no page_size is defined
216
+ # but a limit is defined, stream() will attempt to read the limit with the most
217
+ # efficient page size, i.e. min(limit, 1000)
218
+ # @return [Enumerable] Enumerable that will yield up to limit results
219
+ def stream(to: :unset, from: :unset, parent_call_sid: :unset, status: :unset, start_time: :unset, start_time_before: :unset, start_time_after: :unset, end_time: :unset, end_time_before: :unset, end_time_after: :unset, limit: nil, page_size: nil)
220
+ limits = @version.read_limits(limit, page_size)
221
+
222
+ page = self.page(
223
+ to: to,
224
+ from: from,
225
+ parent_call_sid: parent_call_sid,
226
+ status: status,
227
+ start_time: start_time,
228
+ start_time_before: start_time_before,
229
+ start_time_after: start_time_after,
230
+ end_time: end_time,
231
+ end_time_before: end_time_before,
232
+ end_time_after: end_time_after,
233
+ page_size: limits[:page_size], )
234
+
235
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
236
+ end
237
+
238
+ ##
239
+ # When passed a block, yields CallInstance records from the API.
240
+ # This operation lazily loads records as efficiently as possible until the limit
241
+ # is reached.
242
+ def each
243
+ limits = @version.read_limits
244
+
245
+ page = self.page(page_size: limits[:page_size], )
246
+
247
+ @version.stream(page,
248
+ limit: limits[:limit],
249
+ page_limit: limits[:page_limit]).each {|x| yield x}
250
+ end
251
+
252
+ ##
253
+ # Retrieve a single page of CallInstance records from the API.
254
+ # Request is executed immediately.
255
+ # @param [String] to Only show calls made to this phone number, SIP address, Client identifier or SIM SID.
256
+ # @param [String] from Only include calls from this phone number, SIP address, Client identifier or SIM SID.
257
+ # @param [String] parent_call_sid Only include calls spawned by calls with this SID.
258
+ # @param [Status] status The status of the calls to include. Can be: `queued`, `ringing`, `in-progress`, `canceled`, `completed`, `failed`, `busy`, or `no-answer`.
259
+ # @param [Time] start_time Only include calls that started on this date. Specify a date as `YYYY-MM-DD` in UTC, for example: `2009-07-06`, to read only calls that started on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, to read calls that started on or before midnight of this date, and `StartTime>=YYYY-MM-DD` to read calls that started on or after midnight of this date.
260
+ # @param [Time] start_time_before Only include calls that started on this date. Specify a date as `YYYY-MM-DD` in UTC, for example: `2009-07-06`, to read only calls that started on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, to read calls that started on or before midnight of this date, and `StartTime>=YYYY-MM-DD` to read calls that started on or after midnight of this date.
261
+ # @param [Time] start_time_after Only include calls that started on this date. Specify a date as `YYYY-MM-DD` in UTC, for example: `2009-07-06`, to read only calls that started on this date. You can also specify an inequality, such as `StartTime<=YYYY-MM-DD`, to read calls that started on or before midnight of this date, and `StartTime>=YYYY-MM-DD` to read calls that started on or after midnight of this date.
262
+ # @param [Time] end_time Only include calls that ended on this date. Specify a date as `YYYY-MM-DD` in UTC, for example: `2009-07-06`, to read only calls that ended on this date. You can also specify an inequality, such as `EndTime<=YYYY-MM-DD`, to read calls that ended on or before midnight of this date, and `EndTime>=YYYY-MM-DD` to read calls that ended on or after midnight of this date.
263
+ # @param [Time] end_time_before Only include calls that ended on this date. Specify a date as `YYYY-MM-DD` in UTC, for example: `2009-07-06`, to read only calls that ended on this date. You can also specify an inequality, such as `EndTime<=YYYY-MM-DD`, to read calls that ended on or before midnight of this date, and `EndTime>=YYYY-MM-DD` to read calls that ended on or after midnight of this date.
264
+ # @param [Time] end_time_after Only include calls that ended on this date. Specify a date as `YYYY-MM-DD` in UTC, for example: `2009-07-06`, to read only calls that ended on this date. You can also specify an inequality, such as `EndTime<=YYYY-MM-DD`, to read calls that ended on or before midnight of this date, and `EndTime>=YYYY-MM-DD` to read calls that ended on or after midnight of this date.
265
+ # @param [String] page_token PageToken provided by the API
266
+ # @param [Integer] page_number Page Number, this value is simply for client state
267
+ # @param [Integer] page_size Number of records to return, defaults to 50
268
+ # @return [Page] Page of CallInstance
269
+ def page(to: :unset, from: :unset, parent_call_sid: :unset, status: :unset, start_time: :unset, start_time_before: :unset, start_time_after: :unset, end_time: :unset, end_time_before: :unset, end_time_after: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
270
+ params = Twilio::Values.of({
271
+ 'To' => to,
272
+ 'From' => from,
273
+ 'ParentCallSid' => parent_call_sid,
274
+ 'Status' => status,
275
+ 'StartTime' => Twilio.serialize_iso8601_datetime(start_time),
276
+ 'StartTime<' => Twilio.serialize_iso8601_datetime(start_time_before),
277
+ 'StartTime>' => Twilio.serialize_iso8601_datetime(start_time_after),
278
+ 'EndTime' => Twilio.serialize_iso8601_datetime(end_time),
279
+ 'EndTime<' => Twilio.serialize_iso8601_datetime(end_time_before),
280
+ 'EndTime>' => Twilio.serialize_iso8601_datetime(end_time_after),
281
+ 'PageToken' => page_token,
282
+ 'Page' => page_number,
283
+ 'PageSize' => page_size,
284
+ })
285
+
286
+ response = @version.page('GET', @uri, params: params)
287
+
288
+ CallPage.new(@version, response, @solution)
289
+ end
290
+
291
+ ##
292
+ # Retrieve a single page of CallInstance records from the API.
293
+ # Request is executed immediately.
294
+ # @param [String] target_url API-generated URL for the requested results page
295
+ # @return [Page] Page of CallInstance
296
+ def get_page(target_url)
297
+ response = @version.domain.request(
298
+ 'GET',
299
+ target_url
300
+ )
301
+ CallPage.new(@version, response, @solution)
302
+ end
303
+
304
+
305
+
306
+ # Provide a user friendly representation
307
+ def to_s
308
+ '#<Twilio.Api.V2010.CallList>'
309
+ end
310
+ end
311
+
312
+
313
+ class CallContext < InstanceContext
314
+ ##
315
+ # Initialize the CallContext
316
+ # @param [Version] version Version that contains the resource
317
+ # @param [String] account_sid The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Call resource(s) to update.
318
+ # @param [String] sid The Twilio-provided string that uniquely identifies the Call resource to update
319
+ # @return [CallContext] CallContext
320
+ def initialize(version, account_sid, sid)
321
+ super(version)
322
+
323
+ # Path Solution
324
+ @solution = { account_sid: account_sid, sid: sid, }
325
+ @uri = "/Accounts/#{@solution[:account_sid]}/Calls/#{@solution[:sid]}.json"
326
+
327
+ # Dependents
328
+ @events = nil
329
+ @user_defined_messages = nil
330
+ @transcriptions = nil
331
+ @siprec = nil
332
+ @user_defined_message_subscriptions = nil
333
+ @payments = nil
334
+ @recordings = nil
335
+ @notifications = nil
336
+ @streams = nil
337
+ end
338
+ ##
339
+ # Delete the CallInstance
340
+ # @return [Boolean] True if delete succeeds, false otherwise
341
+ def delete
342
+
343
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
344
+
345
+ @version.delete('DELETE', @uri, headers: headers)
346
+ end
347
+
348
+ ##
349
+ # Fetch the CallInstance
350
+ # @return [CallInstance] Fetched CallInstance
351
+ def fetch
352
+
353
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
354
+
355
+ payload = @version.fetch('GET', @uri, headers: headers)
356
+ CallInstance.new(
357
+ @version,
358
+ payload,
359
+ account_sid: @solution[:account_sid],
360
+ sid: @solution[:sid],
361
+ )
362
+ end
363
+
364
+ ##
365
+ # Update the CallInstance
366
+ # @param [String] url The absolute URL that returns the TwiML instructions for the call. We will call this URL using the `method` when the call connects. For more information, see the [Url Parameter](https://www.twilio.com/docs/voice/make-calls#specify-a-url-parameter) section in [Making Calls](https://www.twilio.com/docs/voice/make-calls).
367
+ # @param [String] method The HTTP method we should use when calling the `url`. Can be: `GET` or `POST` and the default is `POST`. If an `application_sid` parameter is present, this parameter is ignored.
368
+ # @param [UpdateStatus] status
369
+ # @param [String] fallback_url The URL that we call using the `fallback_method` if an error occurs when requesting or executing the TwiML at `url`. If an `application_sid` parameter is present, this parameter is ignored.
370
+ # @param [String] fallback_method The HTTP method that we should use to request the `fallback_url`. Can be: `GET` or `POST` and the default is `POST`. If an `application_sid` parameter is present, this parameter is ignored.
371
+ # @param [String] status_callback The URL we should call using the `status_callback_method` to send status information to your application. If no `status_callback_event` is specified, we will send the `completed` status. If an `application_sid` parameter is present, this parameter is ignored. URLs must contain a valid hostname (underscores are not permitted).
372
+ # @param [String] status_callback_method The HTTP method we should use when requesting the `status_callback` URL. Can be: `GET` or `POST` and the default is `POST`. If an `application_sid` parameter is present, this parameter is ignored.
373
+ # @param [String] twiml TwiML instructions for the call Twilio will use without fetching Twiml from url. Twiml and url parameters are mutually exclusive
374
+ # @param [String] time_limit The maximum duration of the call in seconds. Constraints depend on account and configuration.
375
+ # @return [CallInstance] Updated CallInstance
376
+ def update(
377
+ url: :unset,
378
+ method: :unset,
379
+ status: :unset,
380
+ fallback_url: :unset,
381
+ fallback_method: :unset,
382
+ status_callback: :unset,
383
+ status_callback_method: :unset,
384
+ twiml: :unset,
385
+ time_limit: :unset
386
+ )
387
+
388
+ data = Twilio::Values.of({
389
+ 'Url' => url,
390
+ 'Method' => method,
391
+ 'Status' => status,
392
+ 'FallbackUrl' => fallback_url,
393
+ 'FallbackMethod' => fallback_method,
394
+ 'StatusCallback' => status_callback,
395
+ 'StatusCallbackMethod' => status_callback_method,
396
+ 'Twiml' => twiml,
397
+ 'TimeLimit' => time_limit,
398
+ })
399
+
400
+ headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
401
+
402
+ payload = @version.update('POST', @uri, data: data, headers: headers)
403
+ CallInstance.new(
404
+ @version,
405
+ payload,
406
+ account_sid: @solution[:account_sid],
407
+ sid: @solution[:sid],
408
+ )
409
+ end
410
+
411
+ ##
412
+ # Access the events
413
+ # @return [EventList]
414
+ # @return [EventContext]
415
+ def events
416
+ unless @events
417
+ @events = EventList.new(
418
+ @version, account_sid: @solution[:account_sid], call_sid: @solution[:sid], )
419
+ end
420
+ @events
421
+ end
422
+ ##
423
+ # Access the user_defined_messages
424
+ # @return [UserDefinedMessageList]
425
+ # @return [UserDefinedMessageContext]
426
+ def user_defined_messages
427
+ unless @user_defined_messages
428
+ @user_defined_messages = UserDefinedMessageList.new(
429
+ @version, account_sid: @solution[:account_sid], call_sid: @solution[:sid], )
430
+ end
431
+ @user_defined_messages
432
+ end
433
+ ##
434
+ # Access the transcriptions
435
+ # @return [TranscriptionList]
436
+ # @return [TranscriptionContext] if sid was passed.
437
+ def transcriptions(sid=:unset)
438
+
439
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
440
+
441
+ if sid != :unset
442
+ return TranscriptionContext.new(@version, @solution[:account_sid], @solution[:sid],sid )
443
+ end
444
+
445
+ unless @transcriptions
446
+ @transcriptions = TranscriptionList.new(
447
+ @version, account_sid: @solution[:account_sid], call_sid: @solution[:sid], )
448
+ end
449
+
450
+ @transcriptions
451
+ end
452
+ ##
453
+ # Access the siprec
454
+ # @return [SiprecList]
455
+ # @return [SiprecContext] if sid was passed.
456
+ def siprec(sid=:unset)
457
+
458
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
459
+
460
+ if sid != :unset
461
+ return SiprecContext.new(@version, @solution[:account_sid], @solution[:sid],sid )
462
+ end
463
+
464
+ unless @siprec
465
+ @siprec = SiprecList.new(
466
+ @version, account_sid: @solution[:account_sid], call_sid: @solution[:sid], )
467
+ end
468
+
469
+ @siprec
470
+ end
471
+ ##
472
+ # Access the user_defined_message_subscriptions
473
+ # @return [UserDefinedMessageSubscriptionList]
474
+ # @return [UserDefinedMessageSubscriptionContext] if sid was passed.
475
+ def user_defined_message_subscriptions(sid=:unset)
476
+
477
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
478
+
479
+ if sid != :unset
480
+ return UserDefinedMessageSubscriptionContext.new(@version, @solution[:account_sid], @solution[:sid],sid )
481
+ end
482
+
483
+ unless @user_defined_message_subscriptions
484
+ @user_defined_message_subscriptions = UserDefinedMessageSubscriptionList.new(
485
+ @version, account_sid: @solution[:account_sid], call_sid: @solution[:sid], )
486
+ end
487
+
488
+ @user_defined_message_subscriptions
489
+ end
490
+ ##
491
+ # Access the payments
492
+ # @return [PaymentList]
493
+ # @return [PaymentContext] if sid was passed.
494
+ def payments(sid=:unset)
495
+
496
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
497
+
498
+ if sid != :unset
499
+ return PaymentContext.new(@version, @solution[:account_sid], @solution[:sid],sid )
500
+ end
501
+
502
+ unless @payments
503
+ @payments = PaymentList.new(
504
+ @version, account_sid: @solution[:account_sid], call_sid: @solution[:sid], )
505
+ end
506
+
507
+ @payments
508
+ end
509
+ ##
510
+ # Access the recordings
511
+ # @return [RecordingList]
512
+ # @return [RecordingContext] if sid was passed.
513
+ def recordings(sid=:unset)
514
+
515
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
516
+
517
+ if sid != :unset
518
+ return RecordingContext.new(@version, @solution[:account_sid], @solution[:sid],sid )
519
+ end
520
+
521
+ unless @recordings
522
+ @recordings = RecordingList.new(
523
+ @version, account_sid: @solution[:account_sid], call_sid: @solution[:sid], )
524
+ end
525
+
526
+ @recordings
527
+ end
528
+ ##
529
+ # Access the notifications
530
+ # @return [NotificationList]
531
+ # @return [NotificationContext] if sid was passed.
532
+ def notifications(sid=:unset)
533
+
534
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
535
+
536
+ if sid != :unset
537
+ return NotificationContext.new(@version, @solution[:account_sid], @solution[:sid],sid )
538
+ end
539
+
540
+ unless @notifications
541
+ @notifications = NotificationList.new(
542
+ @version, account_sid: @solution[:account_sid], call_sid: @solution[:sid], )
543
+ end
544
+
545
+ @notifications
546
+ end
547
+ ##
548
+ # Access the streams
549
+ # @return [StreamList]
550
+ # @return [StreamContext] if sid was passed.
551
+ def streams(sid=:unset)
552
+
553
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
554
+
555
+ if sid != :unset
556
+ return StreamContext.new(@version, @solution[:account_sid], @solution[:sid],sid )
557
+ end
558
+
559
+ unless @streams
560
+ @streams = StreamList.new(
561
+ @version, account_sid: @solution[:account_sid], call_sid: @solution[:sid], )
562
+ end
563
+
564
+ @streams
565
+ end
566
+
567
+ ##
568
+ # Provide a user friendly representation
569
+ def to_s
570
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
571
+ "#<Twilio.Api.V2010.CallContext #{context}>"
572
+ end
573
+
574
+ ##
575
+ # Provide a detailed, user friendly representation
576
+ def inspect
577
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
578
+ "#<Twilio.Api.V2010.CallContext #{context}>"
579
+ end
580
+ end
581
+
582
+ class CallPage < Page
583
+ ##
584
+ # Initialize the CallPage
585
+ # @param [Version] version Version that contains the resource
586
+ # @param [Response] response Response from the API
587
+ # @param [Hash] solution Path solution for the resource
588
+ # @return [CallPage] CallPage
589
+ def initialize(version, response, solution)
590
+ super(version, response)
591
+
592
+ # Path Solution
593
+ @solution = solution
594
+ end
595
+
596
+ ##
597
+ # Build an instance of CallInstance
598
+ # @param [Hash] payload Payload response from the API
599
+ # @return [CallInstance] CallInstance
600
+ def get_instance(payload)
601
+ CallInstance.new(@version, payload, account_sid: @solution[:account_sid])
602
+ end
603
+
604
+ ##
605
+ # Provide a user friendly representation
606
+ def to_s
607
+ '<Twilio.Api.V2010.CallPage>'
608
+ end
609
+ end
610
+ class CallInstance < InstanceResource
611
+ ##
612
+ # Initialize the CallInstance
613
+ # @param [Version] version Version that contains the resource
614
+ # @param [Hash] payload payload that contains response from Twilio
615
+ # @param [String] account_sid The SID of the
616
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Call
617
+ # resource.
618
+ # @param [String] sid The SID of the Call resource to fetch.
619
+ # @return [CallInstance] CallInstance
620
+ def initialize(version, payload , account_sid: nil, sid: nil)
621
+ super(version)
622
+
623
+ # Marshaled Properties
624
+ @properties = {
625
+ 'sid' => payload['sid'],
626
+ 'date_created' => Twilio.deserialize_rfc2822(payload['date_created']),
627
+ 'date_updated' => Twilio.deserialize_rfc2822(payload['date_updated']),
628
+ 'parent_call_sid' => payload['parent_call_sid'],
629
+ 'account_sid' => payload['account_sid'],
630
+ 'to' => payload['to'],
631
+ 'to_formatted' => payload['to_formatted'],
632
+ 'from' => payload['from'],
633
+ 'from_formatted' => payload['from_formatted'],
634
+ 'phone_number_sid' => payload['phone_number_sid'],
635
+ 'status' => payload['status'],
636
+ 'start_time' => Twilio.deserialize_rfc2822(payload['start_time']),
637
+ 'end_time' => Twilio.deserialize_rfc2822(payload['end_time']),
638
+ 'duration' => payload['duration'],
639
+ 'price' => payload['price'],
640
+ 'price_unit' => payload['price_unit'],
641
+ 'direction' => payload['direction'],
642
+ 'answered_by' => payload['answered_by'],
643
+ 'api_version' => payload['api_version'],
644
+ 'forwarded_from' => payload['forwarded_from'],
645
+ 'group_sid' => payload['group_sid'],
646
+ 'caller_name' => payload['caller_name'],
647
+ 'queue_time' => payload['queue_time'],
648
+ 'trunk_sid' => payload['trunk_sid'],
649
+ 'uri' => payload['uri'],
650
+ 'subresource_uris' => payload['subresource_uris'],
651
+ }
652
+
653
+ # Context
654
+ @instance_context = nil
655
+ @params = { 'account_sid' => account_sid ,'sid' => sid || @properties['sid'] , }
656
+ end
657
+
658
+ ##
659
+ # Generate an instance context for the instance, the context is capable of
660
+ # performing various actions. All instance actions are proxied to the context
661
+ # @return [CallContext] CallContext for this CallInstance
662
+ def context
663
+ unless @instance_context
664
+ @instance_context = CallContext.new(@version , @params['account_sid'], @params['sid'])
665
+ end
666
+ @instance_context
667
+ end
668
+
669
+ ##
670
+ # @return [String] The unique string that we created to identify this Call resource.
671
+ def sid
672
+ @properties['sid']
673
+ end
674
+
675
+ ##
676
+ # @return [Time] The date and time in UTC that this resource was created specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format.
677
+ def date_created
678
+ @properties['date_created']
679
+ end
680
+
681
+ ##
682
+ # @return [Time] The date and time in UTC that this resource was last updated, specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format.
683
+ def date_updated
684
+ @properties['date_updated']
685
+ end
686
+
687
+ ##
688
+ # @return [String] The SID that identifies the call that created this leg.
689
+ def parent_call_sid
690
+ @properties['parent_call_sid']
691
+ end
692
+
693
+ ##
694
+ # @return [String] The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created this Call resource.
695
+ def account_sid
696
+ @properties['account_sid']
697
+ end
698
+
699
+ ##
700
+ # @return [String] The phone number, SIP address, Client identifier or SIM SID that received this call. Phone numbers are in [E.164](https://www.twilio.com/docs/glossary/what-e164) format (e.g., +16175551212). SIP addresses are formatted as `name@company.com`. Client identifiers are formatted `client:name`. SIM SIDs are formatted as `sim:sid`.
701
+ def to
702
+ @properties['to']
703
+ end
704
+
705
+ ##
706
+ # @return [String] The phone number, SIP address or Client identifier that received this call. Formatted for display. Non-North American phone numbers are in [E.164](https://www.twilio.com/docs/glossary/what-e164) format (e.g., +442071838750).
707
+ def to_formatted
708
+ @properties['to_formatted']
709
+ end
710
+
711
+ ##
712
+ # @return [String] The phone number, SIP address, Client identifier or SIM SID that made this call. Phone numbers are in [E.164](https://www.twilio.com/docs/glossary/what-e164) format (e.g., +16175551212). SIP addresses are formatted as `name@company.com`. Client identifiers are formatted `client:name`. SIM SIDs are formatted as `sim:sid`.
713
+ def from
714
+ @properties['from']
715
+ end
716
+
717
+ ##
718
+ # @return [String] The calling phone number, SIP address, or Client identifier formatted for display. Non-North American phone numbers are in [E.164](https://www.twilio.com/docs/glossary/what-e164) format (e.g., +442071838750).
719
+ def from_formatted
720
+ @properties['from_formatted']
721
+ end
722
+
723
+ ##
724
+ # @return [String] If the call was inbound, this is the SID of the IncomingPhoneNumber resource that received the call. If the call was outbound, it is the SID of the OutgoingCallerId resource from which the call was placed.
725
+ def phone_number_sid
726
+ @properties['phone_number_sid']
727
+ end
728
+
729
+ ##
730
+ # @return [Status]
731
+ def status
732
+ @properties['status']
733
+ end
734
+
735
+ ##
736
+ # @return [Time] The start time of the call, given as UTC in [RFC 2822](https://www.php.net/manual/en/class.datetime.php#datetime.constants.rfc2822) format. Empty if the call has not yet been dialed.
737
+ def start_time
738
+ @properties['start_time']
739
+ end
740
+
741
+ ##
742
+ # @return [Time] The time the call ended, given as UTC in [RFC 2822](https://www.php.net/manual/en/class.datetime.php#datetime.constants.rfc2822) format. Empty if the call did not complete successfully.
743
+ def end_time
744
+ @properties['end_time']
745
+ end
746
+
747
+ ##
748
+ # @return [String] The length of the call in seconds. This value is empty for busy, failed, unanswered, or ongoing calls.
749
+ def duration
750
+ @properties['duration']
751
+ end
752
+
753
+ ##
754
+ # @return [String] The charge for this call, in the currency associated with the account. Populated after the call is completed. May not be immediately available. The price associated with a call only reflects the charge for connectivity. Charges for other call-related features such as Answering Machine Detection, Text-To-Speech, and SIP REFER are not included in this value.
755
+ def price
756
+ @properties['price']
757
+ end
758
+
759
+ ##
760
+ # @return [String] The currency in which `Price` is measured, in [ISO 4127](https://www.iso.org/iso/home/standards/currency_codes.htm) format (e.g., `USD`, `EUR`, `JPY`). Always capitalized for calls.
761
+ def price_unit
762
+ @properties['price_unit']
763
+ end
764
+
765
+ ##
766
+ # @return [String] A string describing the direction of the call. Can be: `inbound` for inbound calls, `outbound-api` for calls initiated via the REST API or `outbound-dial` for calls initiated by a `<Dial>` verb. Using [Elastic SIP Trunking](https://www.twilio.com/docs/sip-trunking), the values can be [`trunking-terminating`](https://www.twilio.com/docs/sip-trunking#termination) for outgoing calls from your communications infrastructure to the PSTN or [`trunking-originating`](https://www.twilio.com/docs/sip-trunking#origination) for incoming calls to your communications infrastructure from the PSTN.
767
+ def direction
768
+ @properties['direction']
769
+ end
770
+
771
+ ##
772
+ # @return [String] Either `human` or `machine` if this call was initiated with answering machine detection. Empty otherwise.
773
+ def answered_by
774
+ @properties['answered_by']
775
+ end
776
+
777
+ ##
778
+ # @return [String] The API version used to create the call.
779
+ def api_version
780
+ @properties['api_version']
781
+ end
782
+
783
+ ##
784
+ # @return [String] The forwarding phone number if this call was an incoming call forwarded from another number (depends on carrier supporting forwarding). Otherwise, empty.
785
+ def forwarded_from
786
+ @properties['forwarded_from']
787
+ end
788
+
789
+ ##
790
+ # @return [String] The Group SID associated with this call. If no Group is associated with the call, the field is empty.
791
+ def group_sid
792
+ @properties['group_sid']
793
+ end
794
+
795
+ ##
796
+ # @return [String] The caller's name if this call was an incoming call to a phone number with caller ID Lookup enabled. Otherwise, empty.
797
+ def caller_name
798
+ @properties['caller_name']
799
+ end
800
+
801
+ ##
802
+ # @return [String] The wait time in milliseconds before the call is placed.
803
+ def queue_time
804
+ @properties['queue_time']
805
+ end
806
+
807
+ ##
808
+ # @return [String] The unique identifier of the trunk resource that was used for this call. The field is empty if the call was not made using a SIP trunk or if the call is not terminated.
809
+ def trunk_sid
810
+ @properties['trunk_sid']
811
+ end
812
+
813
+ ##
814
+ # @return [String] The URI of this resource, relative to `https://api.twilio.com`.
815
+ def uri
816
+ @properties['uri']
817
+ end
818
+
819
+ ##
820
+ # @return [Hash] A list of subresources available to this call, identified by their URIs relative to `https://api.twilio.com`.
821
+ def subresource_uris
822
+ @properties['subresource_uris']
823
+ end
824
+
825
+ ##
826
+ # Delete the CallInstance
827
+ # @return [Boolean] True if delete succeeds, false otherwise
828
+ def delete
829
+
830
+ context.delete
831
+ end
832
+
833
+ ##
834
+ # Fetch the CallInstance
835
+ # @return [CallInstance] Fetched CallInstance
836
+ def fetch
837
+
838
+ context.fetch
839
+ end
840
+
841
+ ##
842
+ # Update the CallInstance
843
+ # @param [String] url The absolute URL that returns the TwiML instructions for the call. We will call this URL using the `method` when the call connects. For more information, see the [Url Parameter](https://www.twilio.com/docs/voice/make-calls#specify-a-url-parameter) section in [Making Calls](https://www.twilio.com/docs/voice/make-calls).
844
+ # @param [String] method The HTTP method we should use when calling the `url`. Can be: `GET` or `POST` and the default is `POST`. If an `application_sid` parameter is present, this parameter is ignored.
845
+ # @param [UpdateStatus] status
846
+ # @param [String] fallback_url The URL that we call using the `fallback_method` if an error occurs when requesting or executing the TwiML at `url`. If an `application_sid` parameter is present, this parameter is ignored.
847
+ # @param [String] fallback_method The HTTP method that we should use to request the `fallback_url`. Can be: `GET` or `POST` and the default is `POST`. If an `application_sid` parameter is present, this parameter is ignored.
848
+ # @param [String] status_callback The URL we should call using the `status_callback_method` to send status information to your application. If no `status_callback_event` is specified, we will send the `completed` status. If an `application_sid` parameter is present, this parameter is ignored. URLs must contain a valid hostname (underscores are not permitted).
849
+ # @param [String] status_callback_method The HTTP method we should use when requesting the `status_callback` URL. Can be: `GET` or `POST` and the default is `POST`. If an `application_sid` parameter is present, this parameter is ignored.
850
+ # @param [String] twiml TwiML instructions for the call Twilio will use without fetching Twiml from url. Twiml and url parameters are mutually exclusive
851
+ # @param [String] time_limit The maximum duration of the call in seconds. Constraints depend on account and configuration.
852
+ # @return [CallInstance] Updated CallInstance
853
+ def update(
854
+ url: :unset,
855
+ method: :unset,
856
+ status: :unset,
857
+ fallback_url: :unset,
858
+ fallback_method: :unset,
859
+ status_callback: :unset,
860
+ status_callback_method: :unset,
861
+ twiml: :unset,
862
+ time_limit: :unset
863
+ )
864
+
865
+ context.update(
866
+ url: url,
867
+ method: method,
868
+ status: status,
869
+ fallback_url: fallback_url,
870
+ fallback_method: fallback_method,
871
+ status_callback: status_callback,
872
+ status_callback_method: status_callback_method,
873
+ twiml: twiml,
874
+ time_limit: time_limit,
875
+ )
876
+ end
877
+
878
+ ##
879
+ # Access the events
880
+ # @return [events] events
881
+ def events
882
+ context.events
883
+ end
884
+
885
+ ##
886
+ # Access the user_defined_messages
887
+ # @return [user_defined_messages] user_defined_messages
888
+ def user_defined_messages
889
+ context.user_defined_messages
890
+ end
891
+
892
+ ##
893
+ # Access the transcriptions
894
+ # @return [transcriptions] transcriptions
895
+ def transcriptions
896
+ context.transcriptions
897
+ end
898
+
899
+ ##
900
+ # Access the siprec
901
+ # @return [siprec] siprec
902
+ def siprec
903
+ context.siprec
904
+ end
905
+
906
+ ##
907
+ # Access the user_defined_message_subscriptions
908
+ # @return [user_defined_message_subscriptions] user_defined_message_subscriptions
909
+ def user_defined_message_subscriptions
910
+ context.user_defined_message_subscriptions
911
+ end
912
+
913
+ ##
914
+ # Access the payments
915
+ # @return [payments] payments
916
+ def payments
917
+ context.payments
918
+ end
919
+
920
+ ##
921
+ # Access the recordings
922
+ # @return [recordings] recordings
923
+ def recordings
924
+ context.recordings
925
+ end
926
+
927
+ ##
928
+ # Access the notifications
929
+ # @return [notifications] notifications
930
+ def notifications
931
+ context.notifications
932
+ end
933
+
934
+ ##
935
+ # Access the streams
936
+ # @return [streams] streams
937
+ def streams
938
+ context.streams
939
+ end
940
+
941
+ ##
942
+ # Provide a user friendly representation
943
+ def to_s
944
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
945
+ "<Twilio.Api.V2010.CallInstance #{values}>"
946
+ end
947
+
948
+ ##
949
+ # Provide a detailed, user friendly representation
950
+ def inspect
951
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
952
+ "<Twilio.Api.V2010.CallInstance #{values}>"
953
+ end
954
+ end
955
+
956
+ end
1051
957
  end
1052
- end
1053
958
  end
1054
- end
1055
959
  end
1056
- end
1057
- end
960
+ end
961
+
962
+