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 +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
|