twilio-ruby 5.46.1 → 5.77.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (787) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/pr-lint.yml +21 -0
  3. data/.github/workflows/test-and-deploy.yml +129 -0
  4. data/.gitignore +5 -1
  5. data/.rubocop.yml +1 -1
  6. data/.rubocop_todo.yml +91 -28
  7. data/CHANGES.md +1053 -0
  8. data/CONTRIBUTING.md +1 -7
  9. data/Gemfile +1 -0
  10. data/LICENSE +1 -1
  11. data/Makefile +12 -11
  12. data/PULL_REQUEST_TEMPLATE.md +1 -1
  13. data/README.md +137 -42
  14. data/advanced-examples/custom-http-client.md +170 -0
  15. data/examples/examples.rb +1 -1
  16. data/lib/rack/twilio_webhook_authentication.rb +25 -1
  17. data/lib/twilio-ruby/http/http_client.rb +20 -4
  18. data/lib/twilio-ruby/http.rb +5 -0
  19. data/lib/twilio-ruby/jwt/access_token.rb +13 -0
  20. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +19 -3
  21. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +22 -3
  22. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +2 -2
  23. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +2 -2
  24. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +2 -2
  25. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +2 -2
  26. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +2 -2
  27. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +2 -2
  28. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +2 -2
  29. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +4 -4
  30. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +28 -28
  31. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +10 -10
  32. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +8 -8
  33. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +2 -2
  34. data/lib/twilio-ruby/rest/api/v2010/account/call/siprec.rb +674 -0
  35. data/lib/twilio-ruby/rest/api/v2010/account/call/stream.rb +674 -0
  36. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +160 -0
  37. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +251 -0
  38. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +130 -11
  39. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +67 -24
  40. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +2 -2
  41. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +5 -5
  42. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +11 -4
  43. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +11 -4
  44. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +11 -4
  45. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +17 -10
  46. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +34 -5
  47. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +2 -2
  48. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +6 -6
  49. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +1 -1
  50. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +35 -8
  51. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +11 -11
  52. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +11 -11
  53. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +5 -5
  54. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +3 -3
  55. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +1 -1
  56. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +1 -1
  57. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +1 -1
  58. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +1 -1
  59. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +1 -1
  60. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +1 -1
  61. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +1 -1
  62. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +1 -1
  63. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +1 -1
  64. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +1 -1
  65. data/lib/twilio-ruby/rest/api/v2010.rb +5 -4
  66. data/lib/twilio-ruby/rest/api.rb +1 -1
  67. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +2 -2
  68. data/lib/twilio-ruby/rest/autopilot/v1.rb +5 -4
  69. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +1 -9
  70. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +15 -7
  71. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +15 -9
  72. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +0 -8
  73. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +0 -8
  74. data/lib/twilio-ruby/rest/bulkexports/v1.rb +10 -8
  75. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +1 -1
  76. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +2 -2
  77. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +1 -1
  78. data/lib/twilio-ruby/rest/chat/v1/service.rb +2 -2
  79. data/lib/twilio-ruby/rest/chat/v1.rb +10 -8
  80. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +1 -1
  81. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +2 -2
  82. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +10 -4
  83. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +1 -1
  84. data/lib/twilio-ruby/rest/chat/v2/service.rb +4 -4
  85. data/lib/twilio-ruby/rest/chat/v2.rb +10 -8
  86. data/lib/twilio-ruby/rest/chat/v3/channel.rb +275 -0
  87. data/lib/twilio-ruby/rest/chat/v3.rb +48 -0
  88. data/lib/twilio-ruby/rest/chat.rb +16 -0
  89. data/lib/twilio-ruby/rest/client.rb +57 -13
  90. data/lib/twilio-ruby/rest/content/v1/content/approval_fetch.rb +195 -0
  91. data/lib/twilio-ruby/rest/content/v1/content.rb +346 -0
  92. data/lib/twilio-ruby/rest/content/v1/content_and_approvals.rb +240 -0
  93. data/lib/twilio-ruby/rest/content/v1/legacy_content.rb +254 -0
  94. data/lib/twilio-ruby/rest/content/v1.rb +59 -0
  95. data/lib/twilio-ruby/rest/content.rb +59 -0
  96. data/lib/twilio-ruby/rest/conversations/v1/address_configuration.rb +454 -0
  97. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +1 -1
  98. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +29 -7
  99. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +50 -5
  100. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +312 -0
  101. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +18 -2
  102. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/webhook.rb +269 -0
  103. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +8 -0
  104. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +1 -1
  105. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +29 -7
  106. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +50 -5
  107. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +324 -0
  108. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +466 -0
  109. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +44 -0
  110. data/lib/twilio-ruby/rest/conversations/v1/service.rb +23 -0
  111. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +442 -0
  112. data/lib/twilio-ruby/rest/conversations/v1/user.rb +35 -0
  113. data/lib/twilio-ruby/rest/conversations/v1.rb +49 -20
  114. data/lib/twilio-ruby/rest/conversations.rb +15 -0
  115. data/lib/twilio-ruby/rest/events/v1/event_type.rb +16 -9
  116. data/lib/twilio-ruby/rest/events/v1/schema/{schema_version.rb → version.rb} +42 -42
  117. data/lib/twilio-ruby/rest/events/v1/schema.rb +16 -16
  118. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +3 -3
  119. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +3 -3
  120. data/lib/twilio-ruby/rest/events/v1/sink.rb +47 -10
  121. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +139 -9
  122. data/lib/twilio-ruby/rest/events/v1/subscription.rb +15 -8
  123. data/lib/twilio-ruby/rest/events/v1.rb +20 -16
  124. data/lib/twilio-ruby/rest/flex_api/v1/assessments.rb +397 -0
  125. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +56 -0
  126. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +55 -34
  127. data/lib/twilio-ruby/rest/flex_api/v1/insights_assessments_comment.rb +314 -0
  128. data/lib/twilio-ruby/rest/flex_api/v1/insights_conversations.rb +216 -0
  129. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires.rb +394 -0
  130. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_category.rb +313 -0
  131. data/lib/twilio-ruby/rest/flex_api/v1/insights_questionnaires_question.rb +390 -0
  132. data/lib/twilio-ruby/rest/flex_api/v1/insights_segments.rb +413 -0
  133. data/lib/twilio-ruby/rest/{preview/trusted_comms/brands_information.rb → flex_api/v1/insights_session.rb} +58 -55
  134. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_answersets.rb +144 -0
  135. data/lib/twilio-ruby/rest/flex_api/v1/insights_settings_comment.rb +130 -0
  136. data/lib/twilio-ruby/rest/{preview/trusted_comms/cps.rb → flex_api/v1/insights_user_roles.rb} +42 -54
  137. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_invite.rb +236 -0
  138. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel/interaction_channel_participant.rb +330 -0
  139. data/lib/twilio-ruby/rest/flex_api/v1/interaction/interaction_channel.rb +405 -0
  140. data/lib/twilio-ruby/rest/{preview/trusted_comms/branded_channel.rb → flex_api/v1/interaction.rb} +76 -68
  141. data/lib/twilio-ruby/rest/flex_api/v1.rb +153 -12
  142. data/lib/twilio-ruby/rest/flex_api/v2/web_channels.rb +133 -0
  143. data/lib/twilio-ruby/rest/flex_api/v2.rb +35 -0
  144. data/lib/twilio-ruby/rest/flex_api.rb +98 -0
  145. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +258 -0
  146. data/lib/twilio-ruby/rest/frontline_api/v1.rb +45 -0
  147. data/lib/twilio-ruby/rest/{fax.rb → frontline_api.rb} +11 -11
  148. data/lib/twilio-ruby/rest/insights/v1/call/annotation.rb +322 -0
  149. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +14 -0
  150. data/lib/twilio-ruby/rest/insights/v1/call.rb +16 -8
  151. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +447 -0
  152. data/lib/twilio-ruby/rest/insights/v1/conference/conference_participant.rb +474 -0
  153. data/lib/twilio-ruby/rest/insights/v1/conference.rb +512 -0
  154. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +23 -23
  155. data/lib/twilio-ruby/rest/insights/v1/room.rb +58 -46
  156. data/lib/twilio-ruby/rest/insights/v1/setting.rb +215 -0
  157. data/lib/twilio-ruby/rest/insights/v1.rb +41 -9
  158. data/lib/twilio-ruby/rest/insights.rb +21 -1
  159. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +1 -1
  160. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +2 -2
  161. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +1 -1
  162. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +2 -2
  163. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +10 -8
  164. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +1 -1
  165. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +2 -2
  166. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +1 -1
  167. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +4 -4
  168. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +10 -8
  169. data/lib/twilio-ruby/rest/lookups/v1.rb +5 -4
  170. data/lib/twilio-ruby/rest/lookups/v2/phone_number.rb +343 -0
  171. data/lib/twilio-ruby/rest/lookups/v2.rb +45 -0
  172. data/lib/twilio-ruby/rest/lookups.rb +7 -0
  173. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +397 -0
  174. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +399 -0
  175. data/lib/twilio-ruby/rest/media/v1/player_streamer/playback_grant.rb +221 -0
  176. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +403 -0
  177. data/lib/twilio-ruby/rest/media/v1.rb +76 -0
  178. data/lib/twilio-ruby/rest/media.rb +65 -0
  179. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_registration_otp.rb +134 -0
  180. data/lib/twilio-ruby/rest/messaging/v1/brand_registration/brand_vetting.rb +353 -0
  181. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +476 -0
  182. data/lib/twilio-ruby/rest/messaging/v1/domain_cert.rb +257 -0
  183. data/lib/twilio-ruby/rest/messaging/v1/domain_config.rb +242 -0
  184. data/lib/twilio-ruby/rest/messaging/v1/domain_config_messaging_service.rb +226 -0
  185. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +150 -0
  186. data/lib/twilio-ruby/rest/messaging/v1/linkshortening_messaging_service.rb +218 -0
  187. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +2 -2
  188. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +528 -0
  189. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +129 -0
  190. data/lib/twilio-ruby/rest/messaging/v1/service.rb +145 -27
  191. data/lib/twilio-ruby/rest/messaging/v1/tollfree_verification.rb +723 -0
  192. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +111 -0
  193. data/lib/twilio-ruby/rest/messaging/v1.rb +126 -4
  194. data/lib/twilio-ruby/rest/messaging.rb +64 -0
  195. data/lib/twilio-ruby/rest/microvisor/v1/account_config.rb +317 -0
  196. data/lib/twilio-ruby/rest/microvisor/v1/account_secret.rb +310 -0
  197. data/lib/twilio-ruby/rest/microvisor/v1/app/app_manifest.rb +192 -0
  198. data/lib/twilio-ruby/rest/microvisor/v1/app.rb +330 -0
  199. data/lib/twilio-ruby/rest/microvisor/v1/device/device_config.rb +342 -0
  200. data/lib/twilio-ruby/rest/{preview/bulk_exports/export/day.rb → microvisor/v1/device/device_secret.rb} +125 -84
  201. data/lib/twilio-ruby/rest/microvisor/v1/device.rb +393 -0
  202. data/lib/twilio-ruby/rest/microvisor/v1.rb +92 -0
  203. data/lib/twilio-ruby/rest/microvisor.rb +70 -0
  204. data/lib/twilio-ruby/rest/monitor/v1.rb +10 -8
  205. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +1 -1
  206. data/lib/twilio-ruby/rest/notify/v1.rb +10 -8
  207. data/lib/twilio-ruby/rest/numbers/v1/eligibility.rb +111 -0
  208. data/lib/twilio-ruby/rest/numbers/v1.rb +35 -0
  209. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/bundle_copy.rb +268 -0
  210. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/replace_items.rb +188 -0
  211. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +128 -26
  212. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +7 -0
  213. data/lib/twilio-ruby/rest/numbers.rb +13 -0
  214. data/lib/twilio-ruby/rest/oauth/v1/device_code.rb +153 -0
  215. data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +162 -0
  216. data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +242 -0
  217. data/lib/twilio-ruby/rest/oauth/v1/token.rb +157 -0
  218. data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +193 -0
  219. data/lib/twilio-ruby/rest/oauth/v1.rb +63 -0
  220. data/lib/twilio-ruby/rest/oauth.rb +68 -0
  221. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +5 -4
  222. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +2 -2
  223. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +2 -2
  224. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +10 -8
  225. data/lib/twilio-ruby/rest/preview/marketplace.rb +10 -8
  226. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +4 -8
  227. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +1 -1
  228. data/lib/twilio-ruby/rest/preview/sync.rb +5 -4
  229. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +2 -2
  230. data/lib/twilio-ruby/rest/preview/understand.rb +5 -4
  231. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +1 -1
  232. data/lib/twilio-ruby/rest/preview/wireless.rb +15 -12
  233. data/lib/twilio-ruby/rest/preview.rb +0 -58
  234. data/lib/twilio-ruby/rest/pricing/v2/country.rb +280 -0
  235. data/lib/twilio-ruby/rest/pricing/v2/number.rb +225 -0
  236. data/lib/twilio-ruby/rest/pricing/v2.rb +37 -0
  237. data/lib/twilio-ruby/rest/pricing.rb +19 -0
  238. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +1 -1
  239. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +2 -15
  240. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +5 -46
  241. data/lib/twilio-ruby/rest/proxy/v1/service.rb +1 -1
  242. data/lib/twilio-ruby/rest/proxy/v1.rb +5 -4
  243. data/lib/twilio-ruby/rest/routes/v2/phone_number.rb +235 -0
  244. data/lib/twilio-ruby/rest/routes/v2/sip_domain.rb +231 -0
  245. data/lib/twilio-ruby/rest/routes/v2/trunk.rb +235 -0
  246. data/lib/twilio-ruby/rest/routes/v2.rb +76 -0
  247. data/lib/twilio-ruby/rest/routes.rb +62 -0
  248. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +11 -1
  249. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +1 -1
  250. data/lib/twilio-ruby/rest/serverless/v1/service.rb +7 -0
  251. data/lib/twilio-ruby/rest/serverless/v1.rb +5 -4
  252. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +1 -1
  253. data/lib/twilio-ruby/rest/studio/v1/flow.rb +1 -1
  254. data/lib/twilio-ruby/rest/studio/v1.rb +5 -4
  255. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +1 -1
  256. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +1 -1
  257. data/lib/twilio-ruby/rest/studio/v2/flow.rb +1 -1
  258. data/lib/twilio-ruby/rest/studio/v2.rb +5 -4
  259. data/lib/twilio-ruby/rest/supersim/v1/esim_profile.rb +392 -0
  260. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +95 -44
  261. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +419 -0
  262. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +247 -0
  263. data/lib/twilio-ruby/rest/supersim/v1/sim/billing_period.rb +231 -0
  264. data/lib/twilio-ruby/rest/supersim/v1/sim/sim_ip_address.rb +195 -0
  265. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +65 -0
  266. data/lib/twilio-ruby/rest/supersim/v1/{command.rb → sms_command.rb} +81 -78
  267. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +26 -12
  268. data/lib/twilio-ruby/rest/supersim/v1.rb +69 -25
  269. data/lib/twilio-ruby/rest/supersim.rb +30 -6
  270. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +0 -8
  271. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +13 -32
  272. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +39 -46
  273. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +0 -8
  274. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +9 -23
  275. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +38 -47
  276. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +0 -8
  277. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +9 -23
  278. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +0 -6
  279. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +9 -23
  280. data/lib/twilio-ruby/rest/sync/v1/service.rb +1 -9
  281. data/lib/twilio-ruby/rest/sync/v1.rb +5 -4
  282. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +7 -0
  283. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +1 -1
  284. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +25 -8
  285. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +34 -10
  286. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +18 -14
  287. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +5 -5
  288. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +10 -4
  289. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +7 -3
  290. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +3 -3
  291. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +6 -6
  292. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +1 -1
  293. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +32 -14
  294. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +17 -15
  295. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +2 -2
  296. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +1 -1
  297. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +17 -15
  298. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +3 -3
  299. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +45 -30
  300. data/lib/twilio-ruby/rest/taskrouter/v1.rb +5 -4
  301. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +2 -2
  302. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +19 -3
  303. data/lib/twilio-ruby/rest/trunking/v1.rb +5 -4
  304. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +359 -0
  305. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +330 -0
  306. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +328 -0
  307. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +523 -0
  308. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +356 -0
  309. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +271 -0
  310. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +262 -0
  311. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +369 -0
  312. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +271 -0
  313. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +359 -0
  314. data/lib/twilio-ruby/rest/{fax/v1/fax/fax_media.rb → trusthub/v1/trust_products/trust_products_entity_assignments.rb} +101 -85
  315. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +328 -0
  316. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +523 -0
  317. data/lib/twilio-ruby/rest/trusthub/v1.rb +146 -0
  318. data/lib/twilio-ruby/rest/trusthub.rb +100 -0
  319. data/lib/twilio-ruby/rest/verify/v2/safelist.rb +215 -0
  320. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +153 -16
  321. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +199 -0
  322. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +111 -28
  323. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +68 -68
  324. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +303 -0
  325. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +31 -11
  326. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +2 -2
  327. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +31 -8
  328. data/lib/twilio-ruby/rest/verify/v2/service/verification_check.rb +8 -1
  329. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +24 -13
  330. data/lib/twilio-ruby/rest/verify/v2/service.rb +102 -15
  331. data/lib/twilio-ruby/rest/verify/v2/template.rb +213 -0
  332. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +397 -0
  333. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +234 -0
  334. data/lib/twilio-ruby/rest/verify/v2.rb +58 -8
  335. data/lib/twilio-ruby/rest/verify.rb +29 -0
  336. data/lib/twilio-ruby/rest/video/v1/composition.rb +24 -11
  337. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +0 -8
  338. data/lib/twilio-ruby/rest/video/v1/recording.rb +23 -2
  339. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +9 -2
  340. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_anonymize.rb +240 -0
  341. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +16 -0
  342. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +0 -6
  343. data/lib/twilio-ruby/rest/video/v1/room.rb +66 -6
  344. data/lib/twilio-ruby/rest/video/v1.rb +20 -16
  345. data/lib/twilio-ruby/rest/voice/v1/archived_call.rb +184 -0
  346. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +2 -2
  347. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +1 -1
  348. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +1 -1
  349. data/lib/twilio-ruby/rest/voice/v1.rb +41 -16
  350. data/lib/twilio-ruby/rest/voice.rb +8 -0
  351. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +6 -6
  352. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +2 -2
  353. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +16 -26
  354. data/lib/twilio-ruby/rest/wireless/v1.rb +15 -12
  355. data/lib/twilio-ruby/rest.rb +13 -0
  356. data/lib/twilio-ruby/security/request_validator.rb +1 -1
  357. data/lib/twilio-ruby/twiml/voice_response.rb +919 -155
  358. data/lib/twilio-ruby/version.rb +1 -1
  359. data/lib/twilio-ruby.rb +6 -16
  360. data/sonar-project.properties +13 -0
  361. data/twilio-ruby.gemspec +3 -4
  362. metadata +144 -864
  363. data/.travis.yml +0 -45
  364. data/lib/twilio-ruby/rest/fax/v1/fax.rb +0 -536
  365. data/lib/twilio-ruby/rest/fax/v1.rb +0 -44
  366. data/lib/twilio-ruby/rest/preview/bulk_exports/export/export_custom_job.rb +0 -275
  367. data/lib/twilio-ruby/rest/preview/bulk_exports/export/job.rb +0 -249
  368. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +0 -251
  369. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +0 -234
  370. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +0 -60
  371. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel/channel.rb +0 -165
  372. data/lib/twilio-ruby/rest/preview/trusted_comms/current_call.rb +0 -277
  373. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +0 -64
  374. data/spec/framework/request_spec.rb +0 -36
  375. data/spec/framework/serialize_spec.rb +0 -80
  376. data/spec/framework/version_spec.rb +0 -219
  377. data/spec/holodeck/holodeck.rb +0 -66
  378. data/spec/holodeck/hologram.rb +0 -4
  379. data/spec/http/http_client_spec.rb +0 -122
  380. data/spec/integration/accounts/v1/auth_token_promotion_spec.rb +0 -44
  381. data/spec/integration/accounts/v1/credential/aws_spec.rb +0 -222
  382. data/spec/integration/accounts/v1/credential/public_key_spec.rb +0 -222
  383. data/spec/integration/accounts/v1/credential_spec.rb +0 -12
  384. data/spec/integration/accounts/v1/secondary_auth_token_spec.rb +0 -69
  385. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +0 -106
  386. data/spec/integration/api/v2010/account/address_spec.rb +0 -269
  387. data/spec/integration/api/v2010/account/application_spec.rb +0 -274
  388. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +0 -137
  389. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +0 -102
  390. data/spec/integration/api/v2010/account/available_phone_number/machine_to_machine_spec.rb +0 -102
  391. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +0 -101
  392. data/spec/integration/api/v2010/account/available_phone_number/national_spec.rb +0 -102
  393. data/spec/integration/api/v2010/account/available_phone_number/shared_cost_spec.rb +0 -102
  394. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +0 -101
  395. data/spec/integration/api/v2010/account/available_phone_number/voip_spec.rb +0 -102
  396. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +0 -128
  397. data/spec/integration/api/v2010/account/balance_spec.rb +0 -44
  398. data/spec/integration/api/v2010/account/call/event_spec.rb +0 -102
  399. data/spec/integration/api/v2010/account/call/feedback_spec.rb +0 -138
  400. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +0 -149
  401. data/spec/integration/api/v2010/account/call/notification_spec.rb +0 -143
  402. data/spec/integration/api/v2010/account/call/payment_spec.rb +0 -135
  403. data/spec/integration/api/v2010/account/call/recording_spec.rb +0 -287
  404. data/spec/integration/api/v2010/account/call_spec.rb +0 -660
  405. data/spec/integration/api/v2010/account/conference/participant_spec.rb +0 -768
  406. data/spec/integration/api/v2010/account/conference/recording_spec.rb +0 -234
  407. data/spec/integration/api/v2010/account/conference_spec.rb +0 -458
  408. data/spec/integration/api/v2010/account/connect_app_spec.rb +0 -197
  409. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +0 -135
  410. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +0 -220
  411. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +0 -189
  412. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +0 -189
  413. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +0 -189
  414. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +0 -370
  415. data/spec/integration/api/v2010/account/key_spec.rb +0 -176
  416. data/spec/integration/api/v2010/account/message/feedback_spec.rb +0 -49
  417. data/spec/integration/api/v2010/account/message/media_spec.rb +0 -161
  418. data/spec/integration/api/v2010/account/message_spec.rb +0 -507
  419. data/spec/integration/api/v2010/account/new_key_spec.rb +0 -46
  420. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +0 -46
  421. data/spec/integration/api/v2010/account/notification_spec.rb +0 -138
  422. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +0 -185
  423. data/spec/integration/api/v2010/account/queue/member_spec.rb +0 -208
  424. data/spec/integration/api/v2010/account/queue_spec.rb +0 -244
  425. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +0 -174
  426. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +0 -165
  427. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +0 -173
  428. data/spec/integration/api/v2010/account/recording_spec.rb +0 -184
  429. data/spec/integration/api/v2010/account/short_code_spec.rb +0 -179
  430. data/spec/integration/api/v2010/account/signing_key_spec.rb +0 -176
  431. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +0 -252
  432. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +0 -241
  433. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping_spec.rb +0 -217
  434. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping_spec.rb +0 -217
  435. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_calls_mapping_spec.rb +0 -12
  436. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping_spec.rb +0 -217
  437. data/spec/integration/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping_spec.rb +0 -12
  438. data/spec/integration/api/v2010/account/sip/domain/auth_types_spec.rb +0 -12
  439. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +0 -207
  440. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +0 -217
  441. data/spec/integration/api/v2010/account/sip/domain_spec.rb +0 -303
  442. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +0 -254
  443. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +0 -251
  444. data/spec/integration/api/v2010/account/sip_spec.rb +0 -12
  445. data/spec/integration/api/v2010/account/token_spec.rb +0 -71
  446. data/spec/integration/api/v2010/account/transcription_spec.rb +0 -166
  447. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +0 -113
  448. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +0 -113
  449. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +0 -113
  450. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +0 -113
  451. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +0 -113
  452. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +0 -113
  453. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +0 -113
  454. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +0 -113
  455. data/spec/integration/api/v2010/account/usage/record_spec.rb +0 -110
  456. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +0 -281
  457. data/spec/integration/api/v2010/account/usage_spec.rb +0 -12
  458. data/spec/integration/api/v2010/account/validation_request_spec.rb +0 -48
  459. data/spec/integration/api/v2010/account_spec.rb +0 -327
  460. data/spec/integration/autopilot/v1/assistant/defaults_spec.rb +0 -79
  461. data/spec/integration/autopilot/v1/assistant/dialogue_spec.rb +0 -46
  462. data/spec/integration/autopilot/v1/assistant/field_type/field_value_spec.rb +0 -207
  463. data/spec/integration/autopilot/v1/assistant/field_type_spec.rb +0 -242
  464. data/spec/integration/autopilot/v1/assistant/model_build_spec.rb +0 -236
  465. data/spec/integration/autopilot/v1/assistant/query_spec.rb +0 -290
  466. data/spec/integration/autopilot/v1/assistant/style_sheet_spec.rb +0 -79
  467. data/spec/integration/autopilot/v1/assistant/task/field_spec.rb +0 -204
  468. data/spec/integration/autopilot/v1/assistant/task/sample_spec.rb +0 -249
  469. data/spec/integration/autopilot/v1/assistant/task/task_actions_spec.rb +0 -85
  470. data/spec/integration/autopilot/v1/assistant/task/task_statistics_spec.rb +0 -49
  471. data/spec/integration/autopilot/v1/assistant/task_spec.rb +0 -258
  472. data/spec/integration/autopilot/v1/assistant/webhook_spec.rb +0 -242
  473. data/spec/integration/autopilot/v1/assistant_spec.rb +0 -277
  474. data/spec/integration/autopilot/v1/restore_assistant_spec.rb +0 -53
  475. data/spec/integration/bulkexports/v1/export/day_spec.rb +0 -115
  476. data/spec/integration/bulkexports/v1/export/export_custom_job_spec.rb +0 -129
  477. data/spec/integration/bulkexports/v1/export/job_spec.rb +0 -78
  478. data/spec/integration/bulkexports/v1/export_configuration_spec.rb +0 -77
  479. data/spec/integration/bulkexports/v1/export_spec.rb +0 -44
  480. data/spec/integration/chat/v1/credential_spec.rb +0 -219
  481. data/spec/integration/chat/v1/service/channel/invite_spec.rb +0 -207
  482. data/spec/integration/chat/v1/service/channel/member_spec.rb +0 -280
  483. data/spec/integration/chat/v1/service/channel/message_spec.rb +0 -290
  484. data/spec/integration/chat/v1/service/channel_spec.rb +0 -272
  485. data/spec/integration/chat/v1/service/role_spec.rb +0 -260
  486. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +0 -93
  487. data/spec/integration/chat/v1/service/user_spec.rb +0 -262
  488. data/spec/integration/chat/v1/service_spec.rb +0 -295
  489. data/spec/integration/chat/v2/credential_spec.rb +0 -219
  490. data/spec/integration/chat/v2/service/binding_spec.rb +0 -174
  491. data/spec/integration/chat/v2/service/channel/invite_spec.rb +0 -207
  492. data/spec/integration/chat/v2/service/channel/member_spec.rb +0 -263
  493. data/spec/integration/chat/v2/service/channel/message_spec.rb +0 -406
  494. data/spec/integration/chat/v2/service/channel/webhook_spec.rb +0 -303
  495. data/spec/integration/chat/v2/service/channel_spec.rb +0 -282
  496. data/spec/integration/chat/v2/service/role_spec.rb +0 -260
  497. data/spec/integration/chat/v2/service/user/user_binding_spec.rb +0 -177
  498. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +0 -247
  499. data/spec/integration/chat/v2/service/user_spec.rb +0 -270
  500. data/spec/integration/chat/v2/service_spec.rb +0 -350
  501. data/spec/integration/conversations/v1/configuration/webhook_spec.rb +0 -90
  502. data/spec/integration/conversations/v1/configuration_spec.rb +0 -87
  503. data/spec/integration/conversations/v1/conversation/message/delivery_receipt_spec.rb +0 -136
  504. data/spec/integration/conversations/v1/conversation/message_spec.rb +0 -409
  505. data/spec/integration/conversations/v1/conversation/participant_spec.rb +0 -402
  506. data/spec/integration/conversations/v1/conversation/webhook_spec.rb +0 -282
  507. data/spec/integration/conversations/v1/conversation_spec.rb +0 -278
  508. data/spec/integration/conversations/v1/credential_spec.rb +0 -219
  509. data/spec/integration/conversations/v1/role_spec.rb +0 -249
  510. data/spec/integration/conversations/v1/service/binding_spec.rb +0 -166
  511. data/spec/integration/conversations/v1/service/configuration/notification_spec.rb +0 -115
  512. data/spec/integration/conversations/v1/service/configuration_spec.rb +0 -89
  513. data/spec/integration/conversations/v1/service/conversation/message/delivery_receipt_spec.rb +0 -144
  514. data/spec/integration/conversations/v1/service/conversation/message_spec.rb +0 -429
  515. data/spec/integration/conversations/v1/service/conversation/participant_spec.rb +0 -427
  516. data/spec/integration/conversations/v1/service/conversation/webhook_spec.rb +0 -299
  517. data/spec/integration/conversations/v1/service/conversation_spec.rb +0 -289
  518. data/spec/integration/conversations/v1/service/role_spec.rb +0 -260
  519. data/spec/integration/conversations/v1/service/user_spec.rb +0 -241
  520. data/spec/integration/conversations/v1/service_spec.rb +0 -174
  521. data/spec/integration/conversations/v1/user_spec.rb +0 -231
  522. data/spec/integration/events/v1/event_type_spec.rb +0 -133
  523. data/spec/integration/events/v1/schema/schema_version_spec.rb +0 -126
  524. data/spec/integration/events/v1/schema_spec.rb +0 -46
  525. data/spec/integration/events/v1/sink/sink_test_spec.rb +0 -42
  526. data/spec/integration/events/v1/sink/sink_validate_spec.rb +0 -44
  527. data/spec/integration/events/v1/sink_spec.rb +0 -231
  528. data/spec/integration/events/v1/subscription/subscribed_event_spec.rb +0 -91
  529. data/spec/integration/events/v1/subscription_spec.rb +0 -292
  530. data/spec/integration/fax/v1/fax/fax_media_spec.rb +0 -125
  531. data/spec/integration/fax/v1/fax_spec.rb +0 -267
  532. data/spec/integration/flex_api/v1/channel_spec.rb +0 -188
  533. data/spec/integration/flex_api/v1/configuration_spec.rb +0 -554
  534. data/spec/integration/flex_api/v1/flex_flow_spec.rb +0 -259
  535. data/spec/integration/flex_api/v1/web_channel_spec.rb +0 -216
  536. data/spec/integration/insights/v1/call/event_spec.rb +0 -166
  537. data/spec/integration/insights/v1/call/metric_spec.rb +0 -154
  538. data/spec/integration/insights/v1/call/summary_spec.rb +0 -64
  539. data/spec/integration/insights/v1/call_spec.rb +0 -46
  540. data/spec/integration/insights/v1/room/participant_spec.rb +0 -147
  541. data/spec/integration/insights/v1/room_spec.rb +0 -164
  542. data/spec/integration/ip_messaging/v1/credential_spec.rb +0 -219
  543. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +0 -207
  544. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +0 -280
  545. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +0 -290
  546. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +0 -272
  547. data/spec/integration/ip_messaging/v1/service/role_spec.rb +0 -260
  548. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +0 -93
  549. data/spec/integration/ip_messaging/v1/service/user_spec.rb +0 -262
  550. data/spec/integration/ip_messaging/v1/service_spec.rb +0 -295
  551. data/spec/integration/ip_messaging/v2/credential_spec.rb +0 -219
  552. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +0 -174
  553. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +0 -207
  554. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +0 -263
  555. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +0 -406
  556. data/spec/integration/ip_messaging/v2/service/channel/webhook_spec.rb +0 -303
  557. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +0 -282
  558. data/spec/integration/ip_messaging/v2/service/role_spec.rb +0 -260
  559. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +0 -177
  560. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +0 -247
  561. data/spec/integration/ip_messaging/v2/service/user_spec.rb +0 -270
  562. data/spec/integration/ip_messaging/v2/service_spec.rb +0 -350
  563. data/spec/integration/lookups/v1/phone_number_spec.rb +0 -336
  564. data/spec/integration/messaging/v1/deactivation_spec.rb +0 -40
  565. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +0 -173
  566. data/spec/integration/messaging/v1/service/phone_number_spec.rb +0 -198
  567. data/spec/integration/messaging/v1/service/short_code_spec.rb +0 -176
  568. data/spec/integration/messaging/v1/service_spec.rb +0 -267
  569. data/spec/integration/monitor/v1/alert_spec.rb +0 -138
  570. data/spec/integration/monitor/v1/event_spec.rb +0 -148
  571. data/spec/integration/notify/v1/credential_spec.rb +0 -219
  572. data/spec/integration/notify/v1/service/binding_spec.rb +0 -222
  573. data/spec/integration/notify/v1/service/notification_spec.rb +0 -98
  574. data/spec/integration/notify/v1/service_spec.rb +0 -289
  575. data/spec/integration/numbers/v2/regulatory_compliance/bundle/evaluation_spec.rb +0 -620
  576. data/spec/integration/numbers/v2/regulatory_compliance/bundle/item_assignment_spec.rb +0 -195
  577. data/spec/integration/numbers/v2/regulatory_compliance/bundle_spec.rb +0 -258
  578. data/spec/integration/numbers/v2/regulatory_compliance/end_user_spec.rb +0 -238
  579. data/spec/integration/numbers/v2/regulatory_compliance/end_user_type_spec.rb +0 -141
  580. data/spec/integration/numbers/v2/regulatory_compliance/regulation_spec.rb +0 -181
  581. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_spec.rb +0 -250
  582. data/spec/integration/numbers/v2/regulatory_compliance/supporting_document_type_spec.rb +0 -131
  583. data/spec/integration/numbers/v2/regulatory_compliance_spec.rb +0 -12
  584. data/spec/integration/preview/bulk_exports/export/day_spec.rb +0 -115
  585. data/spec/integration/preview/bulk_exports/export/export_custom_job_spec.rb +0 -129
  586. data/spec/integration/preview/bulk_exports/export/job_spec.rb +0 -78
  587. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +0 -77
  588. data/spec/integration/preview/bulk_exports/export_spec.rb +0 -44
  589. data/spec/integration/preview/deployed_devices/fleet/certificate_spec.rb +0 -234
  590. data/spec/integration/preview/deployed_devices/fleet/deployment_spec.rb +0 -228
  591. data/spec/integration/preview/deployed_devices/fleet/device_spec.rb +0 -244
  592. data/spec/integration/preview/deployed_devices/fleet/key_spec.rb +0 -232
  593. data/spec/integration/preview/deployed_devices/fleet_spec.rb +0 -241
  594. data/spec/integration/preview/hosted_numbers/authorization_document/dependent_hosted_number_order_spec.rb +0 -110
  595. data/spec/integration/preview/hosted_numbers/authorization_document_spec.rb +0 -224
  596. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +0 -389
  597. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +0 -121
  598. data/spec/integration/preview/marketplace/available_add_on_spec.rb +0 -142
  599. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +0 -162
  600. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +0 -250
  601. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +0 -201
  602. data/spec/integration/preview/sync/service/document_spec.rb +0 -254
  603. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +0 -255
  604. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +0 -201
  605. data/spec/integration/preview/sync/service/sync_list_spec.rb +0 -205
  606. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +0 -255
  607. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +0 -201
  608. data/spec/integration/preview/sync/service/sync_map_spec.rb +0 -205
  609. data/spec/integration/preview/sync/service_spec.rb +0 -241
  610. data/spec/integration/preview/trusted_comms/branded_channel/channel_spec.rb +0 -50
  611. data/spec/integration/preview/trusted_comms/branded_channel_spec.rb +0 -47
  612. data/spec/integration/preview/trusted_comms/brands_information_spec.rb +0 -45
  613. data/spec/integration/preview/trusted_comms/cps_spec.rb +0 -44
  614. data/spec/integration/preview/trusted_comms/current_call_spec.rb +0 -58
  615. data/spec/integration/preview/understand/assistant/assistant_fallback_actions_spec.rb +0 -79
  616. data/spec/integration/preview/understand/assistant/assistant_initiation_actions_spec.rb +0 -79
  617. data/spec/integration/preview/understand/assistant/dialogue_spec.rb +0 -46
  618. data/spec/integration/preview/understand/assistant/field_type/field_value_spec.rb +0 -207
  619. data/spec/integration/preview/understand/assistant/field_type_spec.rb +0 -242
  620. data/spec/integration/preview/understand/assistant/model_build_spec.rb +0 -236
  621. data/spec/integration/preview/understand/assistant/query_spec.rb +0 -302
  622. data/spec/integration/preview/understand/assistant/style_sheet_spec.rb +0 -79
  623. data/spec/integration/preview/understand/assistant/task/field_spec.rb +0 -204
  624. data/spec/integration/preview/understand/assistant/task/sample_spec.rb +0 -249
  625. data/spec/integration/preview/understand/assistant/task/task_actions_spec.rb +0 -85
  626. data/spec/integration/preview/understand/assistant/task/task_statistics_spec.rb +0 -49
  627. data/spec/integration/preview/understand/assistant/task_spec.rb +0 -258
  628. data/spec/integration/preview/understand/assistant_spec.rb +0 -269
  629. data/spec/integration/preview/wireless/command_spec.rb +0 -167
  630. data/spec/integration/preview/wireless/rate_plan_spec.rb +0 -257
  631. data/spec/integration/preview/wireless/sim/usage_spec.rb +0 -50
  632. data/spec/integration/preview/wireless/sim_spec.rb +0 -207
  633. data/spec/integration/pricing/v1/messaging/country_spec.rb +0 -137
  634. data/spec/integration/pricing/v1/messaging_spec.rb +0 -12
  635. data/spec/integration/pricing/v1/phone_number/country_spec.rb +0 -128
  636. data/spec/integration/pricing/v1/phone_number_spec.rb +0 -12
  637. data/spec/integration/pricing/v1/voice/country_spec.rb +0 -138
  638. data/spec/integration/pricing/v1/voice/number_spec.rb +0 -55
  639. data/spec/integration/pricing/v1/voice_spec.rb +0 -12
  640. data/spec/integration/pricing/v2/voice/country_spec.rb +0 -179
  641. data/spec/integration/pricing/v2/voice/number_spec.rb +0 -61
  642. data/spec/integration/pricing/v2/voice_spec.rb +0 -12
  643. data/spec/integration/proxy/v1/service/phone_number_spec.rb +0 -231
  644. data/spec/integration/proxy/v1/service/session/interaction_spec.rb +0 -133
  645. data/spec/integration/proxy/v1/service/session/participant/message_interaction_spec.rb +0 -163
  646. data/spec/integration/proxy/v1/service/session/participant_spec.rb +0 -240
  647. data/spec/integration/proxy/v1/service/session_spec.rb +0 -225
  648. data/spec/integration/proxy/v1/service/short_code_spec.rb +0 -225
  649. data/spec/integration/proxy/v1/service_spec.rb +0 -214
  650. data/spec/integration/serverless/v1/service/asset/asset_version_spec.rb +0 -93
  651. data/spec/integration/serverless/v1/service/asset_spec.rb +0 -202
  652. data/spec/integration/serverless/v1/service/build/build_status_spec.rb +0 -48
  653. data/spec/integration/serverless/v1/service/build_spec.rb +0 -214
  654. data/spec/integration/serverless/v1/service/environment/deployment_spec.rb +0 -133
  655. data/spec/integration/serverless/v1/service/environment/log_spec.rb +0 -97
  656. data/spec/integration/serverless/v1/service/environment/variable_spec.rb +0 -207
  657. data/spec/integration/serverless/v1/service/environment_spec.rb +0 -170
  658. data/spec/integration/serverless/v1/service/function/function_version/function_version_content_spec.rb +0 -51
  659. data/spec/integration/serverless/v1/service/function/function_version_spec.rb +0 -96
  660. data/spec/integration/serverless/v1/service/function_spec.rb +0 -202
  661. data/spec/integration/serverless/v1/service_spec.rb +0 -205
  662. data/spec/integration/studio/v1/flow/engagement/engagement_context_spec.rb +0 -50
  663. data/spec/integration/studio/v1/flow/engagement/step/step_context_spec.rb +0 -53
  664. data/spec/integration/studio/v1/flow/engagement/step_spec.rb +0 -99
  665. data/spec/integration/studio/v1/flow/engagement_spec.rb +0 -168
  666. data/spec/integration/studio/v1/flow/execution/execution_context_spec.rb +0 -50
  667. data/spec/integration/studio/v1/flow/execution/execution_step/execution_step_context_spec.rb +0 -53
  668. data/spec/integration/studio/v1/flow/execution/execution_step_spec.rb +0 -100
  669. data/spec/integration/studio/v1/flow/execution_spec.rb +0 -214
  670. data/spec/integration/studio/v1/flow_spec.rb +0 -114
  671. data/spec/integration/studio/v2/flow/execution/execution_context_spec.rb +0 -50
  672. data/spec/integration/studio/v2/flow/execution/execution_step/execution_step_context_spec.rb +0 -53
  673. data/spec/integration/studio/v2/flow/execution/execution_step_spec.rb +0 -100
  674. data/spec/integration/studio/v2/flow/execution_spec.rb +0 -211
  675. data/spec/integration/studio/v2/flow/flow_revision_spec.rb +0 -110
  676. data/spec/integration/studio/v2/flow/test_user_spec.rb +0 -85
  677. data/spec/integration/studio/v2/flow_spec.rb +0 -251
  678. data/spec/integration/studio/v2/flow_validate_spec.rb +0 -46
  679. data/spec/integration/supersim/v1/command_spec.rb +0 -184
  680. data/spec/integration/supersim/v1/fleet_spec.rb +0 -214
  681. data/spec/integration/supersim/v1/network_access_profile/network_access_profile_network_spec.rb +0 -176
  682. data/spec/integration/supersim/v1/network_access_profile_spec.rb +0 -219
  683. data/spec/integration/supersim/v1/network_spec.rb +0 -137
  684. data/spec/integration/supersim/v1/sim_spec.rb +0 -323
  685. data/spec/integration/supersim/v1/usage_record_spec.rb +0 -647
  686. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +0 -201
  687. data/spec/integration/sync/v1/service/document_spec.rb +0 -256
  688. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +0 -257
  689. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +0 -201
  690. data/spec/integration/sync/v1/service/sync_list_spec.rb +0 -252
  691. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +0 -257
  692. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +0 -201
  693. data/spec/integration/sync/v1/service/sync_map_spec.rb +0 -252
  694. data/spec/integration/sync/v1/service/sync_stream/stream_message_spec.rb +0 -47
  695. data/spec/integration/sync/v1/service/sync_stream_spec.rb +0 -244
  696. data/spec/integration/sync/v1/service_spec.rb +0 -261
  697. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +0 -232
  698. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +0 -163
  699. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +0 -222
  700. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +0 -312
  701. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics_spec.rb +0 -101
  702. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics_spec.rb +0 -83
  703. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +0 -107
  704. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +0 -145
  705. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +0 -290
  706. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +0 -325
  707. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +0 -191
  708. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +0 -185
  709. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +0 -91
  710. data/spec/integration/taskrouter/v1/workspace/worker/workers_cumulative_statistics_spec.rb +0 -88
  711. data/spec/integration/taskrouter/v1/workspace/worker/workers_real_time_statistics_spec.rb +0 -69
  712. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +0 -115
  713. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +0 -290
  714. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics_spec.rb +0 -96
  715. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_real_time_statistics_spec.rb +0 -57
  716. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +0 -70
  717. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +0 -266
  718. data/spec/integration/taskrouter/v1/workspace/workspace_cumulative_statistics_spec.rb +0 -93
  719. data/spec/integration/taskrouter/v1/workspace/workspace_real_time_statistics_spec.rb +0 -72
  720. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +0 -104
  721. data/spec/integration/taskrouter/v1/workspace_spec.rb +0 -291
  722. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +0 -189
  723. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +0 -189
  724. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +0 -248
  725. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +0 -264
  726. data/spec/integration/trunking/v1/trunk/recording_spec.rb +0 -75
  727. data/spec/integration/trunking/v1/trunk_spec.rb +0 -281
  728. data/spec/integration/verify/v2/form_spec.rb +0 -47
  729. data/spec/integration/verify/v2/service/access_token_spec.rb +0 -44
  730. data/spec/integration/verify/v2/service/entity/challenge_spec.rb +0 -288
  731. data/spec/integration/verify/v2/service/entity/factor_spec.rb +0 -277
  732. data/spec/integration/verify/v2/service/entity_spec.rb +0 -201
  733. data/spec/integration/verify/v2/service/messaging_configuration_spec.rb +0 -228
  734. data/spec/integration/verify/v2/service/rate_limit/bucket_spec.rb +0 -245
  735. data/spec/integration/verify/v2/service/rate_limit_spec.rb +0 -217
  736. data/spec/integration/verify/v2/service/verification_check_spec.rb +0 -80
  737. data/spec/integration/verify/v2/service/verification_spec.rb +0 -318
  738. data/spec/integration/verify/v2/service/webhook_spec.rb +0 -258
  739. data/spec/integration/verify/v2/service_spec.rb +0 -279
  740. data/spec/integration/video/v1/composition_hook_spec.rb +0 -407
  741. data/spec/integration/video/v1/composition_settings_spec.rb +0 -85
  742. data/spec/integration/video/v1/composition_spec.rb +0 -347
  743. data/spec/integration/video/v1/recording_settings_spec.rb +0 -85
  744. data/spec/integration/video/v1/recording_spec.rb +0 -176
  745. data/spec/integration/video/v1/room/recording_spec.rb +0 -185
  746. data/spec/integration/video/v1/room/room_participant/room_participant_published_track_spec.rb +0 -94
  747. data/spec/integration/video/v1/room/room_participant/room_participant_subscribe_rule_spec.rb +0 -103
  748. data/spec/integration/video/v1/room/room_participant/room_participant_subscribed_track_spec.rb +0 -95
  749. data/spec/integration/video/v1/room/room_participant_spec.rb +0 -187
  750. data/spec/integration/video/v1/room/room_recording_rule_spec.rb +0 -89
  751. data/spec/integration/video/v1/room_spec.rb +0 -301
  752. data/spec/integration/voice/v1/byoc_trunk_spec.rb +0 -245
  753. data/spec/integration/voice/v1/connection_policy/connection_policy_target_spec.rb +0 -242
  754. data/spec/integration/voice/v1/connection_policy_spec.rb +0 -221
  755. data/spec/integration/voice/v1/dialing_permissions/bulk_country_update_spec.rb +0 -45
  756. data/spec/integration/voice/v1/dialing_permissions/country/highrisk_special_prefix_spec.rb +0 -60
  757. data/spec/integration/voice/v1/dialing_permissions/country_spec.rb +0 -110
  758. data/spec/integration/voice/v1/dialing_permissions/settings_spec.rb +0 -75
  759. data/spec/integration/voice/v1/dialing_permissions_spec.rb +0 -12
  760. data/spec/integration/voice/v1/ip_record_spec.rb +0 -219
  761. data/spec/integration/voice/v1/source_ip_mapping_spec.rb +0 -216
  762. data/spec/integration/wireless/v1/command_spec.rb +0 -286
  763. data/spec/integration/wireless/v1/rate_plan_spec.rb +0 -277
  764. data/spec/integration/wireless/v1/sim/data_session_spec.rb +0 -88
  765. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +0 -114
  766. data/spec/integration/wireless/v1/sim_spec.rb +0 -325
  767. data/spec/integration/wireless/v1/usage_record_spec.rb +0 -110
  768. data/spec/jwt/access_token_spec.rb +0 -159
  769. data/spec/jwt/client_capability_spec.rb +0 -104
  770. data/spec/jwt/task_router_spec.rb +0 -172
  771. data/spec/rack/twilio_webhook_authentication_spec.rb +0 -106
  772. data/spec/rest/client_spec.rb +0 -255
  773. data/spec/security/request_validator_spec.rb +0 -125
  774. data/spec/spec_helper.rb +0 -38
  775. data/spec/support/fakeweb.rb +0 -2
  776. data/spec/twilio_spec.rb +0 -17
  777. data/spec/twiml/messaging_response_spec.rb +0 -235
  778. data/spec/twiml/voice_response_spec.rb +0 -847
  779. data/spec/util/configuration_spec.rb +0 -33
  780. data/spec/util/url_encode_spec.rb +0 -12
  781. /data/lib/twilio-ruby/framework/{domain.rb → rest/domain.rb} +0 -0
  782. /data/lib/twilio-ruby/framework/{error.rb → rest/error.rb} +0 -0
  783. /data/lib/twilio-ruby/framework/{helper.rb → rest/helper.rb} +0 -0
  784. /data/lib/twilio-ruby/framework/{obsolete_client.rb → rest/obsolete_client.rb} +0 -0
  785. /data/lib/twilio-ruby/framework/{page.rb → rest/page.rb} +0 -0
  786. /data/lib/twilio-ruby/framework/{resource.rb → rest/resource.rb} +0 -0
  787. /data/lib/twilio-ruby/framework/{version.rb → rest/version.rb} +0 -0
@@ -48,9 +48,11 @@ module Twilio
48
48
  # ring_tone:: Ringtone allows you to override the ringback tone that Twilio will play back to the caller while executing the Dial
49
49
  # recording_track:: To indicate which audio track should be recorded
50
50
  # sequential:: Used to determine if child TwiML nouns should be dialed in order, one after the other (sequential) or dial all at once (parallel). Default is false, parallel
51
+ # refer_url:: Webhook that will receive future SIP REFER requests
52
+ # refer_method:: The HTTP method to use for the refer Webhook
51
53
  # keyword_args:: additional attributes
52
- def dial(number: nil, action: nil, method: nil, timeout: nil, hangup_on_star: nil, time_limit: nil, caller_id: nil, record: nil, trim: nil, recording_status_callback: nil, recording_status_callback_method: nil, recording_status_callback_event: nil, answer_on_bridge: nil, ring_tone: nil, recording_track: nil, sequential: nil, **keyword_args)
53
- dial = Dial.new(number: number, action: action, method: method, timeout: timeout, hangup_on_star: hangup_on_star, time_limit: time_limit, caller_id: caller_id, record: record, trim: trim, recording_status_callback: recording_status_callback, recording_status_callback_method: recording_status_callback_method, recording_status_callback_event: recording_status_callback_event, answer_on_bridge: answer_on_bridge, ring_tone: ring_tone, recording_track: recording_track, sequential: sequential, **keyword_args)
54
+ def dial(number: nil, action: nil, method: nil, timeout: nil, hangup_on_star: nil, time_limit: nil, caller_id: nil, record: nil, trim: nil, recording_status_callback: nil, recording_status_callback_method: nil, recording_status_callback_event: nil, answer_on_bridge: nil, ring_tone: nil, recording_track: nil, sequential: nil, refer_url: nil, refer_method: nil, **keyword_args)
55
+ dial = Dial.new(number: number, action: action, method: method, timeout: timeout, hangup_on_star: hangup_on_star, time_limit: time_limit, caller_id: caller_id, record: record, trim: trim, recording_status_callback: recording_status_callback, recording_status_callback_method: recording_status_callback_method, recording_status_callback_event: recording_status_callback_event, answer_on_bridge: answer_on_bridge, ring_tone: ring_tone, recording_track: recording_track, sequential: sequential, refer_url: refer_url, refer_method: refer_method, **keyword_args)
54
56
 
55
57
  yield(dial) if block_given?
56
58
  append(dial)
@@ -67,13 +69,14 @@ module Twilio
67
69
  # Create a new <Enqueue> element
68
70
  # name:: Friendly name
69
71
  # action:: Action URL
72
+ # max_queue_size:: Maximum size of queue
70
73
  # method:: Action URL method
71
74
  # wait_url:: Wait URL
72
75
  # wait_url_method:: Wait URL method
73
76
  # workflow_sid:: TaskRouter Workflow SID
74
77
  # keyword_args:: additional attributes
75
- def enqueue(name: nil, action: nil, method: nil, wait_url: nil, wait_url_method: nil, workflow_sid: nil, **keyword_args)
76
- enqueue = Enqueue.new(name: name, action: action, method: method, wait_url: wait_url, wait_url_method: wait_url_method, workflow_sid: workflow_sid, **keyword_args)
78
+ def enqueue(name: nil, action: nil, max_queue_size: nil, method: nil, wait_url: nil, wait_url_method: nil, workflow_sid: nil, **keyword_args)
79
+ enqueue = Enqueue.new(name: name, action: action, max_queue_size: max_queue_size, method: method, wait_url: wait_url, wait_url_method: wait_url_method, workflow_sid: workflow_sid, **keyword_args)
77
80
 
78
81
  yield(enqueue) if block_given?
79
82
  append(enqueue)
@@ -111,7 +114,10 @@ module Twilio
111
114
  # Create a new <Hangup> element
112
115
  # keyword_args:: additional attributes
113
116
  def hangup(**keyword_args)
114
- append(Hangup.new(**keyword_args))
117
+ hangup = Hangup.new(**keyword_args)
118
+
119
+ yield(hangup) if block_given?
120
+ append(hangup)
115
121
  end
116
122
 
117
123
  ##
@@ -184,7 +190,10 @@ module Twilio
184
190
  # reason:: Rejection reason
185
191
  # keyword_args:: additional attributes
186
192
  def reject(reason: nil, **keyword_args)
187
- append(Reject.new(reason: reason, **keyword_args))
193
+ reject = Reject.new(reason: reason, **keyword_args)
194
+
195
+ yield(reject) if block_given?
196
+ append(reject)
188
197
  end
189
198
 
190
199
  ##
@@ -192,7 +201,7 @@ module Twilio
192
201
  # message:: Message to say
193
202
  # voice:: Voice to use
194
203
  # loop:: Times to loop message
195
- # language:: Message langauge
204
+ # language:: Message language
196
205
  # keyword_args:: additional attributes
197
206
  def say(message: nil, voice: nil, loop: nil, language: nil, **keyword_args)
198
207
  say = Say.new(message: message, voice: voice, loop: loop, language: language, **keyword_args)
@@ -248,9 +257,10 @@ module Twilio
248
257
  # error_type:: Type of error
249
258
  # card_type:: Type of the credit card
250
259
  # attempt:: Current attempt count
260
+ # require_matching_inputs:: Require customer to input requested information twice and verify matching.
251
261
  # keyword_args:: additional attributes
252
- def prompt(for_: nil, error_type: nil, card_type: nil, attempt: nil, **keyword_args)
253
- prompt = Prompt.new(for_: for_, error_type: error_type, card_type: card_type, attempt: attempt, **keyword_args)
262
+ def prompt(for_: nil, error_type: nil, card_type: nil, attempt: nil, require_matching_inputs: nil, **keyword_args)
263
+ prompt = Prompt.new(for_: for_, error_type: error_type, card_type: card_type, attempt: attempt, require_matching_inputs: require_matching_inputs, **keyword_args)
254
264
 
255
265
  yield(prompt) if block_given?
256
266
  append(prompt)
@@ -467,7 +477,7 @@ module Twilio
467
477
  # message:: Message to say
468
478
  # voice:: Voice to use
469
479
  # loop:: Times to loop message
470
- # language:: Message langauge
480
+ # language:: Message language
471
481
  # keyword_args:: additional attributes
472
482
  def say(message: nil, voice: nil, loop: nil, language: nil, **keyword_args)
473
483
  say = Say.new(message: message, voice: voice, loop: loop, language: language, **keyword_args)
@@ -541,8 +551,11 @@ module Twilio
541
551
  # words:: Words to emphasize
542
552
  # level:: Specify the degree of emphasis
543
553
  # keyword_args:: additional attributes
544
- def emphasis(words, level: nil, **keyword_args)
545
- append(SsmlEmphasis.new(words, level: level, **keyword_args))
554
+ def emphasis(words: nil, level: nil, **keyword_args)
555
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
556
+
557
+ yield(emphasis) if block_given?
558
+ append(emphasis)
546
559
  end
547
560
 
548
561
  ##
@@ -550,16 +563,22 @@ module Twilio
550
563
  # words:: Words to speak
551
564
  # xmlLang:: Specify the language
552
565
  # keyword_args:: additional attributes
553
- def lang(words, xmlLang: nil, **keyword_args)
554
- append(SsmlLang.new(words, xmlLang: xmlLang, **keyword_args))
566
+ def lang(words: nil, xmlLang: nil, **keyword_args)
567
+ lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
568
+
569
+ yield(lang) if block_given?
570
+ append(lang)
555
571
  end
556
572
 
557
573
  ##
558
574
  # Create a new <P> element
559
575
  # words:: Words to speak
560
576
  # keyword_args:: additional attributes
561
- def p(words, **keyword_args)
562
- append(SsmlP.new(words, **keyword_args))
577
+ def p(words: nil, **keyword_args)
578
+ p = SsmlP.new(words: words, **keyword_args)
579
+
580
+ yield(p) if block_given?
581
+ append(p)
563
582
  end
564
583
 
565
584
  ##
@@ -579,26 +598,32 @@ module Twilio
579
598
  # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
580
599
  # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
581
600
  # keyword_args:: additional attributes
582
- def prosody(words, volume: nil, rate: nil, pitch: nil, **keyword_args)
583
- append(SsmlProsody.new(words, volume: volume, rate: rate, pitch: pitch, **keyword_args))
601
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
602
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
603
+
604
+ yield(prosody) if block_given?
605
+ append(prosody)
584
606
  end
585
607
 
586
608
  ##
587
609
  # Create a new <S> element
588
610
  # words:: Words to speak
589
611
  # keyword_args:: additional attributes
590
- def s(words, **keyword_args)
591
- append(SsmlS.new(words, **keyword_args))
612
+ def s(words: nil, **keyword_args)
613
+ s = SsmlS.new(words: words, **keyword_args)
614
+
615
+ yield(s) if block_given?
616
+ append(s)
592
617
  end
593
618
 
594
619
  ##
595
620
  # Create a new <Say-As> element
596
621
  # words:: Words to be interpreted
597
622
  # interpretAs:: Specify the type of words are spoken
598
- # role:: Specify the format of the date when interpret-as is set to date
623
+ # format:: Specify the format of the date when interpret-as is set to date
599
624
  # keyword_args:: additional attributes
600
- def say_as(words, interpretAs: nil, role: nil, **keyword_args)
601
- append(SsmlSayAs.new(words, interpretAs: interpretAs, role: role, **keyword_args))
625
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
626
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
602
627
  end
603
628
 
604
629
  ##
@@ -615,20 +640,87 @@ module Twilio
615
640
  # words:: Words to speak
616
641
  # role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
617
642
  # keyword_args:: additional attributes
618
- def w(words, role: nil, **keyword_args)
619
- append(SsmlW.new(words, role: role, **keyword_args))
643
+ def w(words: nil, role: nil, **keyword_args)
644
+ w = SsmlW.new(words: words, role: role, **keyword_args)
645
+
646
+ yield(w) if block_given?
647
+ append(w)
620
648
  end
621
649
  end
622
650
 
623
651
  ##
624
652
  # Improving Pronunciation by Specifying Parts of Speech in <Say>
625
653
  class SsmlW < TwiML
626
- def initialize(words, **keyword_args)
654
+ def initialize(words: nil, **keyword_args)
627
655
  super(**keyword_args)
628
656
  @name = 'w'
629
- @value = words
657
+ @value = words unless words.nil?
630
658
  yield(self) if block_given?
631
659
  end
660
+
661
+ ##
662
+ # Create a new <Break> element
663
+ # strength:: Set a pause based on strength
664
+ # time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
665
+ # keyword_args:: additional attributes
666
+ def break(strength: nil, time: nil, **keyword_args)
667
+ append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
668
+ end
669
+
670
+ ##
671
+ # Create a new <Emphasis> element
672
+ # words:: Words to emphasize
673
+ # level:: Specify the degree of emphasis
674
+ # keyword_args:: additional attributes
675
+ def emphasis(words: nil, level: nil, **keyword_args)
676
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
677
+
678
+ yield(emphasis) if block_given?
679
+ append(emphasis)
680
+ end
681
+
682
+ ##
683
+ # Create a new <Phoneme> element
684
+ # words:: Words to speak
685
+ # alphabet:: Specify the phonetic alphabet
686
+ # ph:: Specifiy the phonetic symbols for pronunciation
687
+ # keyword_args:: additional attributes
688
+ def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
689
+ append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
690
+ end
691
+
692
+ ##
693
+ # Create a new <Prosody> element
694
+ # words:: Words to speak
695
+ # volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
696
+ # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
697
+ # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
698
+ # keyword_args:: additional attributes
699
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
700
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
701
+
702
+ yield(prosody) if block_given?
703
+ append(prosody)
704
+ end
705
+
706
+ ##
707
+ # Create a new <Say-As> element
708
+ # words:: Words to be interpreted
709
+ # interpretAs:: Specify the type of words are spoken
710
+ # format:: Specify the format of the date when interpret-as is set to date
711
+ # keyword_args:: additional attributes
712
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
713
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
714
+ end
715
+
716
+ ##
717
+ # Create a new <Sub> element
718
+ # words:: Words to be substituted
719
+ # aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
720
+ # keyword_args:: additional attributes
721
+ def sub(words, aliasAttribute: nil, **keyword_args)
722
+ append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
723
+ end
632
724
  end
633
725
 
634
726
  ##
@@ -653,174 +745,679 @@ module Twilio
653
745
  end
654
746
  end
655
747
 
656
- ##
657
- # Adding A Pause Between Sentences in <Say>
658
- class SsmlS < TwiML
659
- def initialize(words, **keyword_args)
660
- super(**keyword_args)
661
- @name = 's'
662
- @value = words
663
- yield(self) if block_given?
664
- end
665
- end
666
-
667
748
  ##
668
749
  # Controling Volume, Speaking Rate, and Pitch in <Say>
669
750
  class SsmlProsody < TwiML
670
- def initialize(words, **keyword_args)
751
+ def initialize(words: nil, **keyword_args)
671
752
  super(**keyword_args)
672
753
  @name = 'prosody'
673
- @value = words
754
+ @value = words unless words.nil?
674
755
  yield(self) if block_given?
675
756
  end
676
- end
677
757
 
678
- ##
679
- # Using Phonetic Pronunciation in <Say>
680
- class SsmlPhoneme < TwiML
681
- def initialize(words, **keyword_args)
682
- super(**keyword_args)
683
- @name = 'phoneme'
684
- @value = words
685
- yield(self) if block_given?
758
+ ##
759
+ # Create a new <Break> element
760
+ # strength:: Set a pause based on strength
761
+ # time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
762
+ # keyword_args:: additional attributes
763
+ def break(strength: nil, time: nil, **keyword_args)
764
+ append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
686
765
  end
687
- end
688
766
 
689
- ##
690
- # Adding a Pause Between Paragraphs in <Say>
691
- class SsmlP < TwiML
692
- def initialize(words, **keyword_args)
693
- super(**keyword_args)
694
- @name = 'p'
695
- @value = words
696
- yield(self) if block_given?
697
- end
698
- end
767
+ ##
768
+ # Create a new <Emphasis> element
769
+ # words:: Words to emphasize
770
+ # level:: Specify the degree of emphasis
771
+ # keyword_args:: additional attributes
772
+ def emphasis(words: nil, level: nil, **keyword_args)
773
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
699
774
 
700
- ##
701
- # Specifying Another Language for Specific Words in <Say>
702
- class SsmlLang < TwiML
703
- def initialize(words, **keyword_args)
704
- super(**keyword_args)
705
- @name = 'lang'
706
- @value = words
707
- yield(self) if block_given?
775
+ yield(emphasis) if block_given?
776
+ append(emphasis)
708
777
  end
709
- end
710
778
 
711
- ##
712
- # Emphasizing Words in <Say>
713
- class SsmlEmphasis < TwiML
714
- def initialize(words, **keyword_args)
715
- super(**keyword_args)
716
- @name = 'emphasis'
717
- @value = words
718
- yield(self) if block_given?
779
+ ##
780
+ # Create a new <Lang> element
781
+ # words:: Words to speak
782
+ # xmlLang:: Specify the language
783
+ # keyword_args:: additional attributes
784
+ def lang(words: nil, xmlLang: nil, **keyword_args)
785
+ lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
786
+
787
+ yield(lang) if block_given?
788
+ append(lang)
719
789
  end
720
- end
721
790
 
722
- ##
723
- # Adding a Pause in <Say>
724
- class SsmlBreak < TwiML
725
- def initialize(**keyword_args)
726
- super(**keyword_args)
727
- @name = 'break'
791
+ ##
792
+ # Create a new <P> element
793
+ # words:: Words to speak
794
+ # keyword_args:: additional attributes
795
+ def p(words: nil, **keyword_args)
796
+ p = SsmlP.new(words: words, **keyword_args)
728
797
 
729
- yield(self) if block_given?
798
+ yield(p) if block_given?
799
+ append(p)
730
800
  end
731
- end
732
801
 
733
- ##
734
- # <Pay> Twiml Verb
735
- class Pay < TwiML
736
- def initialize(**keyword_args)
737
- super(**keyword_args)
738
- @name = 'Pay'
802
+ ##
803
+ # Create a new <Phoneme> element
804
+ # words:: Words to speak
805
+ # alphabet:: Specify the phonetic alphabet
806
+ # ph:: Specifiy the phonetic symbols for pronunciation
807
+ # keyword_args:: additional attributes
808
+ def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
809
+ append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
810
+ end
739
811
 
740
- yield(self) if block_given?
812
+ ##
813
+ # Create a new <Prosody> element
814
+ # words:: Words to speak
815
+ # volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
816
+ # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
817
+ # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
818
+ # keyword_args:: additional attributes
819
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
820
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
821
+
822
+ yield(prosody) if block_given?
823
+ append(prosody)
741
824
  end
742
825
 
743
826
  ##
744
- # Create a new <Prompt> element
745
- # for_:: Name of the payment source data element
746
- # error_type:: Type of error
747
- # card_type:: Type of the credit card
748
- # attempt:: Current attempt count
827
+ # Create a new <S> element
828
+ # words:: Words to speak
749
829
  # keyword_args:: additional attributes
750
- def prompt(for_: nil, error_type: nil, card_type: nil, attempt: nil, **keyword_args)
751
- prompt = Prompt.new(for_: for_, error_type: error_type, card_type: card_type, attempt: attempt, **keyword_args)
830
+ def s(words: nil, **keyword_args)
831
+ s = SsmlS.new(words: words, **keyword_args)
752
832
 
753
- yield(prompt) if block_given?
754
- append(prompt)
833
+ yield(s) if block_given?
834
+ append(s)
755
835
  end
756
836
 
757
837
  ##
758
- # Create a new <Parameter> element
759
- # name:: The name of the custom parameter
760
- # value:: The value of the custom parameter
838
+ # Create a new <Say-As> element
839
+ # words:: Words to be interpreted
840
+ # interpretAs:: Specify the type of words are spoken
841
+ # format:: Specify the format of the date when interpret-as is set to date
761
842
  # keyword_args:: additional attributes
762
- def parameter(name: nil, value: nil, **keyword_args)
763
- append(Parameter.new(name: name, value: value, **keyword_args))
843
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
844
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
764
845
  end
765
- end
766
846
 
767
- ##
768
- # <Sms> TwiML Noun
769
- class Sms < TwiML
770
- def initialize(message, **keyword_args)
771
- super(**keyword_args)
772
- @name = 'Sms'
773
- @value = message
774
- yield(self) if block_given?
847
+ ##
848
+ # Create a new <Sub> element
849
+ # words:: Words to be substituted
850
+ # aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
851
+ # keyword_args:: additional attributes
852
+ def sub(words, aliasAttribute: nil, **keyword_args)
853
+ append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
775
854
  end
776
- end
777
855
 
778
- ##
779
- # <Reject> TwiML Verb
780
- class Reject < TwiML
781
- def initialize(**keyword_args)
782
- super(**keyword_args)
783
- @name = 'Reject'
856
+ ##
857
+ # Create a new <W> element
858
+ # words:: Words to speak
859
+ # role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
860
+ # keyword_args:: additional attributes
861
+ def w(words: nil, role: nil, **keyword_args)
862
+ w = SsmlW.new(words: words, role: role, **keyword_args)
784
863
 
785
- yield(self) if block_given?
864
+ yield(w) if block_given?
865
+ append(w)
786
866
  end
787
867
  end
788
868
 
789
869
  ##
790
- # <Redirect> TwiML Verb
791
- class Redirect < TwiML
792
- def initialize(url, **keyword_args)
870
+ # Adding A Pause Between Sentences in <Say>
871
+ class SsmlS < TwiML
872
+ def initialize(words: nil, **keyword_args)
793
873
  super(**keyword_args)
794
- @name = 'Redirect'
795
- @value = url
874
+ @name = 's'
875
+ @value = words unless words.nil?
796
876
  yield(self) if block_given?
797
877
  end
798
- end
799
-
800
- ##
801
- # <Record> TwiML Verb
802
- class Record < TwiML
803
- def initialize(**keyword_args)
804
- super(**keyword_args)
805
- @name = 'Record'
806
878
 
807
- yield(self) if block_given?
879
+ ##
880
+ # Create a new <Break> element
881
+ # strength:: Set a pause based on strength
882
+ # time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
883
+ # keyword_args:: additional attributes
884
+ def break(strength: nil, time: nil, **keyword_args)
885
+ append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
808
886
  end
809
- end
810
887
 
811
- ##
812
- # <Queue> TwiML Noun
813
- class Queue < TwiML
814
- def initialize(name, **keyword_args)
815
- super(**keyword_args)
816
- @name = 'Queue'
817
- @value = name
818
- yield(self) if block_given?
888
+ ##
889
+ # Create a new <Emphasis> element
890
+ # words:: Words to emphasize
891
+ # level:: Specify the degree of emphasis
892
+ # keyword_args:: additional attributes
893
+ def emphasis(words: nil, level: nil, **keyword_args)
894
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
895
+
896
+ yield(emphasis) if block_given?
897
+ append(emphasis)
819
898
  end
820
- end
821
899
 
822
- ##
823
- # <Leave> TwiML Verb
900
+ ##
901
+ # Create a new <Lang> element
902
+ # words:: Words to speak
903
+ # xmlLang:: Specify the language
904
+ # keyword_args:: additional attributes
905
+ def lang(words: nil, xmlLang: nil, **keyword_args)
906
+ lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
907
+
908
+ yield(lang) if block_given?
909
+ append(lang)
910
+ end
911
+
912
+ ##
913
+ # Create a new <Phoneme> element
914
+ # words:: Words to speak
915
+ # alphabet:: Specify the phonetic alphabet
916
+ # ph:: Specifiy the phonetic symbols for pronunciation
917
+ # keyword_args:: additional attributes
918
+ def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
919
+ append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
920
+ end
921
+
922
+ ##
923
+ # Create a new <Prosody> element
924
+ # words:: Words to speak
925
+ # volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
926
+ # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
927
+ # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
928
+ # keyword_args:: additional attributes
929
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
930
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
931
+
932
+ yield(prosody) if block_given?
933
+ append(prosody)
934
+ end
935
+
936
+ ##
937
+ # Create a new <Say-As> element
938
+ # words:: Words to be interpreted
939
+ # interpretAs:: Specify the type of words are spoken
940
+ # format:: Specify the format of the date when interpret-as is set to date
941
+ # keyword_args:: additional attributes
942
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
943
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
944
+ end
945
+
946
+ ##
947
+ # Create a new <Sub> element
948
+ # words:: Words to be substituted
949
+ # aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
950
+ # keyword_args:: additional attributes
951
+ def sub(words, aliasAttribute: nil, **keyword_args)
952
+ append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
953
+ end
954
+
955
+ ##
956
+ # Create a new <W> element
957
+ # words:: Words to speak
958
+ # role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
959
+ # keyword_args:: additional attributes
960
+ def w(words: nil, role: nil, **keyword_args)
961
+ w = SsmlW.new(words: words, role: role, **keyword_args)
962
+
963
+ yield(w) if block_given?
964
+ append(w)
965
+ end
966
+ end
967
+
968
+ ##
969
+ # Using Phonetic Pronunciation in <Say>
970
+ class SsmlPhoneme < TwiML
971
+ def initialize(words, **keyword_args)
972
+ super(**keyword_args)
973
+ @name = 'phoneme'
974
+ @value = words
975
+ yield(self) if block_given?
976
+ end
977
+ end
978
+
979
+ ##
980
+ # Specifying Another Language for Specific Words in <Say>
981
+ class SsmlLang < TwiML
982
+ def initialize(words: nil, **keyword_args)
983
+ super(**keyword_args)
984
+ @name = 'lang'
985
+ @value = words unless words.nil?
986
+ yield(self) if block_given?
987
+ end
988
+
989
+ ##
990
+ # Create a new <Break> element
991
+ # strength:: Set a pause based on strength
992
+ # time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
993
+ # keyword_args:: additional attributes
994
+ def break(strength: nil, time: nil, **keyword_args)
995
+ append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
996
+ end
997
+
998
+ ##
999
+ # Create a new <Emphasis> element
1000
+ # words:: Words to emphasize
1001
+ # level:: Specify the degree of emphasis
1002
+ # keyword_args:: additional attributes
1003
+ def emphasis(words: nil, level: nil, **keyword_args)
1004
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
1005
+
1006
+ yield(emphasis) if block_given?
1007
+ append(emphasis)
1008
+ end
1009
+
1010
+ ##
1011
+ # Create a new <Lang> element
1012
+ # words:: Words to speak
1013
+ # xmlLang:: Specify the language
1014
+ # keyword_args:: additional attributes
1015
+ def lang(words: nil, xmlLang: nil, **keyword_args)
1016
+ lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
1017
+
1018
+ yield(lang) if block_given?
1019
+ append(lang)
1020
+ end
1021
+
1022
+ ##
1023
+ # Create a new <P> element
1024
+ # words:: Words to speak
1025
+ # keyword_args:: additional attributes
1026
+ def p(words: nil, **keyword_args)
1027
+ p = SsmlP.new(words: words, **keyword_args)
1028
+
1029
+ yield(p) if block_given?
1030
+ append(p)
1031
+ end
1032
+
1033
+ ##
1034
+ # Create a new <Phoneme> element
1035
+ # words:: Words to speak
1036
+ # alphabet:: Specify the phonetic alphabet
1037
+ # ph:: Specifiy the phonetic symbols for pronunciation
1038
+ # keyword_args:: additional attributes
1039
+ def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
1040
+ append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
1041
+ end
1042
+
1043
+ ##
1044
+ # Create a new <Prosody> element
1045
+ # words:: Words to speak
1046
+ # volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
1047
+ # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
1048
+ # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
1049
+ # keyword_args:: additional attributes
1050
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
1051
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
1052
+
1053
+ yield(prosody) if block_given?
1054
+ append(prosody)
1055
+ end
1056
+
1057
+ ##
1058
+ # Create a new <S> element
1059
+ # words:: Words to speak
1060
+ # keyword_args:: additional attributes
1061
+ def s(words: nil, **keyword_args)
1062
+ s = SsmlS.new(words: words, **keyword_args)
1063
+
1064
+ yield(s) if block_given?
1065
+ append(s)
1066
+ end
1067
+
1068
+ ##
1069
+ # Create a new <Say-As> element
1070
+ # words:: Words to be interpreted
1071
+ # interpretAs:: Specify the type of words are spoken
1072
+ # format:: Specify the format of the date when interpret-as is set to date
1073
+ # keyword_args:: additional attributes
1074
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
1075
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
1076
+ end
1077
+
1078
+ ##
1079
+ # Create a new <Sub> element
1080
+ # words:: Words to be substituted
1081
+ # aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
1082
+ # keyword_args:: additional attributes
1083
+ def sub(words, aliasAttribute: nil, **keyword_args)
1084
+ append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
1085
+ end
1086
+
1087
+ ##
1088
+ # Create a new <W> element
1089
+ # words:: Words to speak
1090
+ # role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
1091
+ # keyword_args:: additional attributes
1092
+ def w(words: nil, role: nil, **keyword_args)
1093
+ w = SsmlW.new(words: words, role: role, **keyword_args)
1094
+
1095
+ yield(w) if block_given?
1096
+ append(w)
1097
+ end
1098
+ end
1099
+
1100
+ ##
1101
+ # Adding a Pause Between Paragraphs in <Say>
1102
+ class SsmlP < TwiML
1103
+ def initialize(words: nil, **keyword_args)
1104
+ super(**keyword_args)
1105
+ @name = 'p'
1106
+ @value = words unless words.nil?
1107
+ yield(self) if block_given?
1108
+ end
1109
+
1110
+ ##
1111
+ # Create a new <Break> element
1112
+ # strength:: Set a pause based on strength
1113
+ # time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
1114
+ # keyword_args:: additional attributes
1115
+ def break(strength: nil, time: nil, **keyword_args)
1116
+ append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
1117
+ end
1118
+
1119
+ ##
1120
+ # Create a new <Emphasis> element
1121
+ # words:: Words to emphasize
1122
+ # level:: Specify the degree of emphasis
1123
+ # keyword_args:: additional attributes
1124
+ def emphasis(words: nil, level: nil, **keyword_args)
1125
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
1126
+
1127
+ yield(emphasis) if block_given?
1128
+ append(emphasis)
1129
+ end
1130
+
1131
+ ##
1132
+ # Create a new <Lang> element
1133
+ # words:: Words to speak
1134
+ # xmlLang:: Specify the language
1135
+ # keyword_args:: additional attributes
1136
+ def lang(words: nil, xmlLang: nil, **keyword_args)
1137
+ lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
1138
+
1139
+ yield(lang) if block_given?
1140
+ append(lang)
1141
+ end
1142
+
1143
+ ##
1144
+ # Create a new <Phoneme> element
1145
+ # words:: Words to speak
1146
+ # alphabet:: Specify the phonetic alphabet
1147
+ # ph:: Specifiy the phonetic symbols for pronunciation
1148
+ # keyword_args:: additional attributes
1149
+ def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
1150
+ append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
1151
+ end
1152
+
1153
+ ##
1154
+ # Create a new <Prosody> element
1155
+ # words:: Words to speak
1156
+ # volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
1157
+ # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
1158
+ # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
1159
+ # keyword_args:: additional attributes
1160
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
1161
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
1162
+
1163
+ yield(prosody) if block_given?
1164
+ append(prosody)
1165
+ end
1166
+
1167
+ ##
1168
+ # Create a new <S> element
1169
+ # words:: Words to speak
1170
+ # keyword_args:: additional attributes
1171
+ def s(words: nil, **keyword_args)
1172
+ s = SsmlS.new(words: words, **keyword_args)
1173
+
1174
+ yield(s) if block_given?
1175
+ append(s)
1176
+ end
1177
+
1178
+ ##
1179
+ # Create a new <Say-As> element
1180
+ # words:: Words to be interpreted
1181
+ # interpretAs:: Specify the type of words are spoken
1182
+ # format:: Specify the format of the date when interpret-as is set to date
1183
+ # keyword_args:: additional attributes
1184
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
1185
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
1186
+ end
1187
+
1188
+ ##
1189
+ # Create a new <Sub> element
1190
+ # words:: Words to be substituted
1191
+ # aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
1192
+ # keyword_args:: additional attributes
1193
+ def sub(words, aliasAttribute: nil, **keyword_args)
1194
+ append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
1195
+ end
1196
+
1197
+ ##
1198
+ # Create a new <W> element
1199
+ # words:: Words to speak
1200
+ # role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
1201
+ # keyword_args:: additional attributes
1202
+ def w(words: nil, role: nil, **keyword_args)
1203
+ w = SsmlW.new(words: words, role: role, **keyword_args)
1204
+
1205
+ yield(w) if block_given?
1206
+ append(w)
1207
+ end
1208
+ end
1209
+
1210
+ ##
1211
+ # Emphasizing Words in <Say>
1212
+ class SsmlEmphasis < TwiML
1213
+ def initialize(words: nil, **keyword_args)
1214
+ super(**keyword_args)
1215
+ @name = 'emphasis'
1216
+ @value = words unless words.nil?
1217
+ yield(self) if block_given?
1218
+ end
1219
+
1220
+ ##
1221
+ # Create a new <Break> element
1222
+ # strength:: Set a pause based on strength
1223
+ # time:: Set a pause to a specific length of time in seconds or milliseconds, available values: [number]s, [number]ms
1224
+ # keyword_args:: additional attributes
1225
+ def break(strength: nil, time: nil, **keyword_args)
1226
+ append(SsmlBreak.new(strength: strength, time: time, **keyword_args))
1227
+ end
1228
+
1229
+ ##
1230
+ # Create a new <Emphasis> element
1231
+ # words:: Words to emphasize
1232
+ # level:: Specify the degree of emphasis
1233
+ # keyword_args:: additional attributes
1234
+ def emphasis(words: nil, level: nil, **keyword_args)
1235
+ emphasis = SsmlEmphasis.new(words: words, level: level, **keyword_args)
1236
+
1237
+ yield(emphasis) if block_given?
1238
+ append(emphasis)
1239
+ end
1240
+
1241
+ ##
1242
+ # Create a new <Lang> element
1243
+ # words:: Words to speak
1244
+ # xmlLang:: Specify the language
1245
+ # keyword_args:: additional attributes
1246
+ def lang(words: nil, xmlLang: nil, **keyword_args)
1247
+ lang = SsmlLang.new(words: words, xmlLang: xmlLang, **keyword_args)
1248
+
1249
+ yield(lang) if block_given?
1250
+ append(lang)
1251
+ end
1252
+
1253
+ ##
1254
+ # Create a new <Phoneme> element
1255
+ # words:: Words to speak
1256
+ # alphabet:: Specify the phonetic alphabet
1257
+ # ph:: Specifiy the phonetic symbols for pronunciation
1258
+ # keyword_args:: additional attributes
1259
+ def phoneme(words, alphabet: nil, ph: nil, **keyword_args)
1260
+ append(SsmlPhoneme.new(words, alphabet: alphabet, ph: ph, **keyword_args))
1261
+ end
1262
+
1263
+ ##
1264
+ # Create a new <Prosody> element
1265
+ # words:: Words to speak
1266
+ # volume:: Specify the volume, available values: default, silent, x-soft, soft, medium, loud, x-loud, +ndB, -ndB
1267
+ # rate:: Specify the rate, available values: x-slow, slow, medium, fast, x-fast, n%
1268
+ # pitch:: Specify the pitch, available values: default, x-low, low, medium, high, x-high, +n%, -n%
1269
+ # keyword_args:: additional attributes
1270
+ def prosody(words: nil, volume: nil, rate: nil, pitch: nil, **keyword_args)
1271
+ prosody = SsmlProsody.new(words: words, volume: volume, rate: rate, pitch: pitch, **keyword_args)
1272
+
1273
+ yield(prosody) if block_given?
1274
+ append(prosody)
1275
+ end
1276
+
1277
+ ##
1278
+ # Create a new <Say-As> element
1279
+ # words:: Words to be interpreted
1280
+ # interpretAs:: Specify the type of words are spoken
1281
+ # format:: Specify the format of the date when interpret-as is set to date
1282
+ # keyword_args:: additional attributes
1283
+ def say_as(words, interpretAs: nil, format: nil, **keyword_args)
1284
+ append(SsmlSayAs.new(words, interpretAs: interpretAs, format: format, **keyword_args))
1285
+ end
1286
+
1287
+ ##
1288
+ # Create a new <Sub> element
1289
+ # words:: Words to be substituted
1290
+ # aliasAttribute:: Substitute a different word (or pronunciation) for selected text such as an acronym or abbreviation
1291
+ # keyword_args:: additional attributes
1292
+ def sub(words, aliasAttribute: nil, **keyword_args)
1293
+ append(SsmlSub.new(words, aliasAttribute: aliasAttribute, **keyword_args))
1294
+ end
1295
+
1296
+ ##
1297
+ # Create a new <W> element
1298
+ # words:: Words to speak
1299
+ # role:: Customize the pronunciation of words by specifying the word’s part of speech or alternate meaning
1300
+ # keyword_args:: additional attributes
1301
+ def w(words: nil, role: nil, **keyword_args)
1302
+ w = SsmlW.new(words: words, role: role, **keyword_args)
1303
+
1304
+ yield(w) if block_given?
1305
+ append(w)
1306
+ end
1307
+ end
1308
+
1309
+ ##
1310
+ # Adding a Pause in <Say>
1311
+ class SsmlBreak < TwiML
1312
+ def initialize(**keyword_args)
1313
+ super(**keyword_args)
1314
+ @name = 'break'
1315
+
1316
+ yield(self) if block_given?
1317
+ end
1318
+ end
1319
+
1320
+ ##
1321
+ # <Pay> Twiml Verb
1322
+ class Pay < TwiML
1323
+ def initialize(**keyword_args)
1324
+ super(**keyword_args)
1325
+ @name = 'Pay'
1326
+
1327
+ yield(self) if block_given?
1328
+ end
1329
+
1330
+ ##
1331
+ # Create a new <Prompt> element
1332
+ # for_:: Name of the payment source data element
1333
+ # error_type:: Type of error
1334
+ # card_type:: Type of the credit card
1335
+ # attempt:: Current attempt count
1336
+ # require_matching_inputs:: Require customer to input requested information twice and verify matching.
1337
+ # keyword_args:: additional attributes
1338
+ def prompt(for_: nil, error_type: nil, card_type: nil, attempt: nil, require_matching_inputs: nil, **keyword_args)
1339
+ prompt = Prompt.new(for_: for_, error_type: error_type, card_type: card_type, attempt: attempt, require_matching_inputs: require_matching_inputs, **keyword_args)
1340
+
1341
+ yield(prompt) if block_given?
1342
+ append(prompt)
1343
+ end
1344
+
1345
+ ##
1346
+ # Create a new <Parameter> element
1347
+ # name:: The name of the custom parameter
1348
+ # value:: The value of the custom parameter
1349
+ # keyword_args:: additional attributes
1350
+ def parameter(name: nil, value: nil, **keyword_args)
1351
+ append(Parameter.new(name: name, value: value, **keyword_args))
1352
+ end
1353
+ end
1354
+
1355
+ ##
1356
+ # <Sms> TwiML Noun
1357
+ class Sms < TwiML
1358
+ def initialize(message, **keyword_args)
1359
+ super(**keyword_args)
1360
+ @name = 'Sms'
1361
+ @value = message
1362
+ yield(self) if block_given?
1363
+ end
1364
+ end
1365
+
1366
+ ##
1367
+ # <Reject> TwiML Verb
1368
+ class Reject < TwiML
1369
+ def initialize(**keyword_args)
1370
+ super(**keyword_args)
1371
+ @name = 'Reject'
1372
+
1373
+ yield(self) if block_given?
1374
+ end
1375
+
1376
+ ##
1377
+ # Create a new <Parameter> element
1378
+ # name:: The name of the custom parameter
1379
+ # value:: The value of the custom parameter
1380
+ # keyword_args:: additional attributes
1381
+ def parameter(name: nil, value: nil, **keyword_args)
1382
+ append(Parameter.new(name: name, value: value, **keyword_args))
1383
+ end
1384
+ end
1385
+
1386
+ ##
1387
+ # <Redirect> TwiML Verb
1388
+ class Redirect < TwiML
1389
+ def initialize(url, **keyword_args)
1390
+ super(**keyword_args)
1391
+ @name = 'Redirect'
1392
+ @value = url
1393
+ yield(self) if block_given?
1394
+ end
1395
+ end
1396
+
1397
+ ##
1398
+ # <Record> TwiML Verb
1399
+ class Record < TwiML
1400
+ def initialize(**keyword_args)
1401
+ super(**keyword_args)
1402
+ @name = 'Record'
1403
+
1404
+ yield(self) if block_given?
1405
+ end
1406
+ end
1407
+
1408
+ ##
1409
+ # <Queue> TwiML Noun
1410
+ class Queue < TwiML
1411
+ def initialize(name, **keyword_args)
1412
+ super(**keyword_args)
1413
+ @name = 'Queue'
1414
+ @value = name
1415
+ yield(self) if block_given?
1416
+ end
1417
+ end
1418
+
1419
+ ##
1420
+ # <Leave> TwiML Verb
824
1421
  class Leave < TwiML
825
1422
  def initialize(**keyword_args)
826
1423
  super(**keyword_args)
@@ -839,6 +1436,15 @@ module Twilio
839
1436
 
840
1437
  yield(self) if block_given?
841
1438
  end
1439
+
1440
+ ##
1441
+ # Create a new <Parameter> element
1442
+ # name:: The name of the custom parameter
1443
+ # value:: The value of the custom parameter
1444
+ # keyword_args:: additional attributes
1445
+ def parameter(name: nil, value: nil, **keyword_args)
1446
+ append(Parameter.new(name: name, value: value, **keyword_args))
1447
+ end
842
1448
  end
843
1449
 
844
1450
  ##
@@ -856,7 +1462,7 @@ module Twilio
856
1462
  # message:: Message to say
857
1463
  # voice:: Voice to use
858
1464
  # loop:: Times to loop message
859
- # language:: Message langauge
1465
+ # language:: Message language
860
1466
  # keyword_args:: additional attributes
861
1467
  def say(message: nil, voice: nil, loop: nil, language: nil, **keyword_args)
862
1468
  say = Say.new(message: message, voice: voice, loop: loop, language: language, **keyword_args)
@@ -991,9 +1597,16 @@ module Twilio
991
1597
  # status_callback:: Status callback URL
992
1598
  # status_callback_method:: Status callback URL method
993
1599
  # byoc:: BYOC trunk SID (Beta)
1600
+ # machine_detection:: Enable machine detection or end of greeting detection
1601
+ # amd_status_callback_method:: HTTP Method to use with amd_status_callback
1602
+ # amd_status_callback:: The URL we should call to send amd status information to your application
1603
+ # machine_detection_timeout:: Number of seconds to wait for machine detection
1604
+ # machine_detection_speech_threshold:: Number of milliseconds for measuring stick for the length of the speech activity
1605
+ # machine_detection_speech_end_threshold:: Number of milliseconds of silence after speech activity
1606
+ # machine_detection_silence_timeout:: Number of milliseconds of initial silence
994
1607
  # keyword_args:: additional attributes
995
- def number(phone_number, send_digits: nil, url: nil, method: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, byoc: nil, **keyword_args)
996
- append(Number.new(phone_number, send_digits: send_digits, url: url, method: method, status_callback_event: status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, byoc: byoc, **keyword_args))
1608
+ def number(phone_number, send_digits: nil, url: nil, method: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, byoc: nil, machine_detection: nil, amd_status_callback_method: nil, amd_status_callback: nil, machine_detection_timeout: nil, machine_detection_speech_threshold: nil, machine_detection_speech_end_threshold: nil, machine_detection_silence_timeout: nil, **keyword_args)
1609
+ append(Number.new(phone_number, send_digits: send_digits, url: url, method: method, status_callback_event: status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, byoc: byoc, machine_detection: machine_detection, amd_status_callback_method: amd_status_callback_method, amd_status_callback: amd_status_callback, machine_detection_timeout: machine_detection_timeout, machine_detection_speech_threshold: machine_detection_speech_threshold, machine_detection_speech_end_threshold: machine_detection_speech_end_threshold, machine_detection_silence_timeout: machine_detection_silence_timeout, **keyword_args))
997
1610
  end
998
1611
 
999
1612
  ##
@@ -1026,9 +1639,73 @@ module Twilio
1026
1639
  # status_callback_event:: Status callback events
1027
1640
  # status_callback:: Status callback URL
1028
1641
  # status_callback_method:: Status callback URL method
1642
+ # machine_detection:: Enable machine detection or end of greeting detection
1643
+ # amd_status_callback_method:: HTTP Method to use with amd_status_callback
1644
+ # amd_status_callback:: The URL we should call to send amd status information to your application
1645
+ # machine_detection_timeout:: Number of seconds to wait for machine detection
1646
+ # machine_detection_speech_threshold:: Number of milliseconds for measuring stick for the length of the speech activity
1647
+ # machine_detection_speech_end_threshold:: Number of milliseconds of silence after speech activity
1648
+ # machine_detection_silence_timeout:: Number of milliseconds of initial silence
1649
+ # keyword_args:: additional attributes
1650
+ def sip(sip_url, username: nil, password: nil, url: nil, method: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, machine_detection: nil, amd_status_callback_method: nil, amd_status_callback: nil, machine_detection_timeout: nil, machine_detection_speech_threshold: nil, machine_detection_speech_end_threshold: nil, machine_detection_silence_timeout: nil, **keyword_args)
1651
+ append(Sip.new(sip_url, username: username, password: password, url: url, method: method, status_callback_event: status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, machine_detection: machine_detection, amd_status_callback_method: amd_status_callback_method, amd_status_callback: amd_status_callback, machine_detection_timeout: machine_detection_timeout, machine_detection_speech_threshold: machine_detection_speech_threshold, machine_detection_speech_end_threshold: machine_detection_speech_end_threshold, machine_detection_silence_timeout: machine_detection_silence_timeout, **keyword_args))
1652
+ end
1653
+
1654
+ ##
1655
+ # Create a new <Application> element
1656
+ # application_sid:: Application sid
1657
+ # url:: TwiML URL
1658
+ # method:: TwiML URL Method
1659
+ # status_callback_event:: Events to trigger status callback
1660
+ # status_callback:: Status Callback URL
1661
+ # status_callback_method:: Status Callback URL Method
1662
+ # customer_id:: Identity of the customer calling application
1663
+ # copy_parent_to:: Copy parent call To field to called application side, otherwise use the application sid as To field
1664
+ # keyword_args:: additional attributes
1665
+ def application(application_sid: nil, url: nil, method: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, customer_id: nil, copy_parent_to: nil, **keyword_args)
1666
+ application = Application.new(application_sid: application_sid, url: url, method: method, status_callback_event: status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, customer_id: customer_id, copy_parent_to: copy_parent_to, **keyword_args)
1667
+
1668
+ yield(application) if block_given?
1669
+ append(application)
1670
+ end
1671
+ end
1672
+
1673
+ ##
1674
+ # <Application> TwiML Noun
1675
+ class Application < TwiML
1676
+ def initialize(application_sid: nil, **keyword_args)
1677
+ super(**keyword_args)
1678
+ @name = 'Application'
1679
+ @value = application_sid unless application_sid.nil?
1680
+ yield(self) if block_given?
1681
+ end
1682
+
1683
+ ##
1684
+ # Create a new <ApplicationSid> element
1685
+ # sid:: Application sid to dial
1686
+ # keyword_args:: additional attributes
1687
+ def application_sid(sid, **keyword_args)
1688
+ append(ApplicationSid.new(sid, **keyword_args))
1689
+ end
1690
+
1691
+ ##
1692
+ # Create a new <Parameter> element
1693
+ # name:: The name of the custom parameter
1694
+ # value:: The value of the custom parameter
1029
1695
  # keyword_args:: additional attributes
1030
- def sip(sip_url, username: nil, password: nil, url: nil, method: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
1031
- append(Sip.new(sip_url, username: username, password: password, url: url, method: method, status_callback_event: status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, **keyword_args))
1696
+ def parameter(name: nil, value: nil, **keyword_args)
1697
+ append(Parameter.new(name: name, value: value, **keyword_args))
1698
+ end
1699
+ end
1700
+
1701
+ ##
1702
+ # <ApplicationSid> TwiML Noun
1703
+ class ApplicationSid < TwiML
1704
+ def initialize(sid, **keyword_args)
1705
+ super(**keyword_args)
1706
+ @name = 'ApplicationSid'
1707
+ @value = sid
1708
+ yield(self) if block_given?
1032
1709
  end
1033
1710
  end
1034
1711
 
@@ -1157,6 +1834,93 @@ module Twilio
1157
1834
  yield(stream) if block_given?
1158
1835
  append(stream)
1159
1836
  end
1837
+
1838
+ ##
1839
+ # Create a new <VirtualAgent> element
1840
+ # connector_name:: Defines the conversation profile Dialogflow needs to use
1841
+ # language:: Language to be used by Dialogflow to transcribe speech
1842
+ # sentiment_analysis:: Whether sentiment analysis needs to be enabled or not
1843
+ # status_callback:: URL to post status callbacks from Twilio
1844
+ # status_callback_method:: HTTP method to use when requesting the status callback URL
1845
+ # keyword_args:: additional attributes
1846
+ def virtual_agent(connector_name: nil, language: nil, sentiment_analysis: nil, status_callback: nil, status_callback_method: nil, **keyword_args)
1847
+ virtual_agent = VirtualAgent.new(connector_name: connector_name, language: language, sentiment_analysis: sentiment_analysis, status_callback: status_callback, status_callback_method: status_callback_method, **keyword_args)
1848
+
1849
+ yield(virtual_agent) if block_given?
1850
+ append(virtual_agent)
1851
+ end
1852
+
1853
+ ##
1854
+ # Create a new <Conversation> element
1855
+ # service_instance_sid:: Service instance Sid
1856
+ # inbound_autocreation:: Inbound autocreation
1857
+ # routing_assignment_timeout:: Routing assignment timeout
1858
+ # inbound_timeout:: Inbound timeout
1859
+ # url:: TwiML URL
1860
+ # method:: TwiML URL method
1861
+ # record:: Record
1862
+ # trim:: Trim
1863
+ # recording_status_callback:: Recording status callback URL
1864
+ # recording_status_callback_method:: Recording status callback URL method
1865
+ # recording_status_callback_event:: Recording status callback events
1866
+ # status_callback:: Status callback URL
1867
+ # status_callback_method:: Status callback URL method
1868
+ # status_callback_event:: Events to call status callback URL
1869
+ # keyword_args:: additional attributes
1870
+ def conversation(service_instance_sid: nil, inbound_autocreation: nil, routing_assignment_timeout: nil, inbound_timeout: nil, url: nil, method: nil, record: nil, trim: nil, recording_status_callback: nil, recording_status_callback_method: nil, recording_status_callback_event: nil, status_callback: nil, status_callback_method: nil, status_callback_event: nil, **keyword_args)
1871
+ append(Conversation.new(service_instance_sid: service_instance_sid, inbound_autocreation: inbound_autocreation, routing_assignment_timeout: routing_assignment_timeout, inbound_timeout: inbound_timeout, url: url, method: method, record: record, trim: trim, recording_status_callback: recording_status_callback, recording_status_callback_method: recording_status_callback_method, recording_status_callback_event: recording_status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, status_callback_event: status_callback_event, **keyword_args))
1872
+ end
1873
+ end
1874
+
1875
+ ##
1876
+ # <Conversation> TwiML Noun
1877
+ class Conversation < TwiML
1878
+ def initialize(**keyword_args)
1879
+ super(**keyword_args)
1880
+ @name = 'Conversation'
1881
+
1882
+ yield(self) if block_given?
1883
+ end
1884
+ end
1885
+
1886
+ ##
1887
+ # <VirtualAgent> TwiML Noun
1888
+ class VirtualAgent < TwiML
1889
+ def initialize(**keyword_args)
1890
+ super(**keyword_args)
1891
+ @name = 'VirtualAgent'
1892
+
1893
+ yield(self) if block_given?
1894
+ end
1895
+
1896
+ ##
1897
+ # Create a new <Config> element
1898
+ # name:: The name of the custom config
1899
+ # value:: The value of the custom config
1900
+ # keyword_args:: additional attributes
1901
+ def config(name: nil, value: nil, **keyword_args)
1902
+ append(Config.new(name: name, value: value, **keyword_args))
1903
+ end
1904
+
1905
+ ##
1906
+ # Create a new <Parameter> element
1907
+ # name:: The name of the custom parameter
1908
+ # value:: The value of the custom parameter
1909
+ # keyword_args:: additional attributes
1910
+ def parameter(name: nil, value: nil, **keyword_args)
1911
+ append(Parameter.new(name: name, value: value, **keyword_args))
1912
+ end
1913
+ end
1914
+
1915
+ ##
1916
+ # <Config> TwiML Noun
1917
+ class Config < TwiML
1918
+ def initialize(**keyword_args)
1919
+ super(**keyword_args)
1920
+ @name = 'Config'
1921
+
1922
+ yield(self) if block_given?
1923
+ end
1160
1924
  end
1161
1925
 
1162
1926
  ##