twilio 3.71.3 → 3.72.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.
- package/CHANGES.md +25 -0
- package/README.md +1 -1
- package/lib/rest/Insights.d.ts +2 -0
- package/lib/rest/Insights.js +8 -0
- package/lib/rest/Voice.d.ts +2 -0
- package/lib/rest/Voice.js +9 -0
- package/lib/rest/api/v2010/account/message.d.ts +2 -0
- package/lib/rest/api/v2010/account/message.js +4 -1
- package/lib/rest/conversations/v1/service/configuration/webhook.d.ts +2 -2
- package/lib/rest/conversations/v1/service/configuration/webhook.js +6 -5
- package/lib/rest/insights/V1.d.ts +3 -0
- package/lib/rest/insights/V1.js +11 -0
- package/lib/rest/insights/v1/setting.d.ts +181 -0
- package/lib/rest/insights/v1/setting.js +384 -0
- package/lib/rest/media/v1/mediaProcessor.d.ts +4 -0
- package/lib/rest/media/v1/mediaProcessor.js +5 -1
- package/lib/rest/video/v1/room.d.ts +8 -0
- package/lib/rest/video/v1/room.js +13 -1
- package/lib/rest/voice/V1.d.ts +3 -0
- package/lib/rest/voice/V1.js +12 -0
- package/lib/rest/voice/v1/archivedCall.d.ts +136 -0
- package/lib/rest/voice/v1/archivedCall.js +325 -0
- package/lib/rest/wireless/v1/sim.js +4 -8
- package/package.json +1 -1
|
@@ -0,0 +1,384 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/* jshint ignore:start */
|
|
4
|
+
/**
|
|
5
|
+
* This code was generated by
|
|
6
|
+
* \ / _ _ _| _ _
|
|
7
|
+
* | (_)\/(_)(_|\/| |(/_ v1.0.0
|
|
8
|
+
* / /
|
|
9
|
+
*/
|
|
10
|
+
/* jshint ignore:end */
|
|
11
|
+
|
|
12
|
+
var Q = require('q'); /* jshint ignore:line */
|
|
13
|
+
var _ = require('lodash'); /* jshint ignore:line */
|
|
14
|
+
var util = require('util'); /* jshint ignore:line */
|
|
15
|
+
var Page = require('../../../base/Page'); /* jshint ignore:line */
|
|
16
|
+
var serialize = require('../../../base/serialize'); /* jshint ignore:line */
|
|
17
|
+
var values = require('../../../base/values'); /* jshint ignore:line */
|
|
18
|
+
|
|
19
|
+
var SettingList;
|
|
20
|
+
var SettingPage;
|
|
21
|
+
var SettingInstance;
|
|
22
|
+
var SettingContext;
|
|
23
|
+
|
|
24
|
+
/* jshint ignore:start */
|
|
25
|
+
/**
|
|
26
|
+
* Initialize the SettingList
|
|
27
|
+
*
|
|
28
|
+
* @constructor Twilio.Insights.V1.SettingList
|
|
29
|
+
*
|
|
30
|
+
* @param {Twilio.Insights.V1} version - Version of the resource
|
|
31
|
+
*/
|
|
32
|
+
/* jshint ignore:end */
|
|
33
|
+
SettingList = function SettingList(version) {
|
|
34
|
+
/* jshint ignore:start */
|
|
35
|
+
/**
|
|
36
|
+
* @function settings
|
|
37
|
+
* @memberof Twilio.Insights.V1#
|
|
38
|
+
*
|
|
39
|
+
* @param {string} sid - sid of instance
|
|
40
|
+
*
|
|
41
|
+
* @returns {Twilio.Insights.V1.SettingContext}
|
|
42
|
+
*/
|
|
43
|
+
/* jshint ignore:end */
|
|
44
|
+
function SettingListInstance(sid) {
|
|
45
|
+
return SettingListInstance.get(sid);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
SettingListInstance._version = version;
|
|
49
|
+
// Path Solution
|
|
50
|
+
SettingListInstance._solution = {};
|
|
51
|
+
/* jshint ignore:start */
|
|
52
|
+
/**
|
|
53
|
+
* Constructs a setting
|
|
54
|
+
*
|
|
55
|
+
* @function get
|
|
56
|
+
* @memberof Twilio.Insights.V1.SettingList#
|
|
57
|
+
*
|
|
58
|
+
* @returns {Twilio.Insights.V1.SettingContext}
|
|
59
|
+
*/
|
|
60
|
+
/* jshint ignore:end */
|
|
61
|
+
SettingListInstance.get = function get() {
|
|
62
|
+
return new SettingContext(this._version);
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
/* jshint ignore:start */
|
|
66
|
+
/**
|
|
67
|
+
* Provide a user-friendly representation
|
|
68
|
+
*
|
|
69
|
+
* @function toJSON
|
|
70
|
+
* @memberof Twilio.Insights.V1.SettingList#
|
|
71
|
+
*
|
|
72
|
+
* @returns Object
|
|
73
|
+
*/
|
|
74
|
+
/* jshint ignore:end */
|
|
75
|
+
SettingListInstance.toJSON = function toJSON() {
|
|
76
|
+
return this._solution;
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
SettingListInstance[util.inspect.custom] = function inspect(depth, options) {
|
|
80
|
+
return util.inspect(this.toJSON(), options);
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
return SettingListInstance;
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
/* jshint ignore:start */
|
|
88
|
+
/**
|
|
89
|
+
* Initialize the SettingPage
|
|
90
|
+
*
|
|
91
|
+
* @constructor Twilio.Insights.V1.SettingPage
|
|
92
|
+
*
|
|
93
|
+
* @param {V1} version - Version of the resource
|
|
94
|
+
* @param {Response<string>} response - Response from the API
|
|
95
|
+
* @param {SettingSolution} solution - Path solution
|
|
96
|
+
*
|
|
97
|
+
* @returns SettingPage
|
|
98
|
+
*/
|
|
99
|
+
/* jshint ignore:end */
|
|
100
|
+
SettingPage = function SettingPage(version, response, solution) {
|
|
101
|
+
// Path Solution
|
|
102
|
+
this._solution = solution;
|
|
103
|
+
|
|
104
|
+
Page.prototype.constructor.call(this, version, response, this._solution);
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
_.extend(SettingPage.prototype, Page.prototype);
|
|
108
|
+
SettingPage.prototype.constructor = SettingPage;
|
|
109
|
+
|
|
110
|
+
/* jshint ignore:start */
|
|
111
|
+
/**
|
|
112
|
+
* Build an instance of SettingInstance
|
|
113
|
+
*
|
|
114
|
+
* @function getInstance
|
|
115
|
+
* @memberof Twilio.Insights.V1.SettingPage#
|
|
116
|
+
*
|
|
117
|
+
* @param {SettingPayload} payload - Payload response from the API
|
|
118
|
+
*
|
|
119
|
+
* @returns SettingInstance
|
|
120
|
+
*/
|
|
121
|
+
/* jshint ignore:end */
|
|
122
|
+
SettingPage.prototype.getInstance = function getInstance(payload) {
|
|
123
|
+
return new SettingInstance(this._version, payload);
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
/* jshint ignore:start */
|
|
127
|
+
/**
|
|
128
|
+
* Provide a user-friendly representation
|
|
129
|
+
*
|
|
130
|
+
* @function toJSON
|
|
131
|
+
* @memberof Twilio.Insights.V1.SettingPage#
|
|
132
|
+
*
|
|
133
|
+
* @returns Object
|
|
134
|
+
*/
|
|
135
|
+
/* jshint ignore:end */
|
|
136
|
+
SettingPage.prototype.toJSON = function toJSON() {
|
|
137
|
+
let clone = {};
|
|
138
|
+
_.forOwn(this, function(value, key) {
|
|
139
|
+
if (!_.startsWith(key, '_') && ! _.isFunction(value)) {
|
|
140
|
+
clone[key] = value;
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
return clone;
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
SettingPage.prototype[util.inspect.custom] = function inspect(depth, options) {
|
|
147
|
+
return util.inspect(this.toJSON(), options);
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
/* jshint ignore:start */
|
|
152
|
+
/**
|
|
153
|
+
* Initialize the SettingContext
|
|
154
|
+
*
|
|
155
|
+
* @constructor Twilio.Insights.V1.SettingInstance
|
|
156
|
+
*
|
|
157
|
+
* @property {string} accountSid - The account_sid
|
|
158
|
+
* @property {boolean} advancedFeatures - The advanced_features
|
|
159
|
+
* @property {boolean} voiceTrace - The voice_trace
|
|
160
|
+
* @property {string} url - The url
|
|
161
|
+
*
|
|
162
|
+
* @param {V1} version - Version of the resource
|
|
163
|
+
* @param {SettingPayload} payload - The instance payload
|
|
164
|
+
*/
|
|
165
|
+
/* jshint ignore:end */
|
|
166
|
+
SettingInstance = function SettingInstance(version, payload) {
|
|
167
|
+
this._version = version;
|
|
168
|
+
|
|
169
|
+
// Marshaled Properties
|
|
170
|
+
this.accountSid = payload.account_sid; // jshint ignore:line
|
|
171
|
+
this.advancedFeatures = payload.advanced_features; // jshint ignore:line
|
|
172
|
+
this.voiceTrace = payload.voice_trace; // jshint ignore:line
|
|
173
|
+
this.url = payload.url; // jshint ignore:line
|
|
174
|
+
|
|
175
|
+
// Context
|
|
176
|
+
this._context = undefined;
|
|
177
|
+
this._solution = {};
|
|
178
|
+
};
|
|
179
|
+
|
|
180
|
+
Object.defineProperty(SettingInstance.prototype,
|
|
181
|
+
'_proxy', {
|
|
182
|
+
get: function() {
|
|
183
|
+
if (!this._context) {
|
|
184
|
+
this._context = new SettingContext(this._version);
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
return this._context;
|
|
188
|
+
}
|
|
189
|
+
});
|
|
190
|
+
|
|
191
|
+
/* jshint ignore:start */
|
|
192
|
+
/**
|
|
193
|
+
* fetch a SettingInstance
|
|
194
|
+
*
|
|
195
|
+
* @function fetch
|
|
196
|
+
* @memberof Twilio.Insights.V1.SettingInstance#
|
|
197
|
+
*
|
|
198
|
+
* @param {object} [opts] - Options for request
|
|
199
|
+
* @param {string} [opts.subaccountSid] - The subaccount_sid
|
|
200
|
+
* @param {function} [callback] - Callback to handle processed record
|
|
201
|
+
*
|
|
202
|
+
* @returns {Promise} Resolves to processed SettingInstance
|
|
203
|
+
*/
|
|
204
|
+
/* jshint ignore:end */
|
|
205
|
+
SettingInstance.prototype.fetch = function fetch(opts, callback) {
|
|
206
|
+
return this._proxy.fetch(opts, callback);
|
|
207
|
+
};
|
|
208
|
+
|
|
209
|
+
/* jshint ignore:start */
|
|
210
|
+
/**
|
|
211
|
+
* update a SettingInstance
|
|
212
|
+
*
|
|
213
|
+
* @function update
|
|
214
|
+
* @memberof Twilio.Insights.V1.SettingInstance#
|
|
215
|
+
*
|
|
216
|
+
* @param {object} [opts] - Options for request
|
|
217
|
+
* @param {boolean} [opts.advancedFeatures] - The advanced_features
|
|
218
|
+
* @param {boolean} [opts.voiceTrace] - The voice_trace
|
|
219
|
+
* @param {string} [opts.subaccountSid] - The subaccount_sid
|
|
220
|
+
* @param {function} [callback] - Callback to handle processed record
|
|
221
|
+
*
|
|
222
|
+
* @returns {Promise} Resolves to processed SettingInstance
|
|
223
|
+
*/
|
|
224
|
+
/* jshint ignore:end */
|
|
225
|
+
SettingInstance.prototype.update = function update(opts, callback) {
|
|
226
|
+
return this._proxy.update(opts, callback);
|
|
227
|
+
};
|
|
228
|
+
|
|
229
|
+
/* jshint ignore:start */
|
|
230
|
+
/**
|
|
231
|
+
* Provide a user-friendly representation
|
|
232
|
+
*
|
|
233
|
+
* @function toJSON
|
|
234
|
+
* @memberof Twilio.Insights.V1.SettingInstance#
|
|
235
|
+
*
|
|
236
|
+
* @returns Object
|
|
237
|
+
*/
|
|
238
|
+
/* jshint ignore:end */
|
|
239
|
+
SettingInstance.prototype.toJSON = function toJSON() {
|
|
240
|
+
let clone = {};
|
|
241
|
+
_.forOwn(this, function(value, key) {
|
|
242
|
+
if (!_.startsWith(key, '_') && ! _.isFunction(value)) {
|
|
243
|
+
clone[key] = value;
|
|
244
|
+
}
|
|
245
|
+
});
|
|
246
|
+
return clone;
|
|
247
|
+
};
|
|
248
|
+
|
|
249
|
+
SettingInstance.prototype[util.inspect.custom] = function inspect(depth,
|
|
250
|
+
options) {
|
|
251
|
+
return util.inspect(this.toJSON(), options);
|
|
252
|
+
};
|
|
253
|
+
|
|
254
|
+
|
|
255
|
+
/* jshint ignore:start */
|
|
256
|
+
/**
|
|
257
|
+
* Initialize the SettingContext
|
|
258
|
+
*
|
|
259
|
+
* @constructor Twilio.Insights.V1.SettingContext
|
|
260
|
+
*
|
|
261
|
+
* @param {V1} version - Version of the resource
|
|
262
|
+
*/
|
|
263
|
+
/* jshint ignore:end */
|
|
264
|
+
SettingContext = function SettingContext(version) {
|
|
265
|
+
this._version = version;
|
|
266
|
+
|
|
267
|
+
// Path Solution
|
|
268
|
+
this._solution = {};
|
|
269
|
+
this._uri = `/Voice/Settings`;
|
|
270
|
+
};
|
|
271
|
+
|
|
272
|
+
/* jshint ignore:start */
|
|
273
|
+
/**
|
|
274
|
+
* fetch a SettingInstance
|
|
275
|
+
*
|
|
276
|
+
* @function fetch
|
|
277
|
+
* @memberof Twilio.Insights.V1.SettingContext#
|
|
278
|
+
*
|
|
279
|
+
* @param {object} [opts] - Options for request
|
|
280
|
+
* @param {string} [opts.subaccountSid] - The subaccount_sid
|
|
281
|
+
* @param {function} [callback] - Callback to handle processed record
|
|
282
|
+
*
|
|
283
|
+
* @returns {Promise} Resolves to processed SettingInstance
|
|
284
|
+
*/
|
|
285
|
+
/* jshint ignore:end */
|
|
286
|
+
SettingContext.prototype.fetch = function fetch(opts, callback) {
|
|
287
|
+
if (_.isFunction(opts)) {
|
|
288
|
+
callback = opts;
|
|
289
|
+
opts = {};
|
|
290
|
+
}
|
|
291
|
+
opts = opts || {};
|
|
292
|
+
|
|
293
|
+
var deferred = Q.defer();
|
|
294
|
+
var data = values.of({'SubaccountSid': _.get(opts, 'subaccountSid')});
|
|
295
|
+
|
|
296
|
+
var promise = this._version.fetch({uri: this._uri, method: 'GET', params: data});
|
|
297
|
+
|
|
298
|
+
promise = promise.then(function(payload) {
|
|
299
|
+
deferred.resolve(new SettingInstance(this._version, payload));
|
|
300
|
+
}.bind(this));
|
|
301
|
+
|
|
302
|
+
promise.catch(function(error) {
|
|
303
|
+
deferred.reject(error);
|
|
304
|
+
});
|
|
305
|
+
|
|
306
|
+
if (_.isFunction(callback)) {
|
|
307
|
+
deferred.promise.nodeify(callback);
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
return deferred.promise;
|
|
311
|
+
};
|
|
312
|
+
|
|
313
|
+
/* jshint ignore:start */
|
|
314
|
+
/**
|
|
315
|
+
* update a SettingInstance
|
|
316
|
+
*
|
|
317
|
+
* @function update
|
|
318
|
+
* @memberof Twilio.Insights.V1.SettingContext#
|
|
319
|
+
*
|
|
320
|
+
* @param {object} [opts] - Options for request
|
|
321
|
+
* @param {boolean} [opts.advancedFeatures] - The advanced_features
|
|
322
|
+
* @param {boolean} [opts.voiceTrace] - The voice_trace
|
|
323
|
+
* @param {string} [opts.subaccountSid] - The subaccount_sid
|
|
324
|
+
* @param {function} [callback] - Callback to handle processed record
|
|
325
|
+
*
|
|
326
|
+
* @returns {Promise} Resolves to processed SettingInstance
|
|
327
|
+
*/
|
|
328
|
+
/* jshint ignore:end */
|
|
329
|
+
SettingContext.prototype.update = function update(opts, callback) {
|
|
330
|
+
if (_.isFunction(opts)) {
|
|
331
|
+
callback = opts;
|
|
332
|
+
opts = {};
|
|
333
|
+
}
|
|
334
|
+
opts = opts || {};
|
|
335
|
+
|
|
336
|
+
var deferred = Q.defer();
|
|
337
|
+
var data = values.of({
|
|
338
|
+
'AdvancedFeatures': serialize.bool(_.get(opts, 'advancedFeatures')),
|
|
339
|
+
'VoiceTrace': serialize.bool(_.get(opts, 'voiceTrace')),
|
|
340
|
+
'SubaccountSid': _.get(opts, 'subaccountSid')
|
|
341
|
+
});
|
|
342
|
+
|
|
343
|
+
var promise = this._version.update({uri: this._uri, method: 'POST', data: data});
|
|
344
|
+
|
|
345
|
+
promise = promise.then(function(payload) {
|
|
346
|
+
deferred.resolve(new SettingInstance(this._version, payload));
|
|
347
|
+
}.bind(this));
|
|
348
|
+
|
|
349
|
+
promise.catch(function(error) {
|
|
350
|
+
deferred.reject(error);
|
|
351
|
+
});
|
|
352
|
+
|
|
353
|
+
if (_.isFunction(callback)) {
|
|
354
|
+
deferred.promise.nodeify(callback);
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
return deferred.promise;
|
|
358
|
+
};
|
|
359
|
+
|
|
360
|
+
/* jshint ignore:start */
|
|
361
|
+
/**
|
|
362
|
+
* Provide a user-friendly representation
|
|
363
|
+
*
|
|
364
|
+
* @function toJSON
|
|
365
|
+
* @memberof Twilio.Insights.V1.SettingContext#
|
|
366
|
+
*
|
|
367
|
+
* @returns Object
|
|
368
|
+
*/
|
|
369
|
+
/* jshint ignore:end */
|
|
370
|
+
SettingContext.prototype.toJSON = function toJSON() {
|
|
371
|
+
return this._solution;
|
|
372
|
+
};
|
|
373
|
+
|
|
374
|
+
SettingContext.prototype[util.inspect.custom] = function inspect(depth, options)
|
|
375
|
+
{
|
|
376
|
+
return util.inspect(this.toJSON(), options);
|
|
377
|
+
};
|
|
378
|
+
|
|
379
|
+
module.exports = {
|
|
380
|
+
SettingList: SettingList,
|
|
381
|
+
SettingPage: SettingPage,
|
|
382
|
+
SettingInstance: SettingInstance,
|
|
383
|
+
SettingContext: SettingContext
|
|
384
|
+
};
|
|
@@ -158,6 +158,7 @@ interface MediaProcessorListInstance {
|
|
|
158
158
|
* @property extension - The Media Extension name or URL
|
|
159
159
|
* @property extensionContext - The Media Extension context
|
|
160
160
|
* @property extensionEnvironment - The Media Extension environment
|
|
161
|
+
* @property maxDuration - Maximum MediaProcessor duration in minutes
|
|
161
162
|
* @property statusCallback - The URL to send MediaProcessor event updates to your application
|
|
162
163
|
* @property statusCallbackMethod - The HTTP method Twilio should use to call the `status_callback` URL
|
|
163
164
|
*/
|
|
@@ -165,6 +166,7 @@ interface MediaProcessorListInstanceCreateOptions {
|
|
|
165
166
|
extension: string;
|
|
166
167
|
extensionContext: string;
|
|
167
168
|
extensionEnvironment?: object;
|
|
169
|
+
maxDuration?: number;
|
|
168
170
|
statusCallback?: string;
|
|
169
171
|
statusCallbackMethod?: string;
|
|
170
172
|
}
|
|
@@ -248,6 +250,7 @@ interface MediaProcessorResource {
|
|
|
248
250
|
ended_reason: string;
|
|
249
251
|
extension: string;
|
|
250
252
|
extension_context: string;
|
|
253
|
+
max_duration: number;
|
|
251
254
|
sid: string;
|
|
252
255
|
status: MediaProcessorStatus;
|
|
253
256
|
status_callback: string;
|
|
@@ -311,6 +314,7 @@ declare class MediaProcessorInstance extends SerializableClass {
|
|
|
311
314
|
* @param callback - Callback to handle processed record
|
|
312
315
|
*/
|
|
313
316
|
fetch(callback?: (error: Error | null, items: MediaProcessorInstance) => any): Promise<MediaProcessorInstance>;
|
|
317
|
+
maxDuration: number;
|
|
314
318
|
sid: string;
|
|
315
319
|
status: MediaProcessorStatus;
|
|
316
320
|
statusCallback: string;
|
|
@@ -66,6 +66,7 @@ MediaProcessorList = function MediaProcessorList(version) {
|
|
|
66
66
|
* The URL to send MediaProcessor event updates to your application
|
|
67
67
|
* @param {string} [opts.statusCallbackMethod] -
|
|
68
68
|
* The HTTP method Twilio should use to call the `status_callback` URL
|
|
69
|
+
* @param {number} [opts.maxDuration] - Maximum MediaProcessor duration in minutes
|
|
69
70
|
* @param {function} [callback] - Callback to handle processed record
|
|
70
71
|
*
|
|
71
72
|
* @returns {Promise} Resolves to processed MediaProcessorInstance
|
|
@@ -88,7 +89,8 @@ MediaProcessorList = function MediaProcessorList(version) {
|
|
|
88
89
|
'ExtensionContext': _.get(opts, 'extensionContext'),
|
|
89
90
|
'ExtensionEnvironment': serialize.object(_.get(opts, 'extensionEnvironment')),
|
|
90
91
|
'StatusCallback': _.get(opts, 'statusCallback'),
|
|
91
|
-
'StatusCallbackMethod': _.get(opts, 'statusCallbackMethod')
|
|
92
|
+
'StatusCallbackMethod': _.get(opts, 'statusCallbackMethod'),
|
|
93
|
+
'MaxDuration': _.get(opts, 'maxDuration')
|
|
92
94
|
});
|
|
93
95
|
|
|
94
96
|
var promise = this._version.create({uri: this._uri, method: 'POST', data: data});
|
|
@@ -483,6 +485,7 @@ MediaProcessorPage.prototype[util.inspect.custom] = function inspect(depth,
|
|
|
483
485
|
* The URL to which Twilio will send MediaProcessor event updates
|
|
484
486
|
* @property {string} statusCallbackMethod -
|
|
485
487
|
* The HTTP method Twilio should use to call the `status_callback` URL
|
|
488
|
+
* @property {number} maxDuration - Maximum MediaProcessor duration in minutes
|
|
486
489
|
*
|
|
487
490
|
* @param {V1} version - Version of the resource
|
|
488
491
|
* @param {MediaProcessorPayload} payload - The instance payload
|
|
@@ -505,6 +508,7 @@ MediaProcessorInstance = function MediaProcessorInstance(version, payload, sid)
|
|
|
505
508
|
this.endedReason = payload.ended_reason; // jshint ignore:line
|
|
506
509
|
this.statusCallback = payload.status_callback; // jshint ignore:line
|
|
507
510
|
this.statusCallbackMethod = payload.status_callback_method; // jshint ignore:line
|
|
511
|
+
this.maxDuration = deserialize.integer(payload.max_duration); // jshint ignore:line
|
|
508
512
|
|
|
509
513
|
// Context
|
|
510
514
|
this._context = undefined;
|
|
@@ -168,6 +168,7 @@ interface RoomListInstance {
|
|
|
168
168
|
* Options to pass to create
|
|
169
169
|
*
|
|
170
170
|
* @property audioOnly - Indicates whether the room will only contain audio track participants for group rooms.
|
|
171
|
+
* @property emptyRoomTimeout - Configures the time a room will remain active after last participant leaves.
|
|
171
172
|
* @property enableTurn - Enable Twilio's Network Traversal TURN service
|
|
172
173
|
* @property maxParticipantDuration - The maximum number of seconds a Participant can be connected to the room
|
|
173
174
|
* @property maxParticipants - The maximum number of concurrent Participants allowed in the room
|
|
@@ -178,10 +179,12 @@ interface RoomListInstance {
|
|
|
178
179
|
* @property statusCallbackMethod - The HTTP method we should use to call status_callback
|
|
179
180
|
* @property type - The type of room
|
|
180
181
|
* @property uniqueName - An application-defined string that uniquely identifies the resource
|
|
182
|
+
* @property unusedRoomTimeout - Configures the time a room will remain active when no one joins.
|
|
181
183
|
* @property videoCodecs - An array of the video codecs that are supported when publishing a track in the room
|
|
182
184
|
*/
|
|
183
185
|
interface RoomListInstanceCreateOptions {
|
|
184
186
|
audioOnly?: boolean;
|
|
187
|
+
emptyRoomTimeout?: number;
|
|
185
188
|
enableTurn?: boolean;
|
|
186
189
|
maxParticipantDuration?: number;
|
|
187
190
|
maxParticipants?: number;
|
|
@@ -192,6 +195,7 @@ interface RoomListInstanceCreateOptions {
|
|
|
192
195
|
statusCallbackMethod?: string;
|
|
193
196
|
type?: RoomRoomType;
|
|
194
197
|
uniqueName?: string;
|
|
198
|
+
unusedRoomTimeout?: number;
|
|
195
199
|
videoCodecs?: RoomVideoCodec | RoomVideoCodec[];
|
|
196
200
|
}
|
|
197
201
|
|
|
@@ -285,6 +289,7 @@ interface RoomResource {
|
|
|
285
289
|
date_created: Date;
|
|
286
290
|
date_updated: Date;
|
|
287
291
|
duration: number;
|
|
292
|
+
empty_room_timeout: number;
|
|
288
293
|
enable_turn: boolean;
|
|
289
294
|
end_time: Date;
|
|
290
295
|
links: string;
|
|
@@ -299,6 +304,7 @@ interface RoomResource {
|
|
|
299
304
|
status_callback_method: string;
|
|
300
305
|
type: RoomRoomType;
|
|
301
306
|
unique_name: string;
|
|
307
|
+
unused_room_timeout: number;
|
|
302
308
|
url: string;
|
|
303
309
|
video_codecs: RoomVideoCodec[];
|
|
304
310
|
}
|
|
@@ -355,6 +361,7 @@ declare class RoomInstance extends SerializableClass {
|
|
|
355
361
|
dateCreated: Date;
|
|
356
362
|
dateUpdated: Date;
|
|
357
363
|
duration: number;
|
|
364
|
+
emptyRoomTimeout: number;
|
|
358
365
|
enableTurn: boolean;
|
|
359
366
|
endTime: Date;
|
|
360
367
|
/**
|
|
@@ -391,6 +398,7 @@ declare class RoomInstance extends SerializableClass {
|
|
|
391
398
|
toJSON(): any;
|
|
392
399
|
type: RoomRoomType;
|
|
393
400
|
uniqueName: string;
|
|
401
|
+
unusedRoomTimeout: number;
|
|
394
402
|
/**
|
|
395
403
|
* update a RoomInstance
|
|
396
404
|
*
|
|
@@ -84,6 +84,10 @@ RoomList = function RoomList(version) {
|
|
|
84
84
|
* Indicates whether the room will only contain audio track participants for group rooms.
|
|
85
85
|
* @param {number} [opts.maxParticipantDuration] -
|
|
86
86
|
* The maximum number of seconds a Participant can be connected to the room
|
|
87
|
+
* @param {number} [opts.emptyRoomTimeout] -
|
|
88
|
+
* Configures the time a room will remain active after last participant leaves.
|
|
89
|
+
* @param {number} [opts.unusedRoomTimeout] -
|
|
90
|
+
* Configures the time a room will remain active when no one joins.
|
|
87
91
|
* @param {function} [callback] - Callback to handle processed record
|
|
88
92
|
*
|
|
89
93
|
* @returns {Promise} Resolves to processed RoomInstance
|
|
@@ -109,7 +113,9 @@ RoomList = function RoomList(version) {
|
|
|
109
113
|
'MediaRegion': _.get(opts, 'mediaRegion'),
|
|
110
114
|
'RecordingRules': serialize.object(_.get(opts, 'recordingRules')),
|
|
111
115
|
'AudioOnly': serialize.bool(_.get(opts, 'audioOnly')),
|
|
112
|
-
'MaxParticipantDuration': _.get(opts, 'maxParticipantDuration')
|
|
116
|
+
'MaxParticipantDuration': _.get(opts, 'maxParticipantDuration'),
|
|
117
|
+
'EmptyRoomTimeout': _.get(opts, 'emptyRoomTimeout'),
|
|
118
|
+
'UnusedRoomTimeout': _.get(opts, 'unusedRoomTimeout')
|
|
113
119
|
});
|
|
114
120
|
|
|
115
121
|
var promise = this._version.create({uri: this._uri, method: 'POST', data: data});
|
|
@@ -531,6 +537,10 @@ RoomPage.prototype[util.inspect.custom] = function inspect(depth, options) {
|
|
|
531
537
|
* @property {string} mediaRegion - The region for the media server in Group Rooms
|
|
532
538
|
* @property {boolean} audioOnly -
|
|
533
539
|
* Indicates whether the room will only contain audio track participants for group rooms.
|
|
540
|
+
* @property {number} emptyRoomTimeout -
|
|
541
|
+
* The time a room will remain active after last participant leaves.
|
|
542
|
+
* @property {number} unusedRoomTimeout -
|
|
543
|
+
* The time a room will remain active when no one joins.
|
|
534
544
|
* @property {string} url - The absolute URL of the resource
|
|
535
545
|
* @property {string} links - The URLs of related resources
|
|
536
546
|
*
|
|
@@ -562,6 +572,8 @@ RoomInstance = function RoomInstance(version, payload, sid) {
|
|
|
562
572
|
this.videoCodecs = payload.video_codecs; // jshint ignore:line
|
|
563
573
|
this.mediaRegion = payload.media_region; // jshint ignore:line
|
|
564
574
|
this.audioOnly = payload.audio_only; // jshint ignore:line
|
|
575
|
+
this.emptyRoomTimeout = deserialize.integer(payload.empty_room_timeout); // jshint ignore:line
|
|
576
|
+
this.unusedRoomTimeout = deserialize.integer(payload.unused_room_timeout); // jshint ignore:line
|
|
565
577
|
this.url = payload.url; // jshint ignore:line
|
|
566
578
|
this.links = payload.links; // jshint ignore:line
|
|
567
579
|
|
package/lib/rest/voice/V1.d.ts
CHANGED
|
@@ -7,6 +7,8 @@
|
|
|
7
7
|
|
|
8
8
|
import Version = require('../../base/Version');
|
|
9
9
|
import Voice = require('../Voice');
|
|
10
|
+
import { ArchivedCallList } from './v1/archivedCall';
|
|
11
|
+
import { ArchivedCallListInstance } from './v1/archivedCall';
|
|
10
12
|
import { ByocTrunkList } from './v1/byocTrunk';
|
|
11
13
|
import { ByocTrunkListInstance } from './v1/byocTrunk';
|
|
12
14
|
import { ConnectionPolicyList } from './v1/connectionPolicy';
|
|
@@ -27,6 +29,7 @@ declare class V1 extends Version {
|
|
|
27
29
|
*/
|
|
28
30
|
constructor(domain: Voice);
|
|
29
31
|
|
|
32
|
+
readonly archivedCalls: ArchivedCallListInstance;
|
|
30
33
|
readonly byocTrunks: ByocTrunkListInstance;
|
|
31
34
|
readonly connectionPolicies: ConnectionPolicyListInstance;
|
|
32
35
|
readonly dialingPermissions: DialingPermissionsListInstance;
|
package/lib/rest/voice/V1.js
CHANGED
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
/* jshint ignore:end */
|
|
11
11
|
|
|
12
12
|
var _ = require('lodash'); /* jshint ignore:line */
|
|
13
|
+
var ArchivedCallList = require('./v1/archivedCall').ArchivedCallList;
|
|
13
14
|
var ByocTrunkList = require('./v1/byocTrunk').ByocTrunkList;
|
|
14
15
|
var ConnectionPolicyList = require(
|
|
15
16
|
'./v1/connectionPolicy').ConnectionPolicyList;
|
|
@@ -26,6 +27,8 @@ var Version = require('../../base/Version'); /* jshint ignore:line */
|
|
|
26
27
|
*
|
|
27
28
|
* @constructor Twilio.Voice.V1
|
|
28
29
|
*
|
|
30
|
+
* @property {Twilio.Voice.V1.ArchivedCallList} archivedCalls -
|
|
31
|
+
* archivedCalls resource
|
|
29
32
|
* @property {Twilio.Voice.V1.ByocTrunkList} byocTrunks - byocTrunks resource
|
|
30
33
|
* @property {Twilio.Voice.V1.ConnectionPolicyList} connectionPolicies -
|
|
31
34
|
* connectionPolicies resource
|
|
@@ -42,6 +45,7 @@ function V1(domain) {
|
|
|
42
45
|
Version.prototype.constructor.call(this, domain, 'v1');
|
|
43
46
|
|
|
44
47
|
// Resources
|
|
48
|
+
this._archivedCalls = undefined;
|
|
45
49
|
this._byocTrunks = undefined;
|
|
46
50
|
this._connectionPolicies = undefined;
|
|
47
51
|
this._dialingPermissions = undefined;
|
|
@@ -52,6 +56,14 @@ function V1(domain) {
|
|
|
52
56
|
_.extend(V1.prototype, Version.prototype);
|
|
53
57
|
V1.prototype.constructor = V1;
|
|
54
58
|
|
|
59
|
+
Object.defineProperty(V1.prototype,
|
|
60
|
+
'archivedCalls', {
|
|
61
|
+
get: function() {
|
|
62
|
+
this._archivedCalls = this._archivedCalls || new ArchivedCallList(this);
|
|
63
|
+
return this._archivedCalls;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
|
|
55
67
|
Object.defineProperty(V1.prototype,
|
|
56
68
|
'byocTrunks', {
|
|
57
69
|
get: function() {
|