twilio-ruby 5.43.0 → 5.44.0

Sign up to get free protection for your applications and to get access to all the features.
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