twilio-ruby 5.5.1 → 5.58.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (811) hide show
  1. checksums.yaml +5 -5
  2. data/.dockerignore +1 -0
  3. data/.gitignore +5 -0
  4. data/.rubocop.yml +22 -3
  5. data/.rubocop_todo.yml +86 -75
  6. data/.travis.yml +51 -16
  7. data/CHANGES.md +2000 -0
  8. data/CODE_OF_CONDUCT.md +73 -0
  9. data/CONTRIBUTING.md +4 -2
  10. data/Dockerfile +9 -0
  11. data/Gemfile +1 -8
  12. data/ISSUE_TEMPLATE.md +17 -13
  13. data/{LICENSE.md → LICENSE} +2 -2
  14. data/Makefile +18 -14
  15. data/PULL_REQUEST_TEMPLATE.md +31 -0
  16. data/README.md +121 -53
  17. data/Rakefile +0 -54
  18. data/VERSIONS.md +9 -10
  19. data/examples/examples.rb +1 -1
  20. data/examples/print_call_log.rb +1 -1
  21. data/githooks/pre-commit +0 -0
  22. data/lib/rack/twilio_webhook_authentication.rb +2 -0
  23. data/lib/twilio-ruby/framework/request.rb +2 -0
  24. data/lib/twilio-ruby/framework/response.rb +2 -0
  25. data/lib/twilio-ruby/framework/{domain.rb → rest/domain.rb} +3 -1
  26. data/lib/twilio-ruby/framework/rest/error.rb +51 -0
  27. data/lib/twilio-ruby/framework/{helper.rb → rest/helper.rb} +2 -0
  28. data/lib/twilio-ruby/framework/{obsolete_client.rb → rest/obsolete_client.rb} +2 -0
  29. data/lib/twilio-ruby/framework/{page.rb → rest/page.rb} +3 -1
  30. data/lib/twilio-ruby/framework/{resource.rb → rest/resource.rb} +2 -0
  31. data/lib/twilio-ruby/framework/{version.rb → rest/version.rb} +10 -21
  32. data/lib/twilio-ruby/framework/serialize.rb +2 -0
  33. data/lib/twilio-ruby/framework/twilio_response.rb +2 -0
  34. data/lib/twilio-ruby/framework/values.rb +2 -0
  35. data/lib/twilio-ruby/http/http_client.rb +32 -15
  36. data/lib/twilio-ruby/http.rb +5 -0
  37. data/lib/twilio-ruby/jwt/access_token.rb +12 -3
  38. data/lib/twilio-ruby/jwt/client_capability.rb +3 -1
  39. data/lib/twilio-ruby/jwt/jwt.rb +8 -0
  40. data/lib/twilio-ruby/jwt/task_router.rb +4 -2
  41. data/lib/twilio-ruby/rest/accounts/v1/auth_token_promotion.rb +186 -0
  42. data/lib/twilio-ruby/rest/accounts/v1/credential/aws.rb +57 -56
  43. data/lib/twilio-ruby/rest/accounts/v1/credential/public_key.rb +56 -62
  44. data/lib/twilio-ruby/rest/accounts/v1/credential.rb +11 -8
  45. data/lib/twilio-ruby/rest/accounts/v1/secondary_auth_token.rb +200 -0
  46. data/lib/twilio-ruby/rest/accounts/v1.rb +16 -0
  47. data/lib/twilio-ruby/rest/accounts.rb +14 -0
  48. data/lib/twilio-ruby/rest/api/v2010/account/address/dependent_phone_number.rb +43 -37
  49. data/lib/twilio-ruby/rest/api/v2010/account/address.rb +124 -93
  50. data/lib/twilio-ruby/rest/api/v2010/account/application.rb +181 -176
  51. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +40 -35
  52. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +189 -85
  53. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +500 -0
  54. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +189 -85
  55. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +500 -0
  56. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +500 -0
  57. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +189 -85
  58. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +500 -0
  59. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number.rb +129 -26
  60. data/lib/twilio-ruby/rest/api/v2010/account/balance.rb +125 -0
  61. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +201 -0
  62. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +80 -63
  63. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +65 -55
  64. data/lib/twilio-ruby/rest/api/v2010/account/call/notification.rb +76 -69
  65. data/lib/twilio-ruby/rest/api/v2010/account/call/payment.rb +375 -0
  66. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +184 -63
  67. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +461 -261
  68. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +341 -117
  69. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +469 -0
  70. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +154 -79
  71. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +97 -70
  72. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension.rb +51 -42
  73. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/assigned_add_on.rb +58 -57
  74. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb +176 -79
  75. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb +175 -79
  76. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb +175 -79
  77. data/lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb +318 -259
  78. data/lib/twilio-ruby/rest/api/v2010/account/key.rb +46 -43
  79. data/lib/twilio-ruby/rest/api/v2010/account/message/feedback.rb +27 -20
  80. data/lib/twilio-ruby/rest/api/v2010/account/message/media.rb +54 -46
  81. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +218 -156
  82. data/lib/twilio-ruby/rest/api/v2010/account/new_key.rb +15 -17
  83. data/lib/twilio-ruby/rest/api/v2010/account/new_signing_key.rb +15 -17
  84. data/lib/twilio-ruby/rest/api/v2010/account/notification.rb +58 -54
  85. data/lib/twilio-ruby/rest/api/v2010/account/outgoing_caller_id.rb +64 -61
  86. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +59 -42
  87. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +98 -91
  88. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result/payload.rb +58 -49
  89. data/lib/twilio-ruby/rest/api/v2010/account/recording/add_on_result.rb +52 -44
  90. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +58 -43
  91. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +110 -70
  92. data/lib/twilio-ruby/rest/api/v2010/account/short_code.rb +88 -78
  93. data/lib/twilio-ruby/rest/api/v2010/account/signing_key.rb +40 -33
  94. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list/credential.rb +63 -57
  95. data/lib/twilio-ruby/rest/api/v2010/account/sip/credential_list.rb +49 -51
  96. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_credential_list_mapping.rb +348 -0
  97. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping/auth_calls_ip_access_control_list_mapping.rb +348 -0
  98. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_calls_mapping.rb +163 -0
  99. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping/auth_registrations_credential_list_mapping.rb +348 -0
  100. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types/auth_registrations_mapping.rb +137 -0
  101. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/auth_types.rb +135 -0
  102. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/credential_list_mapping.rb +59 -55
  103. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain/ip_access_control_list_mapping.rb +58 -55
  104. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +220 -103
  105. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +101 -63
  106. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list.rb +45 -51
  107. data/lib/twilio-ruby/rest/api/v2010/account/sip.rb +15 -11
  108. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +20 -21
  109. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +50 -43
  110. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +82 -33
  111. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +82 -33
  112. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +82 -33
  113. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +82 -33
  114. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +82 -33
  115. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +82 -33
  116. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +82 -33
  117. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +82 -33
  118. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +85 -54
  119. data/lib/twilio-ruby/rest/api/v2010/account/usage/trigger.rb +117 -104
  120. data/lib/twilio-ruby/rest/api/v2010/account/usage.rb +8 -5
  121. data/lib/twilio-ruby/rest/api/v2010/account/validation_request.rb +43 -32
  122. data/lib/twilio-ruby/rest/api/v2010/account.rb +114 -92
  123. data/lib/twilio-ruby/rest/api/v2010.rb +11 -4
  124. data/lib/twilio-ruby/rest/api.rb +39 -26
  125. data/lib/twilio-ruby/rest/autopilot/v1/assistant/defaults.rb +220 -0
  126. data/lib/twilio-ruby/rest/autopilot/v1/assistant/dialogue.rb +214 -0
  127. data/lib/twilio-ruby/rest/autopilot/v1/assistant/field_type/field_value.rb +399 -0
  128. data/lib/twilio-ruby/rest/{preview/understand/service/intent.rb → autopilot/v1/assistant/field_type.rb} +145 -148
  129. data/lib/twilio-ruby/rest/autopilot/v1/assistant/model_build.rb +392 -0
  130. data/lib/twilio-ruby/rest/autopilot/v1/assistant/query.rb +469 -0
  131. data/lib/twilio-ruby/rest/autopilot/v1/assistant/style_sheet.rb +218 -0
  132. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/field.rb +386 -0
  133. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/sample.rb +456 -0
  134. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_actions.rb +255 -0
  135. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +237 -0
  136. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task.rb +507 -0
  137. data/lib/twilio-ruby/rest/autopilot/v1/assistant/webhook.rb +420 -0
  138. data/lib/twilio-ruby/rest/autopilot/v1/assistant.rb +650 -0
  139. data/lib/twilio-ruby/rest/autopilot/v1/restore_assistant.rb +194 -0
  140. data/lib/twilio-ruby/rest/autopilot/v1.rb +52 -0
  141. data/lib/twilio-ruby/rest/autopilot.rb +53 -0
  142. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +286 -0
  143. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +286 -0
  144. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +255 -0
  145. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +243 -0
  146. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +226 -0
  147. data/lib/twilio-ruby/rest/bulkexports/v1.rb +62 -0
  148. data/lib/twilio-ruby/rest/bulkexports.rb +56 -0
  149. data/lib/twilio-ruby/rest/chat/v1/credential.rb +101 -70
  150. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +82 -54
  151. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +100 -65
  152. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +89 -69
  153. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +96 -77
  154. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +74 -62
  155. data/lib/twilio-ruby/rest/chat/v1/service/user/user_channel.rb +25 -19
  156. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +85 -71
  157. data/lib/twilio-ruby/rest/chat/v1/service.rb +355 -342
  158. data/lib/twilio-ruby/rest/chat/v1.rb +16 -10
  159. data/lib/twilio-ruby/rest/chat/v2/credential.rb +99 -70
  160. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +83 -50
  161. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +77 -54
  162. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +175 -79
  163. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +150 -85
  164. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +478 -0
  165. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +178 -91
  166. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +76 -62
  167. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +77 -46
  168. data/lib/twilio-ruby/rest/chat/v2/service/user/user_channel.rb +206 -22
  169. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +112 -77
  170. data/lib/twilio-ruby/rest/chat/v2/service.rb +251 -166
  171. data/lib/twilio-ruby/rest/chat/v2.rb +14 -10
  172. data/lib/twilio-ruby/rest/chat.rb +6 -2
  173. data/lib/twilio-ruby/rest/client.rb +216 -43
  174. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +254 -0
  175. data/lib/twilio-ruby/rest/conversations/v1/configuration.rb +260 -0
  176. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +355 -0
  177. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +502 -0
  178. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +502 -0
  179. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +410 -0
  180. data/lib/twilio-ruby/rest/conversations/v1/conversation.rb +562 -0
  181. data/lib/twilio-ruby/rest/conversations/v1/credential.rb +419 -0
  182. data/lib/twilio-ruby/rest/conversations/v1/participant_conversation.rb +312 -0
  183. data/lib/twilio-ruby/rest/conversations/v1/role.rb +366 -0
  184. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +380 -0
  185. data/lib/twilio-ruby/rest/conversations/v1/service/configuration/notification.rb +307 -0
  186. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +278 -0
  187. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +386 -0
  188. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +548 -0
  189. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +541 -0
  190. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +449 -0
  191. data/lib/twilio-ruby/rest/conversations/v1/service/conversation.rb +595 -0
  192. data/lib/twilio-ruby/rest/conversations/v1/service/participant_conversation.rb +324 -0
  193. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +387 -0
  194. data/lib/twilio-ruby/rest/conversations/v1/service/user/user_conversation.rb +466 -0
  195. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +481 -0
  196. data/lib/twilio-ruby/rest/{preview/proxy → conversations/v1}/service.rb +165 -170
  197. data/lib/twilio-ruby/rest/conversations/v1/user/user_conversation.rb +442 -0
  198. data/lib/twilio-ruby/rest/conversations/v1/user.rb +451 -0
  199. data/lib/twilio-ruby/rest/conversations/v1.rb +126 -0
  200. data/lib/twilio-ruby/rest/conversations.rb +95 -0
  201. data/lib/twilio-ruby/rest/events/v1/event_type.rb +298 -0
  202. data/lib/twilio-ruby/rest/events/v1/schema/version.rb +290 -0
  203. data/lib/twilio-ruby/rest/events/v1/schema.rb +226 -0
  204. data/lib/twilio-ruby/rest/events/v1/sink/sink_test.rb +115 -0
  205. data/lib/twilio-ruby/rest/events/v1/sink/sink_validate.rb +119 -0
  206. data/lib/twilio-ruby/rest/events/v1/sink.rb +418 -0
  207. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +346 -0
  208. data/lib/twilio-ruby/rest/events/v1/subscription.rb +397 -0
  209. data/lib/twilio-ruby/rest/events/v1.rb +94 -0
  210. data/lib/twilio-ruby/rest/events.rb +72 -0
  211. data/lib/twilio-ruby/rest/fax/v1/fax/fax_media.rb +43 -42
  212. data/lib/twilio-ruby/rest/fax/v1/fax.rb +128 -114
  213. data/lib/twilio-ruby/rest/fax/v1.rb +9 -5
  214. data/lib/twilio-ruby/rest/fax.rb +4 -1
  215. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +340 -0
  216. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +462 -0
  217. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +565 -0
  218. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +341 -0
  219. data/lib/twilio-ruby/rest/flex_api/v1.rb +83 -0
  220. data/lib/twilio-ruby/rest/flex_api.rb +71 -0
  221. data/lib/twilio-ruby/rest/frontline_api/v1/user.rb +233 -0
  222. data/lib/twilio-ruby/rest/frontline_api/v1.rb +45 -0
  223. data/lib/twilio-ruby/rest/frontline_api.rb +47 -0
  224. data/lib/twilio-ruby/rest/insights/v1/call/event.rb +262 -0
  225. data/lib/twilio-ruby/rest/insights/v1/call/metric.rb +252 -0
  226. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +307 -0
  227. data/lib/twilio-ruby/rest/insights/v1/call.rb +236 -0
  228. data/lib/twilio-ruby/rest/insights/v1/call_summaries.rb +434 -0
  229. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +378 -0
  230. data/lib/twilio-ruby/rest/insights/v1/room.rb +499 -0
  231. data/lib/twilio-ruby/rest/insights/v1.rb +67 -0
  232. data/lib/twilio-ruby/rest/insights.rb +60 -0
  233. data/lib/twilio-ruby/rest/ip_messaging/v1/credential.rb +33 -41
  234. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +30 -34
  235. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +32 -40
  236. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +30 -38
  237. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +40 -48
  238. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +39 -47
  239. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user/user_channel.rb +7 -7
  240. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +34 -42
  241. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +45 -147
  242. data/lib/twilio-ruby/rest/ip_messaging/v1.rb +16 -12
  243. data/lib/twilio-ruby/rest/ip_messaging/v2/credential.rb +33 -41
  244. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +40 -34
  245. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +30 -34
  246. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +64 -44
  247. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +52 -41
  248. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +422 -0
  249. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +90 -53
  250. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +39 -47
  251. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +28 -27
  252. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb +167 -12
  253. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +59 -48
  254. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +51 -55
  255. data/lib/twilio-ruby/rest/ip_messaging/v2.rb +16 -12
  256. data/lib/twilio-ruby/rest/ip_messaging.rb +6 -4
  257. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +70 -35
  258. data/lib/twilio-ruby/rest/lookups/v1.rb +10 -5
  259. data/lib/twilio-ruby/rest/lookups.rb +5 -1
  260. data/lib/twilio-ruby/rest/messaging/v1/brand_registration.rb +388 -0
  261. data/lib/twilio-ruby/rest/messaging/v1/deactivation.rb +164 -0
  262. data/lib/twilio-ruby/rest/messaging/v1/external_campaign.rb +150 -0
  263. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +58 -49
  264. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +58 -50
  265. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +54 -51
  266. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person.rb +433 -0
  267. data/lib/twilio-ruby/rest/messaging/v1/service/us_app_to_person_usecase.rb +129 -0
  268. data/lib/twilio-ruby/rest/messaging/v1/service.rb +261 -117
  269. data/lib/twilio-ruby/rest/messaging/v1/usecase.rb +111 -0
  270. data/lib/twilio-ruby/rest/messaging/v1.rb +45 -5
  271. data/lib/twilio-ruby/rest/messaging.rb +30 -1
  272. data/lib/twilio-ruby/rest/monitor/v1/alert.rb +82 -66
  273. data/lib/twilio-ruby/rest/monitor/v1/event.rb +84 -56
  274. data/lib/twilio-ruby/rest/monitor/v1.rb +14 -10
  275. data/lib/twilio-ruby/rest/monitor.rb +6 -2
  276. data/lib/twilio-ruby/rest/notify/v1/credential.rb +98 -70
  277. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +113 -72
  278. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +129 -50
  279. data/lib/twilio-ruby/rest/notify/v1/service.rb +191 -163
  280. data/lib/twilio-ruby/rest/notify/v1.rb +16 -10
  281. data/lib/twilio-ruby/rest/notify.rb +6 -2
  282. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +309 -0
  283. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/item_assignment.rb +320 -0
  284. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle.rb +517 -0
  285. data/lib/twilio-ruby/rest/{preview/proxy/service/phone_number.rb → numbers/v2/regulatory_compliance/end_user.rb} +143 -125
  286. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +273 -0
  287. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/regulation.rb +314 -0
  288. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document.rb +371 -0
  289. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +273 -0
  290. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance.rb +189 -0
  291. data/lib/twilio-ruby/rest/numbers/v2.rb +35 -0
  292. data/lib/twilio-ruby/rest/numbers.rb +44 -0
  293. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +101 -16
  294. data/lib/twilio-ruby/rest/preview/bulk_exports/export/export_custom_job.rb +275 -0
  295. data/lib/twilio-ruby/rest/preview/bulk_exports/export/job.rb +249 -0
  296. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +72 -22
  297. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +43 -34
  298. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +16 -10
  299. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/certificate.rb +35 -43
  300. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/deployment.rb +36 -44
  301. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/device.rb +33 -41
  302. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet/key.rb +36 -44
  303. data/lib/twilio-ruby/rest/preview/deployed_devices/fleet.rb +43 -51
  304. data/lib/twilio-ruby/rest/preview/deployed_devices.rb +7 -4
  305. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +403 -0
  306. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +122 -72
  307. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +154 -72
  308. data/lib/twilio-ruby/rest/preview/hosted_numbers.rb +12 -8
  309. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on/available_add_on_extension.rb +33 -29
  310. data/lib/twilio-ruby/rest/preview/marketplace/available_add_on.rb +33 -34
  311. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on/installed_add_on_extension.rb +39 -39
  312. data/lib/twilio-ruby/rest/preview/marketplace/installed_add_on.rb +65 -74
  313. data/lib/twilio-ruby/rest/preview/marketplace.rb +14 -12
  314. data/lib/twilio-ruby/rest/preview/sync/service/document/document_permission.rb +26 -29
  315. data/lib/twilio-ruby/rest/preview/sync/service/document.rb +42 -47
  316. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +42 -43
  317. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_permission.rb +26 -29
  318. data/lib/twilio-ruby/rest/preview/sync/service/sync_list.rb +34 -38
  319. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_item.rb +43 -44
  320. data/lib/twilio-ruby/rest/preview/sync/service/sync_map/sync_map_permission.rb +26 -29
  321. data/lib/twilio-ruby/rest/preview/sync/service/sync_map.rb +34 -38
  322. data/lib/twilio-ruby/rest/preview/sync/service.rb +39 -47
  323. data/lib/twilio-ruby/rest/preview/sync.rb +7 -4
  324. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel/channel.rb +165 -0
  325. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_channel.rb +225 -0
  326. data/lib/twilio-ruby/rest/preview/trusted_comms/brands_information.rb +195 -0
  327. data/lib/twilio-ruby/rest/preview/trusted_comms/cps.rb +186 -0
  328. data/lib/twilio-ruby/rest/preview/trusted_comms/current_call.rb +277 -0
  329. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +65 -0
  330. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_fallback_actions.rb +212 -0
  331. data/lib/twilio-ruby/rest/preview/understand/assistant/assistant_initiation_actions.rb +212 -0
  332. data/lib/twilio-ruby/rest/preview/understand/assistant/dialogue.rb +206 -0
  333. data/lib/twilio-ruby/rest/preview/understand/{service → assistant}/field_type/field_value.rb +77 -66
  334. data/lib/twilio-ruby/rest/preview/understand/{service → assistant}/field_type.rb +79 -71
  335. data/lib/twilio-ruby/rest/preview/understand/{service → assistant}/model_build.rb +88 -66
  336. data/lib/twilio-ruby/rest/preview/understand/{service → assistant}/query.rb +105 -90
  337. data/lib/twilio-ruby/rest/preview/understand/assistant/style_sheet.rb +212 -0
  338. data/lib/twilio-ruby/rest/preview/understand/{service/intent → assistant/task}/field.rb +75 -73
  339. data/lib/twilio-ruby/rest/preview/understand/{service/intent → assistant/task}/sample.rb +114 -93
  340. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_actions.rb +241 -0
  341. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +225 -0
  342. data/lib/twilio-ruby/rest/preview/understand/assistant/task.rb +495 -0
  343. data/lib/twilio-ruby/rest/preview/understand/assistant.rb +629 -0
  344. data/lib/twilio-ruby/rest/preview/understand.rb +13 -9
  345. data/lib/twilio-ruby/rest/preview/wireless/command.rb +25 -29
  346. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +37 -45
  347. data/lib/twilio-ruby/rest/preview/wireless/sim/usage.rb +19 -14
  348. data/lib/twilio-ruby/rest/preview/wireless/sim.rb +24 -27
  349. data/lib/twilio-ruby/rest/preview/wireless.rb +17 -12
  350. data/lib/twilio-ruby/rest/preview.rb +53 -34
  351. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +35 -30
  352. data/lib/twilio-ruby/rest/pricing/v1/messaging.rb +9 -5
  353. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +34 -29
  354. data/lib/twilio-ruby/rest/pricing/v1/phone_number.rb +9 -5
  355. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +35 -30
  356. data/lib/twilio-ruby/rest/pricing/v1/voice/number.rb +27 -24
  357. data/lib/twilio-ruby/rest/pricing/v1/voice.rb +12 -8
  358. data/lib/twilio-ruby/rest/pricing/v1.rb +2 -0
  359. data/lib/twilio-ruby/rest/pricing/v2/country.rb +280 -0
  360. data/lib/twilio-ruby/rest/pricing/v2/number.rb +225 -0
  361. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +282 -0
  362. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +227 -0
  363. data/lib/twilio-ruby/rest/pricing/v2/voice.rb +146 -0
  364. data/lib/twilio-ruby/rest/pricing/v2.rb +72 -0
  365. data/lib/twilio-ruby/rest/pricing.rb +30 -2
  366. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +116 -57
  367. data/lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb +64 -96
  368. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +67 -60
  369. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +83 -118
  370. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +138 -127
  371. data/lib/twilio-ruby/rest/proxy/v1/service/short_code.rb +87 -53
  372. data/lib/twilio-ruby/rest/proxy/v1/service.rb +183 -101
  373. data/lib/twilio-ruby/rest/proxy/v1.rb +9 -5
  374. data/lib/twilio-ruby/rest/proxy.rb +4 -1
  375. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +334 -0
  376. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +387 -0
  377. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +219 -0
  378. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +391 -0
  379. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +349 -0
  380. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +394 -0
  381. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +407 -0
  382. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +454 -0
  383. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +241 -0
  384. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +364 -0
  385. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +387 -0
  386. data/lib/twilio-ruby/rest/{preview/understand → serverless/v1}/service.rb +172 -179
  387. data/lib/twilio-ruby/rest/serverless/v1.rb +44 -0
  388. data/lib/twilio-ruby/rest/serverless.rb +47 -0
  389. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/engagement_context.rb +210 -0
  390. data/lib/twilio-ruby/rest/studio/v1/flow/engagement/step/step_context.rb +225 -0
  391. data/lib/twilio-ruby/rest/{preview/studio → studio/v1}/flow/engagement/step.rb +69 -51
  392. data/lib/twilio-ruby/rest/{preview/studio → studio/v1}/flow/engagement.rb +94 -77
  393. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_context.rb +211 -0
  394. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step/execution_step_context.rb +228 -0
  395. data/lib/twilio-ruby/rest/studio/v1/flow/execution/execution_step.rb +372 -0
  396. data/lib/twilio-ruby/rest/studio/v1/flow/execution.rb +456 -0
  397. data/lib/twilio-ruby/rest/{preview/studio → studio/v1}/flow.rb +73 -61
  398. data/lib/twilio-ruby/rest/studio/v1.rb +44 -0
  399. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_context.rb +211 -0
  400. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step/execution_step_context.rb +228 -0
  401. data/lib/twilio-ruby/rest/studio/v2/flow/execution/execution_step.rb +372 -0
  402. data/lib/twilio-ruby/rest/studio/v2/flow/execution.rb +449 -0
  403. data/lib/twilio-ruby/rest/{preview/proxy/service/short_code.rb → studio/v2/flow/flow_revision.rb} +116 -129
  404. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +199 -0
  405. data/lib/twilio-ruby/rest/studio/v2/flow.rb +482 -0
  406. data/lib/twilio-ruby/rest/studio/v2/flow_validate.rb +117 -0
  407. data/lib/twilio-ruby/rest/studio/v2.rb +51 -0
  408. data/lib/twilio-ruby/rest/studio.rb +60 -0
  409. data/lib/twilio-ruby/rest/supersim/v1/command.rb +368 -0
  410. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +494 -0
  411. data/lib/twilio-ruby/rest/supersim/v1/network.rb +307 -0
  412. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +339 -0
  413. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +361 -0
  414. data/lib/twilio-ruby/rest/{notify/v1/service/segment.rb → supersim/v1/sim/billing_period.rb} +66 -58
  415. data/lib/twilio-ruby/rest/supersim/v1/sim.rb +443 -0
  416. data/lib/twilio-ruby/rest/supersim/v1/sms_command.rb +371 -0
  417. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +338 -0
  418. data/lib/twilio-ruby/rest/supersim/v1.rb +131 -0
  419. data/lib/twilio-ruby/rest/supersim.rb +97 -0
  420. data/lib/twilio-ruby/rest/sync/v1/service/document/document_permission.rb +66 -72
  421. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +83 -78
  422. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +159 -87
  423. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_permission.rb +65 -72
  424. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +89 -78
  425. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +169 -89
  426. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +63 -72
  427. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +88 -78
  428. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +21 -24
  429. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream.rb +79 -74
  430. data/lib/twilio-ruby/rest/sync/v1/service.rb +159 -85
  431. data/lib/twilio-ruby/rest/sync/v1.rb +8 -5
  432. data/lib/twilio-ruby/rest/sync.rb +4 -1
  433. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb +105 -66
  434. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +139 -70
  435. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +317 -156
  436. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +227 -113
  437. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +121 -31
  438. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +82 -46
  439. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +66 -30
  440. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb +60 -31
  441. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb +64 -32
  442. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +137 -92
  443. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +313 -156
  444. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +62 -56
  445. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb +59 -29
  446. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +61 -36
  447. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +36 -24
  448. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb +59 -34
  449. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +158 -100
  450. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +84 -47
  451. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +49 -27
  452. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb +68 -31
  453. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +130 -84
  454. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +85 -46
  455. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +44 -28
  456. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb +61 -30
  457. data/lib/twilio-ruby/rest/taskrouter/v1/workspace.rb +163 -98
  458. data/lib/twilio-ruby/rest/taskrouter/v1.rb +8 -5
  459. data/lib/twilio-ruby/rest/taskrouter.rb +4 -1
  460. data/lib/twilio-ruby/rest/trunking/v1/trunk/credential_list.rb +57 -48
  461. data/lib/twilio-ruby/rest/trunking/v1/trunk/ip_access_control_list.rb +49 -48
  462. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +97 -71
  463. data/lib/twilio-ruby/rest/trunking/v1/trunk/phone_number.rb +75 -68
  464. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +198 -0
  465. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +185 -89
  466. data/lib/twilio-ruby/rest/trunking/v1.rb +9 -5
  467. data/lib/twilio-ruby/rest/trunking.rb +4 -1
  468. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_channel_endpoint_assignment.rb +359 -0
  469. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_entity_assignments.rb +330 -0
  470. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles/customer_profiles_evaluations.rb +328 -0
  471. data/lib/twilio-ruby/rest/trusthub/v1/customer_profiles.rb +523 -0
  472. data/lib/twilio-ruby/rest/trusthub/v1/end_user.rb +356 -0
  473. data/lib/twilio-ruby/rest/trusthub/v1/end_user_type.rb +271 -0
  474. data/lib/twilio-ruby/rest/trusthub/v1/policies.rb +262 -0
  475. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document.rb +369 -0
  476. data/lib/twilio-ruby/rest/trusthub/v1/supporting_document_type.rb +271 -0
  477. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_channel_endpoint_assignment.rb +359 -0
  478. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_entity_assignments.rb +330 -0
  479. data/lib/twilio-ruby/rest/trusthub/v1/trust_products/trust_products_evaluations.rb +328 -0
  480. data/lib/twilio-ruby/rest/trusthub/v1/trust_products.rb +523 -0
  481. data/lib/twilio-ruby/rest/trusthub/v1.rb +146 -0
  482. data/lib/twilio-ruby/rest/trusthub.rb +100 -0
  483. data/lib/twilio-ruby/rest/verify/v2/form.rb +191 -0
  484. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +124 -0
  485. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +205 -0
  486. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +533 -0
  487. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +455 -0
  488. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +299 -0
  489. data/lib/twilio-ruby/rest/{notify/v1/service/user.rb → verify/v2/service/entity.rb} +153 -143
  490. data/lib/twilio-ruby/rest/verify/v2/service/messaging_configuration.rb +370 -0
  491. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +399 -0
  492. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit.rb +391 -0
  493. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +356 -0
  494. data/lib/twilio-ruby/rest/{preview/acc_security → verify/v2}/service/verification_check.rb +62 -37
  495. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +427 -0
  496. data/lib/twilio-ruby/rest/verify/v2/service.rb +761 -0
  497. data/lib/twilio-ruby/rest/verify/v2/verification_attempt.rb +329 -0
  498. data/lib/twilio-ruby/rest/verify/v2/verification_template.rb +206 -0
  499. data/lib/twilio-ruby/rest/verify/v2.rb +85 -0
  500. data/lib/twilio-ruby/rest/verify.rb +71 -0
  501. data/lib/twilio-ruby/rest/video/v1/composition.rb +496 -0
  502. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +657 -0
  503. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +269 -0
  504. data/lib/twilio-ruby/rest/video/v1/recording.rb +101 -59
  505. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +269 -0
  506. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +97 -56
  507. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_published_track.rb +43 -34
  508. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +175 -0
  509. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribed_track.rb +340 -0
  510. data/lib/twilio-ruby/rest/video/v1/room/room_participant.rb +136 -60
  511. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +144 -0
  512. data/lib/twilio-ruby/rest/video/v1/room.rb +139 -86
  513. data/lib/twilio-ruby/rest/video/v1.rb +60 -10
  514. data/lib/twilio-ruby/rest/video.rb +36 -2
  515. data/lib/twilio-ruby/rest/voice/v1/byoc_trunk.rb +496 -0
  516. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +441 -0
  517. data/lib/twilio-ruby/rest/voice/v1/connection_policy.rb +362 -0
  518. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +128 -0
  519. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country/highrisk_special_prefix.rb +190 -0
  520. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +404 -0
  521. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/settings.rb +197 -0
  522. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions.rb +129 -0
  523. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +349 -0
  524. data/lib/twilio-ruby/rest/voice/v1/source_ip_mapping.rb +329 -0
  525. data/lib/twilio-ruby/rest/voice/v1.rb +103 -0
  526. data/lib/twilio-ruby/rest/voice.rb +80 -0
  527. data/lib/twilio-ruby/rest/wireless/v1/command.rb +133 -69
  528. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +98 -85
  529. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +40 -43
  530. data/lib/twilio-ruby/rest/wireless/v1/sim/usage_record.rb +46 -30
  531. data/lib/twilio-ruby/rest/wireless/v1/sim.rb +210 -110
  532. data/lib/twilio-ruby/rest/wireless/v1/usage_record.rb +229 -0
  533. data/lib/twilio-ruby/rest/wireless/v1.rb +27 -15
  534. data/lib/twilio-ruby/rest/wireless.rb +14 -3
  535. data/lib/twilio-ruby/rest.rb +13 -0
  536. data/lib/twilio-ruby/security/request_validator.rb +104 -8
  537. data/lib/twilio-ruby/twiml/fax_response.rb +7 -2
  538. data/lib/twilio-ruby/twiml/messaging_response.rb +5 -2
  539. data/lib/twilio-ruby/twiml/twiml.rb +63 -12
  540. data/lib/twilio-ruby/twiml/voice_response.rb +720 -49
  541. data/lib/twilio-ruby/util/configuration.rb +24 -5
  542. data/lib/twilio-ruby/util.rb +2 -0
  543. data/lib/twilio-ruby/version.rb +1 -1
  544. data/lib/twilio-ruby.rb +10 -24
  545. data/sonar-project.properties +13 -0
  546. data/twilio-ruby.gemspec +15 -10
  547. metadata +368 -556
  548. data/lib/twilio-ruby/framework/error.rb +0 -33
  549. data/lib/twilio-ruby/rest/notify/v1/service/user/segment_memberships.rb +0 -260
  550. data/lib/twilio-ruby/rest/notify/v1/service/user/user_binding.rb +0 -431
  551. data/lib/twilio-ruby/rest/preview/acc_security/service/verification.rb +0 -183
  552. data/lib/twilio-ruby/rest/preview/acc_security/service.rb +0 -386
  553. data/lib/twilio-ruby/rest/preview/acc_security.rb +0 -41
  554. data/lib/twilio-ruby/rest/preview/proxy/service/session/interaction.rb +0 -435
  555. data/lib/twilio-ruby/rest/preview/proxy/service/session/participant/message_interaction.rb +0 -453
  556. data/lib/twilio-ruby/rest/preview/proxy/service/session/participant.rb +0 -512
  557. data/lib/twilio-ruby/rest/preview/proxy/service/session.rb +0 -495
  558. data/lib/twilio-ruby/rest/preview/proxy.rb +0 -41
  559. data/lib/twilio-ruby/rest/preview/studio.rb +0 -41
  560. data/spec/framework/request_spec.rb +0 -36
  561. data/spec/framework/serialize_spec.rb +0 -80
  562. data/spec/holodeck/holodeck.rb +0 -61
  563. data/spec/holodeck/hologram.rb +0 -4
  564. data/spec/http/http_client_spec.rb +0 -122
  565. data/spec/integration/accounts/v1/credential/aws_spec.rb +0 -224
  566. data/spec/integration/accounts/v1/credential/public_key_spec.rb +0 -224
  567. data/spec/integration/accounts/v1/credential_spec.rb +0 -10
  568. data/spec/integration/api/v2010/account/address/dependent_phone_number_spec.rb +0 -105
  569. data/spec/integration/api/v2010/account/address_spec.rb +0 -267
  570. data/spec/integration/api/v2010/account/application_spec.rb +0 -284
  571. data/spec/integration/api/v2010/account/authorized_connect_app_spec.rb +0 -137
  572. data/spec/integration/api/v2010/account/available_phone_number/local_spec.rb +0 -101
  573. data/spec/integration/api/v2010/account/available_phone_number/mobile_spec.rb +0 -100
  574. data/spec/integration/api/v2010/account/available_phone_number/toll_free_spec.rb +0 -100
  575. data/spec/integration/api/v2010/account/available_phone_number_spec.rb +0 -128
  576. data/spec/integration/api/v2010/account/call/feedback_spec.rb +0 -137
  577. data/spec/integration/api/v2010/account/call/feedback_summary_spec.rb +0 -149
  578. data/spec/integration/api/v2010/account/call/notification_spec.rb +0 -179
  579. data/spec/integration/api/v2010/account/call/recording_spec.rb +0 -186
  580. data/spec/integration/api/v2010/account/call_spec.rb +0 -312
  581. data/spec/integration/api/v2010/account/conference/participant_spec.rb +0 -280
  582. data/spec/integration/api/v2010/account/conference_spec.rb +0 -174
  583. data/spec/integration/api/v2010/account/connect_app_spec.rb +0 -177
  584. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on/assigned_add_on_extension_spec.rb +0 -135
  585. data/spec/integration/api/v2010/account/incoming_phone_number/assigned_add_on_spec.rb +0 -221
  586. data/spec/integration/api/v2010/account/incoming_phone_number/local_spec.rb +0 -183
  587. data/spec/integration/api/v2010/account/incoming_phone_number/mobile_spec.rb +0 -183
  588. data/spec/integration/api/v2010/account/incoming_phone_number/toll_free_spec.rb +0 -183
  589. data/spec/integration/api/v2010/account/incoming_phone_number_spec.rb +0 -339
  590. data/spec/integration/api/v2010/account/key_spec.rb +0 -178
  591. data/spec/integration/api/v2010/account/message/feedback_spec.rb +0 -48
  592. data/spec/integration/api/v2010/account/message/media_spec.rb +0 -162
  593. data/spec/integration/api/v2010/account/message_spec.rb +0 -293
  594. data/spec/integration/api/v2010/account/new_key_spec.rb +0 -45
  595. data/spec/integration/api/v2010/account/new_signing_key_spec.rb +0 -45
  596. data/spec/integration/api/v2010/account/notification_spec.rb +0 -172
  597. data/spec/integration/api/v2010/account/outgoing_caller_id_spec.rb +0 -193
  598. data/spec/integration/api/v2010/account/queue/member_spec.rb +0 -167
  599. data/spec/integration/api/v2010/account/queue_spec.rb +0 -240
  600. data/spec/integration/api/v2010/account/recording/add_on_result/payload_spec.rb +0 -175
  601. data/spec/integration/api/v2010/account/recording/add_on_result_spec.rb +0 -166
  602. data/spec/integration/api/v2010/account/recording/transcription_spec.rb +0 -174
  603. data/spec/integration/api/v2010/account/recording_spec.rb +0 -179
  604. data/spec/integration/api/v2010/account/short_code_spec.rb +0 -180
  605. data/spec/integration/api/v2010/account/signing_key_spec.rb +0 -178
  606. data/spec/integration/api/v2010/account/sip/credential_list/credential_spec.rb +0 -254
  607. data/spec/integration/api/v2010/account/sip/credential_list_spec.rb +0 -242
  608. data/spec/integration/api/v2010/account/sip/domain/credential_list_mapping_spec.rb +0 -208
  609. data/spec/integration/api/v2010/account/sip/domain/ip_access_control_list_mapping_spec.rb +0 -218
  610. data/spec/integration/api/v2010/account/sip/domain_spec.rb +0 -285
  611. data/spec/integration/api/v2010/account/sip/ip_access_control_list/ip_address_spec.rb +0 -258
  612. data/spec/integration/api/v2010/account/sip/ip_access_control_list_spec.rb +0 -252
  613. data/spec/integration/api/v2010/account/sip_spec.rb +0 -10
  614. data/spec/integration/api/v2010/account/token_spec.rb +0 -56
  615. data/spec/integration/api/v2010/account/transcription_spec.rb +0 -167
  616. data/spec/integration/api/v2010/account/usage/record/all_time_spec.rb +0 -111
  617. data/spec/integration/api/v2010/account/usage/record/daily_spec.rb +0 -111
  618. data/spec/integration/api/v2010/account/usage/record/last_month_spec.rb +0 -111
  619. data/spec/integration/api/v2010/account/usage/record/monthly_spec.rb +0 -111
  620. data/spec/integration/api/v2010/account/usage/record/this_month_spec.rb +0 -111
  621. data/spec/integration/api/v2010/account/usage/record/today_spec.rb +0 -111
  622. data/spec/integration/api/v2010/account/usage/record/yearly_spec.rb +0 -111
  623. data/spec/integration/api/v2010/account/usage/record/yesterday_spec.rb +0 -111
  624. data/spec/integration/api/v2010/account/usage/record_spec.rb +0 -108
  625. data/spec/integration/api/v2010/account/usage/trigger_spec.rb +0 -283
  626. data/spec/integration/api/v2010/account/usage_spec.rb +0 -10
  627. data/spec/integration/api/v2010/account/validation_request_spec.rb +0 -46
  628. data/spec/integration/api/v2010/account_spec.rb +0 -254
  629. data/spec/integration/chat/v1/credential_spec.rb +0 -221
  630. data/spec/integration/chat/v1/service/channel/invite_spec.rb +0 -208
  631. data/spec/integration/chat/v1/service/channel/member_spec.rb +0 -282
  632. data/spec/integration/chat/v1/service/channel/message_spec.rb +0 -292
  633. data/spec/integration/chat/v1/service/channel_spec.rb +0 -275
  634. data/spec/integration/chat/v1/service/role_spec.rb +0 -261
  635. data/spec/integration/chat/v1/service/user/user_channel_spec.rb +0 -92
  636. data/spec/integration/chat/v1/service/user_spec.rb +0 -264
  637. data/spec/integration/chat/v1/service_spec.rb +0 -297
  638. data/spec/integration/chat/v2/credential_spec.rb +0 -221
  639. data/spec/integration/chat/v2/service/binding_spec.rb +0 -175
  640. data/spec/integration/chat/v2/service/channel/invite_spec.rb +0 -208
  641. data/spec/integration/chat/v2/service/channel/member_spec.rb +0 -255
  642. data/spec/integration/chat/v2/service/channel/message_spec.rb +0 -403
  643. data/spec/integration/chat/v2/service/channel_spec.rb +0 -275
  644. data/spec/integration/chat/v2/service/role_spec.rb +0 -261
  645. data/spec/integration/chat/v2/service/user/user_binding_spec.rb +0 -178
  646. data/spec/integration/chat/v2/service/user/user_channel_spec.rb +0 -92
  647. data/spec/integration/chat/v2/service/user_spec.rb +0 -268
  648. data/spec/integration/chat/v2/service_spec.rb +0 -351
  649. data/spec/integration/fax/v1/fax/fax_media_spec.rb +0 -126
  650. data/spec/integration/fax/v1/fax_spec.rb +0 -269
  651. data/spec/integration/ip_messaging/v1/credential_spec.rb +0 -221
  652. data/spec/integration/ip_messaging/v1/service/channel/invite_spec.rb +0 -208
  653. data/spec/integration/ip_messaging/v1/service/channel/member_spec.rb +0 -282
  654. data/spec/integration/ip_messaging/v1/service/channel/message_spec.rb +0 -292
  655. data/spec/integration/ip_messaging/v1/service/channel_spec.rb +0 -275
  656. data/spec/integration/ip_messaging/v1/service/role_spec.rb +0 -261
  657. data/spec/integration/ip_messaging/v1/service/user/user_channel_spec.rb +0 -92
  658. data/spec/integration/ip_messaging/v1/service/user_spec.rb +0 -264
  659. data/spec/integration/ip_messaging/v1/service_spec.rb +0 -297
  660. data/spec/integration/ip_messaging/v2/credential_spec.rb +0 -221
  661. data/spec/integration/ip_messaging/v2/service/binding_spec.rb +0 -175
  662. data/spec/integration/ip_messaging/v2/service/channel/invite_spec.rb +0 -208
  663. data/spec/integration/ip_messaging/v2/service/channel/member_spec.rb +0 -255
  664. data/spec/integration/ip_messaging/v2/service/channel/message_spec.rb +0 -403
  665. data/spec/integration/ip_messaging/v2/service/channel_spec.rb +0 -275
  666. data/spec/integration/ip_messaging/v2/service/role_spec.rb +0 -261
  667. data/spec/integration/ip_messaging/v2/service/user/user_binding_spec.rb +0 -178
  668. data/spec/integration/ip_messaging/v2/service/user/user_channel_spec.rb +0 -92
  669. data/spec/integration/ip_messaging/v2/service/user_spec.rb +0 -268
  670. data/spec/integration/ip_messaging/v2/service_spec.rb +0 -351
  671. data/spec/integration/lookups/v1/phone_number_spec.rb +0 -60
  672. data/spec/integration/messaging/v1/service/alpha_sender_spec.rb +0 -168
  673. data/spec/integration/messaging/v1/service/phone_number_spec.rb +0 -199
  674. data/spec/integration/messaging/v1/service/short_code_spec.rb +0 -171
  675. data/spec/integration/messaging/v1/service_spec.rb +0 -261
  676. data/spec/integration/monitor/v1/alert_spec.rb +0 -161
  677. data/spec/integration/monitor/v1/event_spec.rb +0 -148
  678. data/spec/integration/notify/v1/credential_spec.rb +0 -221
  679. data/spec/integration/notify/v1/service/binding_spec.rb +0 -223
  680. data/spec/integration/notify/v1/service/notification_spec.rb +0 -97
  681. data/spec/integration/notify/v1/service/segment_spec.rb +0 -84
  682. data/spec/integration/notify/v1/service/user/segment_memberships_spec.rb +0 -116
  683. data/spec/integration/notify/v1/service/user/user_binding_spec.rb +0 -266
  684. data/spec/integration/notify/v1/service/user_spec.rb +0 -211
  685. data/spec/integration/notify/v1/service_spec.rb +0 -280
  686. data/spec/integration/preview/acc_security/service/verification_check_spec.rb +0 -50
  687. data/spec/integration/preview/acc_security/service/verification_spec.rb +0 -50
  688. data/spec/integration/preview/acc_security/service_spec.rb +0 -183
  689. data/spec/integration/preview/bulk_exports/export/day_spec.rb +0 -56
  690. data/spec/integration/preview/bulk_exports/export_configuration_spec.rb +0 -77
  691. data/spec/integration/preview/bulk_exports/export_spec.rb +0 -43
  692. data/spec/integration/preview/deployed_devices/fleet/certificate_spec.rb +0 -236
  693. data/spec/integration/preview/deployed_devices/fleet/deployment_spec.rb +0 -231
  694. data/spec/integration/preview/deployed_devices/fleet/device_spec.rb +0 -247
  695. data/spec/integration/preview/deployed_devices/fleet/key_spec.rb +0 -235
  696. data/spec/integration/preview/deployed_devices/fleet_spec.rb +0 -244
  697. data/spec/integration/preview/hosted_numbers/authorization_document_spec.rb +0 -211
  698. data/spec/integration/preview/hosted_numbers/hosted_number_order_spec.rb +0 -307
  699. data/spec/integration/preview/marketplace/available_add_on/available_add_on_extension_spec.rb +0 -121
  700. data/spec/integration/preview/marketplace/available_add_on_spec.rb +0 -142
  701. data/spec/integration/preview/marketplace/installed_add_on/installed_add_on_extension_spec.rb +0 -162
  702. data/spec/integration/preview/marketplace/installed_add_on_spec.rb +0 -252
  703. data/spec/integration/preview/proxy/service/phone_number_spec.rb +0 -171
  704. data/spec/integration/preview/proxy/service/session/interaction_spec.rb +0 -104
  705. data/spec/integration/preview/proxy/service/session/participant/message_interaction_spec.rb +0 -164
  706. data/spec/integration/preview/proxy/service/session/participant_spec.rb +0 -224
  707. data/spec/integration/preview/proxy/service/session_spec.rb +0 -216
  708. data/spec/integration/preview/proxy/service/short_code_spec.rb +0 -171
  709. data/spec/integration/preview/proxy/service_spec.rb +0 -200
  710. data/spec/integration/preview/studio/flow/engagement/step_spec.rb +0 -96
  711. data/spec/integration/preview/studio/flow/engagement_spec.rb +0 -171
  712. data/spec/integration/preview/studio/flow_spec.rb +0 -115
  713. data/spec/integration/preview/sync/service/document/document_permission_spec.rb +0 -202
  714. data/spec/integration/preview/sync/service/document_spec.rb +0 -252
  715. data/spec/integration/preview/sync/service/sync_list/sync_list_item_spec.rb +0 -252
  716. data/spec/integration/preview/sync/service/sync_list/sync_list_permission_spec.rb +0 -202
  717. data/spec/integration/preview/sync/service/sync_list_spec.rb +0 -207
  718. data/spec/integration/preview/sync/service/sync_map/sync_map_item_spec.rb +0 -252
  719. data/spec/integration/preview/sync/service/sync_map/sync_map_permission_spec.rb +0 -202
  720. data/spec/integration/preview/sync/service/sync_map_spec.rb +0 -207
  721. data/spec/integration/preview/sync/service_spec.rb +0 -244
  722. data/spec/integration/preview/understand/service/field_type/field_value_spec.rb +0 -205
  723. data/spec/integration/preview/understand/service/field_type_spec.rb +0 -244
  724. data/spec/integration/preview/understand/service/intent/field_spec.rb +0 -205
  725. data/spec/integration/preview/understand/service/intent/sample_spec.rb +0 -247
  726. data/spec/integration/preview/understand/service/intent_spec.rb +0 -252
  727. data/spec/integration/preview/understand/service/model_build_spec.rb +0 -231
  728. data/spec/integration/preview/understand/service/query_spec.rb +0 -300
  729. data/spec/integration/preview/understand/service_spec.rb +0 -256
  730. data/spec/integration/preview/wireless/command_spec.rb +0 -167
  731. data/spec/integration/preview/wireless/rate_plan_spec.rb +0 -260
  732. data/spec/integration/preview/wireless/sim/usage_spec.rb +0 -49
  733. data/spec/integration/preview/wireless/sim_spec.rb +0 -208
  734. data/spec/integration/pricing/v1/messaging/country_spec.rb +0 -137
  735. data/spec/integration/pricing/v1/messaging_spec.rb +0 -10
  736. data/spec/integration/pricing/v1/phone_number/country_spec.rb +0 -128
  737. data/spec/integration/pricing/v1/phone_number_spec.rb +0 -10
  738. data/spec/integration/pricing/v1/voice/country_spec.rb +0 -266
  739. data/spec/integration/pricing/v1/voice/number_spec.rb +0 -54
  740. data/spec/integration/pricing/v1/voice_spec.rb +0 -10
  741. data/spec/integration/proxy/v1/service/phone_number_spec.rb +0 -182
  742. data/spec/integration/proxy/v1/service/session/interaction_spec.rb +0 -134
  743. data/spec/integration/proxy/v1/service/session/participant/message_interaction_spec.rb +0 -164
  744. data/spec/integration/proxy/v1/service/session/participant_spec.rb +0 -227
  745. data/spec/integration/proxy/v1/service/session_spec.rb +0 -228
  746. data/spec/integration/proxy/v1/service/short_code_spec.rb +0 -180
  747. data/spec/integration/proxy/v1/service_spec.rb +0 -213
  748. data/spec/integration/sync/v1/service/document/document_permission_spec.rb +0 -202
  749. data/spec/integration/sync/v1/service/document_spec.rb +0 -255
  750. data/spec/integration/sync/v1/service/sync_list/sync_list_item_spec.rb +0 -255
  751. data/spec/integration/sync/v1/service/sync_list/sync_list_permission_spec.rb +0 -202
  752. data/spec/integration/sync/v1/service/sync_list_spec.rb +0 -255
  753. data/spec/integration/sync/v1/service/sync_map/sync_map_item_spec.rb +0 -255
  754. data/spec/integration/sync/v1/service/sync_map/sync_map_permission_spec.rb +0 -202
  755. data/spec/integration/sync/v1/service/sync_map_spec.rb +0 -255
  756. data/spec/integration/sync/v1/service/sync_stream/stream_message_spec.rb +0 -45
  757. data/spec/integration/sync/v1/service/sync_stream_spec.rb +0 -247
  758. data/spec/integration/sync/v1/service_spec.rb +0 -252
  759. data/spec/integration/taskrouter/v1/workspace/activity_spec.rb +0 -234
  760. data/spec/integration/taskrouter/v1/workspace/event_spec.rb +0 -157
  761. data/spec/integration/taskrouter/v1/workspace/task/reservation_spec.rb +0 -192
  762. data/spec/integration/taskrouter/v1/workspace/task_channel_spec.rb +0 -127
  763. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics_spec.rb +0 -94
  764. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics_spec.rb +0 -79
  765. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queue_statistics_spec.rb +0 -106
  766. data/spec/integration/taskrouter/v1/workspace/task_queue/task_queues_statistics_spec.rb +0 -144
  767. data/spec/integration/taskrouter/v1/workspace/task_queue_spec.rb +0 -296
  768. data/spec/integration/taskrouter/v1/workspace/task_spec.rb +0 -324
  769. data/spec/integration/taskrouter/v1/workspace/worker/reservation_spec.rb +0 -192
  770. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +0 -201
  771. data/spec/integration/taskrouter/v1/workspace/worker/worker_statistics_spec.rb +0 -90
  772. data/spec/integration/taskrouter/v1/workspace/worker/workers_cumulative_statistics_spec.rb +0 -87
  773. data/spec/integration/taskrouter/v1/workspace/worker/workers_real_time_statistics_spec.rb +0 -68
  774. data/spec/integration/taskrouter/v1/workspace/worker/workers_statistics_spec.rb +0 -114
  775. data/spec/integration/taskrouter/v1/workspace/worker_spec.rb +0 -292
  776. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics_spec.rb +0 -95
  777. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_real_time_statistics_spec.rb +0 -55
  778. data/spec/integration/taskrouter/v1/workspace/workflow/workflow_statistics_spec.rb +0 -69
  779. data/spec/integration/taskrouter/v1/workspace/workflow_spec.rb +0 -270
  780. data/spec/integration/taskrouter/v1/workspace/workspace_cumulative_statistics_spec.rb +0 -92
  781. data/spec/integration/taskrouter/v1/workspace/workspace_real_time_statistics_spec.rb +0 -70
  782. data/spec/integration/taskrouter/v1/workspace/workspace_statistics_spec.rb +0 -103
  783. data/spec/integration/taskrouter/v1/workspace_spec.rb +0 -293
  784. data/spec/integration/trunking/v1/trunk/credential_list_spec.rb +0 -190
  785. data/spec/integration/trunking/v1/trunk/ip_access_control_list_spec.rb +0 -190
  786. data/spec/integration/trunking/v1/trunk/origination_url_spec.rb +0 -250
  787. data/spec/integration/trunking/v1/trunk/phone_number_spec.rb +0 -265
  788. data/spec/integration/trunking/v1/trunk_spec.rb +0 -276
  789. data/spec/integration/video/v1/recording_spec.rb +0 -169
  790. data/spec/integration/video/v1/room/recording_spec.rb +0 -146
  791. data/spec/integration/video/v1/room/room_participant/room_participant_published_track_spec.rb +0 -94
  792. data/spec/integration/video/v1/room/room_participant_spec.rb +0 -182
  793. data/spec/integration/video/v1/room_spec.rb +0 -255
  794. data/spec/integration/wireless/v1/command_spec.rb +0 -164
  795. data/spec/integration/wireless/v1/rate_plan_spec.rb +0 -268
  796. data/spec/integration/wireless/v1/sim/data_session_spec.rb +0 -85
  797. data/spec/integration/wireless/v1/sim/usage_record_spec.rb +0 -65
  798. data/spec/integration/wireless/v1/sim_spec.rb +0 -214
  799. data/spec/jwt/access_token_spec.rb +0 -149
  800. data/spec/jwt/client_capability_spec.rb +0 -104
  801. data/spec/jwt/task_router_spec.rb +0 -172
  802. data/spec/rack/twilio_webhook_authentication_spec.rb +0 -106
  803. data/spec/rest/client_spec.rb +0 -49
  804. data/spec/security/request_validator_spec.rb +0 -113
  805. data/spec/spec_helper.rb +0 -32
  806. data/spec/support/fakeweb.rb +0 -2
  807. data/spec/twilio_spec.rb +0 -15
  808. data/spec/twiml/messaging_response_spec.rb +0 -95
  809. data/spec/twiml/voice_response_spec.rb +0 -479
  810. data/spec/util/configuration_spec.rb +0 -15
  811. data/spec/util/url_encode_spec.rb +0 -12
@@ -3,6 +3,8 @@
3
3
  # \ / _ _ _| _ _
4
4
  # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
5
  # / /
6
+ #
7
+ # frozen_string_literal: true
6
8
 
7
9
  module Twilio
8
10
  module REST
@@ -13,8 +15,9 @@ module Twilio
13
15
  ##
14
16
  # Initialize the CallList
15
17
  # @param [Version] version Version that contains the resource
16
- # @param [String] account_sid The unique id of the Account responsible for
17
- # creating this Call
18
+ # @param [String] account_sid The SID of the
19
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Call
20
+ # resource.
18
21
  # @return [CallList] CallList
19
22
  def initialize(version, account_sid: nil)
20
23
  super(version)
@@ -28,66 +31,145 @@ module Twilio
28
31
  end
29
32
 
30
33
  ##
31
- # Retrieve a single page of CallInstance records from the API.
32
- # Request is executed immediately.
33
- # @param [String] to The phone number, SIP address or client identifier to call.
34
+ # Create the CallInstance
35
+ # @param [String] to The phone number, SIP address, or client identifier to call.
34
36
  # @param [String] from The phone number or client identifier to use as the caller
35
- # id. If using a phone number, it must be a Twilio number or a Verified outgoing
36
- # caller id for your account.
37
- # @param [String] method The HTTP method Twilio should use when requesting the
38
- # URL. Defaults to `POST`. If an `ApplicationSid` was provided, this parameter is
39
- # ignored.
40
- # @param [String] fallback_url A URL that Twilio will request if an error occurs
41
- # requesting or executing the TwiML at `Url`. If an `ApplicationSid` was provided,
42
- # this parameter is ignored.
43
- # @param [String] fallback_method The HTTP method that Twilio should use to
44
- # request the `FallbackUrl`. Must be either `GET` or `POST`. Defaults to `POST`.
45
- # If an `ApplicationSid` was provided, this parameter is ignored.
46
- # @param [String] status_callback A URL that Twilio will request when the call
47
- # ends to notify your app. If an `ApplicationSid` was provided, this parameter is
48
- # ignored.
49
- # @param [String] status_callback_event The status_callback_event
50
- # @param [String] status_callback_method The HTTP method that Twilio should use to
51
- # request the `StatusCallback`. Defaults to `POST`. If an `ApplicationSid` was
52
- # provided, this parameter is ignored.
37
+ # id. If using a phone number, it must be a Twilio number or a Verified {outgoing
38
+ # caller id}[https://www.twilio.com/docs/voice/api/outgoing-caller-ids] for your
39
+ # account. If the `to` parameter is a phone number, `From` must also be a phone
40
+ # number.
41
+ # @param [String] method The HTTP method we should use when calling the `url`
42
+ # parameter's value. Can be: `GET` or `POST` and the default is `POST`. If an
43
+ # `application_sid` parameter is present, this parameter is ignored.
44
+ # @param [String] fallback_url The URL that we call using the `fallback_method` if
45
+ # an error occurs when requesting or executing the TwiML at `url`. If an
46
+ # `application_sid` parameter is present, this parameter is ignored.
47
+ # @param [String] fallback_method The HTTP method that we should use to request
48
+ # the `fallback_url`. Can be: `GET` or `POST` and the default is `POST`. If an
49
+ # `application_sid` parameter is present, this parameter is ignored.
50
+ # @param [String] status_callback The URL we should call using the
51
+ # `status_callback_method` to send status information to your application. If no
52
+ # `status_callback_event` is specified, we will send the `completed` status. If an
53
+ # `application_sid` parameter is present, this parameter is ignored. URLs must
54
+ # contain a valid hostname (underscores are not permitted).
55
+ # @param [Array[String]] status_callback_event The call progress events that we
56
+ # will send to the `status_callback` URL. Can be: `initiated`, `ringing`,
57
+ # `answered`, and `completed`. If no event is specified, we send the `completed`
58
+ # status. If you want to receive multiple events, specify each one in a separate
59
+ # `status_callback_event` parameter. See the code sample for {monitoring call
60
+ # progress}[https://www.twilio.com/docs/voice/api/call-resource?code-sample=code-create-a-call-resource-and-specify-a-statuscallbackevent&code-sdk-version=json].
61
+ # If an `application_sid` is present, this parameter is ignored.
62
+ # @param [String] status_callback_method The HTTP method we should use when
63
+ # calling the `status_callback` URL. Can be: `GET` or `POST` and the default is
64
+ # `POST`. If an `application_sid` parameter is present, this parameter is ignored.
53
65
  # @param [String] send_digits A string of keys to dial after connecting to the
54
- # number. Valid digits in the string include: any digit (`0`-`9`), '`#`', '`*`'
55
- # and '`w`' (to insert a half second pause). For example, if you connected to a
56
- # company phone number, and wanted to pause for one second, dial extension 1234
57
- # and then the pound key, use `ww1234#`.
58
- # @param [String] if_machine Tell Twilio to try and determine if a machine (like
59
- # voicemail) or a human has answered the call. Possible value are `Continue` and
60
- # `Hangup`.
61
- # @param [String] timeout The integer number of seconds that Twilio should allow
62
- # the phone to ring before assuming there is no answer. Default is `60` seconds,
63
- # the maximum is `999` seconds. Note, you could set this to a low value, such as
64
- # `15`, to hangup before reaching an answering machine or voicemail.
65
- # @param [Boolean] record Set this parameter to true to record the entirety of a
66
- # phone call. The RecordingUrl will be sent to the StatusCallback URL. Defaults to
67
- # false.
68
- # @param [String] recording_channels The recording_channels
69
- # @param [String] recording_status_callback The recording_status_callback
70
- # @param [String] recording_status_callback_method The
71
- # recording_status_callback_method
72
- # @param [String] sip_auth_username The sip_auth_username
73
- # @param [String] sip_auth_password The sip_auth_password
74
- # @param [String] machine_detection Twilio will try to detect if a human, fax
75
- # machine or answering machine has answered the call. Possible value are `Enable`
76
- # and `DetectMessageEnd`.
77
- # @param [String] machine_detection_timeout The integer number of miliseconds that
78
- # Twilio should wait while machine_detection is performned before timing out.
79
- # @param [String] url The fully qualified URL that should be consulted when the
80
- # call connects. Just like when you set a URL on a phone number for handling
81
- # inbound calls.
82
- # @param [String] application_sid The 34 character sid of the application Twilio
83
- # should use to handle this phone call. If this parameter is present, Twilio will
84
- # ignore all of the voice URLs passed and use the URLs set on the application.
85
- # @return [CallInstance] Newly created CallInstance
86
- def create(to: nil, from: nil, method: :unset, fallback_url: :unset, fallback_method: :unset, status_callback: :unset, status_callback_event: :unset, status_callback_method: :unset, send_digits: :unset, if_machine: :unset, timeout: :unset, record: :unset, recording_channels: :unset, recording_status_callback: :unset, recording_status_callback_method: :unset, sip_auth_username: :unset, sip_auth_password: :unset, machine_detection: :unset, machine_detection_timeout: :unset, url: :unset, application_sid: :unset)
66
+ # number, maximum of 32 digits. Valid digits in the string include: any digit
67
+ # (`0`-`9`), '`#`', '`*`' and '`w`', to insert a half second pause. For example,
68
+ # if you connected to a company phone number and wanted to pause for one second,
69
+ # and then dial extension 1234 followed by the pound key, the value of this
70
+ # parameter would be `ww1234#`. Remember to URL-encode this string, since the
71
+ # '`#`' character has special meaning in a URL. If both `SendDigits` and
72
+ # `MachineDetection` parameters are provided, then `MachineDetection` will be
73
+ # ignored.
74
+ # @param [String] timeout The integer number of seconds that we should allow the
75
+ # phone to ring before assuming there is no answer. The default is `60` seconds
76
+ # and the maximum is `600` seconds. For some call flows, we will add a 5-second
77
+ # buffer to the timeout value you provide. For this reason, a timeout value of 10
78
+ # seconds could result in an actual timeout closer to 15 seconds. You can set this
79
+ # to a short time, such as `15` seconds, to hang up before reaching an answering
80
+ # machine or voicemail.
81
+ # @param [Boolean] record Whether to record the call. Can be `true` to record the
82
+ # phone call, or `false` to not. The default is `false`. The `recording_url` is
83
+ # sent to the `status_callback` URL.
84
+ # @param [String] recording_channels The number of channels in the final
85
+ # recording. Can be: `mono` or `dual`. The default is `mono`. `mono` records both
86
+ # legs of the call in a single channel of the recording file. `dual` records each
87
+ # leg to a separate channel of the recording file. The first channel of a
88
+ # dual-channel recording contains the parent call and the second channel contains
89
+ # the child call.
90
+ # @param [String] recording_status_callback The URL that we call when the
91
+ # recording is available to be accessed.
92
+ # @param [String] recording_status_callback_method The HTTP method we should use
93
+ # when calling the `recording_status_callback` URL. Can be: `GET` or `POST` and
94
+ # the default is `POST`.
95
+ # @param [String] sip_auth_username The username used to authenticate the caller
96
+ # making a SIP call.
97
+ # @param [String] sip_auth_password The password required to authenticate the user
98
+ # account specified in `sip_auth_username`.
99
+ # @param [String] machine_detection Whether to detect if a human, answering
100
+ # machine, or fax has picked up the call. Can be: `Enable` or `DetectMessageEnd`.
101
+ # Use `Enable` if you would like us to return `AnsweredBy` as soon as the called
102
+ # party is identified. Use `DetectMessageEnd`, if you would like to leave a
103
+ # message on an answering machine. If `send_digits` is provided, this parameter is
104
+ # ignored. For more information, see {Answering Machine
105
+ # Detection}[https://www.twilio.com/docs/voice/answering-machine-detection].
106
+ # @param [String] machine_detection_timeout The number of seconds that we should
107
+ # attempt to detect an answering machine before timing out and sending a voice
108
+ # request with `AnsweredBy` of `unknown`. The default timeout is 30 seconds.
109
+ # @param [Array[String]] recording_status_callback_event The recording status
110
+ # events that will trigger calls to the URL specified in
111
+ # `recording_status_callback`. Can be: `in-progress`, `completed` and `absent`.
112
+ # Defaults to `completed`. Separate multiple values with a space.
113
+ # @param [String] trim Whether to trim any leading and trailing silence from the
114
+ # recording. Can be: `trim-silence` or `do-not-trim` and the default is
115
+ # `trim-silence`.
116
+ # @param [String] caller_id The phone number, SIP address, or Client identifier
117
+ # that made this call. Phone numbers are in {E.164
118
+ # format}[https://wwnw.twilio.com/docs/glossary/what-e164] (e.g., +16175551212).
119
+ # SIP addresses are formatted as `name@company.com`.
120
+ # @param [String] machine_detection_speech_threshold The number of milliseconds
121
+ # that is used as the measuring stick for the length of the speech activity, where
122
+ # durations lower than this value will be interpreted as a human and longer than
123
+ # this value as a machine. Possible Values: 1000-6000. Default: 2400.
124
+ # @param [String] machine_detection_speech_end_threshold The number of
125
+ # milliseconds of silence after speech activity at which point the speech activity
126
+ # is considered complete. Possible Values: 500-5000. Default: 1200.
127
+ # @param [String] machine_detection_silence_timeout The number of milliseconds of
128
+ # initial silence after which an `unknown` AnsweredBy result will be returned.
129
+ # Possible Values: 2000-10000. Default: 5000.
130
+ # @param [String] async_amd Select whether to perform answering machine detection
131
+ # in the background. Default, blocks the execution of the call until Answering
132
+ # Machine Detection is completed. Can be: `true` or `false`.
133
+ # @param [String] async_amd_status_callback The URL that we should call using the
134
+ # `async_amd_status_callback_method` to notify customer application whether the
135
+ # call was answered by human, machine or fax.
136
+ # @param [String] async_amd_status_callback_method The HTTP method we should use
137
+ # when calling the `async_amd_status_callback` URL. Can be: `GET` or `POST` and
138
+ # the default is `POST`.
139
+ # @param [String] byoc The SID of a BYOC (Bring Your Own Carrier) trunk to route
140
+ # this call with. Note that `byoc` is only meaningful when `to` is a phone number;
141
+ # it will otherwise be ignored. (Beta)
142
+ # @param [String] call_reason The Reason for the outgoing call. Use it to specify
143
+ # the purpose of the call that is presented on the called party's phone. (Branded
144
+ # Calls Beta)
145
+ # @param [String] call_token A token string needed to invoke a forwarded call. A
146
+ # call_token is generated when an incoming call is received on a Twilio number.
147
+ # this field should be populated by the incoming call's call_token to make this
148
+ # outgoing call as a forwarded call of incoming call. A forwarded call should bear
149
+ # the same caller-id of incoming call.
150
+ # @param [String] recording_track The audio track to record for the call. Can be:
151
+ # `inbound`, `outbound` or `both`. The default is `both`. `inbound` records the
152
+ # audio that is received by Twilio. `outbound` records the audio that is generated
153
+ # from Twilio. `both` records the audio that is received and generated by Twilio.
154
+ # @param [String] time_limit The maximum duration of the call in seconds.
155
+ # Constraints depend on account and configuration.
156
+ # @param [String] url The absolute URL that returns the TwiML instructions for the
157
+ # call. We will call this URL using the `method` when the call connects. For more
158
+ # information, see the {Url
159
+ # Parameter}[https://www.twilio.com/docs/voice/make-calls#specify-a-url-parameter]
160
+ # section in {Making Calls}[https://www.twilio.com/docs/voice/make-calls].
161
+ # @param [String] twiml TwiML instructions for the call Twilio will use without
162
+ # fetching Twiml from url parameter. If both `twiml` and `url` are provided then
163
+ # `twiml` parameter will be ignored.
164
+ # @param [String] application_sid The SID of the Application resource that will
165
+ # handle the call, if the call will be handled by an application.
166
+ # @return [CallInstance] Created CallInstance
167
+ def create(to: nil, from: nil, method: :unset, fallback_url: :unset, fallback_method: :unset, status_callback: :unset, status_callback_event: :unset, status_callback_method: :unset, send_digits: :unset, timeout: :unset, record: :unset, recording_channels: :unset, recording_status_callback: :unset, recording_status_callback_method: :unset, sip_auth_username: :unset, sip_auth_password: :unset, machine_detection: :unset, machine_detection_timeout: :unset, recording_status_callback_event: :unset, trim: :unset, caller_id: :unset, machine_detection_speech_threshold: :unset, machine_detection_speech_end_threshold: :unset, machine_detection_silence_timeout: :unset, async_amd: :unset, async_amd_status_callback: :unset, async_amd_status_callback_method: :unset, byoc: :unset, call_reason: :unset, call_token: :unset, recording_track: :unset, time_limit: :unset, url: :unset, twiml: :unset, application_sid: :unset)
87
168
  data = Twilio::Values.of({
88
169
  'To' => to,
89
170
  'From' => from,
90
171
  'Url' => url,
172
+ 'Twiml' => twiml,
91
173
  'ApplicationSid' => application_sid,
92
174
  'Method' => method,
93
175
  'FallbackUrl' => fallback_url,
@@ -96,7 +178,6 @@ module Twilio
96
178
  'StatusCallbackEvent' => Twilio.serialize_list(status_callback_event) { |e| e },
97
179
  'StatusCallbackMethod' => status_callback_method,
98
180
  'SendDigits' => send_digits,
99
- 'IfMachine' => if_machine,
100
181
  'Timeout' => timeout,
101
182
  'Record' => record,
102
183
  'RecordingChannels' => recording_channels,
@@ -106,32 +187,46 @@ module Twilio
106
187
  'SipAuthPassword' => sip_auth_password,
107
188
  'MachineDetection' => machine_detection,
108
189
  'MachineDetectionTimeout' => machine_detection_timeout,
190
+ 'RecordingStatusCallbackEvent' => Twilio.serialize_list(recording_status_callback_event) { |e| e },
191
+ 'Trim' => trim,
192
+ 'CallerId' => caller_id,
193
+ 'MachineDetectionSpeechThreshold' => machine_detection_speech_threshold,
194
+ 'MachineDetectionSpeechEndThreshold' => machine_detection_speech_end_threshold,
195
+ 'MachineDetectionSilenceTimeout' => machine_detection_silence_timeout,
196
+ 'AsyncAmd' => async_amd,
197
+ 'AsyncAmdStatusCallback' => async_amd_status_callback,
198
+ 'AsyncAmdStatusCallbackMethod' => async_amd_status_callback_method,
199
+ 'Byoc' => byoc,
200
+ 'CallReason' => call_reason,
201
+ 'CallToken' => call_token,
202
+ 'RecordingTrack' => recording_track,
203
+ 'TimeLimit' => time_limit,
109
204
  })
110
205
 
111
- payload = @version.create(
112
- 'POST',
113
- @uri,
114
- data: data
115
- )
206
+ payload = @version.create('POST', @uri, data: data)
116
207
 
117
- CallInstance.new(@version, payload, account_sid: @solution[:account_sid])
208
+ CallInstance.new(@version, payload, account_sid: @solution[:account_sid], )
118
209
  end
119
210
 
120
211
  ##
121
212
  # Lists CallInstance records from the API as a list.
122
213
  # Unlike stream(), this operation is eager and will load `limit` records into
123
214
  # memory before returning.
124
- # @param [String] to Only show calls to this phone number or Client identifier
125
- # @param [String] from Only show calls from this phone number or Client identifier
126
- # @param [String] parent_call_sid Only show calls spawned by the call with this
127
- # Sid
128
- # @param [feedback_summary.Status] status Only show calls currently in this status
129
- # @param [Time] start_time_before StartTime to filter on
130
- # @param [Time] start_time StartTime to filter on
131
- # @param [Time] start_time_after StartTime to filter on
132
- # @param [Time] end_time_before EndTime to filter on
133
- # @param [Time] end_time EndTime to filter on
134
- # @param [Time] end_time_after EndTime to filter on
215
+ # @param [String] to Only show calls made to this phone number, SIP address,
216
+ # Client identifier or SIM SID.
217
+ # @param [String] from Only include calls from this phone number, SIP address,
218
+ # Client identifier or SIM SID.
219
+ # @param [String] parent_call_sid Only include calls spawned by calls with this
220
+ # SID.
221
+ # @param [call.Status] status The status of the calls to include. Can be:
222
+ # `queued`, `ringing`, `in-progress`, `canceled`, `completed`, `failed`, `busy`,
223
+ # or `no-answer`.
224
+ # @param [Time] start_time_before Only include calls that started on this date
225
+ # @param [Time] start_time Only include calls that started on this date
226
+ # @param [Time] start_time_after Only include calls that started on this date
227
+ # @param [Time] end_time_before Only include calls that ended on this date
228
+ # @param [Time] end_time Only include calls that ended on this date
229
+ # @param [Time] end_time_after Only include calls that ended on this date
135
230
  # @param [Integer] limit Upper limit for the number of records to return. stream()
136
231
  # guarantees to never return more than limit. Default is no limit
137
232
  # @param [Integer] page_size Number of records to fetch per request, when
@@ -160,17 +255,21 @@ module Twilio
160
255
  # Streams CallInstance records from the API as an Enumerable.
161
256
  # This operation lazily loads records as efficiently as possible until the limit
162
257
  # is reached.
163
- # @param [String] to Only show calls to this phone number or Client identifier
164
- # @param [String] from Only show calls from this phone number or Client identifier
165
- # @param [String] parent_call_sid Only show calls spawned by the call with this
166
- # Sid
167
- # @param [feedback_summary.Status] status Only show calls currently in this status
168
- # @param [Time] start_time_before StartTime to filter on
169
- # @param [Time] start_time StartTime to filter on
170
- # @param [Time] start_time_after StartTime to filter on
171
- # @param [Time] end_time_before EndTime to filter on
172
- # @param [Time] end_time EndTime to filter on
173
- # @param [Time] end_time_after EndTime to filter on
258
+ # @param [String] to Only show calls made to this phone number, SIP address,
259
+ # Client identifier or SIM SID.
260
+ # @param [String] from Only include calls from this phone number, SIP address,
261
+ # Client identifier or SIM SID.
262
+ # @param [String] parent_call_sid Only include calls spawned by calls with this
263
+ # SID.
264
+ # @param [call.Status] status The status of the calls to include. Can be:
265
+ # `queued`, `ringing`, `in-progress`, `canceled`, `completed`, `failed`, `busy`,
266
+ # or `no-answer`.
267
+ # @param [Time] start_time_before Only include calls that started on this date
268
+ # @param [Time] start_time Only include calls that started on this date
269
+ # @param [Time] start_time_after Only include calls that started on this date
270
+ # @param [Time] end_time_before Only include calls that ended on this date
271
+ # @param [Time] end_time Only include calls that ended on this date
272
+ # @param [Time] end_time_after Only include calls that ended on this date
174
273
  # @param [Integer] limit Upper limit for the number of records to return. stream()
175
274
  # guarantees to never return more than limit. Default is no limit.
176
275
  # @param [Integer] page_size Number of records to fetch per request, when
@@ -205,7 +304,7 @@ module Twilio
205
304
  def each
206
305
  limits = @version.read_limits
207
306
 
208
- page = self.page(page_size: limits[:page_size])
307
+ page = self.page(page_size: limits[:page_size], )
209
308
 
210
309
  @version.stream(page,
211
310
  limit: limits[:limit],
@@ -215,17 +314,21 @@ module Twilio
215
314
  ##
216
315
  # Retrieve a single page of CallInstance records from the API.
217
316
  # Request is executed immediately.
218
- # @param [String] to Only show calls to this phone number or Client identifier
219
- # @param [String] from Only show calls from this phone number or Client identifier
220
- # @param [String] parent_call_sid Only show calls spawned by the call with this
221
- # Sid
222
- # @param [feedback_summary.Status] status Only show calls currently in this status
223
- # @param [Time] start_time_before StartTime to filter on
224
- # @param [Time] start_time StartTime to filter on
225
- # @param [Time] start_time_after StartTime to filter on
226
- # @param [Time] end_time_before EndTime to filter on
227
- # @param [Time] end_time EndTime to filter on
228
- # @param [Time] end_time_after EndTime to filter on
317
+ # @param [String] to Only show calls made to this phone number, SIP address,
318
+ # Client identifier or SIM SID.
319
+ # @param [String] from Only include calls from this phone number, SIP address,
320
+ # Client identifier or SIM SID.
321
+ # @param [String] parent_call_sid Only include calls spawned by calls with this
322
+ # SID.
323
+ # @param [call.Status] status The status of the calls to include. Can be:
324
+ # `queued`, `ringing`, `in-progress`, `canceled`, `completed`, `failed`, `busy`,
325
+ # or `no-answer`.
326
+ # @param [Time] start_time_before Only include calls that started on this date
327
+ # @param [Time] start_time Only include calls that started on this date
328
+ # @param [Time] start_time_after Only include calls that started on this date
329
+ # @param [Time] end_time_before Only include calls that ended on this date
330
+ # @param [Time] end_time Only include calls that ended on this date
331
+ # @param [Time] end_time_after Only include calls that ended on this date
229
332
  # @param [String] page_token PageToken provided by the API
230
333
  # @param [Integer] page_number Page Number, this value is simply for client state
231
334
  # @param [Integer] page_size Number of records to return, defaults to 50
@@ -246,11 +349,9 @@ module Twilio
246
349
  'Page' => page_number,
247
350
  'PageSize' => page_size,
248
351
  })
249
- response = @version.page(
250
- 'GET',
251
- @uri,
252
- params
253
- )
352
+
353
+ response = @version.page('GET', @uri, params: params)
354
+
254
355
  CallPage.new(@version, response, @solution)
255
356
  end
256
357
 
@@ -269,17 +370,18 @@ module Twilio
269
370
 
270
371
  ##
271
372
  # Access the feedback_summaries
272
- # @param [String] sid The sid
373
+ # @param [String] sid A 34 character string that uniquely identifies this
374
+ # resource.
273
375
  # @return [FeedbackSummaryList]
274
376
  # @return [FeedbackSummaryContext] if sid was passed.
275
377
  def feedback_summaries(sid=:unset)
276
378
  raise ArgumentError, 'sid cannot be nil' if sid.nil?
277
379
 
278
380
  if sid != :unset
279
- return FeedbackSummaryContext.new(@version, @solution[:account_sid], sid)
381
+ return FeedbackSummaryContext.new(@version, @solution[:account_sid], sid, )
280
382
  end
281
383
 
282
- @feedback_summaries ||= FeedbackSummaryList.new(@version, account_sid: @solution[:account_sid])
384
+ @feedback_summaries ||= FeedbackSummaryList.new(@version, account_sid: @solution[:account_sid], )
283
385
  end
284
386
 
285
387
  ##
@@ -308,7 +410,7 @@ module Twilio
308
410
  # @param [Hash] payload Payload response from the API
309
411
  # @return [CallInstance] CallInstance
310
412
  def get_instance(payload)
311
- CallInstance.new(@version, payload, account_sid: @solution[:account_sid])
413
+ CallInstance.new(@version, payload, account_sid: @solution[:account_sid], )
312
414
  end
313
415
 
314
416
  ##
@@ -322,64 +424,77 @@ module Twilio
322
424
  ##
323
425
  # Initialize the CallContext
324
426
  # @param [Version] version Version that contains the resource
325
- # @param [String] account_sid The account_sid
326
- # @param [String] sid The Call Sid that uniquely identifies the Call to fetch
427
+ # @param [String] account_sid The SID of the
428
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created the Call
429
+ # resource(s) to fetch.
430
+ # @param [String] sid The SID of the Call resource to fetch.
327
431
  # @return [CallContext] CallContext
328
432
  def initialize(version, account_sid, sid)
329
433
  super(version)
330
434
 
331
435
  # Path Solution
332
- @solution = {account_sid: account_sid, sid: sid}
436
+ @solution = {account_sid: account_sid, sid: sid, }
333
437
  @uri = "/Accounts/#{@solution[:account_sid]}/Calls/#{@solution[:sid]}.json"
334
438
 
335
439
  # Dependents
336
440
  @recordings = nil
337
441
  @notifications = nil
338
442
  @feedback = nil
443
+ @events = nil
444
+ @payments = nil
339
445
  end
340
446
 
341
447
  ##
342
- # Deletes the CallInstance
343
- # @return [Boolean] true if delete succeeds, true otherwise
448
+ # Delete the CallInstance
449
+ # @return [Boolean] true if delete succeeds, false otherwise
344
450
  def delete
345
- @version.delete('delete', @uri)
451
+ @version.delete('DELETE', @uri)
346
452
  end
347
453
 
348
454
  ##
349
- # Fetch a CallInstance
455
+ # Fetch the CallInstance
350
456
  # @return [CallInstance] Fetched CallInstance
351
457
  def fetch
352
- params = Twilio::Values.of({})
458
+ payload = @version.fetch('GET', @uri)
353
459
 
354
- payload = @version.fetch(
355
- 'GET',
356
- @uri,
357
- params,
358
- )
359
-
360
- CallInstance.new(@version, payload, account_sid: @solution[:account_sid], sid: @solution[:sid])
460
+ CallInstance.new(@version, payload, account_sid: @solution[:account_sid], sid: @solution[:sid], )
361
461
  end
362
462
 
363
463
  ##
364
464
  # Update the CallInstance
365
- # @param [String] url A valid URL that returns TwiML. Twilio will immediately
366
- # redirect the call to the new TwiML upon execution.
367
- # @param [String] method The HTTP method Twilio should use when requesting the
368
- # URL. Defaults to `POST`.
369
- # @param [call.UpdateStatus] status Either `canceled` or `completed`. Specifying
370
- # `canceled` will attempt to hangup calls that are queued or ringing but not
371
- # affect calls already in progress. Specifying `completed` will attempt to hang up
372
- # a call even if it's already in progress.
373
- # @param [String] fallback_url A URL that Twilio will request if an error occurs
374
- # requesting or executing the TwiML at `Url`.
375
- # @param [String] fallback_method The HTTP method that Twilio should use to
376
- # request the `FallbackUrl`. Must be either `GET` or `POST`. Defaults to `POST`.
377
- # @param [String] status_callback A URL that Twilio will request when the call
378
- # ends to notify your app.
379
- # @param [String] status_callback_method The HTTP method that Twilio should use to
380
- # request the `StatusCallback`. Defaults to `POST`.
465
+ # @param [String] url The absolute URL that returns the TwiML instructions for the
466
+ # call. We will call this URL using the `method` when the call connects. For more
467
+ # information, see the {Url
468
+ # Parameter}[https://www.twilio.com/docs/voice/make-calls#specify-a-url-parameter]
469
+ # section in {Making Calls}[https://www.twilio.com/docs/voice/make-calls].
470
+ # @param [String] method The HTTP method we should use when calling the `url`. Can
471
+ # be: `GET` or `POST` and the default is `POST`. If an `application_sid` parameter
472
+ # is present, this parameter is ignored.
473
+ # @param [call.UpdateStatus] status The new status of the resource. Can be:
474
+ # `canceled` or `completed`. Specifying `canceled` will attempt to hang up calls
475
+ # that are queued or ringing; however, it will not affect calls already in
476
+ # progress. Specifying `completed` will attempt to hang up a call even if it's
477
+ # already in progress.
478
+ # @param [String] fallback_url The URL that we call using the `fallback_method` if
479
+ # an error occurs when requesting or executing the TwiML at `url`. If an
480
+ # `application_sid` parameter is present, this parameter is ignored.
481
+ # @param [String] fallback_method The HTTP method that we should use to request
482
+ # the `fallback_url`. Can be: `GET` or `POST` and the default is `POST`. If an
483
+ # `application_sid` parameter is present, this parameter is ignored.
484
+ # @param [String] status_callback The URL we should call using the
485
+ # `status_callback_method` to send status information to your application. If no
486
+ # `status_callback_event` is specified, we will send the `completed` status. If an
487
+ # `application_sid` parameter is present, this parameter is ignored. URLs must
488
+ # contain a valid hostname (underscores are not permitted).
489
+ # @param [String] status_callback_method The HTTP method we should use when
490
+ # requesting the `status_callback` URL. Can be: `GET` or `POST` and the default is
491
+ # `POST`. If an `application_sid` parameter is present, this parameter is ignored.
492
+ # @param [String] twiml TwiML instructions for the call Twilio will use without
493
+ # fetching Twiml from url. Twiml and url parameters are mutually exclusive
494
+ # @param [String] time_limit The maximum duration of the call in seconds.
495
+ # Constraints depend on account and configuration.
381
496
  # @return [CallInstance] Updated CallInstance
382
- def update(url: :unset, method: :unset, status: :unset, fallback_url: :unset, fallback_method: :unset, status_callback: :unset, status_callback_method: :unset)
497
+ def update(url: :unset, method: :unset, status: :unset, fallback_url: :unset, fallback_method: :unset, status_callback: :unset, status_callback_method: :unset, twiml: :unset, time_limit: :unset)
383
498
  data = Twilio::Values.of({
384
499
  'Url' => url,
385
500
  'Method' => method,
@@ -388,15 +503,13 @@ module Twilio
388
503
  'FallbackMethod' => fallback_method,
389
504
  'StatusCallback' => status_callback,
390
505
  'StatusCallbackMethod' => status_callback_method,
506
+ 'Twiml' => twiml,
507
+ 'TimeLimit' => time_limit,
391
508
  })
392
509
 
393
- payload = @version.update(
394
- 'POST',
395
- @uri,
396
- data: data,
397
- )
510
+ payload = @version.update('POST', @uri, data: data)
398
511
 
399
- CallInstance.new(@version, payload, account_sid: @solution[:account_sid], sid: @solution[:sid])
512
+ CallInstance.new(@version, payload, account_sid: @solution[:account_sid], sid: @solution[:sid], )
400
513
  end
401
514
 
402
515
  ##
@@ -407,7 +520,7 @@ module Twilio
407
520
  raise ArgumentError, 'sid cannot be nil' if sid.nil?
408
521
 
409
522
  if sid != :unset
410
- return RecordingContext.new(@version, @solution[:account_sid], @solution[:sid], sid)
523
+ return RecordingContext.new(@version, @solution[:account_sid], @solution[:sid], sid, )
411
524
  end
412
525
 
413
526
  unless @recordings
@@ -429,7 +542,7 @@ module Twilio
429
542
  raise ArgumentError, 'sid cannot be nil' if sid.nil?
430
543
 
431
544
  if sid != :unset
432
- return NotificationContext.new(@version, @solution[:account_sid], @solution[:sid], sid)
545
+ return NotificationContext.new(@version, @solution[:account_sid], @solution[:sid], sid, )
433
546
  end
434
547
 
435
548
  unless @notifications
@@ -448,7 +561,41 @@ module Twilio
448
561
  # @return [FeedbackList]
449
562
  # @return [FeedbackContext]
450
563
  def feedback
451
- FeedbackContext.new(@version, @solution[:account_sid], @solution[:sid])
564
+ FeedbackContext.new(@version, @solution[:account_sid], @solution[:sid], )
565
+ end
566
+
567
+ ##
568
+ # Access the events
569
+ # @return [EventList]
570
+ # @return [EventContext]
571
+ def events
572
+ unless @events
573
+ @events = EventList.new(@version, account_sid: @solution[:account_sid], call_sid: @solution[:sid], )
574
+ end
575
+
576
+ @events
577
+ end
578
+
579
+ ##
580
+ # Access the payments
581
+ # @return [PaymentList]
582
+ # @return [PaymentContext] if sid was passed.
583
+ def payments(sid=:unset)
584
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
585
+
586
+ if sid != :unset
587
+ return PaymentContext.new(@version, @solution[:account_sid], @solution[:sid], sid, )
588
+ end
589
+
590
+ unless @payments
591
+ @payments = PaymentList.new(
592
+ @version,
593
+ account_sid: @solution[:account_sid],
594
+ call_sid: @solution[:sid],
595
+ )
596
+ end
597
+
598
+ @payments
452
599
  end
453
600
 
454
601
  ##
@@ -457,6 +604,13 @@ module Twilio
457
604
  context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
458
605
  "#<Twilio.Api.V2010.CallContext #{context}>"
459
606
  end
607
+
608
+ ##
609
+ # Provide a detailed, user friendly representation
610
+ def inspect
611
+ context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
612
+ "#<Twilio.Api.V2010.CallContext #{context}>"
613
+ end
460
614
  end
461
615
 
462
616
  class CallInstance < InstanceResource
@@ -464,45 +618,48 @@ module Twilio
464
618
  # Initialize the CallInstance
465
619
  # @param [Version] version Version that contains the resource
466
620
  # @param [Hash] payload payload that contains response from Twilio
467
- # @param [String] account_sid The unique id of the Account responsible for
468
- # creating this Call
469
- # @param [String] sid The Call Sid that uniquely identifies the Call to fetch
621
+ # @param [String] account_sid The SID of the
622
+ # {Account}[https://www.twilio.com/docs/iam/api/account] that created this Call
623
+ # resource.
624
+ # @param [String] sid The SID of the Call resource to fetch.
470
625
  # @return [CallInstance] CallInstance
471
626
  def initialize(version, payload, account_sid: nil, sid: nil)
472
627
  super(version)
473
628
 
474
629
  # Marshaled Properties
475
630
  @properties = {
476
- 'account_sid' => payload['account_sid'],
477
- 'annotation' => payload['annotation'],
478
- 'answered_by' => payload['answered_by'],
479
- 'api_version' => payload['api_version'],
480
- 'caller_name' => payload['caller_name'],
631
+ 'sid' => payload['sid'],
481
632
  'date_created' => Twilio.deserialize_rfc2822(payload['date_created']),
482
633
  'date_updated' => Twilio.deserialize_rfc2822(payload['date_updated']),
483
- 'direction' => payload['direction'],
484
- 'duration' => payload['duration'],
485
- 'end_time' => Twilio.deserialize_rfc2822(payload['end_time']),
486
- 'forwarded_from' => payload['forwarded_from'],
634
+ 'parent_call_sid' => payload['parent_call_sid'],
635
+ 'account_sid' => payload['account_sid'],
636
+ 'to' => payload['to'],
637
+ 'to_formatted' => payload['to_formatted'],
487
638
  'from' => payload['from'],
488
639
  'from_formatted' => payload['from_formatted'],
489
- 'group_sid' => payload['group_sid'],
490
- 'parent_call_sid' => payload['parent_call_sid'],
491
640
  'phone_number_sid' => payload['phone_number_sid'],
492
- 'price' => payload['price'].to_f,
493
- 'price_unit' => payload['price_unit'],
494
- 'sid' => payload['sid'],
495
- 'start_time' => Twilio.deserialize_rfc2822(payload['start_time']),
496
641
  'status' => payload['status'],
497
- 'subresource_uris' => payload['subresource_uris'],
498
- 'to' => payload['to'],
499
- 'to_formatted' => payload['to_formatted'],
642
+ 'start_time' => Twilio.deserialize_rfc2822(payload['start_time']),
643
+ 'end_time' => Twilio.deserialize_rfc2822(payload['end_time']),
644
+ 'duration' => payload['duration'],
645
+ 'price' => payload['price'],
646
+ 'price_unit' => payload['price_unit'],
647
+ 'direction' => payload['direction'],
648
+ 'answered_by' => payload['answered_by'],
649
+ 'annotation' => payload['annotation'],
650
+ 'api_version' => payload['api_version'],
651
+ 'forwarded_from' => payload['forwarded_from'],
652
+ 'group_sid' => payload['group_sid'],
653
+ 'caller_name' => payload['caller_name'],
654
+ 'queue_time' => payload['queue_time'],
655
+ 'trunk_sid' => payload['trunk_sid'],
500
656
  'uri' => payload['uri'],
657
+ 'subresource_uris' => payload['subresource_uris'],
501
658
  }
502
659
 
503
660
  # Context
504
661
  @instance_context = nil
505
- @params = {'account_sid' => account_sid, 'sid' => sid || @properties['sid']}
662
+ @params = {'account_sid' => account_sid, 'sid' => sid || @properties['sid'], }
506
663
  end
507
664
 
508
665
  ##
@@ -511,105 +668,93 @@ module Twilio
511
668
  # @return [CallContext] CallContext for this CallInstance
512
669
  def context
513
670
  unless @instance_context
514
- @instance_context = CallContext.new(@version, @params['account_sid'], @params['sid'])
671
+ @instance_context = CallContext.new(@version, @params['account_sid'], @params['sid'], )
515
672
  end
516
673
  @instance_context
517
674
  end
518
675
 
519
676
  ##
520
- # @return [String] The unique id of the Account responsible for creating this Call
521
- def account_sid
522
- @properties['account_sid']
523
- end
524
-
525
- ##
526
- # @return [String] The annotation provided for the Call
527
- def annotation
528
- @properties['annotation']
529
- end
530
-
531
- ##
532
- # @return [String] If this call was initiated with answering machine detection, either `human` or `machine`. Empty otherwise.
533
- def answered_by
534
- @properties['answered_by']
535
- end
536
-
537
- ##
538
- # @return [String] The API Version the Call was created through
539
- def api_version
540
- @properties['api_version']
541
- end
542
-
543
- ##
544
- # @return [String] If this call was an incoming call to a phone number with Caller ID Lookup enabled, the caller's name. Empty otherwise.
545
- def caller_name
546
- @properties['caller_name']
677
+ # @return [String] The unique string that identifies this resource
678
+ def sid
679
+ @properties['sid']
547
680
  end
548
681
 
549
682
  ##
550
- # @return [Time] The date that this resource was created
683
+ # @return [Time] The RFC 2822 date and time in GMT that this resource was created
551
684
  def date_created
552
685
  @properties['date_created']
553
686
  end
554
687
 
555
688
  ##
556
- # @return [Time] The date that this resource was last updated
689
+ # @return [Time] The RFC 2822 date and time in GMT that this resource was last updated
557
690
  def date_updated
558
691
  @properties['date_updated']
559
692
  end
560
693
 
561
694
  ##
562
- # @return [String] A string describing the direction of the call. `inbound` for inbound calls, `outbound-api` for calls initiated via the REST API or `outbound-dial` for calls initiated by a `Dial` verb.
563
- def direction
564
- @properties['direction']
695
+ # @return [String] The SID that identifies the call that created this leg.
696
+ def parent_call_sid
697
+ @properties['parent_call_sid']
565
698
  end
566
699
 
567
700
  ##
568
- # @return [String] The duration
569
- def duration
570
- @properties['duration']
701
+ # @return [String] The SID of the Account that created this resource
702
+ def account_sid
703
+ @properties['account_sid']
571
704
  end
572
705
 
573
706
  ##
574
- # @return [Time] The end time of the Call. Null if the call did not complete successfully.
575
- def end_time
576
- @properties['end_time']
707
+ # @return [String] The phone number, SIP address or Client identifier that received this call. Phone numbers are in E.164 format (e.g., +16175551212). SIP addresses are formatted as `name@company.com`. Client identifiers are formatted `client:name`.
708
+ def to
709
+ @properties['to']
577
710
  end
578
711
 
579
712
  ##
580
- # @return [String] If this Call was an incoming call forwarded from another number, the forwarding phone number (depends on carrier supporting forwarding). Empty otherwise.
581
- def forwarded_from
582
- @properties['forwarded_from']
713
+ # @return [String] The phone number, SIP address or Client identifier that received this call. Formatted for display.
714
+ def to_formatted
715
+ @properties['to_formatted']
583
716
  end
584
717
 
585
718
  ##
586
- # @return [String] The phone number, SIP address or Client identifier that made this Call. Phone numbers are in E.164 format (e.g. +16175551212). SIP addresses are formatted as `name@company.com`. Client identifiers are formatted `client:name`.
719
+ # @return [String] The phone number, SIP address or Client identifier that made this call. Phone numbers are in E.164 format (e.g., +16175551212). SIP addresses are formatted as `name@company.com`. Client identifiers are formatted `client:name`.
587
720
  def from
588
721
  @properties['from']
589
722
  end
590
723
 
591
724
  ##
592
- # @return [String] The phone number, SIP address or Client identifier that made this Call. Formatted for display.
725
+ # @return [String] The calling phone number, SIP address, or Client identifier formatted for display.
593
726
  def from_formatted
594
727
  @properties['from_formatted']
595
728
  end
596
729
 
597
730
  ##
598
- # @return [String] A 34 character Group Sid associated with this Call. Empty if no Group is associated with the Call.
599
- def group_sid
600
- @properties['group_sid']
731
+ # @return [String] If the call was inbound, this is the SID of the IncomingPhoneNumber resource that received the call. If the call was outbound, it is the SID of the OutgoingCallerId resource from which the call was placed.
732
+ def phone_number_sid
733
+ @properties['phone_number_sid']
601
734
  end
602
735
 
603
736
  ##
604
- # @return [String] A 34 character string that uniquely identifies the Call that created this leg.
605
- def parent_call_sid
606
- @properties['parent_call_sid']
737
+ # @return [call.Status] The status of this call.
738
+ def status
739
+ @properties['status']
607
740
  end
608
741
 
609
742
  ##
610
- # @return [String] If the call was inbound, this is the Sid of the IncomingPhoneNumber that received the call. If the call was outbound, it is the Sid of the OutgoingCallerId from which the call was placed.
611
- def phone_number_sid
612
- @properties['phone_number_sid']
743
+ # @return [Time] The start time of the call. Null if the call has not yet been dialed.
744
+ def start_time
745
+ @properties['start_time']
746
+ end
747
+
748
+ ##
749
+ # @return [Time] The end time of the call. Null if the call did not complete successfully.
750
+ def end_time
751
+ @properties['end_time']
752
+ end
753
+
754
+ ##
755
+ # @return [String] The length of the call in seconds.
756
+ def duration
757
+ @properties['duration']
613
758
  end
614
759
 
615
760
  ##
@@ -625,56 +770,80 @@ module Twilio
625
770
  end
626
771
 
627
772
  ##
628
- # @return [String] A 34 character string that uniquely identifies this resource.
629
- def sid
630
- @properties['sid']
773
+ # @return [String] A string describing the direction of the call. `inbound` for inbound calls, `outbound-api` for calls initiated via the REST API or `outbound-dial` for calls initiated by a `Dial` verb.
774
+ def direction
775
+ @properties['direction']
631
776
  end
632
777
 
633
778
  ##
634
- # @return [Time] The start time of the Call. Null if the call has not yet been dialed.
635
- def start_time
636
- @properties['start_time']
779
+ # @return [String] Either `human` or `machine` if this call was initiated with answering machine detection. Empty otherwise.
780
+ def answered_by
781
+ @properties['answered_by']
637
782
  end
638
783
 
639
784
  ##
640
- # @return [recording.Status] The status
641
- def status
642
- @properties['status']
785
+ # @return [String] The annotation provided for the call
786
+ def annotation
787
+ @properties['annotation']
643
788
  end
644
789
 
645
790
  ##
646
- # @return [String] Call Instance Subresources
647
- def subresource_uris
648
- @properties['subresource_uris']
791
+ # @return [String] The API Version used to create the call
792
+ def api_version
793
+ @properties['api_version']
649
794
  end
650
795
 
651
796
  ##
652
- # @return [String] The phone number, SIP address or Client identifier that received this Call. Phone numbers are in E.164 format (e.g. +16175551212). SIP addresses are formatted as `name@company.com`. Client identifiers are formatted `client:name`.
653
- def to
654
- @properties['to']
797
+ # @return [String] The forwarding phone number if this call was an incoming call forwarded from another number (depends on carrier supporting forwarding). Otherwise, empty.
798
+ def forwarded_from
799
+ @properties['forwarded_from']
655
800
  end
656
801
 
657
802
  ##
658
- # @return [String] The phone number, SIP address or Client identifier that received this Call. Formatted for display.
659
- def to_formatted
660
- @properties['to_formatted']
803
+ # @return [String] The Group SID associated with this call. If no Group is associated with the call, the field is empty.
804
+ def group_sid
805
+ @properties['group_sid']
806
+ end
807
+
808
+ ##
809
+ # @return [String] The caller's name if this call was an incoming call to a phone number with caller ID Lookup enabled. Otherwise, empty.
810
+ def caller_name
811
+ @properties['caller_name']
812
+ end
813
+
814
+ ##
815
+ # @return [String] The wait time in milliseconds before the call is placed.
816
+ def queue_time
817
+ @properties['queue_time']
818
+ end
819
+
820
+ ##
821
+ # @return [String] The (optional) unique identifier of the trunk resource that was used for this call.
822
+ def trunk_sid
823
+ @properties['trunk_sid']
661
824
  end
662
825
 
663
826
  ##
664
- # @return [String] The URI for this resource, relative to `https://api.twilio.com`
827
+ # @return [String] The URI of this resource, relative to `https://api.twilio.com`
665
828
  def uri
666
829
  @properties['uri']
667
830
  end
668
831
 
669
832
  ##
670
- # Deletes the CallInstance
671
- # @return [Boolean] true if delete succeeds, true otherwise
833
+ # @return [String] A list of related subresources identified by their relative URIs
834
+ def subresource_uris
835
+ @properties['subresource_uris']
836
+ end
837
+
838
+ ##
839
+ # Delete the CallInstance
840
+ # @return [Boolean] true if delete succeeds, false otherwise
672
841
  def delete
673
842
  context.delete
674
843
  end
675
844
 
676
845
  ##
677
- # Fetch a CallInstance
846
+ # Fetch the CallInstance
678
847
  # @return [CallInstance] Fetched CallInstance
679
848
  def fetch
680
849
  context.fetch
@@ -682,24 +851,39 @@ module Twilio
682
851
 
683
852
  ##
684
853
  # Update the CallInstance
685
- # @param [String] url A valid URL that returns TwiML. Twilio will immediately
686
- # redirect the call to the new TwiML upon execution.
687
- # @param [String] method The HTTP method Twilio should use when requesting the
688
- # URL. Defaults to `POST`.
689
- # @param [call.UpdateStatus] status Either `canceled` or `completed`. Specifying
690
- # `canceled` will attempt to hangup calls that are queued or ringing but not
691
- # affect calls already in progress. Specifying `completed` will attempt to hang up
692
- # a call even if it's already in progress.
693
- # @param [String] fallback_url A URL that Twilio will request if an error occurs
694
- # requesting or executing the TwiML at `Url`.
695
- # @param [String] fallback_method The HTTP method that Twilio should use to
696
- # request the `FallbackUrl`. Must be either `GET` or `POST`. Defaults to `POST`.
697
- # @param [String] status_callback A URL that Twilio will request when the call
698
- # ends to notify your app.
699
- # @param [String] status_callback_method The HTTP method that Twilio should use to
700
- # request the `StatusCallback`. Defaults to `POST`.
854
+ # @param [String] url The absolute URL that returns the TwiML instructions for the
855
+ # call. We will call this URL using the `method` when the call connects. For more
856
+ # information, see the {Url
857
+ # Parameter}[https://www.twilio.com/docs/voice/make-calls#specify-a-url-parameter]
858
+ # section in {Making Calls}[https://www.twilio.com/docs/voice/make-calls].
859
+ # @param [String] method The HTTP method we should use when calling the `url`. Can
860
+ # be: `GET` or `POST` and the default is `POST`. If an `application_sid` parameter
861
+ # is present, this parameter is ignored.
862
+ # @param [call.UpdateStatus] status The new status of the resource. Can be:
863
+ # `canceled` or `completed`. Specifying `canceled` will attempt to hang up calls
864
+ # that are queued or ringing; however, it will not affect calls already in
865
+ # progress. Specifying `completed` will attempt to hang up a call even if it's
866
+ # already in progress.
867
+ # @param [String] fallback_url The URL that we call using the `fallback_method` if
868
+ # an error occurs when requesting or executing the TwiML at `url`. If an
869
+ # `application_sid` parameter is present, this parameter is ignored.
870
+ # @param [String] fallback_method The HTTP method that we should use to request
871
+ # the `fallback_url`. Can be: `GET` or `POST` and the default is `POST`. If an
872
+ # `application_sid` parameter is present, this parameter is ignored.
873
+ # @param [String] status_callback The URL we should call using the
874
+ # `status_callback_method` to send status information to your application. If no
875
+ # `status_callback_event` is specified, we will send the `completed` status. If an
876
+ # `application_sid` parameter is present, this parameter is ignored. URLs must
877
+ # contain a valid hostname (underscores are not permitted).
878
+ # @param [String] status_callback_method The HTTP method we should use when
879
+ # requesting the `status_callback` URL. Can be: `GET` or `POST` and the default is
880
+ # `POST`. If an `application_sid` parameter is present, this parameter is ignored.
881
+ # @param [String] twiml TwiML instructions for the call Twilio will use without
882
+ # fetching Twiml from url. Twiml and url parameters are mutually exclusive
883
+ # @param [String] time_limit The maximum duration of the call in seconds.
884
+ # Constraints depend on account and configuration.
701
885
  # @return [CallInstance] Updated CallInstance
702
- def update(url: :unset, method: :unset, status: :unset, fallback_url: :unset, fallback_method: :unset, status_callback: :unset, status_callback_method: :unset)
886
+ def update(url: :unset, method: :unset, status: :unset, fallback_url: :unset, fallback_method: :unset, status_callback: :unset, status_callback_method: :unset, twiml: :unset, time_limit: :unset)
703
887
  context.update(
704
888
  url: url,
705
889
  method: method,
@@ -708,6 +892,8 @@ module Twilio
708
892
  fallback_method: fallback_method,
709
893
  status_callback: status_callback,
710
894
  status_callback_method: status_callback_method,
895
+ twiml: twiml,
896
+ time_limit: time_limit,
711
897
  )
712
898
  end
713
899
 
@@ -732,6 +918,20 @@ module Twilio
732
918
  context.feedback
733
919
  end
734
920
 
921
+ ##
922
+ # Access the events
923
+ # @return [events] events
924
+ def events
925
+ context.events
926
+ end
927
+
928
+ ##
929
+ # Access the payments
930
+ # @return [payments] payments
931
+ def payments
932
+ context.payments
933
+ end
934
+
735
935
  ##
736
936
  # Provide a user friendly representation
737
937
  def to_s