twilio-ruby 5.43.0 → 5.44.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ec5ff54dd66649c891ed4290835b064e07dd8fc969cb2cfed80be83f17b1d253
4
- data.tar.gz: 0d2492ccc67cca79e4c12387aaf8a62184d48f2a6193480e7655448846b0e64b
3
+ metadata.gz: 25b9a80929c3df4642cd76f98ce86a882e1bf8d733fd76f49227ebf6ba83fe35
4
+ data.tar.gz: 94646f27aa014c80d920769a412b08ff5fe67268c9845788b0bac5038ffb0a08
5
5
  SHA512:
6
- metadata.gz: 256b0e576d26bf990e61f6393edd819709b770a6bfe3677a6cd177f4f2d9270e5cd50da413d5a2700cbfadb8d4343eb9046a4be5f0d6d87f13edf9d2c54d0ae8
7
- data.tar.gz: 14d7a20171b7577e19c57ede894867deb382e558c77bd0c677385128fe4bb972d93f6b9ae8da7008aba5b3086f201f5cc6cc0cd61f3dd9cae7e9dd7488f8b4eb
6
+ metadata.gz: a82ce2ac98e222bc3f30fb64ea8a50a32a9c9eb2237fcf7a4d3457f6fad74b8076c1bff4033c0f1eda132d6c72be3bb48d05b23fd0343856ccb26729d096dce5
7
+ data.tar.gz: 0d82c12c2cfec754797746b89108b98df9b5a07f2b2f23f79f3a2dbe87156ae124c62e43ca65a4093645e56149d5b3e7c3061d762d7c05ee5190e004ede49301
data/CHANGES.md CHANGED
@@ -1,6 +1,23 @@
1
1
  twilio-ruby changelog
2
2
  =====================
3
3
 
4
+ [2020-12-02] Version 5.44.0
5
+ ---------------------------
6
+ **Api**
7
+ - Remove `RecordingTrack` parameter for create calls, create participants, and create call recordings **(breaking change)**
8
+ - Added `RecordingTrack` parameter for create calls and create call recordings
9
+ - Add optional property `recording_track` in the participant create request
10
+
11
+ **Lookups**
12
+ - Changed `caller_name` and `carrier` properties type to object **(breaking change)**
13
+
14
+ **Trunking**
15
+ - Added dual channel recording options for Trunks.
16
+
17
+ **Twiml**
18
+ - Add `jitterBufferSize` and `participantLabel` to `Conference`.
19
+
20
+
4
21
  [2020-11-18] Version 5.43.0
5
22
  ---------------------------
6
23
  **Library - Feature**
data/README.md CHANGED
@@ -34,13 +34,13 @@ This library supports the following Ruby implementations:
34
34
  To install using [Bundler][bundler] grab the latest stable version:
35
35
 
36
36
  ```ruby
37
- gem 'twilio-ruby', '~> 5.43.0'
37
+ gem 'twilio-ruby', '~> 5.44.0'
38
38
  ```
39
39
 
40
40
  To manually install `twilio-ruby` via [Rubygems][rubygems] simply gem install:
41
41
 
42
42
  ```bash
43
- gem install twilio-ruby -v 5.43.0
43
+ gem install twilio-ruby -v 5.44.0
44
44
  ```
45
45
 
46
46
  To build and install the development branch yourself from the latest source:
@@ -335,6 +335,7 @@ module Twilio
335
335
  'channels' => payload['channels'].to_i,
336
336
  'source' => payload['source'],
337
337
  'error_code' => payload['error_code'] == nil ? payload['error_code'] : payload['error_code'].to_i,
338
+ 'track' => payload['track'],
338
339
  }
339
340
 
340
341
  # Context
@@ -460,6 +461,12 @@ module Twilio
460
461
  @properties['error_code']
461
462
  end
462
463
 
464
+ ##
465
+ # @return [String] The recorded track. Can be: `inbound`, `outbound`, or `both`.
466
+ def track
467
+ @properties['track']
468
+ end
469
+
463
470
  ##
464
471
  # Update the RecordingInstance
465
472
  # @param [recording.Status] status The new status of the recording. Can be:
@@ -15,7 +15,8 @@ module Twilio
15
15
  ##
16
16
  # Initialize the RecordingList
17
17
  # @param [Version] version Version that contains the resource
18
- # @param [String] trunk_sid The trunk_sid
18
+ # @param [String] trunk_sid The unique string that we created to identify the
19
+ # Trunk resource.
19
20
  # @return [RecordingList] RecordingList
20
21
  def initialize(version, trunk_sid: nil)
21
22
  super(version)
@@ -86,9 +87,16 @@ module Twilio
86
87
 
87
88
  ##
88
89
  # Update the RecordingInstance
90
+ # @param [recording.RecordingMode] mode The recording mode for the trunk. Can be
91
+ # do-not-record (default), record-from-ringing, record-from-answer,
92
+ # record-from-ringing-dual, or record-from-answer-dual.
93
+ # @param [recording.RecordingTrim] trim The recording trim setting for the trunk.
94
+ # Can be do-not-trim (default) or trim-silence.
89
95
  # @return [RecordingInstance] Updated RecordingInstance
90
- def update
91
- payload = @version.update('POST', @uri)
96
+ def update(mode: :unset, trim: :unset)
97
+ data = Twilio::Values.of({'Mode' => mode, 'Trim' => trim, })
98
+
99
+ payload = @version.update('POST', @uri, data: data)
92
100
 
93
101
  RecordingInstance.new(@version, payload, trunk_sid: @solution[:trunk_sid], )
94
102
  end
@@ -113,18 +121,14 @@ module Twilio
113
121
  # Initialize the RecordingInstance
114
122
  # @param [Version] version Version that contains the resource
115
123
  # @param [Hash] payload payload that contains response from Twilio
116
- # @param [String] trunk_sid The trunk_sid
124
+ # @param [String] trunk_sid The unique string that we created to identify the
125
+ # Trunk resource.
117
126
  # @return [RecordingInstance] RecordingInstance
118
127
  def initialize(version, payload, trunk_sid: nil)
119
128
  super(version)
120
129
 
121
130
  # Marshaled Properties
122
- @properties = {
123
- 'mode' => payload['mode'],
124
- 'trim' => payload['trim'],
125
- 'url' => payload['url'],
126
- 'trunk_sid' => payload['trunk_sid'],
127
- }
131
+ @properties = {'mode' => payload['mode'], 'trim' => payload['trim'], }
128
132
 
129
133
  # Context
130
134
  @instance_context = nil
@@ -154,18 +158,6 @@ module Twilio
154
158
  @properties['trim']
155
159
  end
156
160
 
157
- ##
158
- # @return [String] The url
159
- def url
160
- @properties['url']
161
- end
162
-
163
- ##
164
- # @return [String] The trunk_sid
165
- def trunk_sid
166
- @properties['trunk_sid']
167
- end
168
-
169
161
  ##
170
162
  # Fetch the RecordingInstance
171
163
  # @return [RecordingInstance] Fetched RecordingInstance
@@ -175,9 +167,14 @@ module Twilio
175
167
 
176
168
  ##
177
169
  # Update the RecordingInstance
170
+ # @param [recording.RecordingMode] mode The recording mode for the trunk. Can be
171
+ # do-not-record (default), record-from-ringing, record-from-answer,
172
+ # record-from-ringing-dual, or record-from-answer-dual.
173
+ # @param [recording.RecordingTrim] trim The recording trim setting for the trunk.
174
+ # Can be do-not-trim (default) or trim-silence.
178
175
  # @return [RecordingInstance] Updated RecordingInstance
179
- def update
180
- context.update
176
+ def update(mode: :unset, trim: :unset)
177
+ context.update(mode: mode, trim: trim, )
181
178
  end
182
179
 
183
180
  ##
@@ -968,9 +968,11 @@ module Twilio
968
968
  # recording_status_callback_method:: Recording status callback URL method
969
969
  # recording_status_callback_event:: Recording status callback events
970
970
  # event_callback_url:: Event callback URL
971
+ # jitter_buffer_size:: Size of jitter buffer for participant
972
+ # participant_label:: A label for participant
971
973
  # 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))
974
+ 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)
975
+ 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
976
  end
975
977
 
976
978
  ##
@@ -1,3 +1,3 @@
1
1
  module Twilio
2
- VERSION = '5.43.0'
2
+ VERSION = '5.44.0'
3
3
  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
  }
@@ -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
 
@@ -63,7 +63,7 @@ describe 'PhoneNumber' do
63
63
  "phone_number": "+15108675310",
64
64
  "fraud": null,
65
65
  "add_ons": null,
66
- "url": "https://lookups.twilio.com/v1/PhoneNumbers/+15108675310?Type=carrier"
66
+ "url": "https://lookups.twilio.com/v1/PhoneNumbers/+15108675310"
67
67
  }
68
68
  ]
69
69
  ))
@@ -91,7 +91,7 @@ describe 'PhoneNumber' do
91
91
  "phone_number": "+4402077651182",
92
92
  "fraud": null,
93
93
  "add_ons": null,
94
- "url": "https://lookups.twilio.com/v1/PhoneNumbers/+4402077651182?Type=carrier"
94
+ "url": "https://lookups.twilio.com/v1/PhoneNumbers/+4402077651182"
95
95
  }
96
96
  ]
97
97
  ))
@@ -117,7 +117,7 @@ describe 'PhoneNumber' do
117
117
  "national_format": "(510) 867-5310",
118
118
  "phone_number": "+15108675310",
119
119
  "add_ons": null,
120
- "url": "https://lookups.twilio.com/v1/PhoneNumbers/+15108675310?Type=caller-name"
120
+ "url": "https://lookups.twilio.com/v1/PhoneNumbers/+15108675310"
121
121
  }
122
122
  ]
123
123
  ))
@@ -154,7 +154,7 @@ describe 'PhoneNumber' do
154
154
  "code": null,
155
155
  "results": {}
156
156
  },
157
- "url": "https://lookups.twilio.com/v1/PhoneNumbers/+15108675310?Type=carrier&Type=caller-name"
157
+ "url": "https://lookups.twilio.com/v1/PhoneNumbers/+15108675310"
158
158
  }
159
159
  ]
160
160
  ))
@@ -229,7 +229,7 @@ describe 'PhoneNumber' do
229
229
  }
230
230
  }
231
231
  },
232
- "url": "https://lookups.twilio.com/v1/PhoneNumbers/+12127363100?Type=caller-name"
232
+ "url": "https://lookups.twilio.com/v1/PhoneNumbers/+12127363100"
233
233
  }
234
234
  ]
235
235
  ))
@@ -274,7 +274,7 @@ describe 'PhoneNumber' do
274
274
  }
275
275
  }
276
276
  },
277
- "url": "https://lookups.twilio.com/v1/PhoneNumbers/+19892008374?Type=carrier"
277
+ "url": "https://lookups.twilio.com/v1/PhoneNumbers/+19892008374"
278
278
  }
279
279
  ]
280
280
  ))
@@ -324,7 +324,7 @@ describe 'PhoneNumber' do
324
324
  }
325
325
  }
326
326
  },
327
- "url": "https://lookups.twilio.com/v1/PhoneNumbers/+16502530000?Type=carrier"
327
+ "url": "https://lookups.twilio.com/v1/PhoneNumbers/+16502530000"
328
328
  }
329
329
  ]
330
330
  ))
@@ -169,7 +169,7 @@ describe 'WorkerChannel' do
169
169
  "sid": "WCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
170
170
  "task_channel_sid": "TCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
171
171
  "task_channel_unique_name": "default",
172
- "url": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workers/WKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/WRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
172
+ "url": "https://taskrouter.twilio.com/v1/Workspaces/WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Workers/WKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Channels/WCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
173
173
  "worker_sid": "WKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
174
174
  "workspace_sid": "WSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
175
175
  }
@@ -30,9 +30,7 @@ describe 'Recording' do
30
30
  %q[
31
31
  {
32
32
  "mode": "do-not-record",
33
- "trim": "do-not-trim",
34
- "url": "https://trunking.twilio.com/v1/Trunks/TKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recording",
35
- "trunk_sid": "TKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
33
+ "trim": "do-not-trim"
36
34
  }
37
35
  ]
38
36
  ))
@@ -64,9 +62,7 @@ describe 'Recording' do
64
62
  %q[
65
63
  {
66
64
  "mode": "do-not-record",
67
- "trim": "do-not-trim",
68
- "url": "https://trunking.twilio.com/v1/Trunks/TKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Recording",
69
- "trunk_sid": "TKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
65
+ "trim": "do-not-trim"
70
66
  }
71
67
  ]
72
68
  ))
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: twilio-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.43.0
4
+ version: 5.44.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Twilio API Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-11-18 00:00:00.000000000 Z
11
+ date: 2020-12-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jwt