@per_moeller/asterisk-ari 1.0.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/LICENSE +21 -0
- package/README.md +291 -0
- package/dist/client.d.ts +123 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +297 -0
- package/dist/client.js.map +1 -0
- package/dist/connection.d.ts +70 -0
- package/dist/connection.d.ts.map +1 -0
- package/dist/connection.js +157 -0
- package/dist/connection.js.map +1 -0
- package/dist/events/emitter.d.ts +82 -0
- package/dist/events/emitter.d.ts.map +1 -0
- package/dist/events/emitter.js +132 -0
- package/dist/events/emitter.js.map +1 -0
- package/dist/events/types.d.ts +283 -0
- package/dist/events/types.d.ts.map +1 -0
- package/dist/events/types.js +5 -0
- package/dist/events/types.js.map +1 -0
- package/dist/index.d.ts +27 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +34 -0
- package/dist/index.js.map +1 -0
- package/dist/models/bridge.d.ts +102 -0
- package/dist/models/bridge.d.ts.map +1 -0
- package/dist/models/bridge.js +186 -0
- package/dist/models/bridge.js.map +1 -0
- package/dist/models/channel.d.ts +166 -0
- package/dist/models/channel.d.ts.map +1 -0
- package/dist/models/channel.js +278 -0
- package/dist/models/channel.js.map +1 -0
- package/dist/models/index.d.ts +8 -0
- package/dist/models/index.d.ts.map +1 -0
- package/dist/models/index.js +8 -0
- package/dist/models/index.js.map +1 -0
- package/dist/models/playback.d.ts +82 -0
- package/dist/models/playback.d.ts.map +1 -0
- package/dist/models/playback.js +146 -0
- package/dist/models/playback.js.map +1 -0
- package/dist/models/recording.d.ts +104 -0
- package/dist/models/recording.d.ts.map +1 -0
- package/dist/models/recording.js +191 -0
- package/dist/models/recording.js.map +1 -0
- package/dist/pool.d.ts +57 -0
- package/dist/pool.d.ts.map +1 -0
- package/dist/pool.js +111 -0
- package/dist/pool.js.map +1 -0
- package/dist/queue.d.ts +85 -0
- package/dist/queue.d.ts.map +1 -0
- package/dist/queue.js +208 -0
- package/dist/queue.js.map +1 -0
- package/dist/resources/applications.d.ts +37 -0
- package/dist/resources/applications.d.ts.map +1 -0
- package/dist/resources/applications.js +45 -0
- package/dist/resources/applications.js.map +1 -0
- package/dist/resources/asterisk.d.ts +71 -0
- package/dist/resources/asterisk.d.ts.map +1 -0
- package/dist/resources/asterisk.js +94 -0
- package/dist/resources/asterisk.js.map +1 -0
- package/dist/resources/base.d.ts +18 -0
- package/dist/resources/base.d.ts.map +1 -0
- package/dist/resources/base.js +21 -0
- package/dist/resources/base.js.map +1 -0
- package/dist/resources/bridges.d.ts +66 -0
- package/dist/resources/bridges.d.ts.map +1 -0
- package/dist/resources/bridges.js +109 -0
- package/dist/resources/bridges.js.map +1 -0
- package/dist/resources/channels.d.ts +130 -0
- package/dist/resources/channels.d.ts.map +1 -0
- package/dist/resources/channels.js +228 -0
- package/dist/resources/channels.js.map +1 -0
- package/dist/resources/devicestates.d.ts +30 -0
- package/dist/resources/devicestates.d.ts.map +1 -0
- package/dist/resources/devicestates.js +37 -0
- package/dist/resources/devicestates.js.map +1 -0
- package/dist/resources/endpoints.d.ts +38 -0
- package/dist/resources/endpoints.d.ts.map +1 -0
- package/dist/resources/endpoints.js +61 -0
- package/dist/resources/endpoints.js.map +1 -0
- package/dist/resources/mailboxes.d.ts +30 -0
- package/dist/resources/mailboxes.d.ts.map +1 -0
- package/dist/resources/mailboxes.js +38 -0
- package/dist/resources/mailboxes.js.map +1 -0
- package/dist/resources/playbacks.d.ts +27 -0
- package/dist/resources/playbacks.d.ts.map +1 -0
- package/dist/resources/playbacks.js +31 -0
- package/dist/resources/playbacks.js.map +1 -0
- package/dist/resources/recordings.d.ts +76 -0
- package/dist/resources/recordings.d.ts.map +1 -0
- package/dist/resources/recordings.js +105 -0
- package/dist/resources/recordings.js.map +1 -0
- package/dist/resources/sounds.d.ts +22 -0
- package/dist/resources/sounds.d.ts.map +1 -0
- package/dist/resources/sounds.js +26 -0
- package/dist/resources/sounds.js.map +1 -0
- package/dist/types/api.d.ts +331 -0
- package/dist/types/api.d.ts.map +1 -0
- package/dist/types/api.js +5 -0
- package/dist/types/api.js.map +1 -0
- package/dist/types/options.d.ts +77 -0
- package/dist/types/options.d.ts.map +1 -0
- package/dist/types/options.js +23 -0
- package/dist/types/options.js.map +1 -0
- package/dist/version.d.ts +86 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +122 -0
- package/dist/version.js.map +1 -0
- package/dist/websocket.d.ts +70 -0
- package/dist/websocket.d.ts.map +1 -0
- package/dist/websocket.js +195 -0
- package/dist/websocket.js.map +1 -0
- package/package.json +59 -0
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Asterisk system API resource
|
|
3
|
+
*/
|
|
4
|
+
import { BaseResource } from './base.js';
|
|
5
|
+
/**
|
|
6
|
+
* Asterisk API - Manage Asterisk system resources
|
|
7
|
+
*/
|
|
8
|
+
export class AsteriskResource extends BaseResource {
|
|
9
|
+
constructor(http, version) {
|
|
10
|
+
super(http, version);
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Get Asterisk system information
|
|
14
|
+
*/
|
|
15
|
+
async getInfo(only) {
|
|
16
|
+
return this.http.get('/asterisk/info', {
|
|
17
|
+
only: only?.join(','),
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* List Asterisk modules
|
|
22
|
+
*/
|
|
23
|
+
async listModules() {
|
|
24
|
+
return this.http.get('/asterisk/modules');
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Get a specific Asterisk module
|
|
28
|
+
*/
|
|
29
|
+
async getModule(moduleName) {
|
|
30
|
+
return this.http.get(`/asterisk/modules/${encodeURIComponent(moduleName)}`);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Load an Asterisk module
|
|
34
|
+
*/
|
|
35
|
+
async loadModule(moduleName) {
|
|
36
|
+
return this.http.post(`/asterisk/modules/${encodeURIComponent(moduleName)}`);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Unload an Asterisk module
|
|
40
|
+
*/
|
|
41
|
+
async unloadModule(moduleName) {
|
|
42
|
+
return this.http.delete(`/asterisk/modules/${encodeURIComponent(moduleName)}`);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Reload an Asterisk module
|
|
46
|
+
*/
|
|
47
|
+
async reloadModule(moduleName) {
|
|
48
|
+
return this.http.put(`/asterisk/modules/${encodeURIComponent(moduleName)}`);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* List logging channels
|
|
52
|
+
*/
|
|
53
|
+
async listLogChannels() {
|
|
54
|
+
return this.http.get('/asterisk/logging');
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Add a logging channel
|
|
58
|
+
*/
|
|
59
|
+
async addLogChannel(logChannelName, configuration) {
|
|
60
|
+
return this.http.post(`/asterisk/logging/${encodeURIComponent(logChannelName)}`, undefined, { configuration });
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Delete a logging channel
|
|
64
|
+
*/
|
|
65
|
+
async deleteLogChannel(logChannelName) {
|
|
66
|
+
return this.http.delete(`/asterisk/logging/${encodeURIComponent(logChannelName)}`);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Rotate a log channel
|
|
70
|
+
*/
|
|
71
|
+
async rotateLogChannel(logChannelName) {
|
|
72
|
+
return this.http.put(`/asterisk/logging/${encodeURIComponent(logChannelName)}/rotate`);
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Get a global variable
|
|
76
|
+
*/
|
|
77
|
+
async getGlobalVariable(variable) {
|
|
78
|
+
const result = await this.http.get('/asterisk/variable', { variable });
|
|
79
|
+
return result.value;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Set a global variable
|
|
83
|
+
*/
|
|
84
|
+
async setGlobalVariable(variable, value) {
|
|
85
|
+
return this.http.post('/asterisk/variable', undefined, { variable, value });
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Ping Asterisk
|
|
89
|
+
*/
|
|
90
|
+
async ping() {
|
|
91
|
+
return this.http.get('/asterisk/ping');
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=asterisk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asterisk.js","sourceRoot":"","sources":["../../src/resources/asterisk.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAOzC;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,YAAY;IAChD,YAAY,IAAoB,EAAE,OAAsB;QACtD,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,IAA2B;QACvC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAe,gBAAgB,EAAE;YACnD,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;SACtB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAW,mBAAmB,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,UAAkB;QAChC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAS,qBAAqB,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACtF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,UAAkB;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,qBAAqB,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACrF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,UAAkB;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAO,qBAAqB,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACvF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,UAAkB;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAO,qBAAqB,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACpF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAe,mBAAmB,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,cAAsB,EAAE,aAAqB;QAC/D,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,qBAAqB,kBAAkB,CAAC,cAAc,CAAC,EAAE,EACzD,SAAS,EACT,EAAE,aAAa,EAAE,CAClB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,cAAsB;QAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAO,qBAAqB,kBAAkB,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,cAAsB;QAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAO,qBAAqB,kBAAkB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAC/F,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,QAAgB;QACtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAW,oBAAoB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjF,OAAO,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,QAAgB,EAAE,KAAc;QACtD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,oBAAoB,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IACpF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACzC,CAAC;CACF"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base resource class for API resources
|
|
3
|
+
*/
|
|
4
|
+
import type { HttpConnection } from '../connection.js';
|
|
5
|
+
import type { VersionCompat } from '../version.js';
|
|
6
|
+
/**
|
|
7
|
+
* Base class for ARI API resources
|
|
8
|
+
*/
|
|
9
|
+
export declare abstract class BaseResource {
|
|
10
|
+
protected readonly http: HttpConnection;
|
|
11
|
+
protected readonly version: VersionCompat;
|
|
12
|
+
constructor(http: HttpConnection, version: VersionCompat);
|
|
13
|
+
/**
|
|
14
|
+
* Check if a method is available for the current Asterisk version
|
|
15
|
+
*/
|
|
16
|
+
protected validateVersion(method: string): void;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/resources/base.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD;;GAEG;AACH,8BAAsB,YAAY;IAChC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IACxC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;gBAE9B,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa;IAKxD;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAGhD"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base resource class for API resources
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Base class for ARI API resources
|
|
6
|
+
*/
|
|
7
|
+
export class BaseResource {
|
|
8
|
+
http;
|
|
9
|
+
version;
|
|
10
|
+
constructor(http, version) {
|
|
11
|
+
this.http = http;
|
|
12
|
+
this.version = version;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Check if a method is available for the current Asterisk version
|
|
16
|
+
*/
|
|
17
|
+
validateVersion(method) {
|
|
18
|
+
this.version.validateMethod(method);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/resources/base.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH;;GAEG;AACH,MAAM,OAAgB,YAAY;IACb,IAAI,CAAiB;IACrB,OAAO,CAAgB;IAE1C,YAAY,IAAoB,EAAE,OAAsB;QACtD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;OAEG;IACO,eAAe,CAAC,MAAc;QACtC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;CACF"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bridges API resource
|
|
3
|
+
*/
|
|
4
|
+
import { BaseResource } from './base.js';
|
|
5
|
+
import type { HttpConnection } from '../connection.js';
|
|
6
|
+
import type { VersionCompat } from '../version.js';
|
|
7
|
+
import type { Bridge, CreateBridgeParams, AddChannelParams, RemoveChannelParams, PlayBridgeParams, RecordBridgeParams, Playback, LiveRecording } from '../types/api.js';
|
|
8
|
+
/**
|
|
9
|
+
* Bridges API - Manage bridges (conference rooms, etc.)
|
|
10
|
+
*/
|
|
11
|
+
export declare class BridgesResource extends BaseResource {
|
|
12
|
+
constructor(http: HttpConnection, version: VersionCompat);
|
|
13
|
+
/**
|
|
14
|
+
* List all active bridges
|
|
15
|
+
*/
|
|
16
|
+
list(): Promise<Bridge[]>;
|
|
17
|
+
/**
|
|
18
|
+
* Get a bridge's details
|
|
19
|
+
*/
|
|
20
|
+
get(bridgeId: string): Promise<Bridge>;
|
|
21
|
+
/**
|
|
22
|
+
* Create a new bridge
|
|
23
|
+
*/
|
|
24
|
+
create(params?: CreateBridgeParams): Promise<Bridge>;
|
|
25
|
+
/**
|
|
26
|
+
* Create a bridge or update an existing bridge
|
|
27
|
+
*/
|
|
28
|
+
createOrUpdate(bridgeId: string, params?: Omit<CreateBridgeParams, 'bridgeId'>): Promise<Bridge>;
|
|
29
|
+
/**
|
|
30
|
+
* Destroy a bridge
|
|
31
|
+
*/
|
|
32
|
+
destroy(bridgeId: string): Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* Add channel(s) to a bridge
|
|
35
|
+
*/
|
|
36
|
+
addChannel(bridgeId: string, params: AddChannelParams): Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* Remove channel(s) from a bridge
|
|
39
|
+
*/
|
|
40
|
+
removeChannel(bridgeId: string, params: RemoveChannelParams): Promise<void>;
|
|
41
|
+
/**
|
|
42
|
+
* Set the video source for a bridge
|
|
43
|
+
*/
|
|
44
|
+
setVideoSource(bridgeId: string, channelId: string): Promise<void>;
|
|
45
|
+
/**
|
|
46
|
+
* Clear the video source for a bridge
|
|
47
|
+
*/
|
|
48
|
+
clearVideoSource(bridgeId: string): Promise<void>;
|
|
49
|
+
/**
|
|
50
|
+
* Start music on hold for a bridge
|
|
51
|
+
*/
|
|
52
|
+
startMoh(bridgeId: string, mohClass?: string): Promise<void>;
|
|
53
|
+
/**
|
|
54
|
+
* Stop music on hold for a bridge
|
|
55
|
+
*/
|
|
56
|
+
stopMoh(bridgeId: string): Promise<void>;
|
|
57
|
+
/**
|
|
58
|
+
* Play media to a bridge
|
|
59
|
+
*/
|
|
60
|
+
play(bridgeId: string, params: PlayBridgeParams): Promise<Playback>;
|
|
61
|
+
/**
|
|
62
|
+
* Record audio from a bridge
|
|
63
|
+
*/
|
|
64
|
+
record(bridgeId: string, params: RecordBridgeParams): Promise<LiveRecording>;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=bridges.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridges.d.ts","sourceRoot":"","sources":["../../src/resources/bridges.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EACV,MAAM,EACN,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,QAAQ,EACR,aAAa,EACd,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,qBAAa,eAAgB,SAAQ,YAAY;gBACnC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa;IAIxD;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI/B;;OAEG;IACG,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI5C;;OAEG;IACG,MAAM,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAc1D;;OAEG;IACG,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAQtG;;OAEG;IACG,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C;;OAEG;IACG,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAW3E;;OAEG;IACG,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAWjF;;OAEG;IACG,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMxE;;OAEG;IACG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvD;;OAEG;IACG,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQlE;;OAEG;IACG,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C;;OAEG;IACG,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAwBzE;;OAEG;IACG,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;CAOnF"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bridges API resource
|
|
3
|
+
*/
|
|
4
|
+
import { BaseResource } from './base.js';
|
|
5
|
+
import { toQueryParams } from '../connection.js';
|
|
6
|
+
/**
|
|
7
|
+
* Bridges API - Manage bridges (conference rooms, etc.)
|
|
8
|
+
*/
|
|
9
|
+
export class BridgesResource extends BaseResource {
|
|
10
|
+
constructor(http, version) {
|
|
11
|
+
super(http, version);
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* List all active bridges
|
|
15
|
+
*/
|
|
16
|
+
async list() {
|
|
17
|
+
return this.http.get('/bridges');
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Get a bridge's details
|
|
21
|
+
*/
|
|
22
|
+
async get(bridgeId) {
|
|
23
|
+
return this.http.get(`/bridges/${encodeURIComponent(bridgeId)}`);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Create a new bridge
|
|
27
|
+
*/
|
|
28
|
+
async create(params) {
|
|
29
|
+
const { bridgeId, ...rest } = params || {};
|
|
30
|
+
if (bridgeId) {
|
|
31
|
+
return this.http.post(`/bridges/${encodeURIComponent(bridgeId)}`, undefined, rest);
|
|
32
|
+
}
|
|
33
|
+
return this.http.post('/bridges', undefined, rest);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Create a bridge or update an existing bridge
|
|
37
|
+
*/
|
|
38
|
+
async createOrUpdate(bridgeId, params) {
|
|
39
|
+
return this.http.post(`/bridges/${encodeURIComponent(bridgeId)}`, undefined, params);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Destroy a bridge
|
|
43
|
+
*/
|
|
44
|
+
async destroy(bridgeId) {
|
|
45
|
+
return this.http.delete(`/bridges/${encodeURIComponent(bridgeId)}`);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Add channel(s) to a bridge
|
|
49
|
+
*/
|
|
50
|
+
async addChannel(bridgeId, params) {
|
|
51
|
+
const { channel, ...rest } = params;
|
|
52
|
+
const channelArray = Array.isArray(channel) ? channel : [channel];
|
|
53
|
+
return this.http.post(`/bridges/${encodeURIComponent(bridgeId)}/addChannel`, undefined, { channel: channelArray, ...rest });
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Remove channel(s) from a bridge
|
|
57
|
+
*/
|
|
58
|
+
async removeChannel(bridgeId, params) {
|
|
59
|
+
const { channel } = params;
|
|
60
|
+
const channelArray = Array.isArray(channel) ? channel : [channel];
|
|
61
|
+
return this.http.post(`/bridges/${encodeURIComponent(bridgeId)}/removeChannel`, undefined, { channel: channelArray });
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Set the video source for a bridge
|
|
65
|
+
*/
|
|
66
|
+
async setVideoSource(bridgeId, channelId) {
|
|
67
|
+
return this.http.post(`/bridges/${encodeURIComponent(bridgeId)}/videoSource/${encodeURIComponent(channelId)}`);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Clear the video source for a bridge
|
|
71
|
+
*/
|
|
72
|
+
async clearVideoSource(bridgeId) {
|
|
73
|
+
return this.http.delete(`/bridges/${encodeURIComponent(bridgeId)}/videoSource`);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Start music on hold for a bridge
|
|
77
|
+
*/
|
|
78
|
+
async startMoh(bridgeId, mohClass) {
|
|
79
|
+
return this.http.post(`/bridges/${encodeURIComponent(bridgeId)}/moh`, undefined, mohClass ? { mohClass } : undefined);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Stop music on hold for a bridge
|
|
83
|
+
*/
|
|
84
|
+
async stopMoh(bridgeId) {
|
|
85
|
+
return this.http.delete(`/bridges/${encodeURIComponent(bridgeId)}/moh`);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Play media to a bridge
|
|
89
|
+
*/
|
|
90
|
+
async play(bridgeId, params) {
|
|
91
|
+
const { media, playbackId, ...rest } = params;
|
|
92
|
+
const mediaArray = Array.isArray(media) ? media : [media];
|
|
93
|
+
const query = {
|
|
94
|
+
...rest,
|
|
95
|
+
media: mediaArray,
|
|
96
|
+
};
|
|
97
|
+
if (playbackId) {
|
|
98
|
+
return this.http.post(`/bridges/${encodeURIComponent(bridgeId)}/play/${encodeURIComponent(playbackId)}`, undefined, query);
|
|
99
|
+
}
|
|
100
|
+
return this.http.post(`/bridges/${encodeURIComponent(bridgeId)}/play`, undefined, query);
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Record audio from a bridge
|
|
104
|
+
*/
|
|
105
|
+
async record(bridgeId, params) {
|
|
106
|
+
return this.http.post(`/bridges/${encodeURIComponent(bridgeId)}/record`, undefined, toQueryParams(params));
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=bridges.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridges.js","sourceRoot":"","sources":["../../src/resources/bridges.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAajD;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,YAAY;IAC/C,YAAY,IAAoB,EAAE,OAAsB;QACtD,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAW,UAAU,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,QAAgB;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAS,YAAY,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,MAA2B;QACtC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;QAE3C,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,YAAY,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAC1C,SAAS,EACT,IAAI,CACL,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAS,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,QAAgB,EAAE,MAA6C;QAClF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,YAAY,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAC1C,SAAS,EACT,MAAM,CACP,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,QAAgB;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAO,YAAY,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,QAAgB,EAAE,MAAwB;QACzD,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QACpC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAElE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,YAAY,kBAAkB,CAAC,QAAQ,CAAC,aAAa,EACrD,SAAS,EACT,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,CACnC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,QAAgB,EAAE,MAA2B;QAC/D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;QAC3B,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAElE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,YAAY,kBAAkB,CAAC,QAAQ,CAAC,gBAAgB,EACxD,SAAS,EACT,EAAE,OAAO,EAAE,YAAY,EAAE,CAC1B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,QAAgB,EAAE,SAAiB;QACtD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,YAAY,kBAAkB,CAAC,QAAQ,CAAC,gBAAgB,kBAAkB,CAAC,SAAS,CAAC,EAAE,CACxF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,QAAgB;QACrC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAO,YAAY,kBAAkB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACxF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,QAAgB,EAAE,QAAiB;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,YAAY,kBAAkB,CAAC,QAAQ,CAAC,MAAM,EAC9C,SAAS,EACT,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CACpC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,QAAgB;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAO,YAAY,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,QAAgB,EAAE,MAAwB;QACnD,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QAC9C,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAE1D,MAAM,KAAK,GAA2D;YACpE,GAAG,IAAI;YACP,KAAK,EAAE,UAAU;SAClB,CAAC;QAEF,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,YAAY,kBAAkB,CAAC,QAAQ,CAAC,SAAS,kBAAkB,CAAC,UAAU,CAAC,EAAE,EACjF,SAAS,EACT,KAAK,CACN,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,YAAY,kBAAkB,CAAC,QAAQ,CAAC,OAAO,EAC/C,SAAS,EACT,KAAK,CACN,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,QAAgB,EAAE,MAA0B;QACvD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,YAAY,kBAAkB,CAAC,QAAQ,CAAC,SAAS,EACjD,SAAS,EACT,aAAa,CAAC,MAAM,CAAC,CACtB,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Channels API resource
|
|
3
|
+
*/
|
|
4
|
+
import { BaseResource } from './base.js';
|
|
5
|
+
import type { HttpConnection } from '../connection.js';
|
|
6
|
+
import type { VersionCompat } from '../version.js';
|
|
7
|
+
import type { Channel, OriginateParams, CreateChannelParams, HangupParams, ContinueParams, MoveParams, DTMFParams, PlayParams, RecordParams, SnoopParams, DialParams, ExternalMediaParams, Playback, LiveRecording, RTPstat } from '../types/api.js';
|
|
8
|
+
/**
|
|
9
|
+
* Channels API - Manage calls and channels
|
|
10
|
+
*/
|
|
11
|
+
export declare class ChannelsResource extends BaseResource {
|
|
12
|
+
constructor(http: HttpConnection, version: VersionCompat);
|
|
13
|
+
/**
|
|
14
|
+
* List all active channels
|
|
15
|
+
*/
|
|
16
|
+
list(): Promise<Channel[]>;
|
|
17
|
+
/**
|
|
18
|
+
* Get a channel's details
|
|
19
|
+
*/
|
|
20
|
+
get(channelId: string): Promise<Channel>;
|
|
21
|
+
/**
|
|
22
|
+
* Create a new channel (dial out)
|
|
23
|
+
*/
|
|
24
|
+
originate(params: OriginateParams): Promise<Channel>;
|
|
25
|
+
/**
|
|
26
|
+
* Create a new channel with a specific ID
|
|
27
|
+
*/
|
|
28
|
+
originateWithId(channelId: string, params: OriginateParams): Promise<Channel>;
|
|
29
|
+
/**
|
|
30
|
+
* Create a channel (without dialing)
|
|
31
|
+
*/
|
|
32
|
+
create(params: CreateChannelParams): Promise<Channel>;
|
|
33
|
+
/**
|
|
34
|
+
* Hangup a channel
|
|
35
|
+
*/
|
|
36
|
+
hangup(channelId: string, params?: HangupParams): Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* Continue the channel in the dialplan
|
|
39
|
+
*/
|
|
40
|
+
continueInDialplan(channelId: string, params?: ContinueParams): Promise<void>;
|
|
41
|
+
/**
|
|
42
|
+
* Move the channel to a different Stasis application
|
|
43
|
+
*/
|
|
44
|
+
move(channelId: string, params: MoveParams): Promise<void>;
|
|
45
|
+
/**
|
|
46
|
+
* Redirect the channel to a different location
|
|
47
|
+
*/
|
|
48
|
+
redirect(channelId: string, endpoint: string): Promise<void>;
|
|
49
|
+
/**
|
|
50
|
+
* Answer a channel
|
|
51
|
+
*/
|
|
52
|
+
answer(channelId: string): Promise<void>;
|
|
53
|
+
/**
|
|
54
|
+
* Indicate ringing to a channel
|
|
55
|
+
*/
|
|
56
|
+
ring(channelId: string): Promise<void>;
|
|
57
|
+
/**
|
|
58
|
+
* Stop indicating ringing to a channel
|
|
59
|
+
*/
|
|
60
|
+
ringStop(channelId: string): Promise<void>;
|
|
61
|
+
/**
|
|
62
|
+
* Send DTMF to a channel
|
|
63
|
+
*/
|
|
64
|
+
sendDTMF(channelId: string, params: DTMFParams): Promise<void>;
|
|
65
|
+
/**
|
|
66
|
+
* Mute a channel
|
|
67
|
+
*/
|
|
68
|
+
mute(channelId: string, direction?: 'both' | 'in' | 'out'): Promise<void>;
|
|
69
|
+
/**
|
|
70
|
+
* Unmute a channel
|
|
71
|
+
*/
|
|
72
|
+
unmute(channelId: string, direction?: 'both' | 'in' | 'out'): Promise<void>;
|
|
73
|
+
/**
|
|
74
|
+
* Put a channel on hold
|
|
75
|
+
*/
|
|
76
|
+
hold(channelId: string): Promise<void>;
|
|
77
|
+
/**
|
|
78
|
+
* Remove a channel from hold
|
|
79
|
+
*/
|
|
80
|
+
unhold(channelId: string): Promise<void>;
|
|
81
|
+
/**
|
|
82
|
+
* Start music on hold for a channel
|
|
83
|
+
*/
|
|
84
|
+
startMoh(channelId: string, mohClass?: string): Promise<void>;
|
|
85
|
+
/**
|
|
86
|
+
* Stop music on hold for a channel
|
|
87
|
+
*/
|
|
88
|
+
stopMoh(channelId: string): Promise<void>;
|
|
89
|
+
/**
|
|
90
|
+
* Start silence on a channel
|
|
91
|
+
*/
|
|
92
|
+
startSilence(channelId: string): Promise<void>;
|
|
93
|
+
/**
|
|
94
|
+
* Stop silence on a channel
|
|
95
|
+
*/
|
|
96
|
+
stopSilence(channelId: string): Promise<void>;
|
|
97
|
+
/**
|
|
98
|
+
* Play media to a channel
|
|
99
|
+
*/
|
|
100
|
+
play(channelId: string, params: PlayParams): Promise<Playback>;
|
|
101
|
+
/**
|
|
102
|
+
* Record audio from a channel
|
|
103
|
+
*/
|
|
104
|
+
record(channelId: string, params: RecordParams): Promise<LiveRecording>;
|
|
105
|
+
/**
|
|
106
|
+
* Get a channel variable
|
|
107
|
+
*/
|
|
108
|
+
getVariable(channelId: string, variable: string): Promise<string>;
|
|
109
|
+
/**
|
|
110
|
+
* Set a channel variable
|
|
111
|
+
*/
|
|
112
|
+
setVariable(channelId: string, variable: string, value?: string): Promise<void>;
|
|
113
|
+
/**
|
|
114
|
+
* Start snooping on a channel
|
|
115
|
+
*/
|
|
116
|
+
snoop(channelId: string, params: SnoopParams): Promise<Channel>;
|
|
117
|
+
/**
|
|
118
|
+
* Dial a created channel
|
|
119
|
+
*/
|
|
120
|
+
dial(channelId: string, params?: DialParams): Promise<void>;
|
|
121
|
+
/**
|
|
122
|
+
* Get RTP statistics for a channel
|
|
123
|
+
*/
|
|
124
|
+
getRtpStatistics(channelId: string): Promise<RTPstat>;
|
|
125
|
+
/**
|
|
126
|
+
* Create an external media channel
|
|
127
|
+
*/
|
|
128
|
+
externalMedia(params: ExternalMediaParams): Promise<Channel>;
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=channels.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"channels.d.ts","sourceRoot":"","sources":["../../src/resources/channels.ts"],"names":[],"mappings":"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"}
|