@per_moeller/asterisk-ari 1.0.3 → 1.0.4
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/dist/client.d.ts +360 -22
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +374 -29
- package/dist/client.js.map +1 -1
- package/dist/connection.d.ts +132 -12
- package/dist/connection.d.ts.map +1 -1
- package/dist/connection.js +121 -10
- package/dist/connection.js.map +1 -1
- package/dist/events/emitter.d.ts +213 -21
- package/dist/events/emitter.d.ts.map +1 -1
- package/dist/events/emitter.js +163 -17
- package/dist/events/emitter.js.map +1 -1
- package/dist/events/types.d.ts +386 -3
- package/dist/events/types.d.ts.map +1 -1
- package/dist/events/types.js +5 -0
- package/dist/events/types.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/models/channel.d.ts +349 -32
- package/dist/models/channel.d.ts.map +1 -1
- package/dist/models/channel.js +348 -34
- package/dist/models/channel.js.map +1 -1
- package/dist/pool.d.ts +152 -11
- package/dist/pool.d.ts.map +1 -1
- package/dist/pool.js +152 -11
- package/dist/pool.js.map +1 -1
- package/dist/queue.d.ts +130 -16
- package/dist/queue.d.ts.map +1 -1
- package/dist/queue.js +123 -16
- package/dist/queue.js.map +1 -1
- package/dist/types/api.d.ts +655 -1
- package/dist/types/api.d.ts.map +1 -1
- package/dist/types/api.js +5 -0
- package/dist/types/api.js.map +1 -1
- package/dist/version.d.ts +163 -26
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +143 -22
- package/dist/version.js.map +1 -1
- package/package.json +1 -1
package/dist/client.d.ts
CHANGED
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* ARI Client - Main entry point for Asterisk REST Interface
|
|
3
|
+
*
|
|
4
|
+
* This module provides the main `AriClient` class and `connect()` function
|
|
5
|
+
* for establishing connections to Asterisk ARI.
|
|
6
|
+
*
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* import { connect } from '@per_moeller/asterisk-ari';
|
|
12
|
+
*
|
|
13
|
+
* const client = await connect({
|
|
14
|
+
* url: 'http://localhost:8088',
|
|
15
|
+
* username: 'asterisk',
|
|
16
|
+
* password: 'secret',
|
|
17
|
+
* app: 'my-app'
|
|
18
|
+
* });
|
|
19
|
+
*
|
|
20
|
+
* client.on('StasisStart', async (event, channel) => {
|
|
21
|
+
* console.log(`Incoming call from ${channel.caller.number}`);
|
|
22
|
+
* await channel.answer();
|
|
23
|
+
* await channel.play({ media: 'sound:hello-world' });
|
|
24
|
+
* });
|
|
25
|
+
* ```
|
|
3
26
|
*/
|
|
4
27
|
import { HttpConnection } from './connection.js';
|
|
5
28
|
import { WebSocketManager } from './websocket.js';
|
|
@@ -22,7 +45,34 @@ import { PlaybackInstance } from './models/playback.js';
|
|
|
22
45
|
import { LiveRecordingInstance, StoredRecordingInstance } from './models/recording.js';
|
|
23
46
|
import type { Channel, Bridge, Playback, LiveRecording } from './types/api.js';
|
|
24
47
|
/**
|
|
25
|
-
* ARI Client for interacting with Asterisk
|
|
48
|
+
* Main ARI Client for interacting with Asterisk.
|
|
49
|
+
*
|
|
50
|
+
* The client provides access to all ARI resources (channels, bridges, etc.)
|
|
51
|
+
* and handles WebSocket events from Asterisk. It extends `AriEventEmitter`
|
|
52
|
+
* for type-safe event handling.
|
|
53
|
+
*
|
|
54
|
+
* @remarks
|
|
55
|
+
* Don't instantiate this class directly. Use the {@link connect} function instead.
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```typescript
|
|
59
|
+
* const client = await connect({ ... });
|
|
60
|
+
*
|
|
61
|
+
* // Access API resources
|
|
62
|
+
* const channels = await client.channels.list();
|
|
63
|
+
* const bridge = await client.bridges.create({ type: 'mixing' });
|
|
64
|
+
*
|
|
65
|
+
* // Listen to events
|
|
66
|
+
* client.on('StasisStart', (event, channel) => {
|
|
67
|
+
* // Handle incoming calls
|
|
68
|
+
* });
|
|
69
|
+
*
|
|
70
|
+
* // Create model instances for event-based programming
|
|
71
|
+
* const myChannel = client.Channel('channel-id');
|
|
72
|
+
* myChannel.on('ChannelDtmfReceived', (event) => {
|
|
73
|
+
* console.log(`DTMF: ${event.digit}`);
|
|
74
|
+
* });
|
|
75
|
+
* ```
|
|
26
76
|
*/
|
|
27
77
|
export declare class AriClient extends AriEventEmitter {
|
|
28
78
|
private readonly options;
|
|
@@ -33,95 +83,383 @@ export declare class AriClient extends AriEventEmitter {
|
|
|
33
83
|
private readonly bridgeInstances;
|
|
34
84
|
private readonly playbackInstances;
|
|
35
85
|
private readonly recordingInstances;
|
|
86
|
+
/**
|
|
87
|
+
* Channels API for managing calls and channels.
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* ```typescript
|
|
91
|
+
* // List all channels
|
|
92
|
+
* const channels = await client.channels.list();
|
|
93
|
+
*
|
|
94
|
+
* // Originate a call
|
|
95
|
+
* const channel = await client.channels.originate({
|
|
96
|
+
* endpoint: 'PJSIP/1000',
|
|
97
|
+
* app: 'my-app'
|
|
98
|
+
* });
|
|
99
|
+
*
|
|
100
|
+
* // Answer a channel
|
|
101
|
+
* await client.channels.answer(channelId);
|
|
102
|
+
* ```
|
|
103
|
+
*/
|
|
36
104
|
readonly channels: ChannelsResource;
|
|
105
|
+
/**
|
|
106
|
+
* Bridges API for managing bridges (conferences, etc.).
|
|
107
|
+
*
|
|
108
|
+
* @example
|
|
109
|
+
* ```typescript
|
|
110
|
+
* // Create a mixing bridge
|
|
111
|
+
* const bridge = await client.bridges.create({ type: 'mixing' });
|
|
112
|
+
*
|
|
113
|
+
* // Add channels to bridge
|
|
114
|
+
* await client.bridges.addChannel(bridge.id, { channel: [channel1, channel2] });
|
|
115
|
+
* ```
|
|
116
|
+
*/
|
|
37
117
|
readonly bridges: BridgesResource;
|
|
118
|
+
/**
|
|
119
|
+
* Endpoints API for managing endpoints.
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* ```typescript
|
|
123
|
+
* // List all endpoints
|
|
124
|
+
* const endpoints = await client.endpoints.list();
|
|
125
|
+
*
|
|
126
|
+
* // Get PJSIP endpoints
|
|
127
|
+
* const pjsipEndpoints = await client.endpoints.listByTech('PJSIP');
|
|
128
|
+
* ```
|
|
129
|
+
*/
|
|
38
130
|
readonly endpoints: EndpointsResource;
|
|
131
|
+
/**
|
|
132
|
+
* Applications API for managing Stasis applications.
|
|
133
|
+
*
|
|
134
|
+
* @example
|
|
135
|
+
* ```typescript
|
|
136
|
+
* // Get application details
|
|
137
|
+
* const app = await client.applications.get('my-app');
|
|
138
|
+
*
|
|
139
|
+
* // Subscribe to events
|
|
140
|
+
* await client.applications.subscribe('my-app', { eventSource: 'channel:123' });
|
|
141
|
+
* ```
|
|
142
|
+
*/
|
|
39
143
|
readonly applications: ApplicationsResource;
|
|
144
|
+
/**
|
|
145
|
+
* Asterisk API for system information and management.
|
|
146
|
+
*
|
|
147
|
+
* @example
|
|
148
|
+
* ```typescript
|
|
149
|
+
* // Get Asterisk info
|
|
150
|
+
* const info = await client.asterisk.getInfo();
|
|
151
|
+
* console.log(info.system?.version);
|
|
152
|
+
*
|
|
153
|
+
* // Get a global variable
|
|
154
|
+
* const value = await client.asterisk.getVariable('GLOBALVAR');
|
|
155
|
+
* ```
|
|
156
|
+
*/
|
|
40
157
|
readonly asterisk: AsteriskResource;
|
|
158
|
+
/**
|
|
159
|
+
* Playbacks API for controlling media playback.
|
|
160
|
+
*
|
|
161
|
+
* @example
|
|
162
|
+
* ```typescript
|
|
163
|
+
* // Control a playback
|
|
164
|
+
* await client.playbacks.control(playbackId, 'pause');
|
|
165
|
+
* await client.playbacks.control(playbackId, 'unpause');
|
|
166
|
+
* await client.playbacks.stop(playbackId);
|
|
167
|
+
* ```
|
|
168
|
+
*/
|
|
41
169
|
readonly playbacks: PlaybacksResource;
|
|
170
|
+
/**
|
|
171
|
+
* Recordings API for managing live and stored recordings.
|
|
172
|
+
*
|
|
173
|
+
* @example
|
|
174
|
+
* ```typescript
|
|
175
|
+
* // List stored recordings
|
|
176
|
+
* const recordings = await client.recordings.listStored();
|
|
177
|
+
*
|
|
178
|
+
* // Get a stored recording
|
|
179
|
+
* const recording = await client.recordings.getStored('my-recording');
|
|
180
|
+
* ```
|
|
181
|
+
*/
|
|
42
182
|
readonly recordings: RecordingsResource;
|
|
183
|
+
/**
|
|
184
|
+
* Sounds API for listing available sound files.
|
|
185
|
+
*
|
|
186
|
+
* @example
|
|
187
|
+
* ```typescript
|
|
188
|
+
* // List all sounds
|
|
189
|
+
* const sounds = await client.sounds.list();
|
|
190
|
+
*
|
|
191
|
+
* // Get sounds for a specific language
|
|
192
|
+
* const englishSounds = await client.sounds.list({ lang: 'en' });
|
|
193
|
+
* ```
|
|
194
|
+
*/
|
|
43
195
|
readonly sounds: SoundsResource;
|
|
196
|
+
/**
|
|
197
|
+
* Mailboxes API for managing voicemail mailboxes.
|
|
198
|
+
*
|
|
199
|
+
* @example
|
|
200
|
+
* ```typescript
|
|
201
|
+
* // List mailboxes
|
|
202
|
+
* const mailboxes = await client.mailboxes.list();
|
|
203
|
+
*
|
|
204
|
+
* // Update message counts
|
|
205
|
+
* await client.mailboxes.update('1000@default', {
|
|
206
|
+
* oldMessages: 5,
|
|
207
|
+
* newMessages: 2
|
|
208
|
+
* });
|
|
209
|
+
* ```
|
|
210
|
+
*/
|
|
44
211
|
readonly mailboxes: MailboxesResource;
|
|
212
|
+
/**
|
|
213
|
+
* Device States API for managing custom device states.
|
|
214
|
+
*
|
|
215
|
+
* @example
|
|
216
|
+
* ```typescript
|
|
217
|
+
* // Set a device state
|
|
218
|
+
* await client.deviceStates.update('Stasis:mydevice', 'INUSE');
|
|
219
|
+
*
|
|
220
|
+
* // Get a device state
|
|
221
|
+
* const state = await client.deviceStates.get('Stasis:mydevice');
|
|
222
|
+
* ```
|
|
223
|
+
*/
|
|
45
224
|
readonly deviceStates: DeviceStatesResource;
|
|
46
225
|
/**
|
|
47
|
-
*
|
|
226
|
+
* Creates a new ARI client.
|
|
227
|
+
*
|
|
228
|
+
* @internal - Use the {@link connect} function instead of instantiating directly.
|
|
229
|
+
*
|
|
230
|
+
* @param options - Resolved connection options
|
|
231
|
+
* @param http - HTTP connection instance
|
|
232
|
+
* @param ws - WebSocket manager instance
|
|
233
|
+
* @param versionCompat - Version compatibility checker
|
|
48
234
|
*/
|
|
49
235
|
constructor(options: ResolvedOptions, http: HttpConnection, ws: WebSocketManager, versionCompat: VersionCompat);
|
|
50
236
|
/**
|
|
51
237
|
* Set up WebSocket event handlers
|
|
238
|
+
* @internal
|
|
52
239
|
*/
|
|
53
240
|
private setupWebSocketEvents;
|
|
54
241
|
/**
|
|
55
242
|
* Handle an incoming ARI event
|
|
243
|
+
* @internal
|
|
56
244
|
*/
|
|
57
245
|
private handleEvent;
|
|
58
246
|
/**
|
|
59
|
-
* Extract convenience argument from event for ari-client style callbacks
|
|
247
|
+
* Extract convenience instance argument from event for ari-client style callbacks.
|
|
248
|
+
* Returns instance types (ChannelInstance, BridgeInstance, etc.) with methods.
|
|
249
|
+
* @internal
|
|
60
250
|
*/
|
|
61
251
|
private getConvenienceArg;
|
|
62
252
|
/**
|
|
63
253
|
* Route event to appropriate instance listeners
|
|
254
|
+
* @internal
|
|
64
255
|
*/
|
|
65
256
|
private routeEventToInstances;
|
|
66
257
|
/**
|
|
67
|
-
* Create a Channel instance
|
|
258
|
+
* Create or retrieve a Channel instance.
|
|
259
|
+
*
|
|
260
|
+
* Channel instances provide event-based programming for individual channels.
|
|
261
|
+
* Events are automatically routed to the appropriate instance based on channel ID.
|
|
262
|
+
*
|
|
263
|
+
* @param id - Channel ID (auto-generated if not provided)
|
|
264
|
+
* @param data - Initial channel data
|
|
265
|
+
* @returns Channel instance for event handling and operations
|
|
266
|
+
*
|
|
267
|
+
* @example
|
|
268
|
+
* ```typescript
|
|
269
|
+
* // Create a channel instance from an event
|
|
270
|
+
* client.on('StasisStart', (event, channelData) => {
|
|
271
|
+
* const channel = client.Channel(channelData.id, channelData);
|
|
272
|
+
*
|
|
273
|
+
* channel.on('ChannelDtmfReceived', (event) => {
|
|
274
|
+
* console.log(`DTMF: ${event.digit}`);
|
|
275
|
+
* });
|
|
276
|
+
*
|
|
277
|
+
* await channel.answer();
|
|
278
|
+
* });
|
|
279
|
+
* ```
|
|
68
280
|
*/
|
|
69
281
|
Channel(id?: string, data?: Partial<Channel>): ChannelInstance;
|
|
70
282
|
/**
|
|
71
|
-
* Create a Bridge instance
|
|
283
|
+
* Create or retrieve a Bridge instance.
|
|
284
|
+
*
|
|
285
|
+
* Bridge instances provide event-based programming for bridges.
|
|
286
|
+
*
|
|
287
|
+
* @param id - Bridge ID (auto-generated if not provided)
|
|
288
|
+
* @param data - Initial bridge data
|
|
289
|
+
* @returns Bridge instance for event handling and operations
|
|
290
|
+
*
|
|
291
|
+
* @example
|
|
292
|
+
* ```typescript
|
|
293
|
+
* const bridge = client.Bridge();
|
|
294
|
+
* await bridge.create({ type: 'mixing' });
|
|
295
|
+
*
|
|
296
|
+
* bridge.on('ChannelEnteredBridge', (event) => {
|
|
297
|
+
* console.log(`${event.channel.name} joined the bridge`);
|
|
298
|
+
* });
|
|
299
|
+
* ```
|
|
72
300
|
*/
|
|
73
301
|
Bridge(id?: string, data?: Partial<Bridge>): BridgeInstance;
|
|
74
302
|
/**
|
|
75
|
-
* Create a Playback instance
|
|
303
|
+
* Create or retrieve a Playback instance.
|
|
304
|
+
*
|
|
305
|
+
* Playback instances provide event-based programming for media playback.
|
|
306
|
+
*
|
|
307
|
+
* @param id - Playback ID (auto-generated if not provided)
|
|
308
|
+
* @param data - Initial playback data
|
|
309
|
+
* @returns Playback instance for event handling and operations
|
|
310
|
+
*
|
|
311
|
+
* @example
|
|
312
|
+
* ```typescript
|
|
313
|
+
* const playback = client.Playback();
|
|
314
|
+
*
|
|
315
|
+
* playback.on('PlaybackFinished', (event) => {
|
|
316
|
+
* console.log('Playback completed');
|
|
317
|
+
* });
|
|
318
|
+
*
|
|
319
|
+
* await channel.play({ media: 'sound:hello', playbackId: playback.id });
|
|
320
|
+
* ```
|
|
76
321
|
*/
|
|
77
322
|
Playback(id?: string, data?: Partial<Playback>): PlaybackInstance;
|
|
78
323
|
/**
|
|
79
|
-
* Create a LiveRecording instance
|
|
324
|
+
* Create or retrieve a LiveRecording instance.
|
|
325
|
+
*
|
|
326
|
+
* LiveRecording instances provide event-based programming for active recordings.
|
|
327
|
+
*
|
|
328
|
+
* @param name - Recording name
|
|
329
|
+
* @param data - Initial recording data
|
|
330
|
+
* @returns LiveRecording instance for event handling and operations
|
|
331
|
+
*
|
|
332
|
+
* @example
|
|
333
|
+
* ```typescript
|
|
334
|
+
* const recording = client.LiveRecording('my-recording');
|
|
335
|
+
*
|
|
336
|
+
* recording.on('RecordingFinished', (event) => {
|
|
337
|
+
* console.log(`Recording saved: ${event.recording.name}`);
|
|
338
|
+
* });
|
|
339
|
+
*
|
|
340
|
+
* await channel.record({ name: 'my-recording', format: 'wav' });
|
|
341
|
+
* ```
|
|
80
342
|
*/
|
|
81
343
|
LiveRecording(name: string, data?: Partial<LiveRecording>): LiveRecordingInstance;
|
|
82
344
|
/**
|
|
83
|
-
* Create a StoredRecording instance
|
|
345
|
+
* Create a StoredRecording instance.
|
|
346
|
+
*
|
|
347
|
+
* StoredRecording instances provide convenience methods for working with
|
|
348
|
+
* recordings that are already saved to disk. Unlike LiveRecording, these
|
|
349
|
+
* don't receive events.
|
|
350
|
+
*
|
|
351
|
+
* @param name - Recording name
|
|
352
|
+
* @returns StoredRecording instance for operations
|
|
353
|
+
*
|
|
354
|
+
* @example
|
|
355
|
+
* ```typescript
|
|
356
|
+
* const stored = client.StoredRecording('my-recording');
|
|
357
|
+
*
|
|
358
|
+
* // Copy the recording
|
|
359
|
+
* await stored.copy('my-recording-backup');
|
|
360
|
+
*
|
|
361
|
+
* // Delete the recording
|
|
362
|
+
* await stored.delete();
|
|
363
|
+
* ```
|
|
84
364
|
*/
|
|
85
365
|
StoredRecording(name: string): StoredRecordingInstance;
|
|
86
|
-
/** @internal */
|
|
366
|
+
/** @internal Register a channel instance for event routing */
|
|
87
367
|
_registerChannelInstance(id: string, instance: ChannelInstance): void;
|
|
88
|
-
/** @internal */
|
|
368
|
+
/** @internal Unregister a channel instance */
|
|
89
369
|
_unregisterChannelInstance(id: string): void;
|
|
90
|
-
/** @internal */
|
|
370
|
+
/** @internal Register a bridge instance for event routing */
|
|
91
371
|
_registerBridgeInstance(id: string, instance: BridgeInstance): void;
|
|
92
|
-
/** @internal */
|
|
372
|
+
/** @internal Unregister a bridge instance */
|
|
93
373
|
_unregisterBridgeInstance(id: string): void;
|
|
94
|
-
/** @internal */
|
|
374
|
+
/** @internal Register a playback instance for event routing */
|
|
95
375
|
_registerPlaybackInstance(id: string, instance: PlaybackInstance): void;
|
|
96
|
-
/** @internal */
|
|
376
|
+
/** @internal Unregister a playback instance */
|
|
97
377
|
_unregisterPlaybackInstance(id: string): void;
|
|
98
|
-
/** @internal */
|
|
378
|
+
/** @internal Register a recording instance for event routing */
|
|
99
379
|
_registerRecordingInstance(name: string, instance: LiveRecordingInstance): void;
|
|
100
|
-
/** @internal */
|
|
380
|
+
/** @internal Unregister a recording instance */
|
|
101
381
|
_unregisterRecordingInstance(name: string): void;
|
|
102
382
|
/**
|
|
103
|
-
* Get the detected ARI/Asterisk version
|
|
383
|
+
* Get the detected ARI/Asterisk version compatibility checker.
|
|
384
|
+
*
|
|
385
|
+
* @returns Version compatibility object with feature flags
|
|
386
|
+
*
|
|
387
|
+
* @example
|
|
388
|
+
* ```typescript
|
|
389
|
+
* console.log(client.version.toString());
|
|
390
|
+
* // "Asterisk 20 (ARI 8.0.0)"
|
|
391
|
+
*
|
|
392
|
+
* if (client.version.hasExternalMedia) {
|
|
393
|
+
* // Use external media feature
|
|
394
|
+
* }
|
|
395
|
+
* ```
|
|
104
396
|
*/
|
|
105
397
|
get version(): VersionCompat;
|
|
106
398
|
/**
|
|
107
|
-
* Check if WebSocket is
|
|
399
|
+
* Check if the WebSocket connection is active.
|
|
400
|
+
*
|
|
401
|
+
* @returns `true` if connected, `false` otherwise
|
|
108
402
|
*/
|
|
109
403
|
isConnected(): boolean;
|
|
110
404
|
/**
|
|
111
|
-
* Stop the client and disconnect
|
|
405
|
+
* Stop the client and disconnect from Asterisk.
|
|
406
|
+
*
|
|
407
|
+
* This closes the WebSocket connection and clears all instance registries.
|
|
408
|
+
* The client cannot be reused after calling stop().
|
|
409
|
+
*
|
|
410
|
+
* @example
|
|
411
|
+
* ```typescript
|
|
412
|
+
* // Graceful shutdown
|
|
413
|
+
* process.on('SIGTERM', () => {
|
|
414
|
+
* client.stop();
|
|
415
|
+
* process.exit(0);
|
|
416
|
+
* });
|
|
417
|
+
* ```
|
|
112
418
|
*/
|
|
113
419
|
stop(): void;
|
|
114
420
|
/**
|
|
115
|
-
* Reconnect the WebSocket
|
|
421
|
+
* Reconnect the WebSocket connection.
|
|
422
|
+
*
|
|
423
|
+
* Disconnects and then reconnects to Asterisk. Instance registries
|
|
424
|
+
* are preserved, so events will continue routing correctly.
|
|
425
|
+
*
|
|
426
|
+
* @returns Promise that resolves when reconnected
|
|
116
427
|
*/
|
|
117
428
|
reconnect(): Promise<void>;
|
|
118
429
|
/**
|
|
119
|
-
* Get the application name
|
|
430
|
+
* Get the Stasis application name.
|
|
431
|
+
*
|
|
432
|
+
* @returns Application name used for this connection
|
|
120
433
|
*/
|
|
121
434
|
get app(): string;
|
|
122
435
|
}
|
|
123
436
|
/**
|
|
124
|
-
* Connect to Asterisk ARI
|
|
437
|
+
* Connect to Asterisk ARI and create a client.
|
|
438
|
+
*
|
|
439
|
+
* This is the main entry point for establishing an ARI connection.
|
|
440
|
+
* It performs version detection and sets up the WebSocket connection.
|
|
441
|
+
*
|
|
442
|
+
* @param options - Connection options
|
|
443
|
+
* @returns Promise that resolves to an ARI client
|
|
444
|
+
* @throws {AriHttpError} If connection fails or authentication is invalid
|
|
445
|
+
*
|
|
446
|
+
* @example
|
|
447
|
+
* ```typescript
|
|
448
|
+
* import { connect } from '@per_moeller/asterisk-ari';
|
|
449
|
+
*
|
|
450
|
+
* const client = await connect({
|
|
451
|
+
* url: 'http://localhost:8088',
|
|
452
|
+
* username: 'asterisk',
|
|
453
|
+
* password: 'secret',
|
|
454
|
+
* app: 'my-app'
|
|
455
|
+
* });
|
|
456
|
+
*
|
|
457
|
+
* console.log(`Connected to ${client.version}`);
|
|
458
|
+
*
|
|
459
|
+
* client.on('StasisStart', async (event, channel) => {
|
|
460
|
+
* await channel.answer();
|
|
461
|
+
* });
|
|
462
|
+
* ```
|
|
125
463
|
*/
|
|
126
464
|
export declare function connect(options: ConnectOptions): Promise<AriClient>;
|
|
127
465
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|