twilio-ruby 5.42.0 → 5.46.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -0
  3. data/CHANGES.md +95 -0
  4. data/LICENSE +1 -1
  5. data/README.md +18 -2
  6. data/lib/twilio-ruby.rb +1 -1
  7. data/lib/twilio-ruby/rest/api/v2010/account/authorized_connect_app.rb +1 -1
  8. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +34 -9
  9. data/lib/twilio-ruby/rest/api/v2010/account/call/event.rb +201 -0
  10. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +13 -13
  11. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +1 -1
  12. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +17 -5
  13. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +17 -12
  14. data/lib/twilio-ruby/rest/api/v2010/account/connect_app.rb +3 -3
  15. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +5 -5
  16. data/lib/twilio-ruby/rest/api/v2010/account/sip/domain.rb +6 -3
  17. data/lib/twilio-ruby/rest/api/v2010/account/token.rb +1 -1
  18. data/lib/twilio-ruby/rest/bulkexports.rb +4 -2
  19. data/lib/twilio-ruby/rest/bulkexports/v1.rb +4 -2
  20. data/lib/twilio-ruby/rest/bulkexports/v1/export.rb +7 -4
  21. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +7 -4
  22. data/lib/twilio-ruby/rest/bulkexports/v1/export/export_custom_job.rb +5 -3
  23. data/lib/twilio-ruby/rest/bulkexports/v1/export/job.rb +5 -3
  24. data/lib/twilio-ruby/rest/bulkexports/v1/export_configuration.rb +5 -3
  25. data/lib/twilio-ruby/rest/chat/v1/service.rb +5 -5
  26. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +6 -6
  27. data/lib/twilio-ruby/rest/chat/v1/service/channel/invite.rb +3 -3
  28. data/lib/twilio-ruby/rest/chat/v1/service/channel/member.rb +3 -3
  29. data/lib/twilio-ruby/rest/chat/v1/service/role.rb +9 -9
  30. data/lib/twilio-ruby/rest/chat/v2/service.rb +5 -5
  31. data/lib/twilio-ruby/rest/chat/v2/service/binding.rb +7 -7
  32. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +6 -6
  33. data/lib/twilio-ruby/rest/chat/v2/service/channel/invite.rb +3 -3
  34. data/lib/twilio-ruby/rest/chat/v2/service/channel/member.rb +3 -3
  35. data/lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb +27 -24
  36. data/lib/twilio-ruby/rest/chat/v2/service/role.rb +9 -9
  37. data/lib/twilio-ruby/rest/chat/v2/service/user/user_binding.rb +10 -10
  38. data/lib/twilio-ruby/rest/client.rb +29 -3
  39. data/lib/twilio-ruby/rest/conversations/v1/configuration/webhook.rb +9 -9
  40. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +1 -1
  41. data/lib/twilio-ruby/rest/conversations/v1/conversation/participant.rb +32 -2
  42. data/lib/twilio-ruby/rest/conversations/v1/conversation/webhook.rb +9 -9
  43. data/lib/twilio-ruby/rest/conversations/v1/role.rb +9 -9
  44. data/lib/twilio-ruby/rest/conversations/v1/service/binding.rb +7 -7
  45. data/lib/twilio-ruby/rest/conversations/v1/service/configuration.rb +17 -2
  46. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +1 -1
  47. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/participant.rb +32 -2
  48. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/webhook.rb +9 -9
  49. data/lib/twilio-ruby/rest/conversations/v1/service/role.rb +9 -9
  50. data/lib/twilio-ruby/rest/conversations/v1/service/user.rb +8 -1
  51. data/lib/twilio-ruby/rest/conversations/v1/user.rb +8 -1
  52. data/lib/twilio-ruby/rest/events/v1/sink.rb +2 -1
  53. data/lib/twilio-ruby/rest/events/v1/subscription.rb +14 -7
  54. data/lib/twilio-ruby/rest/flex_api.rb +1 -1
  55. data/lib/twilio-ruby/rest/flex_api/v1.rb +1 -1
  56. data/lib/twilio-ruby/rest/flex_api/v1/channel.rb +5 -5
  57. data/lib/twilio-ruby/rest/flex_api/v1/configuration.rb +4 -4
  58. data/lib/twilio-ruby/rest/flex_api/v1/flex_flow.rb +88 -76
  59. data/lib/twilio-ruby/rest/flex_api/v1/web_channel.rb +2 -2
  60. data/lib/twilio-ruby/rest/insights/v1/call/summary.rb +8 -9
  61. data/lib/twilio-ruby/rest/insights/v1/room.rb +7 -7
  62. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +2 -9
  63. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +3 -3
  64. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +3 -3
  65. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/invite.rb +3 -3
  66. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/member.rb +3 -3
  67. data/lib/twilio-ruby/rest/ip_messaging/v1/service/role.rb +4 -4
  68. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +3 -3
  69. data/lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb +7 -7
  70. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +3 -3
  71. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb +3 -3
  72. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb +3 -3
  73. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb +6 -6
  74. data/lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb +4 -4
  75. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb +4 -4
  76. data/lib/twilio-ruby/rest/lookups/v1/phone_number.rb +16 -16
  77. data/lib/twilio-ruby/rest/messaging/v1/service/alpha_sender.rb +1 -1
  78. data/lib/twilio-ruby/rest/messaging/v1/service/phone_number.rb +1 -1
  79. data/lib/twilio-ruby/rest/messaging/v1/service/short_code.rb +1 -1
  80. data/lib/twilio-ruby/rest/notify/v1/service/binding.rb +16 -15
  81. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +18 -18
  82. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/bundle/evaluation.rb +1 -1
  83. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/end_user_type.rb +1 -1
  84. data/lib/twilio-ruby/rest/numbers/v2/regulatory_compliance/supporting_document_type.rb +1 -1
  85. data/lib/twilio-ruby/rest/preview.rb +4 -23
  86. data/lib/twilio-ruby/rest/preview/bulk_exports.rb +4 -2
  87. data/lib/twilio-ruby/rest/preview/bulk_exports/export.rb +7 -4
  88. data/lib/twilio-ruby/rest/preview/bulk_exports/export/day.rb +7 -4
  89. data/lib/twilio-ruby/rest/preview/bulk_exports/export/export_custom_job.rb +5 -3
  90. data/lib/twilio-ruby/rest/preview/bulk_exports/export/job.rb +5 -3
  91. data/lib/twilio-ruby/rest/preview/bulk_exports/export_configuration.rb +5 -3
  92. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document.rb +13 -13
  93. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +2 -2
  94. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +8 -8
  95. data/lib/twilio-ruby/rest/preview/trusted_comms.rb +0 -30
  96. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +2 -2
  97. data/lib/twilio-ruby/rest/pricing/v1/messaging/country.rb +2 -2
  98. data/lib/twilio-ruby/rest/pricing/v1/phone_number/country.rb +1 -1
  99. data/lib/twilio-ruby/rest/pricing/v1/voice/country.rb +2 -2
  100. data/lib/twilio-ruby/rest/pricing/v2/voice/country.rb +2 -2
  101. data/lib/twilio-ruby/rest/pricing/v2/voice/number.rb +1 -1
  102. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +1 -1
  103. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb +1 -1
  104. data/lib/twilio-ruby/rest/serverless/v1/service.rb +5 -5
  105. data/lib/twilio-ruby/rest/serverless/v1/service/asset.rb +4 -4
  106. data/lib/twilio-ruby/rest/serverless/v1/service/asset/asset_version.rb +4 -4
  107. data/lib/twilio-ruby/rest/serverless/v1/service/build.rb +10 -10
  108. data/lib/twilio-ruby/rest/serverless/v1/service/build/build_status.rb +4 -4
  109. data/lib/twilio-ruby/rest/serverless/v1/service/environment.rb +4 -4
  110. data/lib/twilio-ruby/rest/serverless/v1/service/environment/deployment.rb +4 -4
  111. data/lib/twilio-ruby/rest/serverless/v1/service/environment/log.rb +4 -4
  112. data/lib/twilio-ruby/rest/serverless/v1/service/environment/variable.rb +4 -4
  113. data/lib/twilio-ruby/rest/serverless/v1/service/function.rb +4 -4
  114. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version.rb +4 -4
  115. data/lib/twilio-ruby/rest/serverless/v1/service/function/function_version/function_version_content.rb +4 -4
  116. data/lib/twilio-ruby/rest/studio/v2/flow.rb +2 -2
  117. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +1 -1
  118. data/lib/twilio-ruby/rest/studio/v2/flow/test_user.rb +3 -3
  119. data/lib/twilio-ruby/rest/supersim/v1/network.rb +1 -1
  120. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile.rb +2 -2
  121. data/lib/twilio-ruby/rest/supersim/v1/network_access_profile/network_access_profile_network.rb +1 -1
  122. data/lib/twilio-ruby/rest/sync/v1/service/document.rb +7 -5
  123. data/lib/twilio-ruby/rest/sync/v1/service/sync_list.rb +4 -2
  124. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +3 -3
  125. data/lib/twilio-ruby/rest/sync/v1/service/sync_map.rb +4 -2
  126. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_item.rb +4 -4
  127. data/lib/twilio-ruby/rest/sync/v1/service/sync_map/sync_map_permission.rb +1 -1
  128. data/lib/twilio-ruby/rest/sync/v1/service/sync_stream/stream_message.rb +1 -1
  129. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +12 -9
  130. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +10 -10
  131. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb +16 -16
  132. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +1 -1
  133. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb +10 -10
  134. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +1 -1
  135. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +1 -1
  136. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +1 -1
  137. data/lib/twilio-ruby/rest/trunking/v1/trunk.rb +1 -1
  138. data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +21 -24
  139. data/lib/twilio-ruby/rest/verify/v2/service.rb +3 -3
  140. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +3 -1
  141. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +8 -6
  142. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +1 -1
  143. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +10 -10
  144. data/lib/twilio-ruby/rest/video/v1/composition.rb +16 -15
  145. data/lib/twilio-ruby/rest/video/v1/composition_hook.rb +26 -26
  146. data/lib/twilio-ruby/rest/video/v1/composition_settings.rb +6 -6
  147. data/lib/twilio-ruby/rest/video/v1/recording.rb +6 -6
  148. data/lib/twilio-ruby/rest/video/v1/recording_settings.rb +6 -6
  149. data/lib/twilio-ruby/rest/video/v1/room.rb +10 -3
  150. data/lib/twilio-ruby/rest/video/v1/room/room_participant/room_participant_subscribe_rule.rb +1 -1
  151. data/lib/twilio-ruby/rest/video/v1/room/room_recording_rule.rb +1 -1
  152. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/country.rb +1 -1
  153. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +4 -4
  154. data/lib/twilio-ruby/twiml/voice_response.rb +8 -4
  155. data/lib/twilio-ruby/util/configuration.rb +5 -1
  156. data/lib/twilio-ruby/version.rb +1 -1
  157. data/spec/integration/api/v2010/account/call/event_spec.rb +102 -0
  158. data/spec/integration/api/v2010/account/call/recording_spec.rb +4 -0
  159. data/spec/integration/api/v2010/account/call_spec.rb +20 -10
  160. data/spec/integration/api/v2010/account/conference/participant_spec.rb +30 -0
  161. data/spec/integration/conversations/v1/conversation/participant_spec.rb +30 -10
  162. data/spec/integration/conversations/v1/service/configuration_spec.rb +2 -0
  163. data/spec/integration/conversations/v1/service/conversation/participant_spec.rb +30 -10
  164. data/spec/integration/conversations/v1/service/user_spec.rb +9 -4
  165. data/spec/integration/conversations/v1/user_spec.rb +9 -4
  166. data/spec/integration/events/v1/sink_spec.rb +14 -0
  167. data/spec/integration/events/v1/subscription_spec.rb +49 -0
  168. data/spec/integration/insights/v1/call/summary_spec.rb +1 -0
  169. data/spec/integration/insights/v1/room/participant_spec.rb +0 -2
  170. data/spec/integration/lookups/v1/phone_number_spec.rb +7 -7
  171. data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +1 -1
  172. data/spec/integration/trunking/v1/trunk/recording_spec.rb +2 -6
  173. data/spec/integration/video/v1/room_spec.rb +5 -0
  174. data/spec/rest/client_spec.rb +24 -2
  175. data/spec/twiml/voice_response_spec.rb +1 -1
  176. data/twilio-ruby.gemspec +1 -0
  177. metadata +19 -17
  178. data/lib/twilio-ruby/rest/preview/trusted_comms/branded_call.rb +0 -243
  179. data/lib/twilio-ruby/rest/preview/trusted_comms/business.rb +0 -213
  180. data/lib/twilio-ruby/rest/preview/trusted_comms/business/insights.rb +0 -108
  181. data/lib/twilio-ruby/rest/preview/trusted_comms/business/insights/impressions_rate.rb +0 -260
  182. data/lib/twilio-ruby/rest/preview/trusted_comms/phone_call.rb +0 -342
  183. data/spec/integration/preview/trusted_comms/branded_call_spec.rb +0 -59
  184. data/spec/integration/preview/trusted_comms/business/insights/impressions_rate_spec.rb +0 -56
  185. data/spec/integration/preview/trusted_comms/business/insights_spec.rb +0 -12
  186. data/spec/integration/preview/trusted_comms/business_spec.rb +0 -45
  187. data/spec/integration/preview/trusted_comms/phone_call_spec.rb +0 -59
@@ -89,9 +89,9 @@ module Twilio
89
89
  # encryption.
90
90
  # @param [String] aws_s3_url The URL of the AWS S3 bucket where the recordings
91
91
  # should be stored. We only support DNS-compliant URLs like
92
- # `https://<my-bucket>.s3-<aws-region>.amazonaws.com/recordings`, where
93
- # `recordings` is the path in which you want the recordings to be stored. This URL
94
- # accepts only URI-valid characters, as described in the <a
92
+ # `https://documentation-example-twilio-bucket/recordings`, where `recordings` is
93
+ # the path in which you want the recordings to be stored. This URL accepts only
94
+ # URI-valid characters, as described in the <a
95
95
  # href='https://tools.ietf.org/html/rfc3986#section-2'>RFC 3986</a>.
96
96
  # @param [Boolean] aws_storage_enabled Whether all recordings should be written to
97
97
  # the `aws_s3_url`. When `false`, all recordings are stored in our cloud.
@@ -229,9 +229,9 @@ module Twilio
229
229
  # encryption.
230
230
  # @param [String] aws_s3_url The URL of the AWS S3 bucket where the recordings
231
231
  # should be stored. We only support DNS-compliant URLs like
232
- # `https://<my-bucket>.s3-<aws-region>.amazonaws.com/recordings`, where
233
- # `recordings` is the path in which you want the recordings to be stored. This URL
234
- # accepts only URI-valid characters, as described in the <a
232
+ # `https://documentation-example-twilio-bucket/recordings`, where `recordings` is
233
+ # the path in which you want the recordings to be stored. This URL accepts only
234
+ # URI-valid characters, as described in the <a
235
235
  # href='https://tools.ietf.org/html/rfc3986#section-2'>RFC 3986</a>.
236
236
  # @param [Boolean] aws_storage_enabled Whether all recordings should be written to
237
237
  # the `aws_s3_url`. When `false`, all recordings are stored in our cloud.
@@ -48,8 +48,8 @@ module Twilio
48
48
  # @param [Boolean] record_participants_on_connect Whether to start recording when
49
49
  # Participants connect. ***This feature is not available in `peer-to-peer`
50
50
  # rooms.***
51
- # @param [room.VideoCodec] video_codecs An array of the video codecs that are
52
- # supported when publishing a track in the room. Can be: `VP8` and `H264`.
51
+ # @param [Array[room.VideoCodec]] video_codecs An array of the video codecs that
52
+ # are supported when publishing a track in the room. Can be: `VP8` and `H264`.
53
53
  # ***This feature is not available in `peer-to-peer` rooms***
54
54
  # @param [String] media_region The region for the media server in Group Rooms.
55
55
  # Can be: one of the {available Media
@@ -357,6 +357,7 @@ module Twilio
357
357
  'duration' => payload['duration'] == nil ? payload['duration'] : payload['duration'].to_i,
358
358
  'type' => payload['type'],
359
359
  'max_participants' => payload['max_participants'].to_i,
360
+ 'max_concurrent_published_tracks' => payload['max_concurrent_published_tracks'] == nil ? payload['max_concurrent_published_tracks'] : payload['max_concurrent_published_tracks'].to_i,
360
361
  'record_participants_on_connect' => payload['record_participants_on_connect'],
361
362
  'video_codecs' => payload['video_codecs'],
362
363
  'media_region' => payload['media_region'],
@@ -458,6 +459,12 @@ module Twilio
458
459
  @properties['max_participants']
459
460
  end
460
461
 
462
+ ##
463
+ # @return [String] The maximum number of published tracks allowed in the room at the same time
464
+ def max_concurrent_published_tracks
465
+ @properties['max_concurrent_published_tracks']
466
+ end
467
+
461
468
  ##
462
469
  # @return [Boolean] Whether to start recording when Participants connect
463
470
  def record_participants_on_connect
@@ -465,7 +472,7 @@ module Twilio
465
472
  end
466
473
 
467
474
  ##
468
- # @return [room.VideoCodec] An array of the video codecs that are supported when publishing a track in the room
475
+ # @return [Array[room.VideoCodec]] An array of the video codecs that are supported when publishing a track in the room
469
476
  def video_codecs
470
477
  @properties['video_codecs']
471
478
  end
@@ -138,7 +138,7 @@ module Twilio
138
138
  end
139
139
 
140
140
  ##
141
- # @return [String] A collection of Subscribe Rules that describe how to include or exclude matching tracks
141
+ # @return [Array[String]] A collection of Subscribe Rules that describe how to include or exclude matching tracks
142
142
  def rules
143
143
  @properties['rules']
144
144
  end
@@ -114,7 +114,7 @@ module Twilio
114
114
  end
115
115
 
116
116
  ##
117
- # @return [String] A collection of recording Rules that describe how to include or exclude matching tracks for recording
117
+ # @return [Array[String]] A collection of recording Rules that describe how to include or exclude matching tracks for recording
118
118
  def rules
119
119
  @properties['rules']
120
120
  end
@@ -334,7 +334,7 @@ module Twilio
334
334
  end
335
335
 
336
336
  ##
337
- # @return [String] The E.164 assigned country codes(s)
337
+ # @return [Array[String]] The E.164 assigned country codes(s)
338
338
  def country_codes
339
339
  @properties['country_codes']
340
340
  end
@@ -127,9 +127,9 @@ module Twilio
127
127
  # @param [Boolean] national_roaming_enabled Whether SIMs can roam on networks
128
128
  # other than the home network (T-Mobile USA) in the United States. See {national
129
129
  # roaming}[https://www.twilio.com/docs/wireless/api/rateplan-resource#national-roaming].
130
- # @param [String] international_roaming The list of services that SIMs capable of
131
- # using GPRS/3G/4G/LTE data connectivity can use outside of the United States. Can
132
- # be: `data`, `voice`, and `messaging`.
130
+ # @param [Array[String]] international_roaming The list of services that SIMs
131
+ # capable of using GPRS/3G/4G/LTE data connectivity can use outside of the United
132
+ # States. Can be: `data`, `voice`, and `messaging`.
133
133
  # @param [String] national_roaming_data_limit The total data usage (download and
134
134
  # upload combined) in Megabytes that the Network allows during one month on
135
135
  # non-home networks in the United States. The metering period begins the day of
@@ -371,7 +371,7 @@ module Twilio
371
371
  end
372
372
 
373
373
  ##
374
- # @return [String] The services that SIMs capable of using GPRS/3G/4G/LTE data connectivity can use outside of the United States
374
+ # @return [Array[String]] The services that SIMs capable of using GPRS/3G/4G/LTE data connectivity can use outside of the United States
375
375
  def international_roaming
376
376
  @properties['international_roaming']
377
377
  end
@@ -46,9 +46,11 @@ module Twilio
46
46
  # recording_status_callback_event:: Recording status callback events
47
47
  # answer_on_bridge:: Preserve the ringing behavior of the inbound call until the Dialed call picks up
48
48
  # ring_tone:: Ringtone allows you to override the ringback tone that Twilio will play back to the caller while executing the Dial
49
+ # recording_track:: To indicate which audio track should be recorded
50
+ # sequential:: Used to determine if child TwiML nouns should be dialed in order, one after the other (sequential) or dial all at once (parallel). Default is false, parallel
49
51
  # keyword_args:: additional attributes
50
- def dial(number: nil, action: nil, method: nil, timeout: nil, hangup_on_star: nil, time_limit: nil, caller_id: nil, record: nil, trim: nil, recording_status_callback: nil, recording_status_callback_method: nil, recording_status_callback_event: nil, answer_on_bridge: nil, ring_tone: nil, **keyword_args)
51
- dial = Dial.new(number: number, action: action, method: method, timeout: timeout, hangup_on_star: hangup_on_star, time_limit: time_limit, caller_id: caller_id, record: record, trim: trim, recording_status_callback: recording_status_callback, recording_status_callback_method: recording_status_callback_method, recording_status_callback_event: recording_status_callback_event, answer_on_bridge: answer_on_bridge, ring_tone: ring_tone, **keyword_args)
52
+ def dial(number: nil, action: nil, method: nil, timeout: nil, hangup_on_star: nil, time_limit: nil, caller_id: nil, record: nil, trim: nil, recording_status_callback: nil, recording_status_callback_method: nil, recording_status_callback_event: nil, answer_on_bridge: nil, ring_tone: nil, recording_track: nil, sequential: nil, **keyword_args)
53
+ dial = Dial.new(number: number, action: action, method: method, timeout: timeout, hangup_on_star: hangup_on_star, time_limit: time_limit, caller_id: caller_id, record: record, trim: trim, recording_status_callback: recording_status_callback, recording_status_callback_method: recording_status_callback_method, recording_status_callback_event: recording_status_callback_event, answer_on_bridge: answer_on_bridge, ring_tone: ring_tone, recording_track: recording_track, sequential: sequential, **keyword_args)
52
54
 
53
55
  yield(dial) if block_given?
54
56
  append(dial)
@@ -968,9 +970,11 @@ module Twilio
968
970
  # recording_status_callback_method:: Recording status callback URL method
969
971
  # recording_status_callback_event:: Recording status callback events
970
972
  # event_callback_url:: Event callback URL
973
+ # jitter_buffer_size:: Size of jitter buffer for participant
974
+ # participant_label:: A label for participant
971
975
  # keyword_args:: additional attributes
972
- def conference(name, muted: nil, beep: nil, start_conference_on_enter: nil, end_conference_on_exit: nil, wait_url: nil, wait_method: nil, max_participants: nil, record: nil, region: nil, coach: nil, trim: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, recording_status_callback: nil, recording_status_callback_method: nil, recording_status_callback_event: nil, event_callback_url: nil, **keyword_args)
973
- append(Conference.new(name, muted: muted, beep: beep, start_conference_on_enter: start_conference_on_enter, end_conference_on_exit: end_conference_on_exit, wait_url: wait_url, wait_method: wait_method, max_participants: max_participants, record: record, region: region, coach: coach, trim: trim, status_callback_event: status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, recording_status_callback: recording_status_callback, recording_status_callback_method: recording_status_callback_method, recording_status_callback_event: recording_status_callback_event, event_callback_url: event_callback_url, **keyword_args))
976
+ def conference(name, muted: nil, beep: nil, start_conference_on_enter: nil, end_conference_on_exit: nil, wait_url: nil, wait_method: nil, max_participants: nil, record: nil, region: nil, coach: nil, trim: nil, status_callback_event: nil, status_callback: nil, status_callback_method: nil, recording_status_callback: nil, recording_status_callback_method: nil, recording_status_callback_event: nil, event_callback_url: nil, jitter_buffer_size: nil, participant_label: nil, **keyword_args)
977
+ append(Conference.new(name, muted: muted, beep: beep, start_conference_on_enter: start_conference_on_enter, end_conference_on_exit: end_conference_on_exit, wait_url: wait_url, wait_method: wait_method, max_participants: max_participants, record: record, region: region, coach: coach, trim: trim, status_callback_event: status_callback_event, status_callback: status_callback, status_callback_method: status_callback_method, recording_status_callback: recording_status_callback, recording_status_callback_method: recording_status_callback_method, recording_status_callback_event: recording_status_callback_event, event_callback_url: event_callback_url, jitter_buffer_size: jitter_buffer_size, participant_label: participant_label, **keyword_args))
974
978
  end
975
979
 
976
980
  ##
@@ -3,7 +3,7 @@
3
3
  module Twilio
4
4
  module Util
5
5
  class Configuration
6
- attr_accessor :account_sid, :auth_token, :http_client, :region, :edge
6
+ attr_accessor :account_sid, :auth_token, :http_client, :region, :edge, :logger
7
7
 
8
8
  def account_sid=(value)
9
9
  @account_sid = value
@@ -24,6 +24,10 @@ module Twilio
24
24
  def edge=(value)
25
25
  @edge = value
26
26
  end
27
+
28
+ def logger=(value)
29
+ @logger = value
30
+ end
27
31
  end
28
32
  end
29
33
  end
@@ -1,3 +1,3 @@
1
1
  module Twilio
2
- VERSION = '5.42.0'
2
+ VERSION = '5.46.0'
3
3
  end
@@ -0,0 +1,102 @@
1
+ ##
2
+ # This code was generated by
3
+ # \ / _ _ _| _ _
4
+ # | (_)\/(_)(_|\/| |(/_ v1.0.0
5
+ # / /
6
+ #
7
+ # frozen_string_literal: true
8
+
9
+ require 'spec_helper.rb'
10
+
11
+ describe 'Event' do
12
+ it "can read" do
13
+ @holodeck.mock(Twilio::Response.new(500, ''))
14
+
15
+ expect {
16
+ @client.api.v2010.accounts('ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
17
+ .calls('CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
18
+ .events.list()
19
+ }.to raise_exception(Twilio::REST::TwilioError)
20
+
21
+ expect(
22
+ @holodeck.has_request?(Holodeck::Request.new(
23
+ method: 'get',
24
+ url: 'https://api.twilio.com/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Calls/CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Events.json',
25
+ ))).to eq(true)
26
+ end
27
+
28
+ it "receives read_full responses" do
29
+ @holodeck.mock(Twilio::Response.new(
30
+ 200,
31
+ %q[
32
+ {
33
+ "events": [
34
+ {
35
+ "request": {
36
+ "method": "POST",
37
+ "url": "https://api.twilio.com/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json",
38
+ "parameters": {
39
+ "status_callback_method": "POST",
40
+ "twiml": "<Response><Say>Hi!</Say></Response>",
41
+ "trim": "trim-silence",
42
+ "timeout": "55",
43
+ "method": "POST",
44
+ "from": "+987654321",
45
+ "to": "+123456789",
46
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
47
+ "machine_detection_timeout": "0"
48
+ }
49
+ },
50
+ "response": {
51
+ "response_code": 201,
52
+ "request_duration": 50,
53
+ "content_type": "application/json",
54
+ "response_body": "{\\"sid\\": \\"CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\\"}",
55
+ "date_created": "Tue, 11 Aug 2020 17:44:08 +0000"
56
+ }
57
+ }
58
+ ],
59
+ "end": 0,
60
+ "first_page_uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Events.json?PageSize=50&Page=0",
61
+ "next_page_uri": null,
62
+ "page": 0,
63
+ "page_size": 50,
64
+ "previous_page_uri": null,
65
+ "start": 0,
66
+ "uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Events.json?PageSize=50&Page=0"
67
+ }
68
+ ]
69
+ ))
70
+
71
+ actual = @client.api.v2010.accounts('ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
72
+ .calls('CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
73
+ .events.list()
74
+
75
+ expect(actual).to_not eq(nil)
76
+ end
77
+
78
+ it "receives read_empty responses" do
79
+ @holodeck.mock(Twilio::Response.new(
80
+ 200,
81
+ %q[
82
+ {
83
+ "events": [],
84
+ "end": 0,
85
+ "first_page_uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Events.json?PageSize=50&Page=0",
86
+ "next_page_uri": null,
87
+ "page": 0,
88
+ "page_size": 50,
89
+ "previous_page_uri": null,
90
+ "start": 0,
91
+ "uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Events.json?PageSize=50&Page=0"
92
+ }
93
+ ]
94
+ ))
95
+
96
+ actual = @client.api.v2010.accounts('ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
97
+ .calls('CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
98
+ .events.list()
99
+
100
+ expect(actual).to_not eq(nil)
101
+ end
102
+ end
@@ -46,6 +46,7 @@ describe 'Recording' do
46
46
  "status": "in-progress",
47
47
  "error_code": null,
48
48
  "encryption_details": null,
49
+ "track": "both",
49
50
  "uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings/REaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"
50
51
  }
51
52
  ]
@@ -97,6 +98,7 @@ describe 'Recording' do
97
98
  "status": "paused",
98
99
  "error_code": null,
99
100
  "encryption_details": null,
101
+ "track": "both",
100
102
  "uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings/REaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"
101
103
  }
102
104
  ]
@@ -150,6 +152,7 @@ describe 'Recording' do
150
152
  "source": "StartCallRecordingAPI",
151
153
  "status": "completed",
152
154
  "error_code": null,
155
+ "track": "both",
153
156
  "uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings/REaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"
154
157
  }
155
158
  ]
@@ -239,6 +242,7 @@ describe 'Recording' do
239
242
  },
240
243
  "source": "StartCallRecordingAPI",
241
244
  "status": "completed",
245
+ "track": "both",
242
246
  "error_code": null,
243
247
  "uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings/REaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"
244
248
  }
@@ -57,7 +57,8 @@ describe 'Call' do
57
57
  "recordings": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings.json",
58
58
  "feedback": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Feedback.json",
59
59
  "feedback_summaries": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/FeedbackSummary.json",
60
- "payments": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Payments.json"
60
+ "payments": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Payments.json",
61
+ "events": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Events.json"
61
62
  },
62
63
  "to": "+14158675309",
63
64
  "to_formatted": "(415) 867-5309",
@@ -105,7 +106,8 @@ describe 'Call' do
105
106
  "recordings": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings.json",
106
107
  "feedback": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Feedback.json",
107
108
  "feedback_summaries": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/FeedbackSummary.json",
108
- "payments": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Payments.json"
109
+ "payments": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Payments.json",
110
+ "events": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Events.json"
109
111
  },
110
112
  "to": "+14158675309",
111
113
  "to_formatted": "(415) 867-5309",
@@ -195,7 +197,8 @@ describe 'Call' do
195
197
  "recordings": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings.json",
196
198
  "feedback": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Feedback.json",
197
199
  "feedback_summaries": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/FeedbackSummary.json",
198
- "payments": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Payments.json"
200
+ "payments": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Payments.json",
201
+ "events": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Events.json"
199
202
  },
200
203
  "to": "+13051913581",
201
204
  "to_formatted": "(305) 191-3581",
@@ -260,7 +263,8 @@ describe 'Call' do
260
263
  "feedback_summaries": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/FeedbackSummary.json",
261
264
  "notifications": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Notifications.json",
262
265
  "recordings": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings.json",
263
- "payments": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Payments.json"
266
+ "payments": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Payments.json",
267
+ "events": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Events.json"
264
268
  },
265
269
  "to": "+13051913581",
266
270
  "to_formatted": "(305) 191-3581",
@@ -295,7 +299,8 @@ describe 'Call' do
295
299
  "feedback_summaries": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/FeedbackSummary.json",
296
300
  "notifications": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0/Notifications.json",
297
301
  "recordings": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0/Recordings.json",
298
- "payments": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0/Payments.json"
302
+ "payments": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0/Payments.json",
303
+ "events": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0/Events.json"
299
304
  },
300
305
  "to": "+13051913580",
301
306
  "to_formatted": "(305) 191-3580",
@@ -355,7 +360,8 @@ describe 'Call' do
355
360
  "feedback_summaries": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/FeedbackSummary.json",
356
361
  "notifications": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Notifications.json",
357
362
  "recordings": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings.json",
358
- "payments": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Payments.json"
363
+ "payments": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Payments.json",
364
+ "events": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Events.json"
359
365
  },
360
366
  "to": "+13051913581",
361
367
  "to_formatted": "(305) 191-3581",
@@ -390,7 +396,8 @@ describe 'Call' do
390
396
  "feedback_summaries": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/FeedbackSummary.json",
391
397
  "notifications": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0/Notifications.json",
392
398
  "recordings": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0/Recordings.json",
393
- "payments": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0/Payments.json"
399
+ "payments": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0/Payments.json",
400
+ "events": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0/Events.json"
394
401
  },
395
402
  "to": "+13051913580",
396
403
  "to_formatted": "(305) 191-3580",
@@ -535,7 +542,8 @@ describe 'Call' do
535
542
  "recordings": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings.json",
536
543
  "feedback": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Feedback.json",
537
544
  "feedback_summaries": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/FeedbackSummary.json",
538
- "payments": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Payments.json"
545
+ "payments": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Payments.json",
546
+ "events": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Events.json"
539
547
  },
540
548
  "to": "+14158675309",
541
549
  "to_formatted": "(415) 867-5309",
@@ -583,7 +591,8 @@ describe 'Call' do
583
591
  "recordings": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings.json",
584
592
  "feedback": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Feedback.json",
585
593
  "feedback_summaries": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/FeedbackSummary.json",
586
- "payments": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Payments.json"
594
+ "payments": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Payments.json",
595
+ "events": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Events.json"
587
596
  },
588
597
  "to": "+14158675309",
589
598
  "to_formatted": "(415) 867-5309",
@@ -631,7 +640,8 @@ describe 'Call' do
631
640
  "recordings": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recordings.json",
632
641
  "feedback": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Feedback.json",
633
642
  "feedback_summaries": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/FeedbackSummary.json",
634
- "payments": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Payments.json"
643
+ "payments": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Payments.json",
644
+ "events": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Events.json"
635
645
  },
636
646
  "to": "+14158675309",
637
647
  "to_formatted": "(415) 867-5309",
@@ -479,6 +479,36 @@ describe 'Participant' do
479
479
  expect(actual).to_not eq(nil)
480
480
  end
481
481
 
482
+ it "receives create_with_friendly_name_recording_track responses" do
483
+ @holodeck.mock(Twilio::Response.new(
484
+ 201,
485
+ %q[
486
+ {
487
+ "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
488
+ "call_sid": "CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
489
+ "label": null,
490
+ "conference_sid": "CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
491
+ "date_created": "Fri, 18 Feb 2011 21:07:19 +0000",
492
+ "date_updated": "Fri, 18 Feb 2011 21:07:19 +0000",
493
+ "end_conference_on_exit": false,
494
+ "muted": false,
495
+ "hold": false,
496
+ "status": "complete",
497
+ "start_conference_on_enter": true,
498
+ "coaching": false,
499
+ "call_sid_to_coach": null,
500
+ "uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences/CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"
501
+ }
502
+ ]
503
+ ))
504
+
505
+ actual = @client.api.v2010.accounts('ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
506
+ .conferences('CFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') \
507
+ .participants.create(from: '+15017122661', to: '+15558675310')
508
+
509
+ expect(actual).to_not eq(nil)
510
+ end
511
+
482
512
  it "can delete" do
483
513
  @holodeck.mock(Twilio::Response.new(500, ''))
484
514
 
@@ -44,7 +44,9 @@ describe 'Participant' do
44
44
  "role_sid": "RLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
45
45
  "date_created": "2015-12-16T22:18:37Z",
46
46
  "date_updated": "2015-12-16T22:18:38Z",
47
- "url": "https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/MBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
47
+ "url": "https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/MBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
48
+ "last_read_message_index": null,
49
+ "last_read_timestamp": null
48
50
  }
49
51
  ]
50
52
  ))
@@ -69,7 +71,9 @@ describe 'Participant' do
69
71
  "role_sid": "RLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
70
72
  "date_created": "2015-12-16T22:18:37Z",
71
73
  "date_updated": "2015-12-16T22:18:38Z",
72
- "url": "https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/MBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
74
+ "url": "https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/MBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
75
+ "last_read_message_index": null,
76
+ "last_read_timestamp": null
73
77
  }
74
78
  ]
75
79
  ))
@@ -97,7 +101,9 @@ describe 'Participant' do
97
101
  "role_sid": "RLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
98
102
  "date_created": "2015-12-16T22:18:37Z",
99
103
  "date_updated": "2015-12-16T22:18:38Z",
100
- "url": "https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/MBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
104
+ "url": "https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/MBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
105
+ "last_read_message_index": null,
106
+ "last_read_timestamp": null
101
107
  }
102
108
  ]
103
109
  ))
@@ -125,7 +131,9 @@ describe 'Participant' do
125
131
  "role_sid": "RLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
126
132
  "date_created": "2020-07-01T22:18:37Z",
127
133
  "date_updated": "2020-07-01T22:18:37Z",
128
- "url": "https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/MBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
134
+ "url": "https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/MBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
135
+ "last_read_message_index": null,
136
+ "last_read_timestamp": null
129
137
  }
130
138
  ]
131
139
  ))
@@ -153,7 +161,9 @@ describe 'Participant' do
153
161
  "role_sid": null,
154
162
  "date_created": "2020-07-01T22:18:37Z",
155
163
  "date_updated": "2020-07-01T22:18:37Z",
156
- "url": "https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/MBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
164
+ "url": "https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/MBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
165
+ "last_read_message_index": null,
166
+ "last_read_timestamp": null
157
167
  }
158
168
  ]
159
169
  ))
@@ -199,7 +209,9 @@ describe 'Participant' do
199
209
  "role_sid": "RLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
200
210
  "date_created": "2015-12-16T22:18:37Z",
201
211
  "date_updated": "2015-12-16T22:18:38Z",
202
- "url": "https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/MBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
212
+ "url": "https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/MBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
213
+ "last_read_message_index": null,
214
+ "last_read_timestamp": null
203
215
  }
204
216
  ]
205
217
  ))
@@ -227,7 +239,9 @@ describe 'Participant' do
227
239
  "role_sid": "RLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
228
240
  "date_created": "2015-12-16T22:18:37Z",
229
241
  "date_updated": "2015-12-16T22:18:38Z",
230
- "url": "https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/MBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
242
+ "url": "https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/MBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
243
+ "last_read_message_index": null,
244
+ "last_read_timestamp": null
231
245
  }
232
246
  ]
233
247
  ))
@@ -300,7 +314,9 @@ describe 'Participant' do
300
314
  "role_sid": "RLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
301
315
  "date_created": "2016-03-24T21:05:50Z",
302
316
  "date_updated": "2016-03-24T21:05:50Z",
303
- "url": "https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/MBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
317
+ "url": "https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/MBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
318
+ "last_read_message_index": null,
319
+ "last_read_timestamp": null
304
320
  }
305
321
  ]
306
322
  ))
@@ -355,7 +371,9 @@ describe 'Participant' do
355
371
  "role_sid": "RLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
356
372
  "date_created": "2016-03-24T21:05:50Z",
357
373
  "date_updated": "2016-03-24T21:05:50Z",
358
- "url": "https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/MBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
374
+ "url": "https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/MBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
375
+ "last_read_message_index": null,
376
+ "last_read_timestamp": null
359
377
  },
360
378
  {
361
379
  "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
@@ -367,7 +385,9 @@ describe 'Participant' do
367
385
  "role_sid": "RLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
368
386
  "date_created": "2016-03-24T21:05:50Z",
369
387
  "date_updated": "2016-03-24T21:05:50Z",
370
- "url": "https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/MBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
388
+ "url": "https://conversations.twilio.com/v1/Conversations/CHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/MBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
389
+ "last_read_message_index": null,
390
+ "last_read_timestamp": null
371
391
  }
372
392
  ]
373
393
  }