@gibme/asterisk-gateway-interface 1.0.5 → 3.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 CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2016-2022 Brandon Lehmann
1
+ Copyright (c) 2016-2024 Brandon Lehmann
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  of this software and associated documentation files (the "Software"), to deal
@@ -18,7 +18,7 @@ export default class AsteriskGatewayInterface extends EventEmitter {
18
18
  */
19
19
  constructor(port?: number, ip?: string, maximumListeners?: number);
20
20
  /**
21
- * Event that is emitted when a new AGI channel has been established and is ready for interation
21
+ * Event that is emitted when a new AGI channel has been established and is ready for interaction
22
22
  * @param event
23
23
  * @param listener
24
24
  */
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- // Copyright (c) 2016-2022, Brandon Lehmann <brandonlehmann@gmail.com>
2
+ // Copyright (c) 2016-2024, Brandon Lehmann <brandonlehmann@gmail.com>
3
3
  //
4
4
  // Permission is hereby granted, free of charge, to any person obtaining a copy
5
5
  // of this software and associated documentation files (the "Software"), to deal
@@ -1 +1 @@
1
- {"version":3,"file":"asterisk-gateway-interface.js","sourceRoot":"","sources":["../src/asterisk-gateway-interface.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,EAAE;AACF,+EAA+E;AAC/E,gFAAgF;AAChF,+EAA+E;AAC/E,4EAA4E;AAC5E,wEAAwE;AACxE,2DAA2D;AAC3D,EAAE;AACF,iFAAiF;AACjF,kDAAkD;AAClD,EAAE;AACF,6EAA6E;AAC7E,2EAA2E;AAC3E,8EAA8E;AAC9E,yEAAyE;AACzE,gFAAgF;AAChF,gFAAgF;AAChF,YAAY;;;;;;;;;;;;;;;AAEZ,kDAAoE;AACpE,mCAAsC;AACtC,wDAAgC;AACvB,kBADF,iBAAO,CACE;AAChB,iCAOiB;AANb,qGAAA,YAAY,OAAA;AACZ,mGAAA,UAAU,OAAA;AACV,uGAAA,cAAc,OAAA;AAEd,0GAAA,iBAAiB,OAAA;AAIrB;;GAEG;AACH,MAAqB,wBAAyB,SAAQ,qBAAY;IAG9D;;;;;OAKG;IACH,YACoB,OAAe,IAAI,EACnB,KAAa,SAAS,EACtC,gBAAgB,GAAG,EAAE;QAErB,KAAK,EAAE,CAAC;QAJQ,SAAI,GAAJ,IAAI,CAAe;QACnB,OAAE,GAAF,EAAE,CAAoB;QAVzB,WAAM,GAAc,IAAA,yBAAY,GAAE,CAAC;QAehD,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;QAEvC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,MAAc,EAAE,EAAE;YAC5C,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,MAAM,CAAC,CAAC;YAEpC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;QAE5D,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,CAAC;IAuBM,EAAE,CAAE,KAAU,EAAE,QAAkC;QACrD,OAAO,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACU,KAAK;;YACd,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QACjD,CAAC;KAAA;IAED;;OAEG;IACU,IAAI;;YACb,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9B,CAAC;KAAA;CACJ;AAnED,2CAmEC;AAEQ,4DAAwB"}
1
+ {"version":3,"file":"asterisk-gateway-interface.js","sourceRoot":"","sources":["../src/asterisk-gateway-interface.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,EAAE;AACF,+EAA+E;AAC/E,gFAAgF;AAChF,+EAA+E;AAC/E,4EAA4E;AAC5E,wEAAwE;AACxE,2DAA2D;AAC3D,EAAE;AACF,iFAAiF;AACjF,kDAAkD;AAClD,EAAE;AACF,6EAA6E;AAC7E,2EAA2E;AAC3E,8EAA8E;AAC9E,yEAAyE;AACzE,gFAAgF;AAChF,gFAAgF;AAChF,YAAY;;;;;;;;;;;;;;;AAEZ,kDAAoE;AACpE,mCAAsC;AACtC,wDAAgC;AAEvB,kBAFF,iBAAO,CAEE;AAChB,iCAOiB;AANb,qGAAA,YAAY,OAAA;AACZ,mGAAA,UAAU,OAAA;AACV,uGAAA,cAAc,OAAA;AAEd,0GAAA,iBAAiB,OAAA;AAIrB;;GAEG;AACH,MAAqB,wBAAyB,SAAQ,qBAAY;IAG9D;;;;;OAKG;IACH,YACoB,OAAe,IAAI,EACnB,KAAa,SAAS,EACtC,gBAAgB,GAAG,EAAE;QAErB,KAAK,EAAE,CAAC;QAJQ,SAAI,GAAJ,IAAI,CAAe;QACnB,OAAE,GAAF,EAAE,CAAoB;QAVzB,WAAM,GAAc,IAAA,yBAAY,GAAE,CAAC;QAehD,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;QAEvC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,MAAc,EAAE,EAAE;YAC5C,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,MAAM,CAAC,CAAC;YAEpC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;QAE5D,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,CAAC;IAuBM,EAAE,CAAE,KAAU,EAAE,QAAkC;QACrD,OAAO,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACU,KAAK;;YACd,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QACjD,CAAC;KAAA;IAED;;OAEG;IACU,IAAI;;YACb,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9B,CAAC;KAAA;CACJ;AAnED,2CAmEC;AAEQ,4DAAwB"}
package/dist/channel.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  /// <reference types="node" />
3
3
  import { Socket } from '@gibme/tcp-server';
4
4
  import { EventEmitter } from 'events';
5
- import { IResponse, DialStatus, PlaybackStatus, ChannelState } from './types';
5
+ import { ChannelState, DialStatus, IResponse, PlaybackStatus } from './types';
6
6
  /**
7
7
  * Represents an AGI Channel
8
8
  */
@@ -10,172 +10,187 @@ export default class Channel extends EventEmitter {
10
10
  private readonly _connection;
11
11
  private _state;
12
12
  private _message;
13
- private _network;
14
- private _network_script;
15
- private _request;
16
- private _channel;
17
- private _language;
18
- private _type;
19
- private _uniqueid;
20
- private _version;
21
- private _callerid;
22
- private _calleridname;
23
- private _callingpres;
24
- private _callingani2;
25
- private _callington;
26
- private _callingtns;
27
- private _dnid;
28
- private _rdnis;
29
- private _context;
30
- private _extension;
31
- private _priority;
32
- private _enhanced;
33
- private _accountcode;
34
- private _threadid;
13
+ private _closeOnHangup;
35
14
  /**
36
15
  * Creates a new instance of a channel object
37
16
  * @param connection the AGI socket connection
38
17
  */
39
18
  constructor(connection: Socket);
40
- /**
41
- * Event that is emitted when the underlying socket encounters an error
42
- * @param event
43
- * @param listener
44
- */
45
- on(event: 'error', listener: (error: any) => void): this;
46
- /**
47
- * Event that is emitted when the underlying socket is closed
48
- * @param event
49
- * @param listener
50
- */
51
- on(event: 'close', listener: () => void): this;
52
- /**
53
- * Event that emitted when the underlying socket times out
54
- * @param event
55
- * @param listener
56
- */
57
- on(event: 'timeout', listener: () => void): this;
58
- /**
59
- * Event that is emitted when the channel is ready
60
- * @param event
61
- * @param listener
62
- */
63
- on(event: 'ready', listener: () => void): this;
64
- /**
65
- * Event that is emitted when a response is received from the Asterisk server
66
- * @param event
67
- * @param listener
68
- */
69
- on(event: 'recv', listener: (response: string) => void): this;
70
- /**
71
- * Event that emitted when the channel is hung up
72
- * @param event
73
- * @param listener
74
- */
75
- on(event: 'hangup', listener: () => void): this;
76
- /**
77
- * Event that emitted when the response from the Asterisk server is processed into a structured response
78
- * @param event
79
- * @param listener
80
- */
81
- on(event: 'response', listener: (response: IResponse) => void): this;
82
- /**
83
- * Event that is emitted when data is sent to the Asterisk server
84
- * @param event
85
- * @param listener
86
- */
87
- on(event: 'send', listener: (data: string) => void): this;
19
+ private _network;
88
20
  /**
89
21
  * Whether this AGI request is over the network
90
22
  */
91
23
  get network(): boolean;
24
+ private _network_script;
92
25
  /**
93
26
  * The network path included in the AGI request
94
27
  * ie. agi://127.0.0.1:3000/test
95
28
  * This value would return 'test'
96
29
  */
97
30
  get network_script(): string;
98
- /**
99
- * The version of Asterisk
100
- */
101
- get version(): string;
31
+ private _request;
102
32
  /**
103
33
  * The filename of your script
104
34
  * ie. agi
105
35
  */
106
36
  get request(): string;
37
+ private _channel;
107
38
  /**
108
39
  * The originating channel (your phone)
109
40
  */
110
41
  get channel(): string;
42
+ private _language;
111
43
  /**
112
44
  * The language code (e.g. “en”)
113
45
  */
114
46
  get language(): string;
47
+ private _type;
115
48
  /**
116
49
  * The originating channel type (e.g. “SIP” or “ZAP”)
117
50
  */
118
51
  get type(): string;
52
+ private _uniqueid;
119
53
  /**
120
54
  * A unique ID for the call
121
55
  */
122
56
  get uniqueid(): string;
57
+ private _version;
58
+ /**
59
+ * The version of Asterisk
60
+ */
61
+ get version(): string;
62
+ private _callerid;
123
63
  /**
124
64
  * The caller ID number (or “unknown”)
125
65
  */
126
66
  get callerid(): string;
67
+ private _calleridname;
127
68
  /**
128
69
  * The caller ID name (or “unknown”)
129
70
  */
130
71
  get calleridname(): string;
72
+ private _callingpres;
131
73
  /**
132
74
  * The presentation for the callerid in a ZAP channel
133
75
  */
134
76
  get callingpres(): string;
77
+ private _callingani2;
135
78
  /**
136
79
  * The number which is defined in ANI2 see Asterisk Detailed Variable List (only for PRI Channels)
137
80
  */
138
81
  get callingani2(): string;
82
+ private _callington;
139
83
  /**
140
84
  * The type of number used in PRI Channels see Asterisk Detailed Variable List
141
85
  */
142
86
  get callington(): string;
87
+ private _callingtns;
143
88
  /**
144
- * An optional 4 digit number (Transit Network Selector) used in PRI Channels see Asterisk Detailed Variable List
89
+ * An optional 4-digit number (Transit Network Selector) used in PRI Channels see Asterisk Detailed Variable List
145
90
  */
146
91
  get callingtns(): string;
92
+ private _dnid;
147
93
  /**
148
94
  * The dialed number id (or “unknown”)
149
95
  */
150
96
  get dnid(): string;
97
+ private _rdnis;
151
98
  /**
152
99
  * The referring DNIS number (or “unknown”)
153
100
  */
154
101
  get rdnis(): string;
102
+ private _context;
155
103
  /**
156
104
  * Origin context in extensions.conf
157
105
  */
158
106
  get context(): string;
107
+ private _extension;
159
108
  /**
160
109
  * The called number
161
110
  */
162
111
  get extension(): string;
112
+ private _priority;
163
113
  /**
164
114
  * The priority it was executed as in the dial plan
165
115
  */
166
116
  get priority(): string;
117
+ private _enhanced;
167
118
  /**
168
119
  * The flag value is 1.0 if started as an EAGI script, 0.0 otherwise
169
120
  */
170
121
  get enhanced(): string;
122
+ private _accountcode;
171
123
  /**
172
124
  * Account code of the origin channel
173
125
  */
174
126
  get accountcode(): string;
127
+ private _threadid;
175
128
  /**
176
129
  * Thread ID of the AGI script
177
130
  */
178
131
  get threadid(): string;
132
+ /**
133
+ * Gets the value of the close on hangup setting
134
+ */
135
+ get autoCloseOnHangup(): boolean;
136
+ /**
137
+ * Gets the value of the close on hangup setting
138
+ *
139
+ * @param value
140
+ */
141
+ set autoCloseOnHangup(value: boolean);
142
+ /**
143
+ * Gets the IP address of the Asterisk Server that initiated the channel
144
+ */
145
+ get remoteIP(): string;
146
+ /**
147
+ * Event that is emitted when the underlying socket encounters an error
148
+ * @param event
149
+ * @param listener
150
+ */
151
+ on(event: 'error', listener: (error: any) => void): this;
152
+ /**
153
+ * Event that is emitted when the underlying socket is closed
154
+ * @param event
155
+ * @param listener
156
+ */
157
+ on(event: 'close', listener: () => void): this;
158
+ /**
159
+ * Event that emitted when the underlying socket times out
160
+ * @param event
161
+ * @param listener
162
+ */
163
+ on(event: 'timeout', listener: () => void): this;
164
+ /**
165
+ * Event that is emitted when the channel is ready
166
+ * @param event
167
+ * @param listener
168
+ */
169
+ on(event: 'ready', listener: () => void): this;
170
+ /**
171
+ * Event that is emitted when a response is received from the Asterisk server
172
+ * @param event
173
+ * @param listener
174
+ */
175
+ on(event: 'recv', listener: (response: string) => void): this;
176
+ /**
177
+ * Event that emitted when the channel is hung up
178
+ * @param event
179
+ * @param listener
180
+ */
181
+ on(event: 'hangup', listener: () => void): this;
182
+ /**
183
+ * Event that emitted when the response from the Asterisk server is processed into a structured response
184
+ * @param event
185
+ * @param listener
186
+ */
187
+ on(event: 'response', listener: (response: IResponse) => void): this;
188
+ /**
189
+ * Event that is emitted when data is sent to the Asterisk server
190
+ * @param event
191
+ * @param listener
192
+ */
193
+ on(event: 'send', listener: (data: string) => void): this;
179
194
  /**
180
195
  * Answers channel if not already in answer state.
181
196
  */
@@ -207,10 +222,18 @@ export default class Channel extends EventEmitter {
207
222
  /**
208
223
  * Attempts to establish a new outgoing connection on a channel, and then link it to the calling input channel.
209
224
  * @param target
210
- * @param timeout
211
- * @param params
212
- */
213
- dial(target: string, timeout?: number, params?: string): Promise<DialStatus>;
225
+ * @param options
226
+ * @returns
227
+ */
228
+ dial(target: string, options?: Partial<{
229
+ timeout: number;
230
+ params: string;
231
+ hangupOnComplete: boolean;
232
+ }>): Promise<{
233
+ status: DialStatus;
234
+ dialed_time: number;
235
+ answered_time: number;
236
+ }>;
214
237
  /**
215
238
  * Deletes an entry in the Asterisk database for a given family and key.
216
239
  * @param family
@@ -446,6 +469,25 @@ export default class Channel extends EventEmitter {
446
469
  * @param timeout
447
470
  */
448
471
  waitForDigit(timeout?: number): Promise<string>;
472
+ /**
473
+ * Add a SIP header to the outbound call
474
+ *
475
+ * @param key
476
+ * @param value
477
+ * @constructor
478
+ */
479
+ SIPAddHeader(key: string, value: string): Promise<void>;
480
+ /**
481
+ * SIPRemoveHeader() allows you to remove headers which were previously added with SIPAddHeader().
482
+ * If no parameter is supplied, all previously added headers will be removed.
483
+ * If a parameter is supplied, only the matching headers will be removed.
484
+ *
485
+ * Note: To remove a singular header (not wildcard matched), include a `:` at the end of the key
486
+ *
487
+ * @param key
488
+ * @constructor
489
+ */
490
+ SIPRemoveHeader(key?: string): Promise<void>;
449
491
  /**
450
492
  * Closes the connection
451
493
  *
package/dist/channel.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- // Copyright (c) 2016-2022, Brandon Lehmann <brandonlehmann@gmail.com>
2
+ // Copyright (c) 2016-2024, Brandon Lehmann <brandonlehmann@gmail.com>
3
3
  //
4
4
  // Permission is hereby granted, free of charge, to any person obtaining a copy
5
5
  // of this software and associated documentation files (the "Software"), to deal
@@ -32,7 +32,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
32
32
  };
33
33
  Object.defineProperty(exports, "__esModule", { value: true });
34
34
  const events_1 = require("events");
35
- const util_1 = require("util");
36
35
  const types_1 = require("./types");
37
36
  const response_arguments_1 = __importDefault(require("./response_arguments"));
38
37
  /**
@@ -46,6 +45,7 @@ class Channel extends events_1.EventEmitter {
46
45
  constructor(connection) {
47
46
  super();
48
47
  this._message = '';
48
+ this._closeOnHangup = true;
49
49
  this._network = '';
50
50
  this._network_script = '';
51
51
  this._request = '';
@@ -75,10 +75,14 @@ class Channel extends events_1.EventEmitter {
75
75
  this._connection.on('close', () => this.emit('close'));
76
76
  this._connection.on('error', (error) => this.emit('error', error));
77
77
  this._connection.on('timeout', () => this.emit('timeout'));
78
- this.on('hangup', () => this.close());
79
- }
80
- on(event, listener) {
81
- return super.on(event, listener);
78
+ this.on('hangup', () => {
79
+ if (this._closeOnHangup) {
80
+ // we need to pause a moment in case we had dialed out somewhere
81
+ // by waiting a quick moment, we can ensure that we receive the DIALSTATUS
82
+ // back in those cases
83
+ setTimeout(() => this.close(), 250);
84
+ }
85
+ });
82
86
  }
83
87
  /**
84
88
  * Whether this AGI request is over the network
@@ -94,12 +98,6 @@ class Channel extends events_1.EventEmitter {
94
98
  get network_script() {
95
99
  return this._network_script;
96
100
  }
97
- /**
98
- * The version of Asterisk
99
- */
100
- get version() {
101
- return this._version;
102
- }
103
101
  /**
104
102
  * The filename of your script
105
103
  * ie. agi
@@ -131,6 +129,12 @@ class Channel extends events_1.EventEmitter {
131
129
  get uniqueid() {
132
130
  return this._uniqueid;
133
131
  }
132
+ /**
133
+ * The version of Asterisk
134
+ */
135
+ get version() {
136
+ return this._version;
137
+ }
134
138
  /**
135
139
  * The caller ID number (or “unknown”)
136
140
  */
@@ -162,7 +166,7 @@ class Channel extends events_1.EventEmitter {
162
166
  return this._callington;
163
167
  }
164
168
  /**
165
- * An optional 4 digit number (Transit Network Selector) used in PRI Channels see Asterisk Detailed Variable List
169
+ * An optional 4-digit number (Transit Network Selector) used in PRI Channels see Asterisk Detailed Variable List
166
170
  */
167
171
  get callingtns() {
168
172
  return this._callingtns;
@@ -215,6 +219,30 @@ class Channel extends events_1.EventEmitter {
215
219
  get threadid() {
216
220
  return this._threadid;
217
221
  }
222
+ /**
223
+ * Gets the value of the close on hangup setting
224
+ */
225
+ get autoCloseOnHangup() {
226
+ return this._closeOnHangup;
227
+ }
228
+ /**
229
+ * Gets the value of the close on hangup setting
230
+ *
231
+ * @param value
232
+ */
233
+ set autoCloseOnHangup(value) {
234
+ this._closeOnHangup = value;
235
+ }
236
+ /**
237
+ * Gets the IP address of the Asterisk Server that initiated the channel
238
+ */
239
+ get remoteIP() {
240
+ var _a;
241
+ return (_a = this._connection.remoteAddress) !== null && _a !== void 0 ? _a : '127.0.0.1';
242
+ }
243
+ on(event, listener) {
244
+ return super.on(event, listener);
245
+ }
218
246
  /**
219
247
  * Answers channel if not already in answer state.
220
248
  */
@@ -245,7 +273,7 @@ class Channel extends events_1.EventEmitter {
245
273
  */
246
274
  channelStatus(channel) {
247
275
  return __awaiter(this, void 0, void 0, function* () {
248
- const response = yield this.sendCommand((0, util_1.format)('CHANNEL STATUS %s', channel || ''));
276
+ const response = yield this.sendCommand(`CHANNEL STATUS ${channel !== null && channel !== void 0 ? channel : ''}`);
249
277
  if (response.code !== 200 || response.result === -1) {
250
278
  throw new Error('Could not get channel status');
251
279
  }
@@ -263,7 +291,9 @@ class Channel extends events_1.EventEmitter {
263
291
  */
264
292
  controlStreamFile(filename, escapeDigits = '', skipms, fastForwardCharacter, rewindCharacter, pauseCharacter) {
265
293
  return __awaiter(this, void 0, void 0, function* () {
266
- const response = yield this.sendCommand((0, util_1.format)('CONTROL STREAM FILE %s "%s" %s %s %s %s', filename, escapeDigits, skipms || '', fastForwardCharacter || '', rewindCharacter || '', pauseCharacter || ''));
294
+ const response = yield this.sendCommand(`CONTROL STREAM FILE ${filename} ` +
295
+ `"${escapeDigits}" ${skipms !== null && skipms !== void 0 ? skipms : ''} ${fastForwardCharacter !== null && fastForwardCharacter !== void 0 ? fastForwardCharacter : ''} ` +
296
+ `${rewindCharacter !== null && rewindCharacter !== void 0 ? rewindCharacter : ''} ${pauseCharacter !== null && pauseCharacter !== void 0 ? pauseCharacter : ''}`);
267
297
  if (response.code !== 200 || response.result === -1) {
268
298
  throw new Error('Could not control stream file');
269
299
  }
@@ -291,35 +321,63 @@ class Channel extends events_1.EventEmitter {
291
321
  /**
292
322
  * Attempts to establish a new outgoing connection on a channel, and then link it to the calling input channel.
293
323
  * @param target
294
- * @param timeout
295
- * @param params
324
+ * @param options
325
+ * @returns
296
326
  */
297
- dial(target, timeout = 30, params) {
327
+ dial(target, options = {}) {
328
+ var _a, _b, _c;
298
329
  return __awaiter(this, void 0, void 0, function* () {
299
- yield this.exec('Dial', (0, util_1.format)('%s,%s,%s', target, timeout, params || ''));
330
+ (_a = options.timeout) !== null && _a !== void 0 ? _a : (options.timeout = 30);
331
+ (_b = options.params) !== null && _b !== void 0 ? _b : (options.params = '');
332
+ (_c = options.hangupOnComplete) !== null && _c !== void 0 ? _c : (options.hangupOnComplete = true);
333
+ // This is HARD blocking as the program flow will not continue until either
334
+ // (a) the call fails; or (b) the call is hung up
335
+ yield this.exec('Dial', `${target},${options.timeout},${options.params}`);
300
336
  const dialstatus = yield this.getVariable('DIALSTATUS');
337
+ const dialed_time = parseInt((yield this.getVariable('DIALEDTIME')) || '0') || 0;
338
+ const answered_time = parseInt((yield this.getVariable('ANSWEREDTIME')) || '0') || 0;
339
+ if (options.hangupOnComplete) {
340
+ try {
341
+ yield this.hangup();
342
+ }
343
+ catch (_d) {
344
+ }
345
+ }
346
+ let status = types_1.DialStatus.UNKNOWN;
301
347
  switch (dialstatus.toUpperCase()) {
302
348
  case 'ANSWER':
303
- return types_1.DialStatus.ANSWER;
349
+ status = types_1.DialStatus.ANSWER;
350
+ break;
304
351
  case 'BUSY':
305
- return types_1.DialStatus.BUSY;
352
+ status = types_1.DialStatus.BUSY;
353
+ break;
306
354
  case 'NOANSWER':
307
- return types_1.DialStatus.NOANSWER;
355
+ status = types_1.DialStatus.NOANSWER;
356
+ break;
308
357
  case 'CANCEL':
309
- return types_1.DialStatus.CANCEL;
358
+ status = types_1.DialStatus.CANCEL;
359
+ break;
310
360
  case 'CONGESTION':
311
- return types_1.DialStatus.CONGESTION;
361
+ status = types_1.DialStatus.CONGESTION;
362
+ break;
312
363
  case 'CHANUNAVAIL':
313
- return types_1.DialStatus.CHANUNAVAIL;
364
+ status = types_1.DialStatus.CHANUNAVAIL;
365
+ break;
314
366
  case 'DONTCALL':
315
- return types_1.DialStatus.DONTCALL;
367
+ status = types_1.DialStatus.DONTCALL;
368
+ break;
316
369
  case 'TORTURE':
317
- return types_1.DialStatus.TORTURE;
370
+ status = types_1.DialStatus.TORTURE;
371
+ break;
318
372
  case 'INVALIDARGS':
319
- return types_1.DialStatus.INVALIDARGS;
320
- default:
321
- throw new Error('Unknown dial status');
373
+ status = types_1.DialStatus.INVALIDARGS;
374
+ break;
322
375
  }
376
+ return {
377
+ status,
378
+ dialed_time,
379
+ answered_time
380
+ };
323
381
  });
324
382
  }
325
383
  /**
@@ -329,7 +387,7 @@ class Channel extends events_1.EventEmitter {
329
387
  */
330
388
  databaseDel(family, key) {
331
389
  return __awaiter(this, void 0, void 0, function* () {
332
- const response = yield this.sendCommand((0, util_1.format)('DATABASE DEL %s %s', family, key));
390
+ const response = yield this.sendCommand(`DATABASE DEL ${family} ${key}`);
333
391
  if (response.code !== 200 || response.result === 0) {
334
392
  throw new Error('Could not delete from the database');
335
393
  }
@@ -342,7 +400,7 @@ class Channel extends events_1.EventEmitter {
342
400
  */
343
401
  databaseDelTree(family, keyTree) {
344
402
  return __awaiter(this, void 0, void 0, function* () {
345
- const response = yield this.sendCommand((0, util_1.format)('DATABASE DELTREE %s %s', family, keyTree || ''));
403
+ const response = yield this.sendCommand(`DATABASE DELTREE ${family} ${keyTree !== null && keyTree !== void 0 ? keyTree : ''}`);
346
404
  if (response.code !== 200) {
347
405
  throw new Error('Could not delete tree from database');
348
406
  }
@@ -356,7 +414,7 @@ class Channel extends events_1.EventEmitter {
356
414
  */
357
415
  databaseGet(family, key) {
358
416
  return __awaiter(this, void 0, void 0, function* () {
359
- const response = yield this.sendCommand((0, util_1.format)('DATABASE GET %s %s', family, key));
417
+ const response = yield this.sendCommand(`DATABASE GET ${family} ${key}`);
360
418
  if (response.code !== 200 || response.result === 0) {
361
419
  throw new Error('Database key not set');
362
420
  }
@@ -371,7 +429,7 @@ class Channel extends events_1.EventEmitter {
371
429
  */
372
430
  databasePut(family, key, value) {
373
431
  return __awaiter(this, void 0, void 0, function* () {
374
- const response = yield this.sendCommand((0, util_1.format)('DATABASE PUT %s %s %s', family, key, value));
432
+ const response = yield this.sendCommand(`DATABASE PUT ${family} ${key} ${value}`);
375
433
  if (response.code !== 200 || response.result === 0) {
376
434
  throw new Error('Database key not set');
377
435
  }
@@ -385,7 +443,13 @@ class Channel extends events_1.EventEmitter {
385
443
  */
386
444
  exec(application, ...args) {
387
445
  return __awaiter(this, void 0, void 0, function* () {
388
- const response = yield this.sendCommand((0, util_1.format)('EXEC %s %s', application, args.join(' ')));
446
+ args = args.map(arg => {
447
+ if (arg.includes(' ')) {
448
+ arg = `"${arg}"`;
449
+ }
450
+ return arg;
451
+ });
452
+ const response = yield this.sendCommand(`EXEC ${application} ${args.join(' ')}`);
389
453
  if (response.code !== 200 || response.result === -2) {
390
454
  throw new Error('Could not execute application');
391
455
  }
@@ -400,7 +464,7 @@ class Channel extends events_1.EventEmitter {
400
464
  */
401
465
  getData(soundFile, timeout = 5, maxDigits) {
402
466
  return __awaiter(this, void 0, void 0, function* () {
403
- const response = yield this.sendCommand((0, util_1.format)('GET DATA %s %s %s', soundFile, timeout * 1000, maxDigits || ''));
467
+ const response = yield this.sendCommand(`GET DATA ${soundFile} ${timeout * 1000} ${maxDigits !== null && maxDigits !== void 0 ? maxDigits : ''}`);
404
468
  if (response.code !== 200 || response.result === -1) {
405
469
  throw new Error('Could not get data from channel');
406
470
  }
@@ -418,7 +482,7 @@ class Channel extends events_1.EventEmitter {
418
482
  */
419
483
  getFullVariable(key, channel) {
420
484
  return __awaiter(this, void 0, void 0, function* () {
421
- const response = yield this.sendCommand((0, util_1.format)('GET FULL VARIABLE %s %s', key.toUpperCase(), channel || ''));
485
+ const response = yield this.sendCommand(`GET FULL VARIABLE ${key.toUpperCase()} ${channel !== null && channel !== void 0 ? channel : ''}`);
422
486
  if (response.code !== 200 || response.result === 0) {
423
487
  throw new Error('Variable not set');
424
488
  }
@@ -434,7 +498,7 @@ class Channel extends events_1.EventEmitter {
434
498
  */
435
499
  getOption(soundFile, escapeDigits = '#', timeout = 5) {
436
500
  return __awaiter(this, void 0, void 0, function* () {
437
- const response = yield this.sendCommand((0, util_1.format)('GET OPTION %s "%s" %s', soundFile, escapeDigits, timeout * 1000));
501
+ const response = yield this.sendCommand(`GET OPTION ${soundFile} "${escapeDigits}" ${timeout * 1000}`);
438
502
  if (response.code !== 200 || response.result === -1) {
439
503
  throw new Error('Could not get option');
440
504
  }
@@ -453,7 +517,7 @@ class Channel extends events_1.EventEmitter {
453
517
  */
454
518
  getVariable(key) {
455
519
  return __awaiter(this, void 0, void 0, function* () {
456
- const response = yield this.sendCommand((0, util_1.format)('GET VARIABLE %s', key.toUpperCase()));
520
+ const response = yield this.sendCommand(`GET VARIABLE ${key.toUpperCase()}`);
457
521
  if (response.code !== 200 || response.result === 0) {
458
522
  throw new Error('Variable not set');
459
523
  }
@@ -469,7 +533,7 @@ class Channel extends events_1.EventEmitter {
469
533
  */
470
534
  goSub(context, extension, priority, argument) {
471
535
  return __awaiter(this, void 0, void 0, function* () {
472
- const response = yield this.sendCommand((0, util_1.format)('GOSUB %s %s %s %s', context, extension, priority, argument || ''));
536
+ const response = yield this.sendCommand(`GOSUB ${context} ${extension} ${priority} ${argument !== null && argument !== void 0 ? argument : ''}`);
473
537
  if (response.code !== 200 || response.result !== 0) {
474
538
  throw new Error('Could not execute gosub');
475
539
  }
@@ -481,7 +545,7 @@ class Channel extends events_1.EventEmitter {
481
545
  */
482
546
  hangup(channel) {
483
547
  return __awaiter(this, void 0, void 0, function* () {
484
- const response = yield this.sendCommand((0, util_1.format)('HANGUP %s', channel || ''));
548
+ const response = yield this.sendCommand(`HANGUP ${channel !== null && channel !== void 0 ? channel : ''}`);
485
549
  if (response.code !== 200 || response.result !== 1) {
486
550
  throw new Error('Could not hang up call');
487
551
  }
@@ -504,7 +568,7 @@ class Channel extends events_1.EventEmitter {
504
568
  */
505
569
  receiveChar(timeout = 5) {
506
570
  return __awaiter(this, void 0, void 0, function* () {
507
- const response = yield this.sendCommand((0, util_1.format)('RECEIVE CHAR %s', timeout * 1000));
571
+ const response = yield this.sendCommand(`RECEIVE CHAR ${timeout * 1000}`);
508
572
  if (response.code !== 200 || response.result === -1) {
509
573
  throw new Error('Could not get data from channel');
510
574
  }
@@ -520,7 +584,7 @@ class Channel extends events_1.EventEmitter {
520
584
  */
521
585
  receiveText(timeout = 5) {
522
586
  return __awaiter(this, void 0, void 0, function* () {
523
- const response = yield this.sendCommand((0, util_1.format)('RECEIVE TEXT %s', timeout * 1000));
587
+ const response = yield this.sendCommand(`RECEIVE TEXT ${timeout * 1000}`);
524
588
  if (response.code !== 200 || response.result === -1) {
525
589
  throw new Error('Could not get data from channel');
526
590
  }
@@ -539,7 +603,9 @@ class Channel extends events_1.EventEmitter {
539
603
  */
540
604
  recordFile(filename, fileFormat = 'gsm', escapeDigits = '#', timeout = 10, beep, silence, offsetSamples) {
541
605
  return __awaiter(this, void 0, void 0, function* () {
542
- const response = yield this.sendCommand((0, util_1.format)('RECORD FILE %s %s "%s" %s %s %s %s', filename, fileFormat, escapeDigits, timeout * 1000, offsetSamples || '', (beep) ? 'BEEP' : '', (silence) ? (0, util_1.format)('s=%s', silence) : ''));
606
+ const response = yield this.sendCommand(`RECORD FILE ${filename} ${fileFormat} "${escapeDigits}"` +
607
+ `${timeout * 1000} ${offsetSamples !== null && offsetSamples !== void 0 ? offsetSamples : ''} ${beep ? 'BEEP' : ''}` +
608
+ `${silence ? `s=${silence}` : ''}`);
543
609
  if (response.code !== 200 || response.result === -1) {
544
610
  throw new Error('Could not record file');
545
611
  }
@@ -557,7 +623,7 @@ class Channel extends events_1.EventEmitter {
557
623
  */
558
624
  sayAlpha(value, escapeDigits = '#') {
559
625
  return __awaiter(this, void 0, void 0, function* () {
560
- const response = yield this.sendCommand((0, util_1.format)('SAY ALPHA %s "%s"', value, escapeDigits));
626
+ const response = yield this.sendCommand(`SAY ALPHA ${value} "${escapeDigits}"`);
561
627
  if (response.code !== 200 || response.result === -1) {
562
628
  throw new Error('Could not say alpha');
563
629
  }
@@ -571,7 +637,10 @@ class Channel extends events_1.EventEmitter {
571
637
  */
572
638
  sayDate(value, escapeDigits = '#') {
573
639
  return __awaiter(this, void 0, void 0, function* () {
574
- const response = yield this.sendCommand((0, util_1.format)('SAY DATE %s "%s"', (typeof value === 'number') ? value : Math.floor(value.getTime() / 1000), escapeDigits));
640
+ if (typeof value !== 'number') {
641
+ value = Math.floor(value.getTime() / 1000);
642
+ }
643
+ const response = yield this.sendCommand(`SAY DATE ${value} "${escapeDigits}"`);
575
644
  if (response.code !== 200 || response.result === -1) {
576
645
  throw new Error('Could not say date');
577
646
  }
@@ -587,7 +656,10 @@ class Channel extends events_1.EventEmitter {
587
656
  */
588
657
  sayDateTime(value, escapeDigits = '#', dateFormat, timezone) {
589
658
  return __awaiter(this, void 0, void 0, function* () {
590
- const response = yield this.sendCommand((0, util_1.format)('SAY DATETIME %s "%s" %s %s', (typeof value === 'number') ? value : Math.floor(value.getTime() / 1000), escapeDigits, dateFormat || '', timezone || ''));
659
+ if (typeof value !== 'number') {
660
+ value = Math.floor(value.getTime() / 1000);
661
+ }
662
+ const response = yield this.sendCommand(`SAY DATETIME ${value} "${escapeDigits}" ${dateFormat !== null && dateFormat !== void 0 ? dateFormat : ''} ${timezone !== null && timezone !== void 0 ? timezone : ''}`);
591
663
  if (response.code !== 200 || response.result === -1) {
592
664
  throw new Error('Could not say date time');
593
665
  }
@@ -601,7 +673,7 @@ class Channel extends events_1.EventEmitter {
601
673
  */
602
674
  sayDigits(value, escapeDigits = '#') {
603
675
  return __awaiter(this, void 0, void 0, function* () {
604
- const response = yield this.sendCommand((0, util_1.format)('SAY DIGITS %s "%s"', value, escapeDigits));
676
+ const response = yield this.sendCommand(`SAY DIGITS ${value} "${escapeDigits}"`);
605
677
  if (response.code !== 200 || response.result === -1) {
606
678
  throw new Error('Could not say digits');
607
679
  }
@@ -615,7 +687,7 @@ class Channel extends events_1.EventEmitter {
615
687
  */
616
688
  sayNumber(value, escapeDigits = '#') {
617
689
  return __awaiter(this, void 0, void 0, function* () {
618
- const response = yield this.sendCommand((0, util_1.format)('SAY NUMBER %s "%s"', value, escapeDigits));
690
+ const response = yield this.sendCommand(`SAY NUMBER ${value} "${escapeDigits}"`);
619
691
  if (response.code !== 200 || response.result === -1) {
620
692
  throw new Error('Could not say number');
621
693
  }
@@ -629,7 +701,7 @@ class Channel extends events_1.EventEmitter {
629
701
  */
630
702
  sayPhonetic(value, escapeDigits = '#') {
631
703
  return __awaiter(this, void 0, void 0, function* () {
632
- const response = yield this.sendCommand((0, util_1.format)('SAY PHONETIC %s "%s"', value, escapeDigits));
704
+ const response = yield this.sendCommand(`SAY PHONETIC ${value} "${escapeDigits}"`);
633
705
  if (response.code !== 200 || response.result === -1) {
634
706
  throw new Error('Could not say phonetic');
635
707
  }
@@ -643,7 +715,10 @@ class Channel extends events_1.EventEmitter {
643
715
  */
644
716
  sayTime(value, escapeDigits = '#') {
645
717
  return __awaiter(this, void 0, void 0, function* () {
646
- const response = yield this.sendCommand((0, util_1.format)('SAY TIME %s "%s"', (typeof value === 'number') ? value : Math.floor(value.getTime() / 1000), escapeDigits));
718
+ if (typeof value !== 'number') {
719
+ value = Math.floor(value.getTime() / 1000);
720
+ }
721
+ const response = yield this.sendCommand(`SAY TIME ${value} "${escapeDigits}"`);
647
722
  if (response.code !== 200 || response.result === -1) {
648
723
  throw new Error('Could not say time');
649
724
  }
@@ -656,7 +731,7 @@ class Channel extends events_1.EventEmitter {
656
731
  */
657
732
  sendImage(image) {
658
733
  return __awaiter(this, void 0, void 0, function* () {
659
- const response = yield this.sendCommand((0, util_1.format)('SEND IMAGE %s', image));
734
+ const response = yield this.sendCommand(`SEND IMAGE ${image}`);
660
735
  if (response.code !== 200 || response.result !== 0) {
661
736
  throw new Error('Could not send image');
662
737
  }
@@ -668,7 +743,7 @@ class Channel extends events_1.EventEmitter {
668
743
  */
669
744
  sendText(text) {
670
745
  return __awaiter(this, void 0, void 0, function* () {
671
- const response = yield this.sendCommand((0, util_1.format)('SEND TEXT "%s"', text));
746
+ const response = yield this.sendCommand(`SEND TEXT "${text}"`);
672
747
  if (response.code !== 200 || response.result !== 0) {
673
748
  throw new Error('Could not send text');
674
749
  }
@@ -680,7 +755,7 @@ class Channel extends events_1.EventEmitter {
680
755
  */
681
756
  setAutoHangup(timeout = 60) {
682
757
  return __awaiter(this, void 0, void 0, function* () {
683
- const response = yield this.sendCommand((0, util_1.format)('SET AUTOHANGUP %s', timeout));
758
+ const response = yield this.sendCommand(`SET AUTOHANGUP ${timeout}`);
684
759
  if (response.code !== 200 || response.result !== 0) {
685
760
  throw new Error('Could not set auto hangup');
686
761
  }
@@ -694,9 +769,9 @@ class Channel extends events_1.EventEmitter {
694
769
  setCallerID(callerNumber, callerName) {
695
770
  return __awaiter(this, void 0, void 0, function* () {
696
771
  const callerid = (callerName)
697
- ? (0, util_1.format)('"%s"<%s>', callerName, callerNumber)
772
+ ? `"${callerName}"<${callerNumber}>`
698
773
  : callerNumber;
699
- const response = yield this.sendCommand((0, util_1.format)('SET CALLERID %s', callerid));
774
+ const response = yield this.sendCommand(`SET CALLERID ${callerid}`);
700
775
  if (response.code !== 200 || response.result !== 1) {
701
776
  throw new Error('Could not set caller id');
702
777
  }
@@ -708,7 +783,7 @@ class Channel extends events_1.EventEmitter {
708
783
  */
709
784
  setContext(context) {
710
785
  return __awaiter(this, void 0, void 0, function* () {
711
- const response = yield this.sendCommand((0, util_1.format)('SET CONTEXT %s', context));
786
+ const response = yield this.sendCommand(`SET CONTEXT ${context}`);
712
787
  if (response.code !== 200 || response.result !== 0) {
713
788
  throw new Error('Could not set context');
714
789
  }
@@ -720,7 +795,7 @@ class Channel extends events_1.EventEmitter {
720
795
  */
721
796
  setExtension(extension) {
722
797
  return __awaiter(this, void 0, void 0, function* () {
723
- const response = yield this.sendCommand((0, util_1.format)('SET EXTENSION %s', extension));
798
+ const response = yield this.sendCommand(`SET EXTENSION ${extension}`);
724
799
  if (response.code !== 200 || response.result !== 0) {
725
800
  throw new Error('Could not set extension');
726
801
  }
@@ -733,7 +808,7 @@ class Channel extends events_1.EventEmitter {
733
808
  */
734
809
  setMusic(status = true, musicClass) {
735
810
  return __awaiter(this, void 0, void 0, function* () {
736
- const response = yield this.sendCommand((0, util_1.format)('SET MUSIC %s %s', (status) ? 'ON' : 'OFF', musicClass || ''));
811
+ const response = yield this.sendCommand(`SET MUSIC ${status ? 'ON' : 'OFF'} ${musicClass !== null && musicClass !== void 0 ? musicClass : ''}`);
737
812
  if (response.code !== 200 || response.result !== 0) {
738
813
  throw new Error('Could not set priority');
739
814
  }
@@ -745,7 +820,7 @@ class Channel extends events_1.EventEmitter {
745
820
  */
746
821
  setPriority(priority) {
747
822
  return __awaiter(this, void 0, void 0, function* () {
748
- const response = yield this.sendCommand((0, util_1.format)('SET PRIORITY %s', priority));
823
+ const response = yield this.sendCommand(`SET PRIORITY ${priority}`);
749
824
  if (response.code !== 200 || response.result !== 0) {
750
825
  throw new Error('Could not set priority');
751
826
  }
@@ -758,7 +833,7 @@ class Channel extends events_1.EventEmitter {
758
833
  */
759
834
  setVariable(key, value) {
760
835
  return __awaiter(this, void 0, void 0, function* () {
761
- const response = yield this.sendCommand((0, util_1.format)('SET VARIABLE %s "%s"', key.toUpperCase(), value));
836
+ const response = yield this.sendCommand(`SET VARIABLE ${key.toUpperCase()} "${value}"`);
762
837
  if (response.code !== 200 || response.result !== 1) {
763
838
  throw new Error('Could not set variable');
764
839
  }
@@ -767,19 +842,19 @@ class Channel extends events_1.EventEmitter {
767
842
  speechActivateGrammar(grammar) {
768
843
  return __awaiter(this, void 0, void 0, function* () {
769
844
  // TODO: Handle the response
770
- return this.sendCommand((0, util_1.format)('SPEECH ACTIVATE GRAMMAR %s', grammar));
845
+ return this.sendCommand(`SPEECH ACTIVATE GRAMMAR ${grammar}`);
771
846
  });
772
847
  }
773
848
  speechCreate(engine) {
774
849
  return __awaiter(this, void 0, void 0, function* () {
775
850
  // TODO: Handle the response
776
- return this.sendCommand((0, util_1.format)('SPEECH CREATE ENGINE %s', engine));
851
+ return this.sendCommand(`SPEECH CREATE ENGINE ${engine}`);
777
852
  });
778
853
  }
779
854
  speechDeactivateGrammar(grammar) {
780
855
  return __awaiter(this, void 0, void 0, function* () {
781
856
  // TODO: Handle the response
782
- return this.sendCommand((0, util_1.format)('SPEECH DEACTIVATE GRAMMAR %s', grammar));
857
+ return this.sendCommand(`SPEECH DEACTIVATE GRAMMER ${grammar}`);
783
858
  });
784
859
  }
785
860
  speechDestroy() {
@@ -791,25 +866,25 @@ class Channel extends events_1.EventEmitter {
791
866
  speechLoadGrammar(grammar, path) {
792
867
  return __awaiter(this, void 0, void 0, function* () {
793
868
  // TODO: Handle the response
794
- return this.sendCommand((0, util_1.format)('SPEECH LOAD GRAMMAR %s %s', grammar, path));
869
+ return this.sendCommand(`SPEECH LOAD GRAMMER ${grammar} ${path}`);
795
870
  });
796
871
  }
797
872
  speechRecognize(soundFile, timeout = 5, offset) {
798
873
  return __awaiter(this, void 0, void 0, function* () {
799
874
  // TODO: Handle the response
800
- return this.sendCommand((0, util_1.format)('SPEECH RECOGNIZE %s %s %s', soundFile, timeout * 1000, offset));
875
+ return this.sendCommand(`SPEECH RECOGNIZE ${soundFile} ${timeout * 1000} ${offset}`);
801
876
  });
802
877
  }
803
878
  speechSet(key, value) {
804
879
  return __awaiter(this, void 0, void 0, function* () {
805
880
  // TODO: Handle the response
806
- return this.sendCommand((0, util_1.format)('SPEECH SET %s %s', key, value));
881
+ return this.sendCommand(`SPEECH SET ${key} ${value}`);
807
882
  });
808
883
  }
809
884
  speedUnloadGrammar(grammar) {
810
885
  return __awaiter(this, void 0, void 0, function* () {
811
886
  // TODO: Handle the response
812
- return this.sendCommand((0, util_1.format)('SPEECH UNLOAD GRAMMAR %s', grammar));
887
+ return this.sendCommand(`SPEECH UNLOAD GRAMMAR ${grammar}`);
813
888
  });
814
889
  }
815
890
  /**
@@ -820,7 +895,7 @@ class Channel extends events_1.EventEmitter {
820
895
  */
821
896
  streamFile(filename, escapeDigits = '#', offset) {
822
897
  return __awaiter(this, void 0, void 0, function* () {
823
- const response = yield this.sendCommand((0, util_1.format)('STREAM FILE %s "%s" %s', filename, escapeDigits, offset || ''));
898
+ const response = yield this.sendCommand(`STREAM FILE ${filename} "${escapeDigits}" ${offset !== null && offset !== void 0 ? offset : ''}`);
824
899
  if (response.code !== 200 || response.result === -1) {
825
900
  throw new Error('Could not stream file');
826
901
  }
@@ -840,7 +915,7 @@ class Channel extends events_1.EventEmitter {
840
915
  */
841
916
  tddMode(status) {
842
917
  return __awaiter(this, void 0, void 0, function* () {
843
- const response = yield this.sendCommand((0, util_1.format)('TDD MODE %s', (status) ? 'ON' : 'OFF'));
918
+ const response = yield this.sendCommand(`TDD MODE ${status ? 'ON' : 'OFF'}`);
844
919
  if (response.code !== 200 || response.result !== 1) {
845
920
  throw new Error('Could not set TDD mode');
846
921
  }
@@ -853,7 +928,7 @@ class Channel extends events_1.EventEmitter {
853
928
  */
854
929
  verbose(message, level) {
855
930
  return __awaiter(this, void 0, void 0, function* () {
856
- const response = yield this.sendCommand((0, util_1.format)('VERBOSE "%s" %s', message, level || ''));
931
+ const response = yield this.sendCommand(`VERBOSE "${message}" ${level !== null && level !== void 0 ? level : ''}`);
857
932
  if (response.code !== 200 || response.result !== 1) {
858
933
  throw new Error('Could not send logging message');
859
934
  }
@@ -865,7 +940,7 @@ class Channel extends events_1.EventEmitter {
865
940
  */
866
941
  waitForDigit(timeout = 5) {
867
942
  return __awaiter(this, void 0, void 0, function* () {
868
- const response = yield this.sendCommand((0, util_1.format)('WAIT FOR DIGIT %s', timeout * 1000));
943
+ const response = yield this.sendCommand(`WAIT FOR DIGIT ${timeout * 1000}`);
869
944
  if (response.code !== 200 || response.result === -1) {
870
945
  throw new Error('Could not wait for digit');
871
946
  }
@@ -873,6 +948,33 @@ class Channel extends events_1.EventEmitter {
873
948
  });
874
949
  }
875
950
  /* Internal Methods */
951
+ /**
952
+ * Add a SIP header to the outbound call
953
+ *
954
+ * @param key
955
+ * @param value
956
+ * @constructor
957
+ */
958
+ SIPAddHeader(key, value) {
959
+ return __awaiter(this, void 0, void 0, function* () {
960
+ yield this.exec('SIPAddHeader', `${key}: ${value}`);
961
+ });
962
+ }
963
+ /**
964
+ * SIPRemoveHeader() allows you to remove headers which were previously added with SIPAddHeader().
965
+ * If no parameter is supplied, all previously added headers will be removed.
966
+ * If a parameter is supplied, only the matching headers will be removed.
967
+ *
968
+ * Note: To remove a singular header (not wildcard matched), include a `:` at the end of the key
969
+ *
970
+ * @param key
971
+ * @constructor
972
+ */
973
+ SIPRemoveHeader(key) {
974
+ return __awaiter(this, void 0, void 0, function* () {
975
+ yield this.exec('SIPRemoveHeader', key !== null && key !== void 0 ? key : '');
976
+ });
977
+ }
876
978
  /**
877
979
  * Closes the connection
878
980
  *
@@ -1085,7 +1187,7 @@ class Channel extends events_1.EventEmitter {
1085
1187
  return resolve(response);
1086
1188
  };
1087
1189
  this.once('response', handleResponse);
1088
- this.send((0, util_1.format)('%s\n', command.trim()))
1190
+ this.send(`${command.trim()}\n`)
1089
1191
  .catch(error => {
1090
1192
  this.removeListener('response', handleResponse);
1091
1193
  return reject(error);
@@ -1 +1 @@
1
- {"version":3,"file":"channel.js","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channel.js","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- // Copyright (c) 2016-2022, Brandon Lehmann <brandonlehmann@gmail.com>
2
+ // Copyright (c) 2016-2024, Brandon Lehmann <brandonlehmann@gmail.com>
3
3
  //
4
4
  // Permission is hereby granted, free of charge, to any person obtaining a copy
5
5
  // of this software and associated documentation files (the "Software"), to deal
@@ -1 +1 @@
1
- {"version":3,"file":"response_arguments.js","sourceRoot":"","sources":["../src/response_arguments.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,EAAE;AACF,+EAA+E;AAC/E,gFAAgF;AAChF,+EAA+E;AAC/E,4EAA4E;AAC5E,wEAAwE;AACxE,2DAA2D;AAC3D,EAAE;AACF,iFAAiF;AACjF,kDAAkD;AAClD,EAAE;AACF,6EAA6E;AAC7E,2EAA2E;AAC3E,8EAA8E;AAC9E,yEAAyE;AACzE,gFAAgF;AAChF,gFAAgF;AAChF,YAAY;;AAOZ;;GAEG;AACH,MAAqB,iBAAiB;IAAtC;QACY,WAAM,GAAyB,EAAE,CAAC;IA2E9C,CAAC;IAzEG;;;;OAIG;IACI,WAAW,CAAE,GAAW,EAAE,KAAgC;QAC7D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;IACrC,CAAC;IAED;;;OAGG;IACI,MAAM,CAAE,GAAW;QACtB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE;YAC3B,IAAI,GAAG,CAAC,GAAG,KAAK,GAAG,EAAE;gBACjB,OAAQ,GAAG,CAAC,KAAgB,CAAC;aAChC;SACJ;QAED,OAAO,EAAE,CAAC;IACd,CAAC;IAED;;;OAGG;IACI,MAAM,CAAE,GAAW;QACtB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE;YAC3B,IAAI,GAAG,CAAC,GAAG,KAAK,GAAG,EAAE;gBACjB,OAAO,QAAQ,CAAE,GAAG,CAAC,KAAgB,EAAE,EAAE,CAAC,CAAC;aAC9C;SACJ;QAED,OAAO,CAAC,CAAC;IACb,CAAC;IAED;;;OAGG;IACI,OAAO,CAAE,GAAW;QACvB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE;YAC3B,IAAI,GAAG,CAAC,GAAG,KAAK,GAAG,EAAE;gBACjB,OAAQ,GAAG,CAAC,KAAiB,CAAC;aACjC;SACJ;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;OAGG;IACI,IAAI,CAAE,GAAW;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAE7B,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,CAAC;IAED;;OAEG;IACI,KAAK;QACR,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE;YAC3B,IAAI,GAAG,CAAC,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,EAAE;gBACnC,OAAO,GAAG,CAAC,GAAG,CAAC;aAClB;SACJ;QAED,OAAO,EAAE,CAAC;IACd,CAAC;CACJ;AA5ED,oCA4EC"}
1
+ {"version":3,"file":"response_arguments.js","sourceRoot":"","sources":["../src/response_arguments.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,EAAE;AACF,+EAA+E;AAC/E,gFAAgF;AAChF,+EAA+E;AAC/E,4EAA4E;AAC5E,wEAAwE;AACxE,2DAA2D;AAC3D,EAAE;AACF,iFAAiF;AACjF,kDAAkD;AAClD,EAAE;AACF,6EAA6E;AAC7E,2EAA2E;AAC3E,8EAA8E;AAC9E,yEAAyE;AACzE,gFAAgF;AAChF,gFAAgF;AAChF,YAAY;;AAOZ;;GAEG;AACH,MAAqB,iBAAiB;IAAtC;QACY,WAAM,GAAyB,EAAE,CAAC;IA2E9C,CAAC;IAzEG;;;;OAIG;IACI,WAAW,CAAE,GAAW,EAAE,KAAgC;QAC7D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;IACrC,CAAC;IAED;;;OAGG;IACI,MAAM,CAAE,GAAW;QACtB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5B,IAAI,GAAG,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;gBAClB,OAAQ,GAAG,CAAC,KAAgB,CAAC;YACjC,CAAC;QACL,CAAC;QAED,OAAO,EAAE,CAAC;IACd,CAAC;IAED;;;OAGG;IACI,MAAM,CAAE,GAAW;QACtB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5B,IAAI,GAAG,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;gBAClB,OAAO,QAAQ,CAAE,GAAG,CAAC,KAAgB,EAAE,EAAE,CAAC,CAAC;YAC/C,CAAC;QACL,CAAC;QAED,OAAO,CAAC,CAAC;IACb,CAAC;IAED;;;OAGG;IACI,OAAO,CAAE,GAAW;QACvB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5B,IAAI,GAAG,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;gBAClB,OAAQ,GAAG,CAAC,KAAiB,CAAC;YAClC,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;OAGG;IACI,IAAI,CAAE,GAAW;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAE7B,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,CAAC;IAED;;OAEG;IACI,KAAK;QACR,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5B,IAAI,GAAG,CAAC,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBACpC,OAAO,GAAG,CAAC,GAAG,CAAC;YACnB,CAAC;QACL,CAAC;QAED,OAAO,EAAE,CAAC;IACd,CAAC;CACJ;AA5ED,oCA4EC"}
package/dist/types.d.ts CHANGED
@@ -33,7 +33,8 @@ export declare enum DialStatus {
33
33
  CHANUNAVAIL = 5,
34
34
  DONTCALL = 6,
35
35
  TORTURE = 7,
36
- INVALIDARGS = 8
36
+ INVALIDARGS = 8,
37
+ UNKNOWN = 9999
37
38
  }
38
39
  /**
39
40
  * Represents the playback status
package/dist/types.js CHANGED
@@ -61,6 +61,7 @@ var DialStatus;
61
61
  DialStatus[DialStatus["DONTCALL"] = 6] = "DONTCALL";
62
62
  DialStatus[DialStatus["TORTURE"] = 7] = "TORTURE";
63
63
  DialStatus[DialStatus["INVALIDARGS"] = 8] = "INVALIDARGS";
64
+ DialStatus[DialStatus["UNKNOWN"] = 9999] = "UNKNOWN";
64
65
  })(DialStatus || (exports.DialStatus = DialStatus = {}));
65
66
  /**
66
67
  * Represents the playback status
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,EAAE;AACF,+EAA+E;AAC/E,gFAAgF;AAChF,+EAA+E;AAC/E,4EAA4E;AAC5E,wEAAwE;AACxE,2DAA2D;AAC3D,EAAE;AACF,iFAAiF;AACjF,kDAAkD;AAClD,EAAE;AACF,6EAA6E;AAC7E,2EAA2E;AAC3E,8EAA8E;AAC9E,yEAAyE;AACzE,gFAAgF;AAChF,gFAAgF;AAChF,YAAY;;;;;;AAEZ,8EAAqD;AAC5C,4BADF,4BAAiB,CACE;AAG1B;;GAEG;AACH,IAAY,YAGX;AAHD,WAAY,YAAY;IACpB,+CAAQ,CAAA;IACR,qDAAW,CAAA;AACf,CAAC,EAHW,YAAY,4BAAZ,YAAY,QAGvB;AAED;;GAEG;AACH,IAAY,YASX;AATD,WAAY,YAAY;IACpB,mEAAkB,CAAA;IAClB,iEAAa,CAAA;IACb,uDAAQ,CAAA;IACR,iEAAa,CAAA;IACb,qDAAO,CAAA;IACP,mEAAc,CAAA;IACd,2CAAE,CAAA;IACF,+CAAI,CAAA;AACR,CAAC,EATW,YAAY,4BAAZ,YAAY,QASvB;AAED;;GAEG;AACH,IAAY,UAUX;AAVD,WAAY,UAAU;IAClB,+CAAM,CAAA;IACN,2CAAI,CAAA;IACJ,mDAAQ,CAAA;IACR,+CAAM,CAAA;IACN,uDAAU,CAAA;IACV,yDAAW,CAAA;IACX,mDAAQ,CAAA;IACR,iDAAO,CAAA;IACP,yDAAW,CAAA;AACf,CAAC,EAVW,UAAU,0BAAV,UAAU,QAUrB;AAED;;GAEG;AACH,IAAY,cAKX;AALD,WAAY,cAAc;IACtB,yDAAO,CAAA;IACP,mEAAY,CAAA;IACZ,uEAAc,CAAA;IACd,qDAAK,CAAA;AACT,CAAC,EALW,cAAc,8BAAd,cAAc,QAKzB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,EAAE;AACF,+EAA+E;AAC/E,gFAAgF;AAChF,+EAA+E;AAC/E,4EAA4E;AAC5E,wEAAwE;AACxE,2DAA2D;AAC3D,EAAE;AACF,iFAAiF;AACjF,kDAAkD;AAClD,EAAE;AACF,6EAA6E;AAC7E,2EAA2E;AAC3E,8EAA8E;AAC9E,yEAAyE;AACzE,gFAAgF;AAChF,gFAAgF;AAChF,YAAY;;;;;;AAEZ,8EAAqD;AAE5C,4BAFF,4BAAiB,CAEE;AAG1B;;GAEG;AACH,IAAY,YAGX;AAHD,WAAY,YAAY;IACpB,+CAAQ,CAAA;IACR,qDAAW,CAAA;AACf,CAAC,EAHW,YAAY,4BAAZ,YAAY,QAGvB;AAED;;GAEG;AACH,IAAY,YASX;AATD,WAAY,YAAY;IACpB,mEAAkB,CAAA;IAClB,iEAAiB,CAAA;IACjB,uDAAY,CAAA;IACZ,iEAAiB,CAAA;IACjB,qDAAW,CAAA;IACX,mEAAkB,CAAA;IAClB,2CAAM,CAAA;IACN,+CAAQ,CAAA;AACZ,CAAC,EATW,YAAY,4BAAZ,YAAY,QASvB;AAED;;GAEG;AACH,IAAY,UAWX;AAXD,WAAY,UAAU;IAClB,+CAAU,CAAA;IACV,2CAAQ,CAAA;IACR,mDAAY,CAAA;IACZ,+CAAU,CAAA;IACV,uDAAc,CAAA;IACd,yDAAe,CAAA;IACf,mDAAY,CAAA;IACZ,iDAAW,CAAA;IACX,yDAAe,CAAA;IACf,oDAAc,CAAA;AAClB,CAAC,EAXW,UAAU,0BAAV,UAAU,QAWrB;AAED;;GAEG;AACH,IAAY,cAKX;AALD,WAAY,cAAc;IACtB,yDAAW,CAAA;IACX,mEAAgB,CAAA;IAChB,uEAAkB,CAAA;IAClB,qDAAS,CAAA;AACb,CAAC,EALW,cAAc,8BAAd,cAAc,QAKzB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gibme/asterisk-gateway-interface",
3
- "version": "1.0.5",
3
+ "version": "3.0.0",
4
4
  "description": "Asterisk Gateway Interface Server",
5
5
  "main": "dist/asterisk-gateway-interface.js",
6
6
  "types": "dist/asterisk-gateway-interface.d.ts",
@@ -40,24 +40,24 @@
40
40
  "dependencies": {
41
41
  "@gibme/tcp-server": "^1.0.4",
42
42
  "@gibme/timer": "^1.0.4",
43
- "@types/uuid": "^9.0.2",
43
+ "@types/uuid": "^9.0.7",
44
44
  "dotenv": "^16.3.1",
45
- "uuid": "^9.0.0"
45
+ "uuid": "^9.0.1"
46
46
  },
47
47
  "devDependencies": {
48
- "@types/mocha": "^10.0.1",
49
- "@types/node": "^20.4.8",
50
- "@typescript-eslint/eslint-plugin": "^6.2.1",
51
- "@typescript-eslint/parser": "^6.2.1",
52
- "eslint": "^8.46.0",
48
+ "@types/mocha": "^10.0.6",
49
+ "@types/node": "^20.10.1",
50
+ "@typescript-eslint/eslint-plugin": "^6.13.1",
51
+ "@typescript-eslint/parser": "^6.13.1",
52
+ "eslint": "^8.54.0",
53
53
  "eslint-config-standard": "^17.1.0",
54
- "eslint-plugin-import": "^2.28.0",
55
- "eslint-plugin-n": "^16.0.1",
54
+ "eslint-plugin-import": "^2.29.0",
55
+ "eslint-plugin-n": "^16.3.1",
56
56
  "eslint-plugin-node": "^11.1.0",
57
57
  "eslint-plugin-promise": "^6.1.1",
58
58
  "mocha": "^10.2.0",
59
59
  "ts-node": "^10.9.1",
60
- "typedoc": "^0.24.8",
61
- "typescript": "^5.1.6"
60
+ "typedoc": "^0.25.4",
61
+ "typescript": "^5.3.2"
62
62
  }
63
63
  }