twilio-ruby 5.61.2 → 6.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (677) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/pr-lint.yml +21 -0
  3. data/.github/workflows/test-and-deploy.yml +139 -0
  4. data/.gitignore +3 -0
  5. data/.rubocop.yml +1 -1
  6. data/.rubocop_todo.yml +84 -21
  7. data/CHANGES.md +893 -1
  8. data/CONTRIBUTING.md +11 -9
  9. data/LICENSE +1 -1
  10. data/Makefile +13 -8
  11. data/PULL_REQUEST_TEMPLATE.md +1 -1
  12. data/README.md +136 -44
  13. data/UPGRADE.md +10 -0
  14. data/advanced-examples/custom-http-client.md +170 -0
  15. data/cluster_spec.rb +77 -0
  16. data/lib/rack/twilio_webhook_authentication.rb +25 -1
  17. data/lib/twilio-ruby/base/client_base.rb +121 -0
  18. data/lib/twilio-ruby/framework/rest/error.rb +0 -12
  19. data/lib/twilio-ruby/http/http_client.rb +11 -6
  20. data/lib/twilio-ruby/jwt/access_token.rb +0 -59
  21. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +198 -178
  22. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +371 -332
  23. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +371 -332
  24. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +121 -114
  25. data/lib/twilio-ruby/rest/accounts/v1/safelist.rb +169 -0
  26. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +214 -192
  27. data/lib/twilio-ruby/rest/accounts/v1.rb +51 -42
  28. data/lib/twilio-ruby/rest/accounts.rb +4 -34
  29. data/lib/twilio-ruby/rest/accounts_base.rb +38 -0
  30. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +370 -365
  31. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +551 -514
  32. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +615 -586
  33. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +313 -320
  34. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/local.rb +394 -0
  35. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/machine_to_machine.rb +394 -0
  36. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/mobile.rb +394 -0
  37. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/national.rb +394 -0
  38. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/shared_cost.rb +394 -0
  39. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/toll_free.rb +394 -0
  40. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country/voip.rb +394 -0
  41. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number_country.rb +432 -0
  42. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +136 -118
  43. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +202 -194
  44. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +252 -289
  45. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +317 -303
  46. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +400 -417
  47. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +291 -342
  48. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +494 -511
  49. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +839 -634
  50. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +872 -0
  51. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +163 -0
  52. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +239 -0
  53. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +952 -972
  54. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +652 -717
  55. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +451 -458
  56. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +489 -493
  57. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +426 -407
  58. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +321 -351
  59. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +398 -418
  60. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +536 -554
  61. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +536 -553
  62. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +536 -553
  63. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +841 -903
  64. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +335 -302
  65. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +167 -166
  66. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +340 -350
  67. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +615 -612
  68. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +157 -138
  69. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +157 -138
  70. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +400 -399
  71. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +368 -358
  72. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +340 -338
  73. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +426 -390
  74. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +358 -380
  75. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +368 -385
  76. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +364 -372
  77. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +507 -486
  78. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +417 -408
  79. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +335 -306
  80. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +375 -368
  81. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +399 -373
  82. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls/auth_calls_credential_list_mapping.rb +346 -0
  83. 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 +193 -195
  84. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_calls.rb +140 -0
  85. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/{auth_registrations_mapping → auth_type_registrations}/auth_registrations_credential_list_mapping.rb +193 -195
  86. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_type_registrations.rb +126 -0
  87. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +94 -103
  88. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +339 -339
  89. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +339 -338
  90. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +649 -645
  91. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +412 -421
  92. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +399 -374
  93. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +141 -150
  94. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +171 -154
  95. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +364 -350
  96. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +314 -339
  97. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +314 -339
  98. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +314 -339
  99. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +314 -339
  100. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +314 -339
  101. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +314 -339
  102. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +314 -339
  103. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +314 -339
  104. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +381 -416
  105. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +485 -484
  106. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +112 -104
  107. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +172 -161
  108. data/lib/twilio-ruby/rest/api/v2010/account.rb +979 -943
  109. data/lib/twilio-ruby/rest/api/v2010.rb +126 -148
  110. data/lib/twilio-ruby/rest/api.rb +25 -34
  111. data/lib/twilio-ruby/rest/api_base.rb +38 -0
  112. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +299 -279
  113. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +298 -279
  114. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +271 -248
  115. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +246 -235
  116. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +245 -218
  117. data/lib/twilio-ruby/rest/bulkexports/v1.rb +57 -55
  118. data/lib/twilio-ruby/rest/bulkexports.rb +3 -34
  119. data/lib/twilio-ruby/rest/bulkexports_base.rb +38 -0
  120. data/lib/twilio-ruby/rest/chat/v1/credential.rb +419 -403
  121. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +374 -391
  122. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +422 -440
  123. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +438 -437
  124. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +534 -515
  125. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +396 -367
  126. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +244 -239
  127. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +465 -440
  128. data/lib/twilio-ruby/rest/chat/v1/service.rb +861 -894
  129. data/lib/twilio-ruby/rest/chat/v1.rb +57 -55
  130. data/lib/twilio-ruby/rest/chat/v2/credential.rb +419 -401
  131. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +371 -370
  132. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +374 -386
  133. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +486 -527
  134. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +513 -533
  135. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +440 -467
  136. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +606 -605
  137. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +396 -369
  138. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +364 -381
  139. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +406 -413
  140. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +509 -491
  141. data/lib/twilio-ruby/rest/chat/v2/service.rb +764 -778
  142. data/lib/twilio-ruby/rest/chat/v2.rb +57 -53
  143. data/lib/twilio-ruby/rest/chat/v3/channel.rb +297 -0
  144. data/lib/twilio-ruby/rest/chat/v3.rb +71 -0
  145. data/lib/twilio-ruby/rest/chat.rb +10 -38
  146. data/lib/twilio-ruby/rest/chat_base.rb +48 -0
  147. data/lib/twilio-ruby/rest/client.rb +318 -561
  148. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +208 -0
  149. data/lib/twilio-ruby/rest/content/v1/content.rb +363 -0
  150. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +251 -0
  151. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +265 -0
  152. data/lib/twilio-ruby/rest/content/v1.rb +61 -0
  153. data/lib/twilio-ruby/rest/content.rb +15 -0
  154. data/lib/twilio-ruby/rest/content_base.rb +38 -0
  155. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +482 -0
  156. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +254 -227
  157. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +279 -252
  158. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +334 -344
  159. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +537 -495
  160. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +498 -495
  161. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +425 -403
  162. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +620 -552
  163. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +425 -409
  164. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +304 -304
  165. data/lib/twilio-ruby/rest/conversations/v1/role.rb +384 -356
  166. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +364 -373
  167. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +300 -289
  168. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +246 -235
  169. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +307 -279
  170. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +341 -371
  171. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +544 -535
  172. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +507 -530
  173. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +434 -438
  174. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +632 -588
  175. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +310 -317
  176. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +396 -380
  177. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +446 -455
  178. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +484 -474
  179. data/lib/twilio-ruby/rest/conversations/v1/service.rb +476 -447
  180. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +445 -435
  181. data/lib/twilio-ruby/rest/conversations/v1/user.rb +472 -441
  182. data/lib/twilio-ruby/rest/conversations/v1.rb +129 -119
  183. data/lib/twilio-ruby/rest/conversations.rb +18 -34
  184. data/lib/twilio-ruby/rest/conversations_base.rb +38 -0
  185. data/lib/twilio-ruby/rest/events/v1/event_type.rb +302 -288
  186. data/lib/twilio-ruby/rest/events/v1/schema/schema_version.rb +299 -0
  187. data/lib/twilio-ruby/rest/events/v1/schema.rb +227 -218
  188. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +114 -100
  189. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +120 -103
  190. data/lib/twilio-ruby/rest/events/v1/sink.rb +434 -408
  191. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +365 -339
  192. data/lib/twilio-ruby/rest/events/v1/subscription.rb +416 -387
  193. data/lib/twilio-ruby/rest/events/v1.rb +87 -87
  194. data/lib/twilio-ruby/rest/events.rb +5 -34
  195. data/lib/twilio-ruby/rest/events_base.rb +38 -0
  196. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +448 -0
  197. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +365 -330
  198. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +510 -475
  199. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +563 -555
  200. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +327 -0
  201. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +228 -0
  202. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +442 -0
  203. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +358 -0
  204. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +443 -0
  205. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +361 -0
  206. data/lib/twilio-ruby/rest/flex_api/v1/insights_session.rb +217 -0
  207. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answer_sets.rb +155 -0
  208. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +141 -0
  209. data/lib/twilio-ruby/rest/flex_api/v1/insights_user_roles.rb +196 -0
  210. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +251 -0
  211. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +339 -0
  212. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +406 -0
  213. data/lib/twilio-ruby/rest/flex_api/v1/interaction.rb +267 -0
  214. data/lib/twilio-ruby/rest/flex_api/v1/provisioning_status.rb +187 -0
  215. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +378 -331
  216. data/lib/twilio-ruby/rest/flex_api/v1.rb +201 -76
  217. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +146 -0
  218. data/lib/twilio-ruby/rest/flex_api/v2.rb +40 -0
  219. data/lib/twilio-ruby/rest/flex_api.rb +33 -31
  220. data/lib/twilio-ruby/rest/flex_api_base.rb +43 -0
  221. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +244 -227
  222. data/lib/twilio-ruby/rest/frontline_api/v1.rb +42 -38
  223. data/lib/twilio-ruby/rest/frontline_api.rb +2 -34
  224. data/lib/twilio-ruby/rest/frontline_api_base.rb +38 -0
  225. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +319 -0
  226. data/lib/twilio-ruby/rest/insights/v1/call/call_summary.rb +350 -0
  227. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +269 -255
  228. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +241 -225
  229. data/lib/twilio-ruby/rest/insights/v1/call.rb +260 -228
  230. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +485 -426
  231. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +488 -0
  232. data/lib/twilio-ruby/rest/insights/v1/conference.rb +505 -0
  233. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +378 -371
  234. data/lib/twilio-ruby/rest/insights/v1/room.rb +490 -489
  235. data/lib/twilio-ruby/rest/insights/v1/setting.rb +254 -0
  236. data/lib/twilio-ruby/rest/insights/v1.rb +84 -60
  237. data/lib/twilio-ruby/rest/insights.rb +17 -31
  238. data/lib/twilio-ruby/rest/insights_base.rb +38 -0
  239. data/lib/twilio-ruby/rest/intelligence/v2/service.rb +510 -0
  240. data/lib/twilio-ruby/rest/intelligence/v2/transcript/media.rb +226 -0
  241. data/lib/twilio-ruby/rest/intelligence/v2/transcript/operator_result.rb +388 -0
  242. data/lib/twilio-ruby/rest/intelligence/v2/transcript/sentence.rb +248 -0
  243. data/lib/twilio-ruby/rest/intelligence/v2/transcript.rb +520 -0
  244. data/lib/twilio-ruby/rest/intelligence/v2.rb +64 -0
  245. data/lib/twilio-ruby/rest/intelligence.rb +6 -0
  246. data/lib/twilio-ruby/rest/intelligence_base.rb +38 -0
  247. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +419 -364
  248. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +374 -359
  249. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +422 -397
  250. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +438 -409
  251. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +534 -488
  252. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +396 -347
  253. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +244 -233
  254. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +465 -418
  255. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +861 -779
  256. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +57 -53
  257. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +419 -364
  258. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +371 -343
  259. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +374 -359
  260. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +486 -451
  261. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +513 -479
  262. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +440 -411
  263. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +606 -555
  264. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +396 -347
  265. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +364 -351
  266. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +397 -384
  267. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +509 -467
  268. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +764 -689
  269. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +57 -53
  270. data/lib/twilio-ruby/rest/ip_messaging.rb +3 -41
  271. data/lib/twilio-ruby/rest/ip_messaging_base.rb +43 -0
  272. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +243 -239
  273. data/lib/twilio-ruby/rest/lookups/v1.rb +42 -39
  274. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +370 -0
  275. data/lib/twilio-ruby/rest/lookups/v2.rb +49 -0
  276. data/lib/twilio-ruby/rest/lookups.rb +2 -34
  277. data/lib/twilio-ruby/rest/lookups_base.rb +43 -0
  278. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +410 -374
  279. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +404 -0
  280. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +245 -214
  281. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +422 -380
  282. data/lib/twilio-ruby/rest/media/v1.rb +72 -53
  283. data/lib/twilio-ruby/rest/media.rb +13 -34
  284. data/lib/twilio-ruby/rest/media_base.rb +38 -0
  285. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +136 -0
  286. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +358 -346
  287. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +487 -420
  288. data/lib/twilio-ruby/rest/messaging/v1/deactivations.rb +189 -0
  289. data/lib/twilio-ruby/rest/messaging/v1/domain_certs.rb +280 -0
  290. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +289 -0
  291. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +238 -0
  292. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +155 -144
  293. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +214 -0
  294. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service_domain_association.rb +196 -0
  295. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +351 -335
  296. data/lib/twilio-ruby/rest/messaging/v1/service/channel_sender.rb +329 -0
  297. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +358 -341
  298. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +358 -336
  299. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +506 -426
  300. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +121 -115
  301. data/lib/twilio-ruby/rest/messaging/v1/service.rb +767 -763
  302. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +777 -0
  303. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +106 -94
  304. data/lib/twilio-ruby/rest/messaging/v1.rb +187 -74
  305. data/lib/twilio-ruby/rest/messaging.rb +36 -35
  306. data/lib/twilio-ruby/rest/messaging_base.rb +38 -0
  307. data/lib/twilio-ruby/rest/microvisor/v1/account_config.rb +358 -0
  308. data/lib/twilio-ruby/rest/microvisor/v1/account_secret.rb +351 -0
  309. data/lib/twilio-ruby/rest/microvisor/v1/app/app_manifest.rb +208 -0
  310. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +349 -0
  311. data/lib/twilio-ruby/rest/microvisor/v1/device/device_config.rb +374 -0
  312. data/lib/twilio-ruby/rest/microvisor/v1/device/device_secret.rb +367 -0
  313. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +427 -0
  314. data/lib/twilio-ruby/rest/microvisor/v1.rb +94 -0
  315. data/lib/twilio-ruby/rest/microvisor.rb +24 -0
  316. data/lib/twilio-ruby/rest/microvisor_base.rb +38 -0
  317. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +398 -395
  318. data/lib/twilio-ruby/rest/monitor/v1/event.rb +381 -390
  319. data/lib/twilio-ruby/rest/monitor/v1.rb +57 -53
  320. data/lib/twilio-ruby/rest/monitor.rb +3 -34
  321. data/lib/twilio-ruby/rest/monitor_base.rb +38 -0
  322. data/lib/twilio-ruby/rest/notify/v1/credential.rb +421 -408
  323. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +437 -452
  324. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +313 -362
  325. data/lib/twilio-ruby/rest/notify/v1/service.rb +626 -622
  326. data/lib/twilio-ruby/rest/notify/v1.rb +57 -55
  327. data/lib/twilio-ruby/rest/notify.rb +3 -34
  328. data/lib/twilio-ruby/rest/notify_base.rb +38 -0
  329. data/lib/twilio-ruby/rest/numbers/v1/bulk_eligibility.rb +224 -0
  330. data/lib/twilio-ruby/rest/numbers/v1/porting_bulk_portability.rb +229 -0
  331. data/lib/twilio-ruby/rest/numbers/v1/porting_port_in_fetch.rb +245 -0
  332. data/lib/twilio-ruby/rest/numbers/v1/porting_portability.rb +263 -0
  333. data/lib/twilio-ruby/rest/numbers/v1.rb +94 -0
  334. data/lib/twilio-ruby/rest/numbers/v2/authorization_document/dependent_hosted_number_order.rb +343 -0
  335. data/lib/twilio-ruby/rest/numbers/v2/authorization_document.rb +403 -0
  336. data/lib/twilio-ruby/rest/numbers/v2/bulk_hosted_number_order.rb +249 -0
  337. data/lib/twilio-ruby/rest/numbers/v2/hosted_number_order.rb +502 -0
  338. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +276 -179
  339. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +324 -298
  340. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +333 -309
  341. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +194 -181
  342. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +601 -550
  343. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user.rb +391 -351
  344. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +290 -266
  345. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +322 -307
  346. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +412 -364
  347. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +290 -266
  348. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +177 -181
  349. data/lib/twilio-ruby/rest/numbers/v2.rb +78 -28
  350. data/lib/twilio-ruby/rest/numbers.rb +2 -34
  351. data/lib/twilio-ruby/rest/numbers_base.rb +43 -0
  352. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +410 -375
  353. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +394 -358
  354. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +449 -418
  355. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +407 -369
  356. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +494 -459
  357. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +42 -38
  358. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +370 -396
  359. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +446 -446
  360. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +610 -625
  361. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +57 -55
  362. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +301 -298
  363. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +325 -309
  364. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +342 -330
  365. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +429 -398
  366. data/lib/twilio-ruby/rest/preview/marketplace.rb +57 -53
  367. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +378 -374
  368. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +442 -399
  369. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +434 -407
  370. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +378 -374
  371. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +419 -398
  372. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +437 -404
  373. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +378 -374
  374. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +419 -398
  375. data/lib/twilio-ruby/rest/preview/sync/service.rb +495 -452
  376. data/lib/twilio-ruby/rest/preview/sync.rb +42 -37
  377. data/lib/twilio-ruby/rest/preview/wireless/command.rb +387 -364
  378. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +448 -398
  379. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +232 -205
  380. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +574 -523
  381. data/lib/twilio-ruby/rest/preview/wireless.rb +72 -69
  382. data/lib/twilio-ruby/rest/preview.rb +11 -137
  383. data/lib/twilio-ruby/rest/preview_base.rb +58 -0
  384. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +297 -275
  385. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +107 -119
  386. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +290 -268
  387. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +107 -119
  388. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +297 -275
  389. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +220 -197
  390. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +121 -135
  391. data/lib/twilio-ruby/rest/pricing/v1.rb +45 -42
  392. data/lib/twilio-ruby/rest/pricing/v2/country.rb +289 -270
  393. data/lib/twilio-ruby/rest/pricing/v2/number.rb +232 -217
  394. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +297 -275
  395. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +238 -220
  396. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +121 -138
  397. data/lib/twilio-ruby/rest/pricing/v2.rb +63 -65
  398. data/lib/twilio-ruby/rest/pricing.rb +6 -41
  399. data/lib/twilio-ruby/rest/pricing_base.rb +43 -0
  400. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +419 -403
  401. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +408 -418
  402. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +430 -449
  403. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +421 -455
  404. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +522 -547
  405. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +399 -370
  406. data/lib/twilio-ruby/rest/proxy/v1/service.rb +559 -596
  407. data/lib/twilio-ruby/rest/proxy/v1.rb +42 -38
  408. data/lib/twilio-ruby/rest/proxy.rb +2 -34
  409. data/lib/twilio-ruby/rest/proxy_base.rb +38 -0
  410. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +268 -0
  411. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +268 -0
  412. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +268 -0
  413. data/lib/twilio-ruby/rest/routes/v2.rb +79 -0
  414. data/lib/twilio-ruby/rest/routes.rb +32 -0
  415. data/lib/twilio-ruby/rest/routes_base.rb +38 -0
  416. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +315 -323
  417. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +412 -380
  418. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +208 -208
  419. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +407 -384
  420. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +336 -338
  421. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +361 -383
  422. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +403 -396
  423. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +456 -447
  424. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +223 -234
  425. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +342 -353
  426. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +412 -380
  427. data/lib/twilio-ruby/rest/serverless/v1/service.rb +523 -493
  428. data/lib/twilio-ruby/rest/serverless/v1.rb +42 -37
  429. data/lib/twilio-ruby/rest/serverless.rb +2 -34
  430. data/lib/twilio-ruby/rest/serverless_base.rb +38 -0
  431. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +206 -199
  432. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +221 -218
  433. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step.rb +361 -355
  434. data/lib/twilio-ruby/rest/studio/v1/flow/engagement.rb +422 -394
  435. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +206 -200
  436. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +221 -221
  437. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +361 -361
  438. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +468 -449
  439. data/lib/twilio-ruby/rest/studio/v1/flow.rb +380 -355
  440. data/lib/twilio-ruby/rest/studio/v1.rb +42 -37
  441. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +206 -200
  442. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +221 -221
  443. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +361 -361
  444. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +461 -442
  445. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +341 -320
  446. data/lib/twilio-ruby/rest/studio/v2/flow/flow_test_user.rb +232 -0
  447. data/lib/twilio-ruby/rest/studio/v2/flow.rb +519 -472
  448. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +121 -99
  449. data/lib/twilio-ruby/rest/studio/v2.rb +48 -44
  450. data/lib/twilio-ruby/rest/studio.rb +3 -41
  451. data/lib/twilio-ruby/rest/studio_base.rb +43 -0
  452. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +403 -0
  453. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +472 -484
  454. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +398 -406
  455. data/lib/twilio-ruby/rest/supersim/v1/network.rb +302 -297
  456. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +337 -332
  457. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +380 -351
  458. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +256 -0
  459. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +242 -224
  460. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +207 -0
  461. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +460 -433
  462. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +358 -361
  463. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +286 -311
  464. data/lib/twilio-ruby/rest/supersim/v1.rb +144 -140
  465. data/lib/twilio-ruby/rest/supersim.rb +22 -40
  466. data/lib/twilio-ruby/rest/supersim_base.rb +38 -0
  467. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +376 -371
  468. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +456 -423
  469. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +466 -490
  470. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +376 -370
  471. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +470 -445
  472. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +469 -495
  473. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +376 -368
  474. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +470 -444
  475. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +139 -132
  476. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +419 -400
  477. data/lib/twilio-ruby/rest/sync/v1/service.rb +575 -567
  478. data/lib/twilio-ruby/rest/sync/v1.rb +42 -37
  479. data/lib/twilio-ruby/rest/sync.rb +2 -34
  480. data/lib/twilio-ruby/rest/sync_base.rb +38 -0
  481. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +405 -395
  482. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +442 -464
  483. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +705 -736
  484. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +623 -661
  485. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +409 -382
  486. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +359 -365
  487. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +279 -275
  488. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +230 -236
  489. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +239 -258
  490. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +574 -566
  491. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +687 -732
  492. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +389 -388
  493. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +235 -239
  494. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +281 -265
  495. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +215 -193
  496. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +251 -234
  497. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +623 -631
  498. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +359 -373
  499. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +245 -241
  500. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +230 -244
  501. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +523 -510
  502. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +353 -354
  503. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +231 -206
  504. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +241 -234
  505. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +720 -730
  506. data/lib/twilio-ruby/rest/taskrouter/v1.rb +42 -37
  507. data/lib/twilio-ruby/rest/taskrouter.rb +2 -34
  508. data/lib/twilio-ruby/rest/taskrouter_base.rb +38 -0
  509. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +342 -320
  510. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +342 -317
  511. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +440 -419
  512. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +475 -451
  513. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +224 -191
  514. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +623 -630
  515. data/lib/twilio-ruby/rest/trunking/v1.rb +42 -38
  516. data/lib/twilio-ruby/rest/trunking.rb +2 -34
  517. data/lib/twilio-ruby/rest/trunking_base.rb +38 -0
  518. data/lib/twilio-ruby/rest/trusthub/v1/compliance_inquiries.rb +232 -0
  519. data/lib/twilio-ruby/rest/trusthub/v1/compliance_tollfree_inquiries.rb +211 -0
  520. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +357 -352
  521. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +335 -323
  522. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +333 -321
  523. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +525 -513
  524. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +383 -346
  525. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +282 -261
  526. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +275 -252
  527. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +397 -359
  528. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +282 -261
  529. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +357 -352
  530. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +335 -323
  531. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +333 -321
  532. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +525 -513
  533. data/lib/twilio-ruby/rest/trusthub/v1.rb +153 -139
  534. data/lib/twilio-ruby/rest/trusthub.rb +8 -34
  535. data/lib/twilio-ruby/rest/trusthub_base.rb +38 -0
  536. data/lib/twilio-ruby/rest/verify/v2/form.rb +195 -183
  537. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +231 -0
  538. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +265 -116
  539. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +191 -198
  540. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +496 -521
  541. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +447 -454
  542. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +249 -279
  543. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +422 -422
  544. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +379 -363
  545. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +401 -388
  546. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +420 -384
  547. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +380 -359
  548. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +218 -198
  549. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +447 -420
  550. data/lib/twilio-ruby/rest/verify/v2/service.rb +782 -770
  551. data/lib/twilio-ruby/rest/verify/v2/template.rb +221 -198
  552. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +372 -319
  553. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +247 -0
  554. data/lib/twilio-ruby/rest/verify/v2.rb +99 -78
  555. data/lib/twilio-ruby/rest/verify.rb +23 -36
  556. data/lib/twilio-ruby/rest/verify_base.rb +38 -0
  557. data/lib/twilio-ruby/rest/video/v1/composition.rb +477 -486
  558. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +525 -647
  559. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +281 -261
  560. data/lib/twilio-ruby/rest/video/v1/recording.rb +426 -405
  561. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +281 -261
  562. data/lib/twilio-ruby/rest/video/v1/room/participant/anonymize.rb +259 -0
  563. data/lib/twilio-ruby/rest/video/v1/room/participant/published_track.rb +331 -0
  564. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribe_rules.rb +181 -0
  565. data/lib/twilio-ruby/rest/video/v1/room/participant/subscribed_track.rb +338 -0
  566. data/lib/twilio-ruby/rest/video/v1/room/participant.rb +498 -0
  567. data/lib/twilio-ruby/rest/video/v1/room/recording_rules.rb +170 -0
  568. data/lib/twilio-ruby/rest/video/v1/room/room_recording.rb +423 -0
  569. data/lib/twilio-ruby/rest/video/v1/room.rb +606 -567
  570. data/lib/twilio-ruby/rest/video/v1.rb +99 -99
  571. data/lib/twilio-ruby/rest/video.rb +7 -34
  572. data/lib/twilio-ruby/rest/video_base.rb +38 -0
  573. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +168 -0
  574. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +501 -486
  575. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +440 -434
  576. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +391 -352
  577. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +135 -121
  578. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +195 -183
  579. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +375 -397
  580. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +217 -190
  581. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +122 -121
  582. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +377 -339
  583. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +360 -319
  584. data/lib/twilio-ruby/rest/voice/v1.rb +130 -96
  585. data/lib/twilio-ruby/rest/voice.rb +12 -31
  586. data/lib/twilio-ruby/rest/voice_base.rb +38 -0
  587. data/lib/twilio-ruby/rest/wireless/v1/command.rb +408 -406
  588. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +463 -436
  589. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +298 -284
  590. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +239 -243
  591. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +634 -647
  592. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +226 -221
  593. data/lib/twilio-ruby/rest/wireless/v1.rb +78 -76
  594. data/lib/twilio-ruby/rest/wireless.rb +5 -34
  595. data/lib/twilio-ruby/rest/wireless_base.rb +38 -0
  596. data/lib/twilio-ruby/rest.rb +1 -0
  597. data/lib/twilio-ruby/security/request_validator.rb +1 -1
  598. data/lib/twilio-ruby/twiml/voice_response.rb +209 -42
  599. data/lib/twilio-ruby/version.rb +1 -1
  600. data/lib/twilio-ruby.rb +1 -1
  601. data/sonar-project.properties +2 -2
  602. data/twilio-ruby.gemspec +2 -3
  603. metadata +155 -98
  604. data/.github/workflows/deploy.yml +0 -65
  605. data/.github/workflows/test.yml +0 -52
  606. data/conf/cacert.pem +0 -3376
  607. data/lib/twilio-ruby/framework/twilio_response.rb +0 -19
  608. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +0 -500
  609. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +0 -500
  610. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +0 -500
  611. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +0 -500
  612. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +0 -500
  613. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +0 -500
  614. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +0 -500
  615. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +0 -464
  616. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +0 -348
  617. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +0 -163
  618. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +0 -137
  619. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +0 -220
  620. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +0 -214
  621. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +0 -399
  622. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type.rb +0 -418
  623. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +0 -392
  624. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +0 -469
  625. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +0 -218
  626. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +0 -386
  627. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +0 -456
  628. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +0 -255
  629. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +0 -237
  630. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +0 -507
  631. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +0 -420
  632. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +0 -650
  633. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +0 -194
  634. data/lib/twilio-ruby/rest/autopilot/v1.rb +0 -52
  635. data/lib/twilio-ruby/rest/autopilot.rb +0 -53
  636. data/lib/twilio-ruby/rest/events/v1/schema/version.rb +0 -290
  637. data/lib/twilio-ruby/rest/fax/v1/fax/fax_media.rb +0 -314
  638. data/lib/twilio-ruby/rest/fax/v1/fax.rb +0 -536
  639. data/lib/twilio-ruby/rest/fax/v1.rb +0 -45
  640. data/lib/twilio-ruby/rest/fax.rb +0 -47
  641. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +0 -307
  642. data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +0 -164
  643. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +0 -294
  644. data/lib/twilio-ruby/rest/preview/bulk_exports/export/export_custom_job.rb +0 -275
  645. data/lib/twilio-ruby/rest/preview/bulk_exports/export/job.rb +0 -249
  646. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +0 -251
  647. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +0 -234
  648. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +0 -62
  649. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel/channel.rb +0 -165
  650. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel.rb +0 -225
  651. data/lib/twilio-ruby/rest/preview/trusted_comms/brands_information.rb +0 -195
  652. data/lib/twilio-ruby/rest/preview/trusted_comms/cps.rb +0 -186
  653. data/lib/twilio-ruby/rest/preview/trusted_comms/current_call.rb +0 -277
  654. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +0 -65
  655. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +0 -212
  656. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +0 -212
  657. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +0 -206
  658. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type/field_value.rb +0 -386
  659. data/lib/twilio-ruby/rest/preview/understand/assistant/field_type.rb +0 -407
  660. data/lib/twilio-ruby/rest/preview/understand/assistant/model_build.rb +0 -380
  661. data/lib/twilio-ruby/rest/preview/understand/assistant/query.rb +0 -437
  662. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +0 -212
  663. data/lib/twilio-ruby/rest/preview/understand/assistant/task/field.rb +0 -373
  664. data/lib/twilio-ruby/rest/preview/understand/assistant/task/sample.rb +0 -428
  665. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +0 -241
  666. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +0 -225
  667. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +0 -495
  668. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +0 -629
  669. data/lib/twilio-ruby/rest/preview/understand.rb +0 -45
  670. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +0 -199
  671. data/lib/twilio-ruby/rest/supersim/v1/command.rb +0 -368
  672. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +0 -406
  673. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +0 -335
  674. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +0 -175
  675. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +0 -340
  676. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +0 -483
  677. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +0 -144
@@ -1,728 +1,663 @@
1
1
  ##
2
- # This code was generated by
3
- # \ / _ _ _| _ _
4
- # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
- # / /
2
+ # This code was generated by
3
+ # ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __
4
+ # | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/
5
+ # | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \
6
6
  #
7
- # frozen_string_literal: true
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.
13
+ #
14
+
8
15
 
9
16
  module Twilio
10
- module REST
11
- class Api < Domain
12
- class V2010 < Version
13
- class AccountContext < InstanceContext
14
- class ConferenceContext < InstanceContext
15
- class ParticipantList < ListResource
16
- ##
17
- # Initialize the ParticipantList
18
- # @param [Version] version Version that contains the resource
19
- # @param [String] account_sid The SID of the
20
- # {Account}[https://www.twilio.com/docs/iam/api/account] that created the
21
- # Participant resource.
22
- # @param [String] conference_sid The SID of the conference the participant is in.
23
- # @return [ParticipantList] ParticipantList
24
- def initialize(version, account_sid: nil, conference_sid: nil)
25
- super(version)
26
-
27
- # Path Solution
28
- @solution = {account_sid: account_sid, conference_sid: conference_sid}
29
- @uri = "/Accounts/#{@solution[:account_sid]}/Conferences/#{@solution[:conference_sid]}/Participants.json"
30
- end
31
-
32
- ##
33
- # Create the ParticipantInstance
34
- # @param [String] from The phone number, Client identifier, or username portion of
35
- # SIP address that made this call. Phone numbers are in
36
- # {E.164}[https://www.twilio.com/docs/glossary/what-e164] format (e.g.,
37
- # +16175551212). Client identifiers are formatted `client:name`. If using a phone
38
- # number, it must be a Twilio number or a Verified {outgoing caller
39
- # id}[https://www.twilio.com/docs/voice/api/outgoing-caller-ids] for your account.
40
- # If the `to` parameter is a phone number, `from` must also be a phone number. If
41
- # `to` is sip address, this value of `from` should be a username portion to be
42
- # used to populate the P-Asserted-Identity header that is passed to the SIP
43
- # endpoint.
44
- # @param [String] to The phone number, SIP address, or Client identifier that
45
- # received this call. Phone numbers are in
46
- # {E.164}[https://www.twilio.com/docs/glossary/what-e164] format (e.g.,
47
- # +16175551212). SIP addresses are formatted as `sip:name@company.com`. Client
48
- # identifiers are formatted `client:name`. {Custom
49
- # parameters}[https://www.twilio.com/docs/voice/api/conference-participant-resource#custom-parameters]
50
- # may also be specified.
51
- # @param [String] status_callback The URL we should call using the
52
- # `status_callback_method` to send status information to your application.
53
- # @param [String] status_callback_method The HTTP method we should use to call
54
- # `status_callback`. Can be: `GET` and `POST` and defaults to `POST`.
55
- # @param [Array[String]] status_callback_event The conference state changes that
56
- # should generate a call to `status_callback`. Can be: `initiated`, `ringing`,
57
- # `answered`, and `completed`. Separate multiple values with a space. The default
58
- # value is `completed`.
59
- # @param [String] label A label for this participant. If one is supplied, it may
60
- # subsequently be used to fetch, update or delete the participant.
61
- # @param [String] timeout The number of seconds that we should allow the phone to
62
- # ring before assuming there is no answer. Can be an integer between `5` and
63
- # `600`, inclusive. The default value is `60`. We always add a 5-second timeout
64
- # buffer to outgoing calls, so value of 10 would result in an actual timeout that
65
- # was closer to 15 seconds.
66
- # @param [Boolean] record Whether to record the participant and their conferences,
67
- # including the time between conferences. Can be `true` or `false` and the default
68
- # is `false`.
69
- # @param [Boolean] muted Whether the agent is muted in the conference. Can be
70
- # `true` or `false` and the default is `false`.
71
- # @param [String] beep Whether to play a notification beep to the conference when
72
- # the participant joins. Can be: `true`, `false`, `onEnter`, or `onExit`. The
73
- # default value is `true`.
74
- # @param [Boolean] start_conference_on_enter Whether to start the conference when
75
- # the participant joins, if it has not already started. Can be: `true` or `false`
76
- # and the default is `true`. If `false` and the conference has not started, the
77
- # participant is muted and hears background music until another participant starts
78
- # the conference.
79
- # @param [Boolean] end_conference_on_exit Whether to end the conference when the
80
- # participant leaves. Can be: `true` or `false` and defaults to `false`.
81
- # @param [String] wait_url The URL we should call using the `wait_method` for the
82
- # music to play while participants are waiting for the conference to start. The
83
- # default value is the URL of our standard hold music. {Learn more about hold
84
- # music}[https://www.twilio.com/labs/twimlets/holdmusic].
85
- # @param [String] wait_method The HTTP method we should use to call `wait_url`.
86
- # Can be `GET` or `POST` and the default is `POST`. When using a static audio
87
- # file, this should be `GET` so that we can cache the file.
88
- # @param [Boolean] early_media Whether to allow an agent to hear the state of the
89
- # outbound call, including ringing or disconnect messages. Can be: `true` or
90
- # `false` and defaults to `true`.
91
- # @param [String] max_participants The maximum number of participants in the
92
- # conference. Can be a positive integer from `2` to `250`. The default value is
93
- # `250`.
94
- # @param [String] conference_record Whether to record the conference the
95
- # participant is joining. Can be: `true`, `false`, `record-from-start`, and
96
- # `do-not-record`. The default value is `false`.
97
- # @param [String] conference_trim Whether to trim leading and trailing silence
98
- # from your recorded conference audio files. Can be: `trim-silence` or
99
- # `do-not-trim` and defaults to `trim-silence`.
100
- # @param [String] conference_status_callback The URL we should call using the
101
- # `conference_status_callback_method` when the conference events in
102
- # `conference_status_callback_event` occur. Only the value set by the first
103
- # participant to join the conference is used. Subsequent
104
- # `conference_status_callback` values are ignored.
105
- # @param [String] conference_status_callback_method The HTTP method we should use
106
- # to call `conference_status_callback`. Can be: `GET` or `POST` and defaults to
107
- # `POST`.
108
- # @param [Array[String]] conference_status_callback_event The conference state
109
- # changes that should generate a call to `conference_status_callback`. Can be:
110
- # `start`, `end`, `join`, `leave`, `mute`, `hold`, `modify`, `speaker`, and
111
- # `announcement`. Separate multiple values with a space. Defaults to `start end`.
112
- # @param [String] recording_channels The recording channels for the final
113
- # recording. Can be: `mono` or `dual` and the default is `mono`.
114
- # @param [String] recording_status_callback The URL that we should call using the
115
- # `recording_status_callback_method` when the recording status changes.
116
- # @param [String] recording_status_callback_method The HTTP method we should use
117
- # when we call `recording_status_callback`. Can be: `GET` or `POST` and defaults
118
- # to `POST`.
119
- # @param [String] sip_auth_username The SIP username used for authentication.
120
- # @param [String] sip_auth_password The SIP password for authentication.
121
- # @param [String] region The
122
- # {region}[https://support.twilio.com/hc/en-us/articles/223132167-How-global-low-latency-routing-and-region-selection-work-for-conferences-and-Client-calls]
123
- # where we should mix the recorded audio. Can be:`us1`, `ie1`, `de1`, `sg1`,
124
- # `br1`, `au1`, or `jp1`.
125
- # @param [String] conference_recording_status_callback The URL we should call
126
- # using the `conference_recording_status_callback_method` when the conference
127
- # recording is available.
128
- # @param [String] conference_recording_status_callback_method The HTTP method we
129
- # should use to call `conference_recording_status_callback`. Can be: `GET` or
130
- # `POST` and defaults to `POST`.
131
- # @param [Array[String]] recording_status_callback_event The recording state
132
- # changes that should generate a call to `recording_status_callback`. Can be:
133
- # `started`, `in-progress`, `paused`, `resumed`, `stopped`, `completed`, `failed`,
134
- # and `absent`. Separate multiple values with a space, ex: `'in-progress completed
135
- # failed'`.
136
- # @param [Array[String]] conference_recording_status_callback_event The conference
137
- # recording state changes that generate a call to
138
- # `conference_recording_status_callback`. Can be: `in-progress`, `completed`,
139
- # `failed`, and `absent`. Separate multiple values with a space, ex: `'in-progress
140
- # completed failed'`
141
- # @param [Boolean] coaching Whether the participant is coaching another call. Can
142
- # be: `true` or `false`. If not present, defaults to `false` unless
143
- # `call_sid_to_coach` is defined. If `true`, `call_sid_to_coach` must be defined.
144
- # @param [String] call_sid_to_coach The SID of the participant who is being
145
- # `coached`. The participant being coached is the only participant who can hear
146
- # the participant who is `coaching`.
147
- # @param [String] jitter_buffer_size Jitter buffer size for the connecting
148
- # participant. Twilio will use this setting to apply Jitter Buffer before
149
- # participant's audio is mixed into the conference. Can be: `off`, `small`,
150
- # `medium`, and `large`. Default to `large`.
151
- # @param [String] byoc The SID of a BYOC (Bring Your Own Carrier) trunk to route
152
- # this call with. Note that `byoc` is only meaningful when `to` is a phone number;
153
- # it will otherwise be ignored. (Beta)
154
- # @param [String] caller_id The phone number, Client identifier, or username
155
- # portion of SIP address that made this call. Phone numbers are in
156
- # {E.164}[https://www.twilio.com/docs/glossary/what-e164] format (e.g.,
157
- # +16175551212). Client identifiers are formatted `client:name`. If using a phone
158
- # number, it must be a Twilio number or a Verified {outgoing caller
159
- # id}[https://www.twilio.com/docs/voice/api/outgoing-caller-ids] for your account.
160
- # If the `to` parameter is a phone number, `callerId` must also be a phone number.
161
- # If `to` is sip address, this value of `callerId` should be a username portion to
162
- # be used to populate the From header that is passed to the SIP endpoint.
163
- # @param [String] call_reason The Reason for the outgoing call. Use it to specify
164
- # the purpose of the call that is presented on the called party's phone. (Branded
165
- # Calls Beta)
166
- # @param [String] recording_track The audio track to record for the call. Can be:
167
- # `inbound`, `outbound` or `both`. The default is `both`. `inbound` records the
168
- # audio that is received by Twilio. `outbound` records the audio that is sent from
169
- # Twilio. `both` records the audio that is received and sent by Twilio.
170
- # @param [String] time_limit The maximum duration of the call in seconds.
171
- # Constraints depend on account and configuration.
172
- # @return [ParticipantInstance] Created ParticipantInstance
173
- def create(from: nil, to: nil, status_callback: :unset, status_callback_method: :unset, status_callback_event: :unset, label: :unset, timeout: :unset, record: :unset, muted: :unset, beep: :unset, start_conference_on_enter: :unset, end_conference_on_exit: :unset, wait_url: :unset, wait_method: :unset, early_media: :unset, max_participants: :unset, conference_record: :unset, conference_trim: :unset, conference_status_callback: :unset, conference_status_callback_method: :unset, conference_status_callback_event: :unset, recording_channels: :unset, recording_status_callback: :unset, recording_status_callback_method: :unset, sip_auth_username: :unset, sip_auth_password: :unset, region: :unset, conference_recording_status_callback: :unset, conference_recording_status_callback_method: :unset, recording_status_callback_event: :unset, conference_recording_status_callback_event: :unset, coaching: :unset, call_sid_to_coach: :unset, jitter_buffer_size: :unset, byoc: :unset, caller_id: :unset, call_reason: :unset, recording_track: :unset, time_limit: :unset)
174
- data = Twilio::Values.of({
175
- 'From' => from,
176
- 'To' => to,
177
- 'StatusCallback' => status_callback,
178
- 'StatusCallbackMethod' => status_callback_method,
179
- 'StatusCallbackEvent' => Twilio.serialize_list(status_callback_event) { |e| e },
180
- 'Label' => label,
181
- 'Timeout' => timeout,
182
- 'Record' => record,
183
- 'Muted' => muted,
184
- 'Beep' => beep,
185
- 'StartConferenceOnEnter' => start_conference_on_enter,
186
- 'EndConferenceOnExit' => end_conference_on_exit,
187
- 'WaitUrl' => wait_url,
188
- 'WaitMethod' => wait_method,
189
- 'EarlyMedia' => early_media,
190
- 'MaxParticipants' => max_participants,
191
- 'ConferenceRecord' => conference_record,
192
- 'ConferenceTrim' => conference_trim,
193
- 'ConferenceStatusCallback' => conference_status_callback,
194
- 'ConferenceStatusCallbackMethod' => conference_status_callback_method,
195
- 'ConferenceStatusCallbackEvent' => Twilio.serialize_list(conference_status_callback_event) { |e| e },
196
- 'RecordingChannels' => recording_channels,
197
- 'RecordingStatusCallback' => recording_status_callback,
198
- 'RecordingStatusCallbackMethod' => recording_status_callback_method,
199
- 'SipAuthUsername' => sip_auth_username,
200
- 'SipAuthPassword' => sip_auth_password,
201
- 'Region' => region,
202
- 'ConferenceRecordingStatusCallback' => conference_recording_status_callback,
203
- 'ConferenceRecordingStatusCallbackMethod' => conference_recording_status_callback_method,
204
- 'RecordingStatusCallbackEvent' => Twilio.serialize_list(recording_status_callback_event) { |e| e },
205
- 'ConferenceRecordingStatusCallbackEvent' => Twilio.serialize_list(conference_recording_status_callback_event) { |e| e },
206
- 'Coaching' => coaching,
207
- 'CallSidToCoach' => call_sid_to_coach,
208
- 'JitterBufferSize' => jitter_buffer_size,
209
- 'Byoc' => byoc,
210
- 'CallerId' => caller_id,
211
- 'CallReason' => call_reason,
212
- 'RecordingTrack' => recording_track,
213
- 'TimeLimit' => time_limit,
214
- })
215
-
216
- payload = @version.create('POST', @uri, data: data)
217
-
218
- ParticipantInstance.new(
219
- @version,
220
- payload,
221
- account_sid: @solution[:account_sid],
222
- conference_sid: @solution[:conference_sid],
223
- )
224
- end
225
-
226
- ##
227
- # Lists ParticipantInstance records from the API as a list.
228
- # Unlike stream(), this operation is eager and will load `limit` records into
229
- # memory before returning.
230
- # @param [Boolean] muted Whether to return only participants that are muted. Can
231
- # be: `true` or `false`.
232
- # @param [Boolean] hold Whether to return only participants that are on hold. Can
233
- # be: `true` or `false`.
234
- # @param [Boolean] coaching Whether to return only participants who are coaching
235
- # another call. Can be: `true` or `false`.
236
- # @param [Integer] limit Upper limit for the number of records to return. stream()
237
- # guarantees to never return more than limit. Default is no limit
238
- # @param [Integer] page_size Number of records to fetch per request, when
239
- # not set will use the default value of 50 records. If no page_size is defined
240
- # but a limit is defined, stream() will attempt to read the limit with the most
241
- # efficient page size, i.e. min(limit, 1000)
242
- # @return [Array] Array of up to limit results
243
- def list(muted: :unset, hold: :unset, coaching: :unset, limit: nil, page_size: nil)
244
- self.stream(
245
- muted: muted,
246
- hold: hold,
247
- coaching: coaching,
248
- limit: limit,
249
- page_size: page_size
250
- ).entries
251
- end
252
-
253
- ##
254
- # Streams ParticipantInstance records from the API as an Enumerable.
255
- # This operation lazily loads records as efficiently as possible until the limit
256
- # is reached.
257
- # @param [Boolean] muted Whether to return only participants that are muted. Can
258
- # be: `true` or `false`.
259
- # @param [Boolean] hold Whether to return only participants that are on hold. Can
260
- # be: `true` or `false`.
261
- # @param [Boolean] coaching Whether to return only participants who are coaching
262
- # another call. Can be: `true` or `false`.
263
- # @param [Integer] limit Upper limit for the number of records to return. stream()
264
- # guarantees to never return more than limit. Default is no limit.
265
- # @param [Integer] page_size Number of records to fetch per request, when
266
- # not set will use the default value of 50 records. If no page_size is defined
267
- # but a limit is defined, stream() will attempt to read the limit with the most
268
- # efficient page size, i.e. min(limit, 1000)
269
- # @return [Enumerable] Enumerable that will yield up to limit results
270
- def stream(muted: :unset, hold: :unset, coaching: :unset, limit: nil, page_size: nil)
271
- limits = @version.read_limits(limit, page_size)
272
-
273
- page = self.page(muted: muted, hold: hold, coaching: coaching, page_size: limits[:page_size], )
274
-
275
- @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
276
- end
277
-
278
- ##
279
- # When passed a block, yields ParticipantInstance records from the API.
280
- # This operation lazily loads records as efficiently as possible until the limit
281
- # is reached.
282
- def each
283
- limits = @version.read_limits
284
-
285
- page = self.page(page_size: limits[:page_size], )
286
-
287
- @version.stream(page,
288
- limit: limits[:limit],
289
- page_limit: limits[:page_limit]).each {|x| yield x}
290
- end
291
-
292
- ##
293
- # Retrieve a single page of ParticipantInstance records from the API.
294
- # Request is executed immediately.
295
- # @param [Boolean] muted Whether to return only participants that are muted. Can
296
- # be: `true` or `false`.
297
- # @param [Boolean] hold Whether to return only participants that are on hold. Can
298
- # be: `true` or `false`.
299
- # @param [Boolean] coaching Whether to return only participants who are coaching
300
- # another call. Can be: `true` or `false`.
301
- # @param [String] page_token PageToken provided by the API
302
- # @param [Integer] page_number Page Number, this value is simply for client state
303
- # @param [Integer] page_size Number of records to return, defaults to 50
304
- # @return [Page] Page of ParticipantInstance
305
- def page(muted: :unset, hold: :unset, coaching: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
306
- params = Twilio::Values.of({
307
- 'Muted' => muted,
308
- 'Hold' => hold,
309
- 'Coaching' => coaching,
310
- 'PageToken' => page_token,
311
- 'Page' => page_number,
312
- 'PageSize' => page_size,
313
- })
314
-
315
- response = @version.page('GET', @uri, params: params)
316
-
317
- ParticipantPage.new(@version, response, @solution)
318
- end
319
-
320
- ##
321
- # Retrieve a single page of ParticipantInstance records from the API.
322
- # Request is executed immediately.
323
- # @param [String] target_url API-generated URL for the requested results page
324
- # @return [Page] Page of ParticipantInstance
325
- def get_page(target_url)
326
- response = @version.domain.request(
327
- 'GET',
328
- target_url
329
- )
330
- ParticipantPage.new(@version, response, @solution)
331
- end
332
-
333
- ##
334
- # Provide a user friendly representation
335
- def to_s
336
- '#<Twilio.Api.V2010.ParticipantList>'
337
- end
338
- end
17
+ module REST
18
+ class Api < ApiBase
19
+ class V2010 < Version
20
+ class AccountContext < InstanceContext
21
+ class ConferenceContext < InstanceContext
22
+
23
+ class ParticipantList < ListResource
24
+ ##
25
+ # Initialize the ParticipantList
26
+ # @param [Version] version Version that contains the resource
27
+ # @return [ParticipantList] ParticipantList
28
+ def initialize(version, account_sid: nil, conference_sid: nil)
29
+ super(version)
30
+ # Path Solution
31
+ @solution = { account_sid: account_sid, conference_sid: conference_sid }
32
+ @uri = "/Accounts/#{@solution[:account_sid]}/Conferences/#{@solution[:conference_sid]}/Participants.json"
33
+
34
+ end
35
+ ##
36
+ # Create the ParticipantInstance
37
+ # @param [String] from The phone number, Client identifier, or username portion of SIP address that made this call. Phone numbers are in [E.164](https://www.twilio.com/docs/glossary/what-e164) format (e.g., +16175551212). Client identifiers are formatted `client:name`. 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. If `to` is sip address, this value of `from` should be a username portion to be used to populate the P-Asserted-Identity header that is passed to the SIP endpoint.
38
+ # @param [String] to The phone number, SIP address, or Client identifier 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 `sip:name@company.com`. Client identifiers are formatted `client:name`. [Custom parameters](https://www.twilio.com/docs/voice/api/conference-participant-resource#custom-parameters) may also be specified.
39
+ # @param [String] status_callback The URL we should call using the `status_callback_method` to send status information to your application.
40
+ # @param [String] status_callback_method The HTTP method we should use to call `status_callback`. Can be: `GET` and `POST` and defaults to `POST`.
41
+ # @param [Array[String]] status_callback_event The conference state changes that should generate a call to `status_callback`. Can be: `initiated`, `ringing`, `answered`, and `completed`. Separate multiple values with a space. The default value is `completed`.
42
+ # @param [String] label A label for this participant. If one is supplied, it may subsequently be used to fetch, update or delete the participant.
43
+ # @param [String] timeout The number of seconds that we should allow the phone to ring before assuming there is no answer. Can be an integer between `5` and `600`, inclusive. The default value is `60`. We always add a 5-second timeout buffer to outgoing calls, so value of 10 would result in an actual timeout that was closer to 15 seconds.
44
+ # @param [Boolean] record Whether to record the participant and their conferences, including the time between conferences. Can be `true` or `false` and the default is `false`.
45
+ # @param [Boolean] muted Whether the agent is muted in the conference. Can be `true` or `false` and the default is `false`.
46
+ # @param [String] beep Whether to play a notification beep to the conference when the participant joins. Can be: `true`, `false`, `onEnter`, or `onExit`. The default value is `true`.
47
+ # @param [Boolean] start_conference_on_enter Whether to start the conference when the participant joins, if it has not already started. Can be: `true` or `false` and the default is `true`. If `false` and the conference has not started, the participant is muted and hears background music until another participant starts the conference.
48
+ # @param [Boolean] end_conference_on_exit Whether to end the conference when the participant leaves. Can be: `true` or `false` and defaults to `false`.
49
+ # @param [String] wait_url The URL we should call using the `wait_method` for the music to play while participants are waiting for the conference to start. The default value is the URL of our standard hold music. [Learn more about hold music](https://www.twilio.com/labs/twimlets/holdmusic).
50
+ # @param [String] wait_method The HTTP method we should use to call `wait_url`. Can be `GET` or `POST` and the default is `POST`. When using a static audio file, this should be `GET` so that we can cache the file.
51
+ # @param [Boolean] early_media Whether to allow an agent to hear the state of the outbound call, including ringing or disconnect messages. Can be: `true` or `false` and defaults to `true`.
52
+ # @param [String] max_participants The maximum number of participants in the conference. Can be a positive integer from `2` to `250`. The default value is `250`.
53
+ # @param [String] conference_record Whether to record the conference the participant is joining. Can be: `true`, `false`, `record-from-start`, and `do-not-record`. The default value is `false`.
54
+ # @param [String] conference_trim Whether to trim leading and trailing silence from the conference recording. Can be: `trim-silence` or `do-not-trim` and defaults to `trim-silence`.
55
+ # @param [String] conference_status_callback The URL we should call using the `conference_status_callback_method` when the conference events in `conference_status_callback_event` occur. Only the value set by the first participant to join the conference is used. Subsequent `conference_status_callback` values are ignored.
56
+ # @param [String] conference_status_callback_method The HTTP method we should use to call `conference_status_callback`. Can be: `GET` or `POST` and defaults to `POST`.
57
+ # @param [Array[String]] conference_status_callback_event The conference state changes that should generate a call to `conference_status_callback`. Can be: `start`, `end`, `join`, `leave`, `mute`, `hold`, `modify`, `speaker`, and `announcement`. Separate multiple values with a space. Defaults to `start end`.
58
+ # @param [String] recording_channels The recording channels for the final recording. Can be: `mono` or `dual` and the default is `mono`.
59
+ # @param [String] recording_status_callback The URL that we should call using the `recording_status_callback_method` when the recording status changes.
60
+ # @param [String] recording_status_callback_method The HTTP method we should use when we call `recording_status_callback`. Can be: `GET` or `POST` and defaults to `POST`.
61
+ # @param [String] sip_auth_username The SIP username used for authentication.
62
+ # @param [String] sip_auth_password The SIP password for authentication.
63
+ # @param [String] region The [region](https://support.twilio.com/hc/en-us/articles/223132167-How-global-low-latency-routing-and-region-selection-work-for-conferences-and-Client-calls) where we should mix the recorded audio. Can be:`us1`, `ie1`, `de1`, `sg1`, `br1`, `au1`, or `jp1`.
64
+ # @param [String] conference_recording_status_callback The URL we should call using the `conference_recording_status_callback_method` when the conference recording is available.
65
+ # @param [String] conference_recording_status_callback_method The HTTP method we should use to call `conference_recording_status_callback`. Can be: `GET` or `POST` and defaults to `POST`.
66
+ # @param [Array[String]] recording_status_callback_event The recording state changes that should generate a call to `recording_status_callback`. Can be: `started`, `in-progress`, `paused`, `resumed`, `stopped`, `completed`, `failed`, and `absent`. Separate multiple values with a space, ex: `'in-progress completed failed'`.
67
+ # @param [Array[String]] conference_recording_status_callback_event The conference recording state changes that generate a call to `conference_recording_status_callback`. Can be: `in-progress`, `completed`, `failed`, and `absent`. Separate multiple values with a space, ex: `'in-progress completed failed'`
68
+ # @param [Boolean] coaching Whether the participant is coaching another call. Can be: `true` or `false`. If not present, defaults to `false` unless `call_sid_to_coach` is defined. If `true`, `call_sid_to_coach` must be defined.
69
+ # @param [String] call_sid_to_coach The SID of the participant who is being `coached`. The participant being coached is the only participant who can hear the participant who is `coaching`.
70
+ # @param [String] jitter_buffer_size Jitter buffer size for the connecting participant. Twilio will use this setting to apply Jitter Buffer before participant's audio is mixed into the conference. Can be: `off`, `small`, `medium`, and `large`. Default to `large`.
71
+ # @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)
72
+ # @param [String] caller_id The phone number, Client identifier, or username portion of SIP address that made this call. Phone numbers are in [E.164](https://www.twilio.com/docs/glossary/what-e164) format (e.g., +16175551212). Client identifiers are formatted `client:name`. 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, `callerId` must also be a phone number. If `to` is sip address, this value of `callerId` should be a username portion to be used to populate the From header that is passed to the SIP endpoint.
73
+ # @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)
74
+ # @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 sent from Twilio. `both` records the audio that is received and sent by Twilio.
75
+ # @param [String] time_limit The maximum duration of the call in seconds. Constraints depend on account and configuration.
76
+ # @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. For more information, see [Answering Machine Detection](https://www.twilio.com/docs/voice/answering-machine-detection).
77
+ # @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.
78
+ # @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.
79
+ # @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.
80
+ # @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.
81
+ # @param [String] amd_status_callback The URL that we should call using the `amd_status_callback_method` to notify customer application whether the call was answered by human, machine or fax.
82
+ # @param [String] amd_status_callback_method The HTTP method we should use when calling the `amd_status_callback` URL. Can be: `GET` or `POST` and the default is `POST`.
83
+ # @param [String] trim Whether to trim any leading and trailing silence from the participant recording. Can be: `trim-silence` or `do-not-trim` and the default is `trim-silence`.
84
+ # @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.
85
+ # @return [ParticipantInstance] Created ParticipantInstance
86
+ def create(
87
+ from: nil,
88
+ to: nil,
89
+ status_callback: :unset,
90
+ status_callback_method: :unset,
91
+ status_callback_event: :unset,
92
+ label: :unset,
93
+ timeout: :unset,
94
+ record: :unset,
95
+ muted: :unset,
96
+ beep: :unset,
97
+ start_conference_on_enter: :unset,
98
+ end_conference_on_exit: :unset,
99
+ wait_url: :unset,
100
+ wait_method: :unset,
101
+ early_media: :unset,
102
+ max_participants: :unset,
103
+ conference_record: :unset,
104
+ conference_trim: :unset,
105
+ conference_status_callback: :unset,
106
+ conference_status_callback_method: :unset,
107
+ conference_status_callback_event: :unset,
108
+ recording_channels: :unset,
109
+ recording_status_callback: :unset,
110
+ recording_status_callback_method: :unset,
111
+ sip_auth_username: :unset,
112
+ sip_auth_password: :unset,
113
+ region: :unset,
114
+ conference_recording_status_callback: :unset,
115
+ conference_recording_status_callback_method: :unset,
116
+ recording_status_callback_event: :unset,
117
+ conference_recording_status_callback_event: :unset,
118
+ coaching: :unset,
119
+ call_sid_to_coach: :unset,
120
+ jitter_buffer_size: :unset,
121
+ byoc: :unset,
122
+ caller_id: :unset,
123
+ call_reason: :unset,
124
+ recording_track: :unset,
125
+ time_limit: :unset,
126
+ machine_detection: :unset,
127
+ machine_detection_timeout: :unset,
128
+ machine_detection_speech_threshold: :unset,
129
+ machine_detection_speech_end_threshold: :unset,
130
+ machine_detection_silence_timeout: :unset,
131
+ amd_status_callback: :unset,
132
+ amd_status_callback_method: :unset,
133
+ trim: :unset,
134
+ call_token: :unset
135
+ )
136
+
137
+ data = Twilio::Values.of({
138
+ 'From' => from,
139
+ 'To' => to,
140
+ 'StatusCallback' => status_callback,
141
+ 'StatusCallbackMethod' => status_callback_method,
142
+ 'StatusCallbackEvent' => Twilio.serialize_list(status_callback_event) { |e| e },
143
+ 'Label' => label,
144
+ 'Timeout' => timeout,
145
+ 'Record' => record,
146
+ 'Muted' => muted,
147
+ 'Beep' => beep,
148
+ 'StartConferenceOnEnter' => start_conference_on_enter,
149
+ 'EndConferenceOnExit' => end_conference_on_exit,
150
+ 'WaitUrl' => wait_url,
151
+ 'WaitMethod' => wait_method,
152
+ 'EarlyMedia' => early_media,
153
+ 'MaxParticipants' => max_participants,
154
+ 'ConferenceRecord' => conference_record,
155
+ 'ConferenceTrim' => conference_trim,
156
+ 'ConferenceStatusCallback' => conference_status_callback,
157
+ 'ConferenceStatusCallbackMethod' => conference_status_callback_method,
158
+ 'ConferenceStatusCallbackEvent' => Twilio.serialize_list(conference_status_callback_event) { |e| e },
159
+ 'RecordingChannels' => recording_channels,
160
+ 'RecordingStatusCallback' => recording_status_callback,
161
+ 'RecordingStatusCallbackMethod' => recording_status_callback_method,
162
+ 'SipAuthUsername' => sip_auth_username,
163
+ 'SipAuthPassword' => sip_auth_password,
164
+ 'Region' => region,
165
+ 'ConferenceRecordingStatusCallback' => conference_recording_status_callback,
166
+ 'ConferenceRecordingStatusCallbackMethod' => conference_recording_status_callback_method,
167
+ 'RecordingStatusCallbackEvent' => Twilio.serialize_list(recording_status_callback_event) { |e| e },
168
+ 'ConferenceRecordingStatusCallbackEvent' => Twilio.serialize_list(conference_recording_status_callback_event) { |e| e },
169
+ 'Coaching' => coaching,
170
+ 'CallSidToCoach' => call_sid_to_coach,
171
+ 'JitterBufferSize' => jitter_buffer_size,
172
+ 'Byoc' => byoc,
173
+ 'CallerId' => caller_id,
174
+ 'CallReason' => call_reason,
175
+ 'RecordingTrack' => recording_track,
176
+ 'TimeLimit' => time_limit,
177
+ 'MachineDetection' => machine_detection,
178
+ 'MachineDetectionTimeout' => machine_detection_timeout,
179
+ 'MachineDetectionSpeechThreshold' => machine_detection_speech_threshold,
180
+ 'MachineDetectionSpeechEndThreshold' => machine_detection_speech_end_threshold,
181
+ 'MachineDetectionSilenceTimeout' => machine_detection_silence_timeout,
182
+ 'AmdStatusCallback' => amd_status_callback,
183
+ 'AmdStatusCallbackMethod' => amd_status_callback_method,
184
+ 'Trim' => trim,
185
+ 'CallToken' => call_token,
186
+ })
187
+
188
+ payload = @version.create('POST', @uri, data: data)
189
+ ParticipantInstance.new(
190
+ @version,
191
+ payload,
192
+ account_sid: @solution[:account_sid],
193
+ conference_sid: @solution[:conference_sid],
194
+ )
195
+ end
196
+
197
+
198
+ ##
199
+ # Lists ParticipantInstance records from the API as a list.
200
+ # Unlike stream(), this operation is eager and will load `limit` records into
201
+ # memory before returning.
202
+ # @param [Boolean] muted Whether to return only participants that are muted. Can be: `true` or `false`.
203
+ # @param [Boolean] hold Whether to return only participants that are on hold. Can be: `true` or `false`.
204
+ # @param [Boolean] coaching Whether to return only participants who are coaching another call. Can be: `true` or `false`.
205
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
206
+ # guarantees to never return more than limit. Default is no limit
207
+ # @param [Integer] page_size Number of records to fetch per request, when
208
+ # not set will use the default value of 50 records. If no page_size is defined
209
+ # but a limit is defined, stream() will attempt to read the limit with the most
210
+ # efficient page size, i.e. min(limit, 1000)
211
+ # @return [Array] Array of up to limit results
212
+ def list(muted: :unset, hold: :unset, coaching: :unset, limit: nil, page_size: nil)
213
+ self.stream(
214
+ muted: muted,
215
+ hold: hold,
216
+ coaching: coaching,
217
+ limit: limit,
218
+ page_size: page_size
219
+ ).entries
220
+ end
221
+
222
+ ##
223
+ # Streams Instance records from the API as an Enumerable.
224
+ # This operation lazily loads records as efficiently as possible until the limit
225
+ # is reached.
226
+ # @param [Boolean] muted Whether to return only participants that are muted. Can be: `true` or `false`.
227
+ # @param [Boolean] hold Whether to return only participants that are on hold. Can be: `true` or `false`.
228
+ # @param [Boolean] coaching Whether to return only participants who are coaching another call. Can be: `true` or `false`.
229
+ # @param [Integer] limit Upper limit for the number of records to return. stream()
230
+ # guarantees to never return more than limit. Default is no limit
231
+ # @param [Integer] page_size Number of records to fetch per request, when
232
+ # not set will use the default value of 50 records. If no page_size is defined
233
+ # but a limit is defined, stream() will attempt to read the limit with the most
234
+ # efficient page size, i.e. min(limit, 1000)
235
+ # @return [Enumerable] Enumerable that will yield up to limit results
236
+ def stream(muted: :unset, hold: :unset, coaching: :unset, limit: nil, page_size: nil)
237
+ limits = @version.read_limits(limit, page_size)
238
+
239
+ page = self.page(
240
+ muted: muted,
241
+ hold: hold,
242
+ coaching: coaching,
243
+ page_size: limits[:page_size], )
244
+
245
+ @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
246
+ end
247
+
248
+ ##
249
+ # When passed a block, yields ParticipantInstance records from the API.
250
+ # This operation lazily loads records as efficiently as possible until the limit
251
+ # is reached.
252
+ def each
253
+ limits = @version.read_limits
254
+
255
+ page = self.page(page_size: limits[:page_size], )
256
+
257
+ @version.stream(page,
258
+ limit: limits[:limit],
259
+ page_limit: limits[:page_limit]).each {|x| yield x}
260
+ end
261
+
262
+ ##
263
+ # Retrieve a single page of ParticipantInstance records from the API.
264
+ # Request is executed immediately.
265
+ # @param [Boolean] muted Whether to return only participants that are muted. Can be: `true` or `false`.
266
+ # @param [Boolean] hold Whether to return only participants that are on hold. Can be: `true` or `false`.
267
+ # @param [Boolean] coaching Whether to return only participants who are coaching another call. Can be: `true` or `false`.
268
+ # @param [String] page_token PageToken provided by the API
269
+ # @param [Integer] page_number Page Number, this value is simply for client state
270
+ # @param [Integer] page_size Number of records to return, defaults to 50
271
+ # @return [Page] Page of ParticipantInstance
272
+ def page(muted: :unset, hold: :unset, coaching: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
273
+ params = Twilio::Values.of({
274
+ 'Muted' => muted,
275
+ 'Hold' => hold,
276
+ 'Coaching' => coaching,
277
+ 'PageToken' => page_token,
278
+ 'Page' => page_number,
279
+ 'PageSize' => page_size,
280
+ })
281
+
282
+ response = @version.page('GET', @uri, params: params)
283
+
284
+ ParticipantPage.new(@version, response, @solution)
285
+ end
286
+
287
+ ##
288
+ # Retrieve a single page of ParticipantInstance records from the API.
289
+ # Request is executed immediately.
290
+ # @param [String] target_url API-generated URL for the requested results page
291
+ # @return [Page] Page of ParticipantInstance
292
+ def get_page(target_url)
293
+ response = @version.domain.request(
294
+ 'GET',
295
+ target_url
296
+ )
297
+ ParticipantPage.new(@version, response, @solution)
298
+ end
299
+
300
+
301
+
302
+ # Provide a user friendly representation
303
+ def to_s
304
+ '#<Twilio.Api.V2010.ParticipantList>'
305
+ end
306
+ end
339
307
 
340
- class ParticipantPage < Page
341
- ##
342
- # Initialize the ParticipantPage
343
- # @param [Version] version Version that contains the resource
344
- # @param [Response] response Response from the API
345
- # @param [Hash] solution Path solution for the resource
346
- # @return [ParticipantPage] ParticipantPage
347
- def initialize(version, response, solution)
348
- super(version, response)
349
-
350
- # Path Solution
351
- @solution = solution
352
- end
353
-
354
- ##
355
- # Build an instance of ParticipantInstance
356
- # @param [Hash] payload Payload response from the API
357
- # @return [ParticipantInstance] ParticipantInstance
358
- def get_instance(payload)
359
- ParticipantInstance.new(
360
- @version,
361
- payload,
362
- account_sid: @solution[:account_sid],
363
- conference_sid: @solution[:conference_sid],
364
- )
365
- end
366
-
367
- ##
368
- # Provide a user friendly representation
369
- def to_s
370
- '<Twilio.Api.V2010.ParticipantPage>'
371
- end
372
- end
373
308
 
374
- class ParticipantContext < InstanceContext
375
- ##
376
- # Initialize the ParticipantContext
377
- # @param [Version] version Version that contains the resource
378
- # @param [String] account_sid The SID of the
379
- # {Account}[https://www.twilio.com/docs/iam/api/account] that created the
380
- # Participant resource to fetch.
381
- # @param [String] conference_sid The SID of the conference with the participant to
382
- # fetch.
383
- # @param [String] call_sid The
384
- # {Call}[https://www.twilio.com/docs/voice/api/call-resource] SID or label of the
385
- # participant to fetch. Non URL safe characters in a label must be percent
386
- # encoded, for example, a space character is represented as %20.
387
- # @return [ParticipantContext] ParticipantContext
388
- def initialize(version, account_sid, conference_sid, call_sid)
389
- super(version)
390
-
391
- # Path Solution
392
- @solution = {account_sid: account_sid, conference_sid: conference_sid, call_sid: call_sid, }
393
- @uri = "/Accounts/#{@solution[:account_sid]}/Conferences/#{@solution[:conference_sid]}/Participants/#{@solution[:call_sid]}.json"
394
- end
395
-
396
- ##
397
- # Fetch the ParticipantInstance
398
- # @return [ParticipantInstance] Fetched ParticipantInstance
399
- def fetch
400
- payload = @version.fetch('GET', @uri)
401
-
402
- ParticipantInstance.new(
403
- @version,
404
- payload,
405
- account_sid: @solution[:account_sid],
406
- conference_sid: @solution[:conference_sid],
407
- call_sid: @solution[:call_sid],
408
- )
409
- end
410
-
411
- ##
412
- # Update the ParticipantInstance
413
- # @param [Boolean] muted Whether the participant should be muted. Can be `true` or
414
- # `false`. `true` will mute the participant, and `false` will un-mute them.
415
- # Anything value other than `true` or `false` is interpreted as `false`.
416
- # @param [Boolean] hold Whether the participant should be on hold. Can be: `true`
417
- # or `false`. `true` puts the participant on hold, and `false` lets them rejoin
418
- # the conference.
419
- # @param [String] hold_url The URL we call using the `hold_method` for music that
420
- # plays when the participant is on hold. The URL may return an MP3 file, a WAV
421
- # file, or a TwiML document that contains the `<Play>`, `<Say>` or `<Redirect>`
422
- # commands.
423
- # @param [String] hold_method The HTTP method we should use to call `hold_url`.
424
- # Can be: `GET` or `POST` and the default is `GET`.
425
- # @param [String] announce_url The URL we call using the `announce_method` for an
426
- # announcement to the participant. The URL must return an MP3 file, a WAV file, or
427
- # a TwiML document that contains `<Play>` or `<Say>` commands.
428
- # @param [String] announce_method The HTTP method we should use to call
429
- # `announce_url`. Can be: `GET` or `POST` and defaults to `POST`.
430
- # @param [String] wait_url The URL we should call using the `wait_method` for the
431
- # music to play while participants are waiting for the conference to start. The
432
- # default value is the URL of our standard hold music. {Learn more about hold
433
- # music}[https://www.twilio.com/labs/twimlets/holdmusic].
434
- # @param [String] wait_method The HTTP method we should use to call `wait_url`.
435
- # Can be `GET` or `POST` and the default is `POST`. When using a static audio
436
- # file, this should be `GET` so that we can cache the file.
437
- # @param [Boolean] beep_on_exit Whether to play a notification beep to the
438
- # conference when the participant exits. Can be: `true` or `false`.
439
- # @param [Boolean] end_conference_on_exit Whether to end the conference when the
440
- # participant leaves. Can be: `true` or `false` and defaults to `false`.
441
- # @param [Boolean] coaching Whether the participant is coaching another call. Can
442
- # be: `true` or `false`. If not present, defaults to `false` unless
443
- # `call_sid_to_coach` is defined. If `true`, `call_sid_to_coach` must be defined.
444
- # @param [String] call_sid_to_coach The SID of the participant who is being
445
- # `coached`. The participant being coached is the only participant who can hear
446
- # the participant who is `coaching`.
447
- # @return [ParticipantInstance] Updated ParticipantInstance
448
- def update(muted: :unset, hold: :unset, hold_url: :unset, hold_method: :unset, announce_url: :unset, announce_method: :unset, wait_url: :unset, wait_method: :unset, beep_on_exit: :unset, end_conference_on_exit: :unset, coaching: :unset, call_sid_to_coach: :unset)
449
- data = Twilio::Values.of({
450
- 'Muted' => muted,
451
- 'Hold' => hold,
452
- 'HoldUrl' => hold_url,
453
- 'HoldMethod' => hold_method,
454
- 'AnnounceUrl' => announce_url,
455
- 'AnnounceMethod' => announce_method,
456
- 'WaitUrl' => wait_url,
457
- 'WaitMethod' => wait_method,
458
- 'BeepOnExit' => beep_on_exit,
459
- 'EndConferenceOnExit' => end_conference_on_exit,
460
- 'Coaching' => coaching,
461
- 'CallSidToCoach' => call_sid_to_coach,
462
- })
463
-
464
- payload = @version.update('POST', @uri, data: data)
465
-
466
- ParticipantInstance.new(
467
- @version,
468
- payload,
469
- account_sid: @solution[:account_sid],
470
- conference_sid: @solution[:conference_sid],
471
- call_sid: @solution[:call_sid],
472
- )
473
- end
474
-
475
- ##
476
- # Delete the ParticipantInstance
477
- # @return [Boolean] true if delete succeeds, false otherwise
478
- def delete
479
- @version.delete('DELETE', @uri)
480
- end
481
-
482
- ##
483
- # Provide a user friendly representation
484
- def to_s
485
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
486
- "#<Twilio.Api.V2010.ParticipantContext #{context}>"
487
- end
488
-
489
- ##
490
- # Provide a detailed, user friendly representation
491
- def inspect
492
- context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
493
- "#<Twilio.Api.V2010.ParticipantContext #{context}>"
494
- end
495
- end
309
+ class ParticipantContext < InstanceContext
310
+ ##
311
+ # Initialize the ParticipantContext
312
+ # @param [Version] version Version that contains the resource
313
+ # @param [String] account_sid The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Participant resources to update.
314
+ # @param [String] conference_sid The SID of the conference with the participant to update.
315
+ # @param [String] call_sid The [Call](https://www.twilio.com/docs/voice/api/call-resource) SID or label of the participant to update. Non URL safe characters in a label must be percent encoded, for example, a space character is represented as %20.
316
+ # @return [ParticipantContext] ParticipantContext
317
+ def initialize(version, account_sid, conference_sid, call_sid)
318
+ super(version)
319
+
320
+ # Path Solution
321
+ @solution = { account_sid: account_sid, conference_sid: conference_sid, call_sid: call_sid, }
322
+ @uri = "/Accounts/#{@solution[:account_sid]}/Conferences/#{@solution[:conference_sid]}/Participants/#{@solution[:call_sid]}.json"
323
+
324
+
325
+ end
326
+ ##
327
+ # Delete the ParticipantInstance
328
+ # @return [Boolean] True if delete succeeds, false otherwise
329
+ def delete
330
+
331
+ @version.delete('DELETE', @uri)
332
+ end
333
+
334
+ ##
335
+ # Fetch the ParticipantInstance
336
+ # @return [ParticipantInstance] Fetched ParticipantInstance
337
+ def fetch
338
+
339
+ payload = @version.fetch('GET', @uri)
340
+ ParticipantInstance.new(
341
+ @version,
342
+ payload,
343
+ account_sid: @solution[:account_sid],
344
+ conference_sid: @solution[:conference_sid],
345
+ call_sid: @solution[:call_sid],
346
+ )
347
+ end
348
+
349
+ ##
350
+ # Update the ParticipantInstance
351
+ # @param [Boolean] muted Whether the participant should be muted. Can be `true` or `false`. `true` will mute the participant, and `false` will un-mute them. Anything value other than `true` or `false` is interpreted as `false`.
352
+ # @param [Boolean] hold Whether the participant should be on hold. Can be: `true` or `false`. `true` puts the participant on hold, and `false` lets them rejoin the conference.
353
+ # @param [String] hold_url The URL we call using the `hold_method` for music that plays when the participant is on hold. The URL may return an MP3 file, a WAV file, or a TwiML document that contains `<Play>`, `<Say>`, `<Pause>`, or `<Redirect>` verbs.
354
+ # @param [String] hold_method The HTTP method we should use to call `hold_url`. Can be: `GET` or `POST` and the default is `GET`.
355
+ # @param [String] announce_url The URL we call using the `announce_method` for an announcement to the participant. The URL may return an MP3 file, a WAV file, or a TwiML document that contains `<Play>`, `<Say>`, `<Pause>`, or `<Redirect>` verbs.
356
+ # @param [String] announce_method The HTTP method we should use to call `announce_url`. Can be: `GET` or `POST` and defaults to `POST`.
357
+ # @param [String] wait_url The URL we call using the `wait_method` for the music to play while participants are waiting for the conference to start. The URL may return an MP3 file, a WAV file, or a TwiML document that contains `<Play>`, `<Say>`, `<Pause>`, or `<Redirect>` verbs. The default value is the URL of our standard hold music. [Learn more about hold music](https://www.twilio.com/labs/twimlets/holdmusic).
358
+ # @param [String] wait_method The HTTP method we should use to call `wait_url`. Can be `GET` or `POST` and the default is `POST`. When using a static audio file, this should be `GET` so that we can cache the file.
359
+ # @param [Boolean] beep_on_exit Whether to play a notification beep to the conference when the participant exits. Can be: `true` or `false`.
360
+ # @param [Boolean] end_conference_on_exit Whether to end the conference when the participant leaves. Can be: `true` or `false` and defaults to `false`.
361
+ # @param [Boolean] coaching Whether the participant is coaching another call. Can be: `true` or `false`. If not present, defaults to `false` unless `call_sid_to_coach` is defined. If `true`, `call_sid_to_coach` must be defined.
362
+ # @param [String] call_sid_to_coach The SID of the participant who is being `coached`. The participant being coached is the only participant who can hear the participant who is `coaching`.
363
+ # @return [ParticipantInstance] Updated ParticipantInstance
364
+ def update(
365
+ muted: :unset,
366
+ hold: :unset,
367
+ hold_url: :unset,
368
+ hold_method: :unset,
369
+ announce_url: :unset,
370
+ announce_method: :unset,
371
+ wait_url: :unset,
372
+ wait_method: :unset,
373
+ beep_on_exit: :unset,
374
+ end_conference_on_exit: :unset,
375
+ coaching: :unset,
376
+ call_sid_to_coach: :unset
377
+ )
378
+
379
+ data = Twilio::Values.of({
380
+ 'Muted' => muted,
381
+ 'Hold' => hold,
382
+ 'HoldUrl' => hold_url,
383
+ 'HoldMethod' => hold_method,
384
+ 'AnnounceUrl' => announce_url,
385
+ 'AnnounceMethod' => announce_method,
386
+ 'WaitUrl' => wait_url,
387
+ 'WaitMethod' => wait_method,
388
+ 'BeepOnExit' => beep_on_exit,
389
+ 'EndConferenceOnExit' => end_conference_on_exit,
390
+ 'Coaching' => coaching,
391
+ 'CallSidToCoach' => call_sid_to_coach,
392
+ })
393
+
394
+ payload = @version.update('POST', @uri, data: data)
395
+ ParticipantInstance.new(
396
+ @version,
397
+ payload,
398
+ account_sid: @solution[:account_sid],
399
+ conference_sid: @solution[:conference_sid],
400
+ call_sid: @solution[:call_sid],
401
+ )
402
+ end
403
+
404
+
405
+ ##
406
+ # Provide a user friendly representation
407
+ def to_s
408
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
409
+ "#<Twilio.Api.V2010.ParticipantContext #{context}>"
410
+ end
411
+
412
+ ##
413
+ # Provide a detailed, user friendly representation
414
+ def inspect
415
+ context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
416
+ "#<Twilio.Api.V2010.ParticipantContext #{context}>"
417
+ end
418
+ end
496
419
 
497
- class ParticipantInstance < InstanceResource
498
- ##
499
- # Initialize the ParticipantInstance
500
- # @param [Version] version Version that contains the resource
501
- # @param [Hash] payload payload that contains response from Twilio
502
- # @param [String] account_sid The SID of the
503
- # {Account}[https://www.twilio.com/docs/iam/api/account] that created the
504
- # Participant resource.
505
- # @param [String] conference_sid The SID of the conference the participant is in.
506
- # @param [String] call_sid The
507
- # {Call}[https://www.twilio.com/docs/voice/api/call-resource] SID or label of the
508
- # participant to fetch. Non URL safe characters in a label must be percent
509
- # encoded, for example, a space character is represented as %20.
510
- # @return [ParticipantInstance] ParticipantInstance
511
- def initialize(version, payload, account_sid: nil, conference_sid: nil, call_sid: nil)
512
- super(version)
513
-
514
- # Marshaled Properties
515
- @properties = {
516
- 'account_sid' => payload['account_sid'],
517
- 'call_sid' => payload['call_sid'],
518
- 'label' => payload['label'],
519
- 'call_sid_to_coach' => payload['call_sid_to_coach'],
520
- 'coaching' => payload['coaching'],
521
- 'conference_sid' => payload['conference_sid'],
522
- 'date_created' => Twilio.deserialize_rfc2822(payload['date_created']),
523
- 'date_updated' => Twilio.deserialize_rfc2822(payload['date_updated']),
524
- 'end_conference_on_exit' => payload['end_conference_on_exit'],
525
- 'muted' => payload['muted'],
526
- 'hold' => payload['hold'],
527
- 'start_conference_on_enter' => payload['start_conference_on_enter'],
528
- 'status' => payload['status'],
529
- 'uri' => payload['uri'],
530
- }
531
-
532
- # Context
533
- @instance_context = nil
534
- @params = {
535
- 'account_sid' => account_sid,
536
- 'conference_sid' => conference_sid,
537
- 'call_sid' => call_sid || @properties['call_sid'],
538
- }
539
- end
540
-
541
- ##
542
- # Generate an instance context for the instance, the context is capable of
543
- # performing various actions. All instance actions are proxied to the context
544
- # @return [ParticipantContext] ParticipantContext for this ParticipantInstance
545
- def context
546
- unless @instance_context
547
- @instance_context = ParticipantContext.new(
548
- @version,
549
- @params['account_sid'],
550
- @params['conference_sid'],
551
- @params['call_sid'],
552
- )
420
+ class ParticipantPage < Page
421
+ ##
422
+ # Initialize the ParticipantPage
423
+ # @param [Version] version Version that contains the resource
424
+ # @param [Response] response Response from the API
425
+ # @param [Hash] solution Path solution for the resource
426
+ # @return [ParticipantPage] ParticipantPage
427
+ def initialize(version, response, solution)
428
+ super(version, response)
429
+
430
+ # Path Solution
431
+ @solution = solution
432
+ end
433
+
434
+ ##
435
+ # Build an instance of ParticipantInstance
436
+ # @param [Hash] payload Payload response from the API
437
+ # @return [ParticipantInstance] ParticipantInstance
438
+ def get_instance(payload)
439
+ ParticipantInstance.new(@version, payload, account_sid: @solution[:account_sid], conference_sid: @solution[:conference_sid])
440
+ end
441
+
442
+ ##
443
+ # Provide a user friendly representation
444
+ def to_s
445
+ '<Twilio.Api.V2010.ParticipantPage>'
446
+ end
447
+ end
448
+ class ParticipantInstance < InstanceResource
449
+ ##
450
+ # Initialize the ParticipantInstance
451
+ # @param [Version] version Version that contains the resource
452
+ # @param [Hash] payload payload that contains response from Twilio
453
+ # @param [String] account_sid The SID of the
454
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Participant
455
+ # resource.
456
+ # @param [String] sid The SID of the Call resource to fetch.
457
+ # @return [ParticipantInstance] ParticipantInstance
458
+ def initialize(version, payload , account_sid: nil, conference_sid: nil, call_sid: nil)
459
+ super(version)
460
+
461
+ # Marshaled Properties
462
+ @properties = {
463
+ 'account_sid' => payload['account_sid'],
464
+ 'call_sid' => payload['call_sid'],
465
+ 'label' => payload['label'],
466
+ 'call_sid_to_coach' => payload['call_sid_to_coach'],
467
+ 'coaching' => payload['coaching'],
468
+ 'conference_sid' => payload['conference_sid'],
469
+ 'date_created' => Twilio.deserialize_rfc2822(payload['date_created']),
470
+ 'date_updated' => Twilio.deserialize_rfc2822(payload['date_updated']),
471
+ 'end_conference_on_exit' => payload['end_conference_on_exit'],
472
+ 'muted' => payload['muted'],
473
+ 'hold' => payload['hold'],
474
+ 'start_conference_on_enter' => payload['start_conference_on_enter'],
475
+ 'status' => payload['status'],
476
+ 'uri' => payload['uri'],
477
+ }
478
+
479
+ # Context
480
+ @instance_context = nil
481
+ @params = { 'account_sid' => account_sid ,'conference_sid' => conference_sid || @properties['conference_sid'] ,'call_sid' => call_sid || @properties['call_sid'] , }
482
+ end
483
+
484
+ ##
485
+ # Generate an instance context for the instance, the context is capable of
486
+ # performing various actions. All instance actions are proxied to the context
487
+ # @return [ParticipantContext] CallContext for this CallInstance
488
+ def context
489
+ unless @instance_context
490
+ @instance_context = ParticipantContext.new(@version , @params['account_sid'], @params['conference_sid'], @params['call_sid'])
491
+ end
492
+ @instance_context
493
+ end
494
+
495
+ ##
496
+ # @return [String] The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Participant resource.
497
+ def account_sid
498
+ @properties['account_sid']
499
+ end
500
+
501
+ ##
502
+ # @return [String] The SID of the [Call](https://www.twilio.com/docs/voice/api/call-resource) the Participant resource is associated with.
503
+ def call_sid
504
+ @properties['call_sid']
505
+ end
506
+
507
+ ##
508
+ # @return [String] The user-specified label of this participant, if one was given when the participant was created. This may be used to fetch, update or delete the participant.
509
+ def label
510
+ @properties['label']
511
+ end
512
+
513
+ ##
514
+ # @return [String] The SID of the participant who is being `coached`. The participant being coached is the only participant who can hear the participant who is `coaching`.
515
+ def call_sid_to_coach
516
+ @properties['call_sid_to_coach']
517
+ end
518
+
519
+ ##
520
+ # @return [Boolean] Whether the participant is coaching another call. Can be: `true` or `false`. If not present, defaults to `false` unless `call_sid_to_coach` is defined. If `true`, `call_sid_to_coach` must be defined.
521
+ def coaching
522
+ @properties['coaching']
523
+ end
524
+
525
+ ##
526
+ # @return [String] The SID of the conference the participant is in.
527
+ def conference_sid
528
+ @properties['conference_sid']
529
+ end
530
+
531
+ ##
532
+ # @return [Time] The date and time in GMT that the resource was created specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format.
533
+ def date_created
534
+ @properties['date_created']
535
+ end
536
+
537
+ ##
538
+ # @return [Time] The date and time in GMT that the resource was last updated specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format.
539
+ def date_updated
540
+ @properties['date_updated']
541
+ end
542
+
543
+ ##
544
+ # @return [Boolean] Whether the conference ends when the participant leaves. Can be: `true` or `false` and the default is `false`. If `true`, the conference ends and all other participants drop out when the participant leaves.
545
+ def end_conference_on_exit
546
+ @properties['end_conference_on_exit']
547
+ end
548
+
549
+ ##
550
+ # @return [Boolean] Whether the participant is muted. Can be `true` or `false`.
551
+ def muted
552
+ @properties['muted']
553
+ end
554
+
555
+ ##
556
+ # @return [Boolean] Whether the participant is on hold. Can be `true` or `false`.
557
+ def hold
558
+ @properties['hold']
559
+ end
560
+
561
+ ##
562
+ # @return [Boolean] Whether the conference starts when the participant joins the conference, if it has not already started. Can be: `true` or `false` and the default is `true`. If `false` and the conference has not started, the participant is muted and hears background music until another participant starts the conference.
563
+ def start_conference_on_enter
564
+ @properties['start_conference_on_enter']
565
+ end
566
+
567
+ ##
568
+ # @return [Status]
569
+ def status
570
+ @properties['status']
571
+ end
572
+
573
+ ##
574
+ # @return [String] The URI of the resource, relative to `https://api.twilio.com`.
575
+ def uri
576
+ @properties['uri']
577
+ end
578
+
579
+ ##
580
+ # Delete the ParticipantInstance
581
+ # @return [Boolean] True if delete succeeds, false otherwise
582
+ def delete
583
+
584
+ context.delete
585
+ end
586
+
587
+ ##
588
+ # Fetch the ParticipantInstance
589
+ # @return [ParticipantInstance] Fetched ParticipantInstance
590
+ def fetch
591
+
592
+ context.fetch
593
+ end
594
+
595
+ ##
596
+ # Update the ParticipantInstance
597
+ # @param [Boolean] muted Whether the participant should be muted. Can be `true` or `false`. `true` will mute the participant, and `false` will un-mute them. Anything value other than `true` or `false` is interpreted as `false`.
598
+ # @param [Boolean] hold Whether the participant should be on hold. Can be: `true` or `false`. `true` puts the participant on hold, and `false` lets them rejoin the conference.
599
+ # @param [String] hold_url The URL we call using the `hold_method` for music that plays when the participant is on hold. The URL may return an MP3 file, a WAV file, or a TwiML document that contains `<Play>`, `<Say>`, `<Pause>`, or `<Redirect>` verbs.
600
+ # @param [String] hold_method The HTTP method we should use to call `hold_url`. Can be: `GET` or `POST` and the default is `GET`.
601
+ # @param [String] announce_url The URL we call using the `announce_method` for an announcement to the participant. The URL may return an MP3 file, a WAV file, or a TwiML document that contains `<Play>`, `<Say>`, `<Pause>`, or `<Redirect>` verbs.
602
+ # @param [String] announce_method The HTTP method we should use to call `announce_url`. Can be: `GET` or `POST` and defaults to `POST`.
603
+ # @param [String] wait_url The URL we call using the `wait_method` for the music to play while participants are waiting for the conference to start. The URL may return an MP3 file, a WAV file, or a TwiML document that contains `<Play>`, `<Say>`, `<Pause>`, or `<Redirect>` verbs. The default value is the URL of our standard hold music. [Learn more about hold music](https://www.twilio.com/labs/twimlets/holdmusic).
604
+ # @param [String] wait_method The HTTP method we should use to call `wait_url`. Can be `GET` or `POST` and the default is `POST`. When using a static audio file, this should be `GET` so that we can cache the file.
605
+ # @param [Boolean] beep_on_exit Whether to play a notification beep to the conference when the participant exits. Can be: `true` or `false`.
606
+ # @param [Boolean] end_conference_on_exit Whether to end the conference when the participant leaves. Can be: `true` or `false` and defaults to `false`.
607
+ # @param [Boolean] coaching Whether the participant is coaching another call. Can be: `true` or `false`. If not present, defaults to `false` unless `call_sid_to_coach` is defined. If `true`, `call_sid_to_coach` must be defined.
608
+ # @param [String] call_sid_to_coach The SID of the participant who is being `coached`. The participant being coached is the only participant who can hear the participant who is `coaching`.
609
+ # @return [ParticipantInstance] Updated ParticipantInstance
610
+ def update(
611
+ muted: :unset,
612
+ hold: :unset,
613
+ hold_url: :unset,
614
+ hold_method: :unset,
615
+ announce_url: :unset,
616
+ announce_method: :unset,
617
+ wait_url: :unset,
618
+ wait_method: :unset,
619
+ beep_on_exit: :unset,
620
+ end_conference_on_exit: :unset,
621
+ coaching: :unset,
622
+ call_sid_to_coach: :unset
623
+ )
624
+
625
+ context.update(
626
+ muted: muted,
627
+ hold: hold,
628
+ hold_url: hold_url,
629
+ hold_method: hold_method,
630
+ announce_url: announce_url,
631
+ announce_method: announce_method,
632
+ wait_url: wait_url,
633
+ wait_method: wait_method,
634
+ beep_on_exit: beep_on_exit,
635
+ end_conference_on_exit: end_conference_on_exit,
636
+ coaching: coaching,
637
+ call_sid_to_coach: call_sid_to_coach,
638
+ )
639
+ end
640
+
641
+ ##
642
+ # Provide a user friendly representation
643
+ def to_s
644
+ values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
645
+ "<Twilio.Api.V2010.ParticipantInstance #{values}>"
646
+ end
647
+
648
+ ##
649
+ # Provide a detailed, user friendly representation
650
+ def inspect
651
+ values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
652
+ "<Twilio.Api.V2010.ParticipantInstance #{values}>"
653
+ end
553
654
  end
554
- @instance_context
555
- end
556
-
557
- ##
558
- # @return [String] The SID of the Account that created the resource
559
- def account_sid
560
- @properties['account_sid']
561
- end
562
-
563
- ##
564
- # @return [String] The SID of the Call the resource is associated with
565
- def call_sid
566
- @properties['call_sid']
567
- end
568
-
569
- ##
570
- # @return [String] The label of this participant
571
- def label
572
- @properties['label']
573
- end
574
-
575
- ##
576
- # @return [String] The SID of the participant who is being `coached`
577
- def call_sid_to_coach
578
- @properties['call_sid_to_coach']
579
- end
580
-
581
- ##
582
- # @return [Boolean] Indicates if the participant changed to coach
583
- def coaching
584
- @properties['coaching']
585
- end
586
-
587
- ##
588
- # @return [String] The SID of the conference the participant is in
589
- def conference_sid
590
- @properties['conference_sid']
591
- end
592
-
593
- ##
594
- # @return [Time] The RFC 2822 date and time in GMT that the resource was created
595
- def date_created
596
- @properties['date_created']
597
- end
598
-
599
- ##
600
- # @return [Time] The RFC 2822 date and time in GMT that the resource was last updated
601
- def date_updated
602
- @properties['date_updated']
603
- end
604
-
605
- ##
606
- # @return [Boolean] Whether the conference ends when the participant leaves
607
- def end_conference_on_exit
608
- @properties['end_conference_on_exit']
609
- end
610
-
611
- ##
612
- # @return [Boolean] Whether the participant is muted
613
- def muted
614
- @properties['muted']
615
- end
616
-
617
- ##
618
- # @return [Boolean] Whether the participant is on hold
619
- def hold
620
- @properties['hold']
621
- end
622
-
623
- ##
624
- # @return [Boolean] Whether the conference starts when the participant joins the conference
625
- def start_conference_on_enter
626
- @properties['start_conference_on_enter']
627
- end
628
-
629
- ##
630
- # @return [participant.Status] The status of the participant's call in a session
631
- def status
632
- @properties['status']
633
- end
634
-
635
- ##
636
- # @return [String] The URI of the resource, relative to `https://api.twilio.com`
637
- def uri
638
- @properties['uri']
639
- end
640
-
641
- ##
642
- # Fetch the ParticipantInstance
643
- # @return [ParticipantInstance] Fetched ParticipantInstance
644
- def fetch
645
- context.fetch
646
- end
647
-
648
- ##
649
- # Update the ParticipantInstance
650
- # @param [Boolean] muted Whether the participant should be muted. Can be `true` or
651
- # `false`. `true` will mute the participant, and `false` will un-mute them.
652
- # Anything value other than `true` or `false` is interpreted as `false`.
653
- # @param [Boolean] hold Whether the participant should be on hold. Can be: `true`
654
- # or `false`. `true` puts the participant on hold, and `false` lets them rejoin
655
- # the conference.
656
- # @param [String] hold_url The URL we call using the `hold_method` for music that
657
- # plays when the participant is on hold. The URL may return an MP3 file, a WAV
658
- # file, or a TwiML document that contains the `<Play>`, `<Say>` or `<Redirect>`
659
- # commands.
660
- # @param [String] hold_method The HTTP method we should use to call `hold_url`.
661
- # Can be: `GET` or `POST` and the default is `GET`.
662
- # @param [String] announce_url The URL we call using the `announce_method` for an
663
- # announcement to the participant. The URL must return an MP3 file, a WAV file, or
664
- # a TwiML document that contains `<Play>` or `<Say>` commands.
665
- # @param [String] announce_method The HTTP method we should use to call
666
- # `announce_url`. Can be: `GET` or `POST` and defaults to `POST`.
667
- # @param [String] wait_url The URL we should call using the `wait_method` for the
668
- # music to play while participants are waiting for the conference to start. The
669
- # default value is the URL of our standard hold music. {Learn more about hold
670
- # music}[https://www.twilio.com/labs/twimlets/holdmusic].
671
- # @param [String] wait_method The HTTP method we should use to call `wait_url`.
672
- # Can be `GET` or `POST` and the default is `POST`. When using a static audio
673
- # file, this should be `GET` so that we can cache the file.
674
- # @param [Boolean] beep_on_exit Whether to play a notification beep to the
675
- # conference when the participant exits. Can be: `true` or `false`.
676
- # @param [Boolean] end_conference_on_exit Whether to end the conference when the
677
- # participant leaves. Can be: `true` or `false` and defaults to `false`.
678
- # @param [Boolean] coaching Whether the participant is coaching another call. Can
679
- # be: `true` or `false`. If not present, defaults to `false` unless
680
- # `call_sid_to_coach` is defined. If `true`, `call_sid_to_coach` must be defined.
681
- # @param [String] call_sid_to_coach The SID of the participant who is being
682
- # `coached`. The participant being coached is the only participant who can hear
683
- # the participant who is `coaching`.
684
- # @return [ParticipantInstance] Updated ParticipantInstance
685
- def update(muted: :unset, hold: :unset, hold_url: :unset, hold_method: :unset, announce_url: :unset, announce_method: :unset, wait_url: :unset, wait_method: :unset, beep_on_exit: :unset, end_conference_on_exit: :unset, coaching: :unset, call_sid_to_coach: :unset)
686
- context.update(
687
- muted: muted,
688
- hold: hold,
689
- hold_url: hold_url,
690
- hold_method: hold_method,
691
- announce_url: announce_url,
692
- announce_method: announce_method,
693
- wait_url: wait_url,
694
- wait_method: wait_method,
695
- beep_on_exit: beep_on_exit,
696
- end_conference_on_exit: end_conference_on_exit,
697
- coaching: coaching,
698
- call_sid_to_coach: call_sid_to_coach,
699
- )
700
- end
701
-
702
- ##
703
- # Delete the ParticipantInstance
704
- # @return [Boolean] true if delete succeeds, false otherwise
705
- def delete
706
- context.delete
707
- end
708
-
709
- ##
710
- # Provide a user friendly representation
711
- def to_s
712
- values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
713
- "<Twilio.Api.V2010.ParticipantInstance #{values}>"
714
- end
715
-
716
- ##
717
- # Provide a detailed, user friendly representation
718
- def inspect
719
- values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
720
- "<Twilio.Api.V2010.ParticipantInstance #{values}>"
721
- end
655
+
656
+ end
657
+ end
722
658
  end
723
- end
724
659
  end
725
- end
726
660
  end
727
- end
728
- end
661
+ end
662
+
663
+