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 +4 -4
- data/CHANGES.md +17 -0
- data/README.md +2 -2
- data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +7 -0
- data/lib/twilio-ruby/rest/trunking/v1/trunk/recording.rb +21 -24
- data/lib/twilio-ruby/twiml/voice_response.rb +4 -2
- data/lib/twilio-ruby/version.rb +1 -1
- data/spec/integration/api/v2010/account/call/recording_spec.rb +4 -0
- data/spec/integration/api/v2010/account/conference/participant_spec.rb +30 -0
- data/spec/integration/lookups/v1/phone_number_spec.rb +7 -7
- data/spec/integration/taskrouter/v1/workspace/worker/worker_channel_spec.rb +1 -1
- data/spec/integration/trunking/v1/trunk/recording_spec.rb +2 -6
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 25b9a80929c3df4642cd76f98ce86a882e1bf8d733fd76f49227ebf6ba83fe35
|
4
|
+
data.tar.gz: 94646f27aa014c80d920769a412b08ff5fe67268c9845788b0bac5038ffb0a08
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
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
|
+
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
|
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
|
-
|
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
|
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
|
##
|
data/lib/twilio-ruby/version.rb
CHANGED
@@ -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
|
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
|
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
|
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
|
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
|
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
|
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
|
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/
|
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.
|
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
|
+
date: 2020-12-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jwt
|