twilio-ruby 5.72.0 → 6.0.2

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