@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,186 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bridge model and instance class
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Bridge instance with bound operations and event handling
|
|
6
|
+
*/
|
|
7
|
+
export class BridgeInstance {
|
|
8
|
+
// Bridge properties
|
|
9
|
+
id;
|
|
10
|
+
technology = '';
|
|
11
|
+
bridge_type = 'mixing';
|
|
12
|
+
bridge_class = 'base';
|
|
13
|
+
creator = '';
|
|
14
|
+
name = '';
|
|
15
|
+
channels = [];
|
|
16
|
+
video_mode;
|
|
17
|
+
video_source_id;
|
|
18
|
+
creationtime = '';
|
|
19
|
+
client;
|
|
20
|
+
listeners = new Map();
|
|
21
|
+
constructor(client, id, data) {
|
|
22
|
+
this.client = client;
|
|
23
|
+
this.id = id || crypto.randomUUID();
|
|
24
|
+
if (data) {
|
|
25
|
+
this.updateData(data);
|
|
26
|
+
}
|
|
27
|
+
// Register this instance for events
|
|
28
|
+
this.client._registerBridgeInstance(this.id, this);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Update bridge data from an event or API response
|
|
32
|
+
*/
|
|
33
|
+
updateData(data) {
|
|
34
|
+
if (data.id !== undefined)
|
|
35
|
+
this.id = data.id;
|
|
36
|
+
if (data.technology !== undefined)
|
|
37
|
+
this.technology = data.technology;
|
|
38
|
+
if (data.bridge_type !== undefined)
|
|
39
|
+
this.bridge_type = data.bridge_type;
|
|
40
|
+
if (data.bridge_class !== undefined)
|
|
41
|
+
this.bridge_class = data.bridge_class;
|
|
42
|
+
if (data.creator !== undefined)
|
|
43
|
+
this.creator = data.creator;
|
|
44
|
+
if (data.name !== undefined)
|
|
45
|
+
this.name = data.name;
|
|
46
|
+
if (data.channels !== undefined)
|
|
47
|
+
this.channels = data.channels;
|
|
48
|
+
if (data.video_mode !== undefined)
|
|
49
|
+
this.video_mode = data.video_mode;
|
|
50
|
+
if (data.video_source_id !== undefined)
|
|
51
|
+
this.video_source_id = data.video_source_id;
|
|
52
|
+
if (data.creationtime !== undefined)
|
|
53
|
+
this.creationtime = data.creationtime;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Add an event listener
|
|
57
|
+
*/
|
|
58
|
+
on(event, listener) {
|
|
59
|
+
let eventListeners = this.listeners.get(event);
|
|
60
|
+
if (!eventListeners) {
|
|
61
|
+
eventListeners = new Set();
|
|
62
|
+
this.listeners.set(event, eventListeners);
|
|
63
|
+
}
|
|
64
|
+
eventListeners.add(listener);
|
|
65
|
+
return this;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Add a one-time event listener
|
|
69
|
+
*/
|
|
70
|
+
once(event, listener) {
|
|
71
|
+
const wrappedListener = ((...args) => {
|
|
72
|
+
this.off(event, wrappedListener);
|
|
73
|
+
listener(...args);
|
|
74
|
+
});
|
|
75
|
+
return this.on(event, wrappedListener);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Remove an event listener
|
|
79
|
+
*/
|
|
80
|
+
off(event, listener) {
|
|
81
|
+
const eventListeners = this.listeners.get(event);
|
|
82
|
+
if (eventListeners) {
|
|
83
|
+
eventListeners.delete(listener);
|
|
84
|
+
}
|
|
85
|
+
return this;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Emit an event to listeners
|
|
89
|
+
* @internal
|
|
90
|
+
*/
|
|
91
|
+
_emit(event, data) {
|
|
92
|
+
const eventListeners = this.listeners.get(event);
|
|
93
|
+
if (eventListeners) {
|
|
94
|
+
for (const listener of eventListeners) {
|
|
95
|
+
try {
|
|
96
|
+
listener(data, this);
|
|
97
|
+
}
|
|
98
|
+
catch (error) {
|
|
99
|
+
console.error(`Error in bridge event listener for ${event}:`, error);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Remove all event listeners and unregister from client
|
|
106
|
+
*/
|
|
107
|
+
removeAllListeners() {
|
|
108
|
+
this.listeners.clear();
|
|
109
|
+
this.client._unregisterBridgeInstance(this.id);
|
|
110
|
+
return this;
|
|
111
|
+
}
|
|
112
|
+
// ============================================================================
|
|
113
|
+
// Bound Bridge Operations
|
|
114
|
+
// ============================================================================
|
|
115
|
+
/**
|
|
116
|
+
* Create this bridge
|
|
117
|
+
*/
|
|
118
|
+
async create(params) {
|
|
119
|
+
const result = await this.client.bridges.createOrUpdate(this.id, params);
|
|
120
|
+
this.updateData(result);
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Destroy this bridge
|
|
124
|
+
*/
|
|
125
|
+
async destroy() {
|
|
126
|
+
return this.client.bridges.destroy(this.id);
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Add channel(s) to this bridge
|
|
130
|
+
*/
|
|
131
|
+
async addChannel(params) {
|
|
132
|
+
return this.client.bridges.addChannel(this.id, params);
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Remove channel(s) from this bridge
|
|
136
|
+
*/
|
|
137
|
+
async removeChannel(params) {
|
|
138
|
+
return this.client.bridges.removeChannel(this.id, params);
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Set the video source for this bridge
|
|
142
|
+
*/
|
|
143
|
+
async setVideoSource(channelId) {
|
|
144
|
+
return this.client.bridges.setVideoSource(this.id, channelId);
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Clear the video source for this bridge
|
|
148
|
+
*/
|
|
149
|
+
async clearVideoSource() {
|
|
150
|
+
return this.client.bridges.clearVideoSource(this.id);
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Start music on hold for this bridge
|
|
154
|
+
*/
|
|
155
|
+
async startMoh(mohClass) {
|
|
156
|
+
return this.client.bridges.startMoh(this.id, mohClass);
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Stop music on hold for this bridge
|
|
160
|
+
*/
|
|
161
|
+
async stopMoh() {
|
|
162
|
+
return this.client.bridges.stopMoh(this.id);
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Play media to this bridge
|
|
166
|
+
*/
|
|
167
|
+
async play(params) {
|
|
168
|
+
// Create playback instance first to register for events
|
|
169
|
+
const playback = this.client.Playback(params.playbackId);
|
|
170
|
+
await this.client.bridges.play(this.id, {
|
|
171
|
+
...params,
|
|
172
|
+
playbackId: playback.id,
|
|
173
|
+
});
|
|
174
|
+
return playback;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Record audio from this bridge
|
|
178
|
+
*/
|
|
179
|
+
async record(params) {
|
|
180
|
+
// Create recording instance first to register for events
|
|
181
|
+
const recording = this.client.LiveRecording(params.name);
|
|
182
|
+
await this.client.bridges.record(this.id, params);
|
|
183
|
+
return recording;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
//# sourceMappingURL=bridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/models/bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Channel model and instance class
|
|
3
|
+
*/
|
|
4
|
+
import type { AriClient } from '../client.js';
|
|
5
|
+
import type { Channel, ChannelState, CallerId, DialplanCEP, OriginateParams, HangupParams, ContinueParams, MoveParams, DTMFParams, PlayParams, RecordParams, SnoopParams, DialParams, RTPstat } from '../types/api.js';
|
|
6
|
+
import type { AriEventMap, ChannelEventType, StasisStartEvent, StasisEndEvent, ChannelDtmfReceivedEvent, ChannelStateChangeEvent, ChannelHangupRequestEvent, ChannelVarsetEvent, ChannelHoldEvent, ChannelUnholdEvent, ChannelTalkingStartedEvent, ChannelTalkingFinishedEvent, ChannelEnteredBridgeEvent, ChannelLeftBridgeEvent, DialEvent } from '../events/types.js';
|
|
7
|
+
import type { PlaybackInstance } from './playback.js';
|
|
8
|
+
import type { LiveRecordingInstance } from './recording.js';
|
|
9
|
+
type ChannelEventListener<E> = (event: E, channel: ChannelInstance) => void | Promise<void>;
|
|
10
|
+
interface ChannelEventListeners {
|
|
11
|
+
StasisStart: ChannelEventListener<StasisStartEvent>;
|
|
12
|
+
StasisEnd: ChannelEventListener<StasisEndEvent>;
|
|
13
|
+
ChannelStateChange: ChannelEventListener<ChannelStateChangeEvent>;
|
|
14
|
+
ChannelDtmfReceived: ChannelEventListener<ChannelDtmfReceivedEvent>;
|
|
15
|
+
ChannelHangupRequest: ChannelEventListener<ChannelHangupRequestEvent>;
|
|
16
|
+
ChannelVarset: ChannelEventListener<ChannelVarsetEvent>;
|
|
17
|
+
ChannelHold: ChannelEventListener<ChannelHoldEvent>;
|
|
18
|
+
ChannelUnhold: ChannelEventListener<ChannelUnholdEvent>;
|
|
19
|
+
ChannelTalkingStarted: ChannelEventListener<ChannelTalkingStartedEvent>;
|
|
20
|
+
ChannelTalkingFinished: ChannelEventListener<ChannelTalkingFinishedEvent>;
|
|
21
|
+
ChannelEnteredBridge: ChannelEventListener<ChannelEnteredBridgeEvent>;
|
|
22
|
+
ChannelLeftBridge: ChannelEventListener<ChannelLeftBridgeEvent>;
|
|
23
|
+
Dial: ChannelEventListener<DialEvent>;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Channel instance with bound operations and event handling
|
|
27
|
+
*/
|
|
28
|
+
export declare class ChannelInstance implements Channel {
|
|
29
|
+
id: string;
|
|
30
|
+
name: string;
|
|
31
|
+
state: ChannelState;
|
|
32
|
+
caller: CallerId;
|
|
33
|
+
connected: CallerId;
|
|
34
|
+
accountcode: string;
|
|
35
|
+
dialplan: DialplanCEP;
|
|
36
|
+
creationtime: string;
|
|
37
|
+
language: string;
|
|
38
|
+
channelvars?: Record<string, string>;
|
|
39
|
+
protocol_id?: string;
|
|
40
|
+
private readonly client;
|
|
41
|
+
private readonly listeners;
|
|
42
|
+
constructor(client: AriClient, id?: string, data?: Partial<Channel>);
|
|
43
|
+
/**
|
|
44
|
+
* Update channel data from an event or API response
|
|
45
|
+
*/
|
|
46
|
+
updateData(data: Partial<Channel>): void;
|
|
47
|
+
/**
|
|
48
|
+
* Add an event listener
|
|
49
|
+
*/
|
|
50
|
+
on<K extends keyof ChannelEventListeners>(event: K, listener: ChannelEventListeners[K]): this;
|
|
51
|
+
/**
|
|
52
|
+
* Add a one-time event listener
|
|
53
|
+
*/
|
|
54
|
+
once<K extends keyof ChannelEventListeners>(event: K, listener: ChannelEventListeners[K]): this;
|
|
55
|
+
/**
|
|
56
|
+
* Remove an event listener
|
|
57
|
+
*/
|
|
58
|
+
off<K extends keyof ChannelEventListeners>(event: K, listener: ChannelEventListeners[K]): this;
|
|
59
|
+
/**
|
|
60
|
+
* Emit an event to listeners
|
|
61
|
+
* @internal
|
|
62
|
+
*/
|
|
63
|
+
_emit<K extends ChannelEventType>(event: K, data: AriEventMap[K]): void;
|
|
64
|
+
/**
|
|
65
|
+
* Remove all event listeners and unregister from client
|
|
66
|
+
*/
|
|
67
|
+
removeAllListeners(): this;
|
|
68
|
+
/**
|
|
69
|
+
* Originate a call to this channel
|
|
70
|
+
*/
|
|
71
|
+
originate(params: Omit<OriginateParams, 'channelId'>): Promise<void>;
|
|
72
|
+
/**
|
|
73
|
+
* Answer this channel
|
|
74
|
+
*/
|
|
75
|
+
answer(): Promise<void>;
|
|
76
|
+
/**
|
|
77
|
+
* Hangup this channel
|
|
78
|
+
*/
|
|
79
|
+
hangup(params?: HangupParams): Promise<void>;
|
|
80
|
+
/**
|
|
81
|
+
* Continue this channel in the dialplan
|
|
82
|
+
*/
|
|
83
|
+
continueInDialplan(params?: ContinueParams): Promise<void>;
|
|
84
|
+
/**
|
|
85
|
+
* Move this channel to a different Stasis application
|
|
86
|
+
*/
|
|
87
|
+
move(params: MoveParams): Promise<void>;
|
|
88
|
+
/**
|
|
89
|
+
* Redirect this channel to a different location
|
|
90
|
+
*/
|
|
91
|
+
redirect(endpoint: string): Promise<void>;
|
|
92
|
+
/**
|
|
93
|
+
* Indicate ringing to this channel
|
|
94
|
+
*/
|
|
95
|
+
ring(): Promise<void>;
|
|
96
|
+
/**
|
|
97
|
+
* Stop indicating ringing to this channel
|
|
98
|
+
*/
|
|
99
|
+
ringStop(): Promise<void>;
|
|
100
|
+
/**
|
|
101
|
+
* Send DTMF to this channel
|
|
102
|
+
*/
|
|
103
|
+
sendDTMF(params: DTMFParams): Promise<void>;
|
|
104
|
+
/**
|
|
105
|
+
* Mute this channel
|
|
106
|
+
*/
|
|
107
|
+
mute(direction?: 'both' | 'in' | 'out'): Promise<void>;
|
|
108
|
+
/**
|
|
109
|
+
* Unmute this channel
|
|
110
|
+
*/
|
|
111
|
+
unmute(direction?: 'both' | 'in' | 'out'): Promise<void>;
|
|
112
|
+
/**
|
|
113
|
+
* Put this channel on hold
|
|
114
|
+
*/
|
|
115
|
+
hold(): Promise<void>;
|
|
116
|
+
/**
|
|
117
|
+
* Remove this channel from hold
|
|
118
|
+
*/
|
|
119
|
+
unhold(): Promise<void>;
|
|
120
|
+
/**
|
|
121
|
+
* Start music on hold for this channel
|
|
122
|
+
*/
|
|
123
|
+
startMoh(mohClass?: string): Promise<void>;
|
|
124
|
+
/**
|
|
125
|
+
* Stop music on hold for this channel
|
|
126
|
+
*/
|
|
127
|
+
stopMoh(): Promise<void>;
|
|
128
|
+
/**
|
|
129
|
+
* Start silence on this channel
|
|
130
|
+
*/
|
|
131
|
+
startSilence(): Promise<void>;
|
|
132
|
+
/**
|
|
133
|
+
* Stop silence on this channel
|
|
134
|
+
*/
|
|
135
|
+
stopSilence(): Promise<void>;
|
|
136
|
+
/**
|
|
137
|
+
* Play media to this channel
|
|
138
|
+
*/
|
|
139
|
+
play(params: PlayParams): Promise<PlaybackInstance>;
|
|
140
|
+
/**
|
|
141
|
+
* Record audio from this channel
|
|
142
|
+
*/
|
|
143
|
+
record(params: RecordParams): Promise<LiveRecordingInstance>;
|
|
144
|
+
/**
|
|
145
|
+
* Get a channel variable
|
|
146
|
+
*/
|
|
147
|
+
getVariable(variable: string): Promise<string>;
|
|
148
|
+
/**
|
|
149
|
+
* Set a channel variable
|
|
150
|
+
*/
|
|
151
|
+
setVariable(variable: string, value?: string): Promise<void>;
|
|
152
|
+
/**
|
|
153
|
+
* Start snooping on this channel
|
|
154
|
+
*/
|
|
155
|
+
snoop(params: SnoopParams): Promise<ChannelInstance>;
|
|
156
|
+
/**
|
|
157
|
+
* Dial this channel
|
|
158
|
+
*/
|
|
159
|
+
dial(params?: DialParams): Promise<void>;
|
|
160
|
+
/**
|
|
161
|
+
* Get RTP statistics for this channel
|
|
162
|
+
*/
|
|
163
|
+
getRtpStatistics(): Promise<RTPstat>;
|
|
164
|
+
}
|
|
165
|
+
export {};
|
|
166
|
+
//# sourceMappingURL=channel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../src/models/channel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Channel model and instance class
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Channel instance with bound operations and event handling
|
|
6
|
+
*/
|
|
7
|
+
export class ChannelInstance {
|
|
8
|
+
// Channel properties
|
|
9
|
+
id;
|
|
10
|
+
name = '';
|
|
11
|
+
state = 'Down';
|
|
12
|
+
caller = { name: '', number: '' };
|
|
13
|
+
connected = { name: '', number: '' };
|
|
14
|
+
accountcode = '';
|
|
15
|
+
dialplan = { context: '', exten: '', priority: 1 };
|
|
16
|
+
creationtime = '';
|
|
17
|
+
language = 'en';
|
|
18
|
+
channelvars;
|
|
19
|
+
protocol_id;
|
|
20
|
+
client;
|
|
21
|
+
listeners = new Map();
|
|
22
|
+
constructor(client, id, data) {
|
|
23
|
+
this.client = client;
|
|
24
|
+
this.id = id || crypto.randomUUID();
|
|
25
|
+
if (data) {
|
|
26
|
+
this.updateData(data);
|
|
27
|
+
}
|
|
28
|
+
// Register this instance for events
|
|
29
|
+
this.client._registerChannelInstance(this.id, this);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Update channel data from an event or API response
|
|
33
|
+
*/
|
|
34
|
+
updateData(data) {
|
|
35
|
+
if (data.id !== undefined)
|
|
36
|
+
this.id = data.id;
|
|
37
|
+
if (data.name !== undefined)
|
|
38
|
+
this.name = data.name;
|
|
39
|
+
if (data.state !== undefined)
|
|
40
|
+
this.state = data.state;
|
|
41
|
+
if (data.caller !== undefined)
|
|
42
|
+
this.caller = data.caller;
|
|
43
|
+
if (data.connected !== undefined)
|
|
44
|
+
this.connected = data.connected;
|
|
45
|
+
if (data.accountcode !== undefined)
|
|
46
|
+
this.accountcode = data.accountcode;
|
|
47
|
+
if (data.dialplan !== undefined)
|
|
48
|
+
this.dialplan = data.dialplan;
|
|
49
|
+
if (data.creationtime !== undefined)
|
|
50
|
+
this.creationtime = data.creationtime;
|
|
51
|
+
if (data.language !== undefined)
|
|
52
|
+
this.language = data.language;
|
|
53
|
+
if (data.channelvars !== undefined)
|
|
54
|
+
this.channelvars = data.channelvars;
|
|
55
|
+
if (data.protocol_id !== undefined)
|
|
56
|
+
this.protocol_id = data.protocol_id;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Add an event listener
|
|
60
|
+
*/
|
|
61
|
+
on(event, listener) {
|
|
62
|
+
let eventListeners = this.listeners.get(event);
|
|
63
|
+
if (!eventListeners) {
|
|
64
|
+
eventListeners = new Set();
|
|
65
|
+
this.listeners.set(event, eventListeners);
|
|
66
|
+
}
|
|
67
|
+
eventListeners.add(listener);
|
|
68
|
+
return this;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Add a one-time event listener
|
|
72
|
+
*/
|
|
73
|
+
once(event, listener) {
|
|
74
|
+
const wrappedListener = ((...args) => {
|
|
75
|
+
this.off(event, wrappedListener);
|
|
76
|
+
listener(...args);
|
|
77
|
+
});
|
|
78
|
+
return this.on(event, wrappedListener);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Remove an event listener
|
|
82
|
+
*/
|
|
83
|
+
off(event, listener) {
|
|
84
|
+
const eventListeners = this.listeners.get(event);
|
|
85
|
+
if (eventListeners) {
|
|
86
|
+
eventListeners.delete(listener);
|
|
87
|
+
}
|
|
88
|
+
return this;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Emit an event to listeners
|
|
92
|
+
* @internal
|
|
93
|
+
*/
|
|
94
|
+
_emit(event, data) {
|
|
95
|
+
const eventListeners = this.listeners.get(event);
|
|
96
|
+
if (eventListeners) {
|
|
97
|
+
for (const listener of eventListeners) {
|
|
98
|
+
try {
|
|
99
|
+
listener(data, this);
|
|
100
|
+
}
|
|
101
|
+
catch (error) {
|
|
102
|
+
console.error(`Error in channel event listener for ${event}:`, error);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Remove all event listeners and unregister from client
|
|
109
|
+
*/
|
|
110
|
+
removeAllListeners() {
|
|
111
|
+
this.listeners.clear();
|
|
112
|
+
this.client._unregisterChannelInstance(this.id);
|
|
113
|
+
return this;
|
|
114
|
+
}
|
|
115
|
+
// ============================================================================
|
|
116
|
+
// Bound Channel Operations
|
|
117
|
+
// ============================================================================
|
|
118
|
+
/**
|
|
119
|
+
* Originate a call to this channel
|
|
120
|
+
*/
|
|
121
|
+
async originate(params) {
|
|
122
|
+
const result = await this.client.channels.originateWithId(this.id, params);
|
|
123
|
+
this.updateData(result);
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Answer this channel
|
|
127
|
+
*/
|
|
128
|
+
async answer() {
|
|
129
|
+
return this.client.channels.answer(this.id);
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Hangup this channel
|
|
133
|
+
*/
|
|
134
|
+
async hangup(params) {
|
|
135
|
+
return this.client.channels.hangup(this.id, params);
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Continue this channel in the dialplan
|
|
139
|
+
*/
|
|
140
|
+
async continueInDialplan(params) {
|
|
141
|
+
return this.client.channels.continueInDialplan(this.id, params);
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Move this channel to a different Stasis application
|
|
145
|
+
*/
|
|
146
|
+
async move(params) {
|
|
147
|
+
return this.client.channels.move(this.id, params);
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Redirect this channel to a different location
|
|
151
|
+
*/
|
|
152
|
+
async redirect(endpoint) {
|
|
153
|
+
return this.client.channels.redirect(this.id, endpoint);
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Indicate ringing to this channel
|
|
157
|
+
*/
|
|
158
|
+
async ring() {
|
|
159
|
+
return this.client.channels.ring(this.id);
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Stop indicating ringing to this channel
|
|
163
|
+
*/
|
|
164
|
+
async ringStop() {
|
|
165
|
+
return this.client.channels.ringStop(this.id);
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Send DTMF to this channel
|
|
169
|
+
*/
|
|
170
|
+
async sendDTMF(params) {
|
|
171
|
+
return this.client.channels.sendDTMF(this.id, params);
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Mute this channel
|
|
175
|
+
*/
|
|
176
|
+
async mute(direction = 'both') {
|
|
177
|
+
return this.client.channels.mute(this.id, direction);
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Unmute this channel
|
|
181
|
+
*/
|
|
182
|
+
async unmute(direction = 'both') {
|
|
183
|
+
return this.client.channels.unmute(this.id, direction);
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Put this channel on hold
|
|
187
|
+
*/
|
|
188
|
+
async hold() {
|
|
189
|
+
return this.client.channels.hold(this.id);
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Remove this channel from hold
|
|
193
|
+
*/
|
|
194
|
+
async unhold() {
|
|
195
|
+
return this.client.channels.unhold(this.id);
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Start music on hold for this channel
|
|
199
|
+
*/
|
|
200
|
+
async startMoh(mohClass) {
|
|
201
|
+
return this.client.channels.startMoh(this.id, mohClass);
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Stop music on hold for this channel
|
|
205
|
+
*/
|
|
206
|
+
async stopMoh() {
|
|
207
|
+
return this.client.channels.stopMoh(this.id);
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Start silence on this channel
|
|
211
|
+
*/
|
|
212
|
+
async startSilence() {
|
|
213
|
+
return this.client.channels.startSilence(this.id);
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Stop silence on this channel
|
|
217
|
+
*/
|
|
218
|
+
async stopSilence() {
|
|
219
|
+
return this.client.channels.stopSilence(this.id);
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Play media to this channel
|
|
223
|
+
*/
|
|
224
|
+
async play(params) {
|
|
225
|
+
// Create playback instance first to register for events
|
|
226
|
+
const playback = this.client.Playback(params.playbackId);
|
|
227
|
+
await this.client.channels.play(this.id, {
|
|
228
|
+
...params,
|
|
229
|
+
playbackId: playback.id,
|
|
230
|
+
});
|
|
231
|
+
return playback;
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Record audio from this channel
|
|
235
|
+
*/
|
|
236
|
+
async record(params) {
|
|
237
|
+
// Create recording instance first to register for events
|
|
238
|
+
const recording = this.client.LiveRecording(params.name);
|
|
239
|
+
await this.client.channels.record(this.id, params);
|
|
240
|
+
return recording;
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Get a channel variable
|
|
244
|
+
*/
|
|
245
|
+
async getVariable(variable) {
|
|
246
|
+
return this.client.channels.getVariable(this.id, variable);
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Set a channel variable
|
|
250
|
+
*/
|
|
251
|
+
async setVariable(variable, value) {
|
|
252
|
+
return this.client.channels.setVariable(this.id, variable, value);
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Start snooping on this channel
|
|
256
|
+
*/
|
|
257
|
+
async snoop(params) {
|
|
258
|
+
const snoopChannel = this.client.Channel(params.snoopId);
|
|
259
|
+
await this.client.channels.snoop(this.id, {
|
|
260
|
+
...params,
|
|
261
|
+
snoopId: snoopChannel.id,
|
|
262
|
+
});
|
|
263
|
+
return snoopChannel;
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Dial this channel
|
|
267
|
+
*/
|
|
268
|
+
async dial(params) {
|
|
269
|
+
return this.client.channels.dial(this.id, params);
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Get RTP statistics for this channel
|
|
273
|
+
*/
|
|
274
|
+
async getRtpStatistics() {
|
|
275
|
+
return this.client.channels.getRtpStatistics(this.id);
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
//# sourceMappingURL=channel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"channel.js","sourceRoot":"","sources":["../../src/models/channel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Model exports
|
|
3
|
+
*/
|
|
4
|
+
export { ChannelInstance } from './channel.js';
|
|
5
|
+
export { BridgeInstance } from './bridge.js';
|
|
6
|
+
export { PlaybackInstance } from './playback.js';
|
|
7
|
+
export { LiveRecordingInstance, StoredRecordingInstance } from './recording.js';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Model exports
|
|
3
|
+
*/
|
|
4
|
+
export { ChannelInstance } from './channel.js';
|
|
5
|
+
export { BridgeInstance } from './bridge.js';
|
|
6
|
+
export { PlaybackInstance } from './playback.js';
|
|
7
|
+
export { LiveRecordingInstance, StoredRecordingInstance } from './recording.js';
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC"}
|