ringcentral-softphone 0.12.0 → 0.12.1

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.
Files changed (48) hide show
  1. package/.prettierignore +0 -1
  2. package/demos/inbound-call.ts +5 -1
  3. package/demos/outbound-call.ts +5 -2
  4. package/dist/demos/inbound-call.js +3 -1
  5. package/dist/demos/inbound-call.js.map +1 -1
  6. package/dist/demos/outbound-call.js +3 -1
  7. package/dist/demos/outbound-call.js.map +1 -1
  8. package/dist/src/call-session/inbound.d.ts +1 -1
  9. package/dist/src/call-session/inbound.js +1 -1
  10. package/dist/src/call-session/inbound.js.map +1 -1
  11. package/dist/src/call-session/index.d.ts +1 -1
  12. package/dist/src/call-session/index.js +2 -2
  13. package/dist/src/call-session/index.js.map +1 -1
  14. package/dist/src/call-session/outbound.d.ts +1 -1
  15. package/dist/src/call-session/outbound.js +3 -2
  16. package/dist/src/call-session/outbound.js.map +1 -1
  17. package/dist/src/call-session/streamer.js +1 -1
  18. package/dist/src/call-session/streamer.js.map +1 -1
  19. package/dist/src/dtmf.js +17 -2
  20. package/dist/src/dtmf.js.map +1 -1
  21. package/dist/src/sip-message/inbound/index.js.map +1 -1
  22. package/dist/src/sip-message/outbound/request.js.map +1 -1
  23. package/dist/src/sip-message/outbound/response.js +0 -1
  24. package/dist/src/sip-message/outbound/response.js.map +1 -1
  25. package/dist/src/softphone.d.ts +3 -3
  26. package/dist/src/softphone.js +9 -5
  27. package/dist/src/softphone.js.map +1 -1
  28. package/dist/src/utils.js.map +1 -1
  29. package/dist/test/index.spec.d.ts +1 -0
  30. package/dist/test/index.spec.js +7 -0
  31. package/dist/test/index.spec.js.map +1 -0
  32. package/eslint.config.mjs +5 -0
  33. package/package.json +10 -19
  34. package/prettier.config.mjs +3 -0
  35. package/src/call-session/inbound.ts +2 -2
  36. package/src/call-session/index.ts +35 -19
  37. package/src/call-session/outbound.ts +25 -16
  38. package/src/call-session/streamer.ts +2 -1
  39. package/src/dtmf.ts +17 -2
  40. package/src/sip-message/inbound/index.ts +3 -1
  41. package/src/sip-message/outbound/request.ts +9 -2
  42. package/src/sip-message/outbound/response.ts +7 -3
  43. package/src/softphone.ts +35 -16
  44. package/src/utils.ts +22 -6
  45. package/test/index.spec.ts +5 -0
  46. package/.eslintignore +0 -2
  47. package/.eslintrc.js +0 -9
  48. package/.prettierrc.js +0 -3
package/.prettierignore CHANGED
@@ -1,2 +1 @@
1
- node_modules/
2
1
  dist/
@@ -1,7 +1,9 @@
1
1
  import fs from 'fs';
2
+
2
3
  import type { RtpPacket } from 'werift-rtp';
3
4
 
4
5
  import Softphone from '../src/softphone';
6
+
5
7
  // import waitFor from 'wait-for-async';
6
8
 
7
9
  const softphone = new Softphone({
@@ -24,7 +26,9 @@ const main = async () => {
24
26
  const callSession = await softphone.answer(inviteMessage);
25
27
 
26
28
  // receive audio
27
- const writeStream = fs.createWriteStream(`${callSession.callId}.raw`, { flags: 'a' });
29
+ const writeStream = fs.createWriteStream(`${callSession.callId}.raw`, {
30
+ flags: 'a',
31
+ });
28
32
  callSession.on('audioPacket', (rtpPacket: RtpPacket) => {
29
33
  writeStream.write(rtpPacket.payload);
30
34
  });
@@ -1,6 +1,7 @@
1
1
  import fs from 'fs';
2
- import type { RtpPacket } from 'werift-rtp';
2
+
3
3
  import waitFor from 'wait-for-async';
4
+ import type { RtpPacket } from 'werift-rtp';
4
5
 
5
6
  import Softphone from '../src/softphone';
6
7
 
@@ -24,7 +25,9 @@ const main = async () => {
24
25
  // callee answers the call
25
26
  callSession.once('answered', async () => {
26
27
  // receive audio
27
- const writeStream = fs.createWriteStream(`${callSession.callId}.raw`, { flags: 'a' });
28
+ const writeStream = fs.createWriteStream(`${callSession.callId}.raw`, {
29
+ flags: 'a',
30
+ });
28
31
  callSession.on('audioPacket', (rtpPacket: RtpPacket) => {
29
32
  writeStream.write(rtpPacket.payload);
30
33
  });
@@ -32,7 +32,9 @@ const main = () => __awaiter(void 0, void 0, void 0, function* () {
32
32
  // answer the call
33
33
  const callSession = yield softphone.answer(inviteMessage);
34
34
  // receive audio
35
- const writeStream = fs_1.default.createWriteStream(`${callSession.callId}.raw`, { flags: 'a' });
35
+ const writeStream = fs_1.default.createWriteStream(`${callSession.callId}.raw`, {
36
+ flags: 'a',
37
+ });
36
38
  callSession.on('audioPacket', (rtpPacket) => {
37
39
  writeStream.write(rtpPacket.payload);
38
40
  });
@@ -1 +1 @@
1
- {"version":3,"file":"inbound-call.js","sourceRoot":"","sources":["../../demos/inbound-call.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,4CAAoB;AAGpB,iEAAyC;AACzC,wCAAwC;AAExC,MAAM,SAAS,GAAG,IAAI,mBAAS,CAAC;IAC9B,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;IACvC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;IACvC,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB;IACtD,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe;CACpC,CAAC,CAAC;AACH,SAAS,CAAC,eAAe,EAAE,CAAC,CAAC,yBAAyB;AAEtD,MAAM,IAAI,GAAG,GAAS,EAAE;IACtB,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC;IAC3B,sBAAsB;IACtB,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAO,aAAa,EAAE,EAAE;QAC7C,mBAAmB;QACnB,qCAAqC;QACrC,0CAA0C;QAE1C,kBAAkB;QAClB,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAE1D,gBAAgB;QAChB,MAAM,WAAW,GAAG,YAAE,CAAC,iBAAiB,CAAC,GAAG,WAAW,CAAC,MAAM,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QACtF,WAAW,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,SAAoB,EAAE,EAAE;YACrD,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,+BAA+B;QAC/B,+EAA+E;QAC/E,0GAA0G;QAC1G,oCAAoC;QACpC,2CAA2C;QAC3C,MAAM;QACN,yDAAyD;QACzD,qCAAqC;QACrC,oBAAoB;QACpB,qCAAqC;QACrC,qBAAqB;QACrB,qCAAqC;QACrC,mBAAmB;QAEnB,iCAAiC;QACjC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE;YAChC,WAAW,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,eAAe;QACf,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAC/B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,eAAe;QACf,qCAAqC;QACrC,6BAA6B;QAC7B,qCAAqC;QACrC,6BAA6B;QAE7B,sBAAsB;QACtB,qCAAqC;QACrC,wBAAwB;QAExB,uBAAuB;QACvB,qCAAqC;QACrC,sEAAsE;IACxE,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AACF,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"inbound-call.js","sourceRoot":"","sources":["../../demos/inbound-call.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,4CAAoB;AAIpB,iEAAyC;AAEzC,wCAAwC;AAExC,MAAM,SAAS,GAAG,IAAI,mBAAS,CAAC;IAC9B,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;IACvC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;IACvC,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB;IACtD,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe;CACpC,CAAC,CAAC;AACH,SAAS,CAAC,eAAe,EAAE,CAAC,CAAC,yBAAyB;AAEtD,MAAM,IAAI,GAAG,GAAS,EAAE;IACtB,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC;IAC3B,sBAAsB;IACtB,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAO,aAAa,EAAE,EAAE;QAC7C,mBAAmB;QACnB,qCAAqC;QACrC,0CAA0C;QAE1C,kBAAkB;QAClB,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAE1D,gBAAgB;QAChB,MAAM,WAAW,GAAG,YAAE,CAAC,iBAAiB,CAAC,GAAG,WAAW,CAAC,MAAM,MAAM,EAAE;YACpE,KAAK,EAAE,GAAG;SACX,CAAC,CAAC;QACH,WAAW,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,SAAoB,EAAE,EAAE;YACrD,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,+BAA+B;QAC/B,+EAA+E;QAC/E,0GAA0G;QAC1G,oCAAoC;QACpC,2CAA2C;QAC3C,MAAM;QACN,yDAAyD;QACzD,qCAAqC;QACrC,oBAAoB;QACpB,qCAAqC;QACrC,qBAAqB;QACrB,qCAAqC;QACrC,mBAAmB;QAEnB,iCAAiC;QACjC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE;YAChC,WAAW,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,eAAe;QACf,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAC/B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,eAAe;QACf,qCAAqC;QACrC,6BAA6B;QAC7B,qCAAqC;QACrC,6BAA6B;QAE7B,sBAAsB;QACtB,qCAAqC;QACrC,wBAAwB;QAExB,uBAAuB;QACvB,qCAAqC;QACrC,sEAAsE;IACxE,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AACF,IAAI,EAAE,CAAC"}
@@ -30,7 +30,9 @@ const main = () => __awaiter(void 0, void 0, void 0, function* () {
30
30
  // callee answers the call
31
31
  callSession.once('answered', () => __awaiter(void 0, void 0, void 0, function* () {
32
32
  // receive audio
33
- const writeStream = fs_1.default.createWriteStream(`${callSession.callId}.raw`, { flags: 'a' });
33
+ const writeStream = fs_1.default.createWriteStream(`${callSession.callId}.raw`, {
34
+ flags: 'a',
35
+ });
34
36
  callSession.on('audioPacket', (rtpPacket) => {
35
37
  writeStream.write(rtpPacket.payload);
36
38
  });
@@ -1 +1 @@
1
- {"version":3,"file":"outbound-call.js","sourceRoot":"","sources":["../../demos/outbound-call.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,4CAAoB;AAEpB,oEAAqC;AAErC,iEAAyC;AAEzC,MAAM,SAAS,GAAG,IAAI,mBAAS,CAAC;IAC9B,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;IACvC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;IACvC,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB;IACtD,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe;CACpC,CAAC,CAAC;AACH,SAAS,CAAC,eAAe,EAAE,CAAC,CAAC,yBAAyB;AAEtD,MAAM,IAAI,GAAG,GAAS,EAAE;IACtB,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC;IAC3B,MAAM,IAAA,wBAAO,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAClC,+FAA+F;IAC/F,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,IAAI,CACtC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAmB,EAAE,EAAE,CAAC,CAE9C,CAAC;IAEF,0BAA0B;IAC1B,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,GAAS,EAAE;QACtC,gBAAgB;QAChB,MAAM,WAAW,GAAG,YAAE,CAAC,iBAAiB,CAAC,GAAG,WAAW,CAAC,MAAM,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QACtF,WAAW,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,SAAoB,EAAE,EAAE;YACrD,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QACH,iCAAiC;QACjC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE;YAChC,WAAW,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,+BAA+B;QAC/B,+EAA+E;QAC/E,0GAA0G;QAC1G,oCAAoC;QACpC,2CAA2C;QAC3C,MAAM;QACN,yDAAyD;QACzD,qCAAqC;QACrC,oBAAoB;QACpB,qCAAqC;QACrC,qBAAqB;QACrB,qCAAqC;QACrC,mBAAmB;QAEnB,eAAe;QACf,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAC/B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,eAAe;QACf,qCAAqC;QACrC,6BAA6B;QAC7B,qCAAqC;QACrC,6BAA6B;QAE7B,sBAAsB;QACtB,qCAAqC;QACrC,wBAAwB;QAExB,uBAAuB;QACvB,qCAAqC;QACrC,sEAAsE;IACxE,CAAC,CAAA,CAAC,CAAC;IAEH,+CAA+C;IAC/C,qCAAqC;IACrC,wBAAwB;AAC1B,CAAC,CAAA,CAAC;AACF,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"outbound-call.js","sourceRoot":"","sources":["../../demos/outbound-call.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,4CAAoB;AAEpB,oEAAqC;AAGrC,iEAAyC;AAEzC,MAAM,SAAS,GAAG,IAAI,mBAAS,CAAC;IAC9B,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;IACvC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;IACvC,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB;IACtD,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe;CACpC,CAAC,CAAC;AACH,SAAS,CAAC,eAAe,EAAE,CAAC,CAAC,yBAAyB;AAEtD,MAAM,IAAI,GAAG,GAAS,EAAE;IACtB,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC;IAC3B,MAAM,IAAA,wBAAO,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAClC,+FAA+F;IAC/F,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,IAAI,CACtC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAmB,EAAE,EAAE,CAAC,CAE9C,CAAC;IAEF,0BAA0B;IAC1B,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,GAAS,EAAE;QACtC,gBAAgB;QAChB,MAAM,WAAW,GAAG,YAAE,CAAC,iBAAiB,CAAC,GAAG,WAAW,CAAC,MAAM,MAAM,EAAE;YACpE,KAAK,EAAE,GAAG;SACX,CAAC,CAAC;QACH,WAAW,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,SAAoB,EAAE,EAAE;YACrD,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QACH,iCAAiC;QACjC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE;YAChC,WAAW,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,+BAA+B;QAC/B,+EAA+E;QAC/E,0GAA0G;QAC1G,oCAAoC;QACpC,2CAA2C;QAC3C,MAAM;QACN,yDAAyD;QACzD,qCAAqC;QACrC,oBAAoB;QACpB,qCAAqC;QACrC,qBAAqB;QACrB,qCAAqC;QACrC,mBAAmB;QAEnB,eAAe;QACf,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAC/B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,eAAe;QACf,qCAAqC;QACrC,6BAA6B;QAC7B,qCAAqC;QACrC,6BAA6B;QAE7B,sBAAsB;QACtB,qCAAqC;QACrC,wBAAwB;QAExB,uBAAuB;QACvB,qCAAqC;QACrC,sEAAsE;IACxE,CAAC,CAAA,CAAC,CAAC;IAEH,+CAA+C;IAC/C,qCAAqC;IACrC,wBAAwB;AAC1B,CAAC,CAAA,CAAC;AACF,IAAI,EAAE,CAAC"}
@@ -1,6 +1,6 @@
1
+ import CallSession from '.';
1
2
  import { type InboundMessage } from '../sip-message';
2
3
  import type Softphone from '../softphone';
3
- import CallSession from '.';
4
4
  declare class InboundCallSession extends CallSession {
5
5
  constructor(softphone: Softphone, inviteMessage: InboundMessage);
6
6
  answer(): Promise<void>;
@@ -12,9 +12,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
+ const _1 = __importDefault(require("."));
15
16
  const sip_message_1 = require("../sip-message");
16
17
  const utils_1 = require("../utils");
17
- const _1 = __importDefault(require("."));
18
18
  class InboundCallSession extends _1.default {
19
19
  constructor(softphone, inviteMessage) {
20
20
  super(softphone, inviteMessage);
@@ -1 +1 @@
1
- {"version":3,"file":"inbound.js","sourceRoot":"","sources":["../../../src/call-session/inbound.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,gDAAsE;AACtE,oCAAqC;AAErC,yCAA4B;AAE5B,MAAM,kBAAmB,SAAQ,UAAW;IAC1C,YAAmB,SAAoB,EAAE,aAA6B;QACpE,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC;IAC/C,CAAC;IAEY,MAAM;;YACjB,MAAM,SAAS,GAAG;;MAEhB,IAAA,iBAAS,GAAE;;;;UAIP,IAAA,iBAAS,GAAE;;;;;CAKpB,CAAC,IAAI,EAAE,CAAC;YACL,MAAM,UAAU,GAAG,IAAI,6BAAe,CACpC,IAAI,CAAC,UAAU,EACf,GAAG,EACH;gBACE,cAAc,EAAE,iBAAiB;aAClC,EACD,SAAS,CACV,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAEhC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC;KAAA;CACF;AAED,kBAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"inbound.js","sourceRoot":"","sources":["../../../src/call-session/inbound.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,yCAA4B;AAC5B,gDAAsE;AAEtE,oCAAqC;AAErC,MAAM,kBAAmB,SAAQ,UAAW;IAC1C,YAAmB,SAAoB,EAAE,aAA6B;QACpE,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC;IAC/C,CAAC;IAEY,MAAM;;YACjB,MAAM,SAAS,GAAG;;MAEhB,IAAA,iBAAS,GAAE;;;;UAIP,IAAA,iBAAS,GAAE;;;;;CAKpB,CAAC,IAAI,EAAE,CAAC;YACL,MAAM,UAAU,GAAG,IAAI,6BAAe,CACpC,IAAI,CAAC,UAAU,EACf,GAAG,EACH;gBACE,cAAc,EAAE,iBAAiB;aAClC,EACD,SAAS,CACV,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAEhC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC;KAAA;CACF;AAED,kBAAe,kBAAkB,CAAC"}
@@ -1,5 +1,5 @@
1
- import EventEmitter from 'events';
2
1
  import dgram from 'dgram';
2
+ import EventEmitter from 'events';
3
3
  import { type InboundMessage } from '../sip-message';
4
4
  import type Softphone from '../softphone';
5
5
  import Streamer from './streamer';
@@ -12,12 +12,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- const events_1 = __importDefault(require("events"));
16
15
  const dgram_1 = __importDefault(require("dgram"));
16
+ const events_1 = __importDefault(require("events"));
17
17
  const werift_rtp_1 = require("werift-rtp");
18
+ const dtmf_1 = __importDefault(require("../dtmf"));
18
19
  const sip_message_1 = require("../sip-message");
19
20
  const utils_1 = require("../utils");
20
- const dtmf_1 = __importDefault(require("../dtmf"));
21
21
  const streamer_1 = __importDefault(require("./streamer"));
22
22
  class CallSession extends events_1.default {
23
23
  constructor(softphone, sipMessage) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/call-session/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/call-session/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
+ import CallSession from '.';
1
2
  import { type InboundMessage } from '../sip-message';
2
3
  import type Softphone from '../softphone';
3
- import CallSession from '.';
4
4
  declare class OutboundCallSession extends CallSession {
5
5
  constructor(softphone: Softphone, answerMessage: InboundMessage);
6
6
  init(): Promise<void>;
@@ -12,8 +12,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- const sip_message_1 = require("../sip-message");
16
15
  const _1 = __importDefault(require("."));
16
+ const sip_message_1 = require("../sip-message");
17
17
  const utils_1 = require("../utils");
18
18
  class OutboundCallSession extends _1.default {
19
19
  constructor(softphone, answerMessage) {
@@ -26,7 +26,8 @@ class OutboundCallSession extends _1.default {
26
26
  return __awaiter(this, void 0, void 0, function* () {
27
27
  // wait for user to answer the call
28
28
  const answerHandler = (message) => {
29
- if (message.headers.CSeq === this.sipMessage.headers.CSeq) {
29
+ if (message.headers.CSeq === this.sipMessage.headers.CSeq &&
30
+ message.subject.startsWith('SIP/2.0 200')) {
30
31
  this.softphone.off('message', answerHandler);
31
32
  this.emit('answered');
32
33
  const ackMessage = new sip_message_1.RequestMessage(`ACK ${(0, utils_1.extractAddress)(this.remotePeer)} SIP/2.0`, {
@@ -1 +1 @@
1
- {"version":3,"file":"outbound.js","sourceRoot":"","sources":["../../../src/call-session/outbound.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,gDAAqE;AAErE,yCAA4B;AAC5B,oCAAsD;AAEtD,MAAM,mBAAoB,SAAQ,UAAW;IAC3C,YAAmB,SAAoB,EAAE,aAA6B;QACpE,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC;QAC5C,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3C,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAEY,IAAI;;YACf,mCAAmC;YACnC,MAAM,aAAa,GAAG,CAAC,OAAuB,EAAE,EAAE;gBAChD,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBAC1D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;oBAC7C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBAEtB,MAAM,UAAU,GAAG,IAAI,4BAAc,CAAC,OAAO,IAAA,sBAAc,EAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;wBACtF,SAAS,EAAE,IAAI,CAAC,MAAM;wBACtB,IAAI,EAAE,IAAI,CAAC,SAAS;wBACpB,EAAE,EAAE,IAAI,CAAC,UAAU;wBACnB,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG;wBAChC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC;qBAC9D,CAAC,CAAC;oBACH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAS,EAAE,gDAAC,OAAA,IAAI,CAAC,kBAAkB,EAAE,CAAA,GAAA,CAAC,CAAC;QAC/D,CAAC;KAAA;IAEY,MAAM;;YACjB,MAAM,cAAc,GAAG,IAAI,4BAAc,CAAC,UAAU,IAAA,sBAAc,EAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;gBAC7F,SAAS,EAAE,IAAI,CAAC,MAAM;gBACtB,IAAI,EAAE,IAAI,CAAC,SAAS;gBACpB,EAAE,EAAE,IAAA,kBAAU,EAAC,IAAI,CAAC,UAAU,CAAC;gBAC/B,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG;gBAChC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC;aACjE,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACtC,CAAC;KAAA;CACF;AAED,kBAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"outbound.js","sourceRoot":"","sources":["../../../src/call-session/outbound.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,yCAA4B;AAC5B,gDAAqE;AAErE,oCAAsD;AAEtD,MAAM,mBAAoB,SAAQ,UAAW;IAC3C,YAAmB,SAAoB,EAAE,aAA6B;QACpE,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC;QAC5C,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3C,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAEY,IAAI;;YACf,mCAAmC;YACnC,MAAM,aAAa,GAAG,CAAC,OAAuB,EAAE,EAAE;gBAChD,IACE,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI;oBACrD,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,EACzC,CAAC;oBACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;oBAC7C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBAEtB,MAAM,UAAU,GAAG,IAAI,4BAAc,CACnC,OAAO,IAAA,sBAAc,EAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAChD;wBACE,SAAS,EAAE,IAAI,CAAC,MAAM;wBACtB,IAAI,EAAE,IAAI,CAAC,SAAS;wBACpB,EAAE,EAAE,IAAI,CAAC,UAAU;wBACnB,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG;wBAChC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC;qBAC9D,CACF,CAAC;oBACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAS,EAAE,gDAAC,OAAA,IAAI,CAAC,kBAAkB,EAAE,CAAA,GAAA,CAAC,CAAC;QAC/D,CAAC;KAAA;IAEY,MAAM;;YACjB,MAAM,cAAc,GAAG,IAAI,4BAAc,CACvC,UAAU,IAAA,sBAAc,EAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EACnD;gBACE,SAAS,EAAE,IAAI,CAAC,MAAM;gBACtB,IAAI,EAAE,IAAI,CAAC,SAAS;gBACpB,EAAE,EAAE,IAAA,kBAAU,EAAC,IAAI,CAAC,UAAU,CAAC;gBAC/B,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG;gBAChC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC;aACjE,CACF,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACtC,CAAC;KAAA;CACF;AAED,kBAAe,mBAAmB,CAAC"}
@@ -12,8 +12,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- const werift_rtp_1 = require("werift-rtp");
16
15
  const events_1 = __importDefault(require("events"));
16
+ const werift_rtp_1 = require("werift-rtp");
17
17
  const utils_1 = require("../utils");
18
18
  class Streamer extends events_1.default {
19
19
  constructor(callSesstion, buffer) {
@@ -1 +1 @@
1
- {"version":3,"file":"streamer.js","sourceRoot":"","sources":["../../../src/call-session/streamer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streamer.js","sourceRoot":"","sources":["../../../src/call-session/streamer.ts"],"names":[],"mappings":"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"}
package/dist/src/dtmf.js CHANGED
@@ -2,8 +2,23 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  class DTMF {
4
4
  }
5
- DTMF.phoneChars = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '*', '#'];
6
- DTMF.payloads = [0x00060000, 0x000600a0, 0x00060140, 0x00860320, 0x00860320, 0x00860320];
5
+ DTMF.phoneChars = [
6
+ '0',
7
+ '1',
8
+ '2',
9
+ '3',
10
+ '4',
11
+ '5',
12
+ '6',
13
+ '7',
14
+ '8',
15
+ '9',
16
+ '*',
17
+ '#',
18
+ ];
19
+ DTMF.payloads = [
20
+ 0x00060000, 0x000600a0, 0x00060140, 0x00860320, 0x00860320, 0x00860320,
21
+ ];
7
22
  DTMF.charToPayloads = (char) => {
8
23
  const index = DTMF.phoneChars.indexOf(char[0]);
9
24
  if (index === -1) {
@@ -1 +1 @@
1
- {"version":3,"file":"dtmf.js","sourceRoot":"","sources":["../../src/dtmf.ts"],"names":[],"mappings":";;AAAA,MAAM,IAAI;;AACe,eAAU,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACzE,aAAQ,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AAE9F,mBAAc,GAAG,CAAC,IAAY,EAAE,EAAE;IAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACnC,MAAM,IAAI,GAAG,OAAO,GAAG,KAAK,GAAG,UAAU,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9B,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEY,kBAAa,GAAG,CAAC,OAAe,EAAE,EAAE;IAChD,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC;IAChD,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC,CAAC;AAGJ,kBAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"dtmf.js","sourceRoot":"","sources":["../../src/dtmf.ts"],"names":[],"mappings":";;AAAA,MAAM,IAAI;;AACe,eAAU,GAAG;IAClC,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;CACJ,CAAC;AACsB,aAAQ,GAAG;IACjC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;CACvE,CAAC;AAEY,mBAAc,GAAG,CAAC,IAAY,EAAE,EAAE;IAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACnC,MAAM,IAAI,GAAG,OAAO,GAAG,KAAK,GAAG,UAAU,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9B,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEY,kBAAa,GAAG,CAAC,OAAe,EAAE,EAAE;IAChD,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC;IAChD,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC,CAAC;AAGJ,kBAAe,IAAI,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/sip-message/inbound/index.ts"],"names":[],"mappings":";;;;;AAAA,uCAAmC;AACnC,iEAAwC;AAExC,MAAM,cAAe,SAAQ,qBAAU;IAC9B,MAAM,CAAC,UAAU,CAAC,GAAW;QAClC,MAAM,UAAU,GAAG,IAAI,qBAAU,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC9C,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxC,MAAM,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACjD,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;QAC7B,UAAU,CAAC,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjF,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACtE,UAAU,CAAC,OAAO,CAAC,EAAE,IAAI,OAAO,GAAG,IAAA,YAAI,GAAE,CAAC,CAAC,qBAAqB;QAClE,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;CACF;AAED,kBAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/sip-message/inbound/index.ts"],"names":[],"mappings":";;;;;AAAA,uCAAmC;AACnC,iEAAwC;AAExC,MAAM,cAAe,SAAQ,qBAAU;IAC9B,MAAM,CAAC,UAAU,CAAC,GAAW;QAClC,MAAM,UAAU,GAAG,IAAI,qBAAU,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC9C,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxC,MAAM,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACjD,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;QAC7B,UAAU,CAAC,OAAO,GAAG,MAAM,CAAC,WAAW,CACrC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CACxC,CAAC;QACF,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACtE,UAAU,CAAC,OAAO,CAAC,EAAE,IAAI,OAAO,GAAG,IAAA,YAAI,GAAE,CAAC,CAAC,qBAAqB;QAClE,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;CACF;AAED,kBAAe,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../../src/sip-message/outbound/request.ts"],"names":[],"mappings":";;;;;AAAA,yCAAgC;AAChC,uCAAqC;AAErC,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC;AAE7C,MAAM,cAAe,SAAQ,UAAe;IAC1C,YAAmB,OAAO,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE;QACtD,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACpC,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IAEM,OAAO;QACZ,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,CAAC;IAEM,IAAI;QACT,MAAM,UAAU,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,oBAAO,IAAI,CAAC,OAAO,GAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QACpF,UAAU,CAAC,OAAO,EAAE,CAAC;QACrB,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YAC3B,UAAU,CAAC,OAAO,CAAC,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,WAAW,IAAA,cAAM,GAAE,EAAE,CAAC,CAAC;QACjG,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;CACF;AAED,kBAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../../src/sip-message/outbound/request.ts"],"names":[],"mappings":";;;;;AAAA,yCAAgC;AAChC,uCAAqC;AAErC,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC;AAE7C,MAAM,cAAe,SAAQ,UAAe;IAC1C,YAAmB,OAAO,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE;QACtD,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACpC,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IAEM,OAAO;QACZ,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,CAAC;IAEM,IAAI;QACT,MAAM,UAAU,GAAG,IAAI,cAAc,CACnC,IAAI,CAAC,OAAO,oBACP,IAAI,CAAC,OAAO,GACjB,IAAI,CAAC,IAAI,CACV,CAAC;QACF,UAAU,CAAC,OAAO,EAAE,CAAC;QACrB,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YAC3B,UAAU,CAAC,OAAO,CAAC,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CACrD,cAAc,EACd,WAAW,IAAA,cAAM,GAAE,EAAE,CACtB,CAAC;QACJ,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;CACF;AAED,kBAAe,cAAc,CAAC"}
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const _1 = __importDefault(require("."));
7
7
  const response_codes_1 = __importDefault(require("../response-codes"));
8
8
  class ResponseMessage extends _1.default {
9
- // eslint-disable-next-line max-params
10
9
  constructor(inboundMessage, responseCode, headers = {}, body = '') {
11
10
  super(undefined, Object.assign({}, headers), body);
12
11
  this.subject = `SIP/2.0 ${responseCode} ${response_codes_1.default[responseCode]}`;
@@ -1 +1 @@
1
- {"version":3,"file":"response.js","sourceRoot":"","sources":["../../../../src/sip-message/outbound/response.ts"],"names":[],"mappings":";;;;;AAAA,yCAAgC;AAChC,uEAA8C;AAG9C,MAAM,eAAgB,SAAQ,UAAe;IAC3C,sCAAsC;IACtC,YAAmB,cAA8B,EAAE,YAAoB,EAAE,OAAO,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE;QAC9F,KAAK,CAAC,SAAS,oBAAO,OAAO,GAAI,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,WAAW,YAAY,IAAI,wBAAa,CAAC,YAAY,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QACtD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED,kBAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"response.js","sourceRoot":"","sources":["../../../../src/sip-message/outbound/response.ts"],"names":[],"mappings":";;;;;AAAA,yCAAgC;AAEhC,uEAA8C;AAE9C,MAAM,eAAgB,SAAQ,UAAe;IAC3C,YACE,cAA8B,EAC9B,YAAoB,EACpB,OAAO,GAAG,EAAE,EACZ,IAAI,GAAG,EAAE;QAET,KAAK,CAAC,SAAS,oBAAO,OAAO,GAAI,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,WAAW,YAAY,IAAI,wBAAa,CAAC,YAAY,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QACtD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED,kBAAe,eAAe,CAAC"}
@@ -1,10 +1,10 @@
1
- import type SipInfoResponse from '@rc-ex/core/lib/definitions/SipInfoResponse';
2
1
  import EventEmitter from 'events';
3
2
  import net from 'net';
4
- import type { OutboundMessage } from './sip-message';
5
- import { InboundMessage } from './sip-message';
3
+ import type SipInfoResponse from '@rc-ex/core/lib/definitions/SipInfoResponse';
6
4
  import InboundCallSession from './call-session/inbound';
7
5
  import OutboundCallSession from './call-session/outbound';
6
+ import type { OutboundMessage } from './sip-message';
7
+ import { InboundMessage } from './sip-message';
8
8
  declare class Softphone extends EventEmitter {
9
9
  sipInfo: SipInfoResponse;
10
10
  client: net.Socket;
@@ -15,10 +15,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  const events_1 = __importDefault(require("events"));
16
16
  const net_1 = __importDefault(require("net"));
17
17
  const wait_for_async_1 = __importDefault(require("wait-for-async"));
18
- const sip_message_1 = require("./sip-message");
19
- const utils_1 = require("./utils");
20
18
  const inbound_1 = __importDefault(require("./call-session/inbound"));
21
19
  const outbound_1 = __importDefault(require("./call-session/outbound"));
20
+ const sip_message_1 = require("./sip-message");
21
+ const utils_1 = require("./utils");
22
22
  class Softphone extends events_1.default {
23
23
  constructor(sipInfo) {
24
24
  super();
@@ -44,7 +44,9 @@ class Softphone extends events_1.default {
44
44
  return; // haven't received a complete message yet
45
45
  }
46
46
  // received two empty body messages
47
- const tempMessages = cache.split('\r\nContent-Length: 0\r\n\r\n').filter((message) => message.trim() !== '');
47
+ const tempMessages = cache
48
+ .split('\r\nContent-Length: 0\r\n\r\n')
49
+ .filter((message) => message.trim() !== '');
48
50
  cache = '';
49
51
  for (let i = 0; i < tempMessages.length; i++) {
50
52
  if (!tempMessages[i].includes('Content-Length: ')) {
@@ -74,7 +76,8 @@ class Softphone extends events_1.default {
74
76
  // sometimes the server will return 200 OK directly
75
77
  return;
76
78
  }
77
- const wwwAuth = inboundMessage.headers['Www-Authenticate'] || inboundMessage.headers['WWW-Authenticate'];
79
+ const wwwAuth = inboundMessage.headers['Www-Authenticate'] ||
80
+ inboundMessage.headers['WWW-Authenticate'];
78
81
  const nonce = wwwAuth.match(/, nonce="(.+?)"/)[1];
79
82
  const newMessage = requestMessage.fork();
80
83
  newMessage.headers.Authorization = (0, utils_1.generateAuthorization)(this.sipInfo, nonce, 'REGISTER');
@@ -168,7 +171,8 @@ a=sendrecv
168
171
  'Content-Type': 'application/sdp',
169
172
  }, offerSDP);
170
173
  if (callerId) {
171
- inviteMessage.headers['P-Asserted-Identity'] = `sip:${callerId}@${this.sipInfo.domain}`;
174
+ inviteMessage.headers['P-Asserted-Identity'] =
175
+ `sip:${callerId}@${this.sipInfo.domain}`;
172
176
  }
173
177
  const inboundMessage = yield this.send(inviteMessage, true);
174
178
  const proxyAuthenticate = inboundMessage.headers['Proxy-Authenticate'];
@@ -1 +1 @@
1
- {"version":3,"file":"softphone.js","sourceRoot":"","sources":["../../src/softphone.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"softphone.js","sourceRoot":"","sources":["../../src/softphone.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,8CAAsB;AAGtB,oEAAqC;AAErC,qEAAwD;AACxD,uEAA0D;AAE1D,+CAAgF;AAChF,mCAAyE;AAEzE,MAAM,SAAU,SAAQ,gBAAY;IAUlC,YAAmB,OAAwB;QACzC,KAAK,EAAE,CAAC;QAPH,eAAU,GAAG,IAAA,YAAI,GAAE,GAAG,UAAU,CAAC;QACjC,cAAS,GAAG,IAAA,YAAI,GAAE,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC;QAG1C,cAAS,GAAG,KAAK,CAAC;QAIxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,qBAAqB,CAAC;QAC9C,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YAC7C,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,kCAAkC,CAAC;QAClE,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,aAAG,CAAC,MAAM,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,aAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE;YAC3D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC9B,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAChC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5B,OAAO,CAAC,0CAA0C;YACpD,CAAC;YACD,mCAAmC;YACnC,MAAM,YAAY,GAAG,KAAK;iBACvB,KAAK,CAAC,+BAA+B,CAAC;iBACtC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9C,KAAK,GAAG,EAAE,CAAC;YACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7C,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;oBAClD,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,uBAAuB,CAAC;gBAC9D,CAAC;YACH,CAAC;YACD,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;gBACnC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,4BAAc,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEY,QAAQ;;YACnB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACpB,MAAM,IAAA,wBAAO,EAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;YACpE,CAAC;YACD,MAAM,WAAW,GAAG,GAAS,EAAE;gBAC7B,MAAM,cAAc,GAAG,IAAI,4BAAc,CACvC,gBAAgB,IAAI,CAAC,OAAO,CAAC,MAAM,UAAU,EAC7C;oBACE,SAAS,EAAE,IAAA,YAAI,GAAE;oBACjB,OAAO,EAAE,QAAQ,IAAI,CAAC,SAAS,6BAA6B;oBAC5D,IAAI,EAAE,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,SAAS,IAAA,YAAI,GAAE,EAAE;oBAC3E,EAAE,EAAE,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG;oBAC3D,GAAG,EAAE,eAAe,IAAI,CAAC,UAAU,WAAW,IAAA,cAAM,GAAE,EAAE;iBACzD,CACF,CAAC;gBACF,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;gBAC7D,IAAI,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;oBACtD,mDAAmD;oBACnD,OAAO;gBACT,CAAC;gBACD,MAAM,OAAO,GACX,cAAc,CAAC,OAAO,CAAC,kBAAkB,CAAC;oBAC1C,cAAe,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;gBAC9C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAE,CAAC,CAAC,CAAC,CAAC;gBACnD,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;gBACzC,UAAU,CAAC,OAAO,CAAC,aAAa,GAAG,IAAA,6BAAqB,EACtD,IAAI,CAAC,OAAO,EACZ,KAAK,EACL,UAAU,CACX,CAAC;gBACF,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACxB,CAAC,CAAA,CAAC;YACF,WAAW,EAAE,CAAC;YACd,IAAI,CAAC,cAAc,GAAG,WAAW,CAC/B,GAAG,EAAE;gBACH,WAAW,EAAE,CAAC;YAChB,CAAC,EACD,CAAC,GAAG,EAAE,GAAG,IAAI,CACd,CAAC;YACF,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,cAAc,EAAE,EAAE;gBACpC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;oBACtD,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAEY,eAAe;;YAC1B,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAC7B,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAClE,CAAC;YACF,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrD,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,OAAO,EAAE,EAAE;gBAC9B,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,CAAC;gBACrD,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC,CAAC;QACJ,CAAC;KAAA;IAEY,MAAM;;YACjB,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACxB,CAAC;KAAA;IAEM,IAAI,CAAC,OAAwB,EAAE,YAAY,GAAG,KAAK;QACxD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,IAAI,OAAO,CAAY,CAAC,OAAO,EAAE,EAAE;gBACxC,OAAO,CAAC,SAAS,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,OAAO,CAAiB,CAAC,OAAO,EAAE,EAAE;YAC7C,MAAM,gBAAgB,GAAG,CAAC,cAA8B,EAAE,EAAE;gBAC1D,IAAI,cAAc,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBACzD,OAAO;gBACT,CAAC;gBACD,IAAI,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;oBACtD,OAAO,CAAC,SAAS;gBACnB,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;gBACtC,OAAO,CAAC,cAAc,CAAC,CAAC;YAC1B,CAAC,CAAC;YACF,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IAEY,MAAM,CAAC,aAA6B;;YAC/C,MAAM,kBAAkB,GAAG,IAAI,iBAAkB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;YACvE,MAAM,kBAAkB,CAAC,MAAM,EAAE,CAAC;YAClC,OAAO,kBAAkB,CAAC;QAC5B,CAAC;KAAA;IAED,0BAA0B;IACb,OAAO,CAAC,aAA6B;;YAChD,MAAM,UAAU,GAAG,IAAI,6BAAe,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;YAC3D,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,CAAC;KAAA;IAEY,IAAI,CAAC,MAAc,EAAE,QAAiB;;YACjD,MAAM,QAAQ,GAAG;;MAEf,IAAA,iBAAS,GAAE;;;;UAIP,IAAA,iBAAS,GAAE;;;;;GAKlB,CAAC,IAAI,EAAE,CAAC;YACP,MAAM,aAAa,GAAG,IAAI,4BAAc,CACtC,cAAc,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,UAAU,EACrD;gBACE,SAAS,EAAE,IAAA,YAAI,GAAE;gBACjB,OAAO,EAAE,QAAQ,IAAI,CAAC,SAAS,6BAA6B;gBAC5D,IAAI,EAAE,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,SAAS,IAAA,YAAI,GAAE,EAAE;gBAC3E,EAAE,EAAE,QAAQ,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG;gBAC5C,GAAG,EAAE,eAAe,IAAI,CAAC,UAAU,WAAW,IAAA,cAAM,GAAE,EAAE;gBACxD,cAAc,EAAE,iBAAiB;aAClC,EACD,QAAQ,CACT,CAAC;YACF,IAAI,QAAQ,EAAE,CAAC;gBACb,aAAa,CAAC,OAAO,CAAC,qBAAqB,CAAC;oBAC1C,OAAO,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC7C,CAAC;YACD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;YAC5D,MAAM,iBAAiB,GAAG,cAAc,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;YACvE,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,iBAAiB,CAAE,CAAC,CAAC,CAAC,CAAC;YAC7D,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;YACxC,UAAU,CAAC,OAAO,CAAC,qBAAqB,CAAC,GAAG,IAAA,6BAAqB,EAC/D,IAAI,CAAC,OAAO,EACZ,KAAK,EACL,QAAQ,CACT,CAAC;YACF,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAC1D,OAAO,IAAI,kBAAmB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QACxD,CAAC;KAAA;CACF;AAED,kBAAe,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";;;;;;AACA,oDAA4B;AAE5B,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,gBAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAE5E,MAAM,gBAAgB,GAAG,CAAC,OAAwB,EAAE,QAAgB,EAAE,KAAa,EAAE,EAAE;IACrF,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpF,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1B,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC,CAAC;IAC/C,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEK,MAAM,qBAAqB,GAAG,CAAC,OAAwB,EAAE,KAAa,EAAE,MAA6B,EAAE,EAAE;IAC9G,MAAM,OAAO,GAAG;QACd,kBAAkB,EAAE,KAAK;QACzB,QAAQ,EAAE,OAAO,CAAC,eAAe;QACjC,KAAK,EAAE,OAAO,CAAC,MAAM;QACrB,KAAK;QACL,GAAG,EAAE,OAAO,OAAO,CAAC,MAAM,EAAE;QAC5B,QAAQ,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,MAAM,QAAQ,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC;KAC9E,CAAC;IACF,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;SACxB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;SACxC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC,CAAC;AAZW,QAAA,qBAAqB,yBAYhC;AAEK,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,gBAAM,CAAC,UAAU,EAAE,CAAC;AAAjC,QAAA,IAAI,QAA6B;AACvC,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,UAAU,GAAG,IAAA,YAAI,GAAE,CAAC;AAAnC,QAAA,MAAM,UAA6B;AAEzC,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AAAxE,QAAA,SAAS,aAA+D;AAE9E,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAAtD,QAAA,UAAU,cAA4C;AAC5D,MAAM,cAAc,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AAA1D,QAAA,cAAc,kBAA4C"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAI5B,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,gBAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAE5E,MAAM,gBAAgB,GAAG,CACvB,OAAwB,EACxB,QAAgB,EAChB,KAAa,EACb,EAAE;IACF,MAAM,GAAG,GAAG,GAAG,CACb,GAAG,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,EAAE,CACnE,CAAC;IACF,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC1B,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC,CAAC;IAC/C,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEK,MAAM,qBAAqB,GAAG,CACnC,OAAwB,EACxB,KAAa,EACb,MAA6B,EAC7B,EAAE;IACF,MAAM,OAAO,GAAG;QACd,kBAAkB,EAAE,KAAK;QACzB,QAAQ,EAAE,OAAO,CAAC,eAAe;QACjC,KAAK,EAAE,OAAO,CAAC,MAAM;QACrB,KAAK;QACL,GAAG,EAAE,OAAO,OAAO,CAAC,MAAM,EAAE;QAC5B,QAAQ,EAAE,gBAAgB,CACxB,OAAO,EACP,GAAG,MAAM,QAAQ,OAAO,CAAC,MAAM,EAAE,EACjC,KAAK,CACN;KACF,CAAC;IACF,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;SACxB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;SACxC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC,CAAC;AApBW,QAAA,qBAAqB,yBAoBhC;AAEK,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,gBAAM,CAAC,UAAU,EAAE,CAAC;AAAjC,QAAA,IAAI,QAA6B;AACvC,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,UAAU,GAAG,IAAA,YAAI,GAAE,CAAC;AAAnC,QAAA,MAAM,UAA6B;AAEzC,MAAM,SAAS,GAAG,GAAG,EAAE,CAC5B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AAD3C,QAAA,SAAS,aACkC;AAEjD,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAAtD,QAAA,UAAU,cAA4C;AAC5D,MAAM,cAAc,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AAA1D,QAAA,cAAc,kBAA4C"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ (0, vitest_1.test)('Addition', () => {
5
+ (0, vitest_1.expect)(1 + 2).toBe(3);
6
+ });
7
+ //# sourceMappingURL=index.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../../test/index.spec.ts"],"names":[],"mappings":";;AAAA,mCAAsC;AAEtC,IAAA,aAAI,EAAC,UAAU,EAAE,GAAG,EAAE;IACpB,IAAA,eAAM,EAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import config from 'eslint-config-tyler/eslint.config.mjs';
2
+
3
+ config[0].ignores = ['dist/'];
4
+
5
+ export default config;
package/package.json CHANGED
@@ -1,40 +1,31 @@
1
1
  {
2
2
  "name": "ringcentral-softphone",
3
- "version": "0.12.0",
3
+ "version": "0.12.1",
4
4
  "homepage": "https://github.com/ringcentral/ringcentral-softphone-ts",
5
5
  "license": "MIT",
6
6
  "main": "dist/src/softphone.js",
7
7
  "types": "dist/src/softphone.d.ts",
8
8
  "scripts": {
9
9
  "in": "rm -rf *.raw && tsx -r dotenv-override-true/config demos/inbound-call.ts",
10
- "lint": "eslint --fix '**/*.{ts,tsx,js,jsx}' && prettier --write . && sort-package-json",
10
+ "lint": "eslint --fix . && prettier --write . && sort-package-json",
11
11
  "out": "rm -rf *.raw && tsx -r dotenv-override-true/config demos/outbound-call.ts",
12
- "prepublishOnly": "rm -rf *.raw && rm -rf dist && yarn tsc"
12
+ "prepublishOnly": "rm -rf *.raw && rm -rf dist && yarn tsc --skipLibCheck",
13
+ "test": "vitest run"
13
14
  },
14
15
  "dependencies": {
15
16
  "@rc-ex/core": "^1.4.2",
16
17
  "wait-for-async": "^0.7.0",
17
- "werift-rtp": "^0.8.1"
18
+ "werift-rtp": "^0.8.2"
18
19
  },
19
20
  "devDependencies": {
20
- "@types/node": "^22.7.9",
21
- "@typescript-eslint/eslint-plugin": "^8.11.0",
22
- "@typescript-eslint/parser": "^8.11.0",
21
+ "@types/node": "^22.8.7",
23
22
  "dotenv-override-true": "^6.2.2",
24
- "eslint": "^8.57.0",
25
- "eslint-config-alloy": "^5.1.2",
26
- "eslint-config-prettier": "^9.1.0",
27
- "eslint-plugin-prettier": "^5.2.1",
28
- "prettier": "^3.3.3",
23
+ "eslint-config-tyler": "^0.2.1",
29
24
  "sort-package-json": "^2.10.1",
30
- "tsx": "^4.19.1",
31
- "ttpt": "^0.12.6",
25
+ "tsx": "^4.19.2",
26
+ "ttpt": "^0.13.0",
32
27
  "typescript": "^5.6.3",
28
+ "vitest": "^2.1.4",
33
29
  "yarn-upgrade-all": "^0.7.4"
34
- },
35
- "yarn-upgrade-all": {
36
- "ignore": [
37
- "eslint"
38
- ]
39
30
  }
40
31
  }
@@ -0,0 +1,3 @@
1
+ import config from 'eslint-config-tyler/prettier.config.mjs';
2
+
3
+ export default config;
@@ -1,7 +1,7 @@
1
+ import CallSession from '.';
1
2
  import { ResponseMessage, type InboundMessage } from '../sip-message';
2
- import { randomInt } from '../utils';
3
3
  import type Softphone from '../softphone';
4
- import CallSession from '.';
4
+ import { randomInt } from '../utils';
5
5
 
6
6
  class InboundCallSession extends CallSession {
7
7
  public constructor(softphone: Softphone, inviteMessage: InboundMessage) {
@@ -1,11 +1,16 @@
1
- import EventEmitter from 'events';
2
1
  import dgram from 'dgram';
2
+ import EventEmitter from 'events';
3
+
3
4
  import { RtpHeader, RtpPacket } from 'werift-rtp';
4
5
 
5
- import { RequestMessage, type InboundMessage, ResponseMessage } from '../sip-message';
6
+ import DTMF from '../dtmf';
7
+ import {
8
+ RequestMessage,
9
+ ResponseMessage,
10
+ type InboundMessage,
11
+ } from '../sip-message';
6
12
  import type Softphone from '../softphone';
7
13
  import { branch, extractAddress, randomInt } from '../utils';
8
- import DTMF from '../dtmf';
9
14
  import Streamer from './streamer';
10
15
 
11
16
  abstract class CallSession extends EventEmitter {
@@ -23,7 +28,10 @@ abstract class CallSession extends EventEmitter {
23
28
  this.softphone = softphone;
24
29
  this.sipMessage = sipMessage;
25
30
  this.remoteIP = this.sipMessage.body.match(/c=IN IP4 ([\d.]+)/)![1];
26
- this.remotePort = parseInt(this.sipMessage.body.match(/m=audio (\d+) /)![1], 10);
31
+ this.remotePort = parseInt(
32
+ this.sipMessage.body.match(/m=audio (\d+) /)![1],
33
+ 10,
34
+ );
27
35
  }
28
36
 
29
37
  public get callId() {
@@ -35,14 +43,17 @@ abstract class CallSession extends EventEmitter {
35
43
  }
36
44
 
37
45
  public async transfer(target: string) {
38
- const requestMessage = new RequestMessage(`REFER sip:${extractAddress(this.remotePeer)} SIP/2.0`, {
39
- 'Call-Id': this.callId,
40
- From: this.localPeer,
41
- To: this.remotePeer,
42
- Via: `SIP/2.0/TCP ${this.softphone.fakeDomain};branch=${branch()}`,
43
- 'Refer-To': `sip:${target}@sip.ringcentral.com`,
44
- 'Referred-By': `<${extractAddress(this.localPeer)}>`,
45
- });
46
+ const requestMessage = new RequestMessage(
47
+ `REFER sip:${extractAddress(this.remotePeer)} SIP/2.0`,
48
+ {
49
+ 'Call-Id': this.callId,
50
+ From: this.localPeer,
51
+ To: this.remotePeer,
52
+ Via: `SIP/2.0/TCP ${this.softphone.fakeDomain};branch=${branch()}`,
53
+ 'Refer-To': `sip:${target}@sip.ringcentral.com`,
54
+ 'Referred-By': `<${extractAddress(this.localPeer)}>`,
55
+ },
56
+ );
46
57
  this.softphone.send(requestMessage);
47
58
  // reply to those NOTIFY messages
48
59
  const notifyHandler = (inboundMessage: InboundMessage) => {
@@ -59,16 +70,21 @@ abstract class CallSession extends EventEmitter {
59
70
  }
60
71
 
61
72
  public async hangup() {
62
- const requestMessage = new RequestMessage(`BYE sip:${this.softphone.sipInfo.domain} SIP/2.0`, {
63
- 'Call-Id': this.callId,
64
- From: this.localPeer,
65
- To: this.remotePeer,
66
- Via: `SIP/2.0/TCP ${this.softphone.fakeDomain};branch=${branch()}`,
67
- });
73
+ const requestMessage = new RequestMessage(
74
+ `BYE sip:${this.softphone.sipInfo.domain} SIP/2.0`,
75
+ {
76
+ 'Call-Id': this.callId,
77
+ From: this.localPeer,
78
+ To: this.remotePeer,
79
+ Via: `SIP/2.0/TCP ${this.softphone.fakeDomain};branch=${branch()}`,
80
+ },
81
+ );
68
82
  this.softphone.send(requestMessage);
69
83
  }
70
84
 
71
- public async sendDTMF(char: '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '*' | '#') {
85
+ public async sendDTMF(
86
+ char: '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '*' | '#',
87
+ ) {
72
88
  const timestamp = Math.floor(Date.now() / 1000);
73
89
  let sequenceNumber = timestamp % 65536;
74
90
  const rtpHeader = new RtpHeader({
@@ -1,6 +1,6 @@
1
+ import CallSession from '.';
1
2
  import { RequestMessage, type InboundMessage } from '../sip-message';
2
3
  import type Softphone from '../softphone';
3
- import CallSession from '.';
4
4
  import { extractAddress, withoutTag } from '../utils';
5
5
 
6
6
  class OutboundCallSession extends CallSession {
@@ -14,17 +14,23 @@ class OutboundCallSession extends CallSession {
14
14
  public async init() {
15
15
  // wait for user to answer the call
16
16
  const answerHandler = (message: InboundMessage) => {
17
- if (message.headers.CSeq === this.sipMessage.headers.CSeq) {
17
+ if (
18
+ message.headers.CSeq === this.sipMessage.headers.CSeq &&
19
+ message.subject.startsWith('SIP/2.0 200')
20
+ ) {
18
21
  this.softphone.off('message', answerHandler);
19
22
  this.emit('answered');
20
23
 
21
- const ackMessage = new RequestMessage(`ACK ${extractAddress(this.remotePeer)} SIP/2.0`, {
22
- 'Call-Id': this.callId,
23
- From: this.localPeer,
24
- To: this.remotePeer,
25
- Via: this.sipMessage.headers.Via,
26
- CSeq: this.sipMessage.headers.CSeq.replace(' INVITE', ' ACK'),
27
- });
24
+ const ackMessage = new RequestMessage(
25
+ `ACK ${extractAddress(this.remotePeer)} SIP/2.0`,
26
+ {
27
+ 'Call-Id': this.callId,
28
+ From: this.localPeer,
29
+ To: this.remotePeer,
30
+ Via: this.sipMessage.headers.Via,
31
+ CSeq: this.sipMessage.headers.CSeq.replace(' INVITE', ' ACK'),
32
+ },
33
+ );
28
34
  this.softphone.send(ackMessage);
29
35
  }
30
36
  };
@@ -33,13 +39,16 @@ class OutboundCallSession extends CallSession {
33
39
  }
34
40
 
35
41
  public async cancel() {
36
- const requestMessage = new RequestMessage(`CANCEL ${extractAddress(this.remotePeer)} SIP/2.0`, {
37
- 'Call-Id': this.callId,
38
- From: this.localPeer,
39
- To: withoutTag(this.remotePeer),
40
- Via: this.sipMessage.headers.Via,
41
- CSeq: this.sipMessage.headers.CSeq.replace(' INVITE', ' CANCEL'),
42
- });
42
+ const requestMessage = new RequestMessage(
43
+ `CANCEL ${extractAddress(this.remotePeer)} SIP/2.0`,
44
+ {
45
+ 'Call-Id': this.callId,
46
+ From: this.localPeer,
47
+ To: withoutTag(this.remotePeer),
48
+ Via: this.sipMessage.headers.Via,
49
+ CSeq: this.sipMessage.headers.CSeq.replace(' INVITE', ' CANCEL'),
50
+ },
51
+ );
43
52
  this.softphone.send(requestMessage);
44
53
  }
45
54
  }
@@ -1,6 +1,7 @@
1
- import { RtpHeader, RtpPacket } from 'werift-rtp';
2
1
  import EventEmitter from 'events';
3
2
 
3
+ import { RtpHeader, RtpPacket } from 'werift-rtp';
4
+
4
5
  import type CallSession from '.';
5
6
  import { randomInt } from '../utils';
6
7
 
package/src/dtmf.ts CHANGED
@@ -1,6 +1,21 @@
1
1
  class DTMF {
2
- public static readonly phoneChars = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '*', '#'];
3
- private static readonly payloads = [0x00060000, 0x000600a0, 0x00060140, 0x00860320, 0x00860320, 0x00860320];
2
+ public static readonly phoneChars = [
3
+ '0',
4
+ '1',
5
+ '2',
6
+ '3',
7
+ '4',
8
+ '5',
9
+ '6',
10
+ '7',
11
+ '8',
12
+ '9',
13
+ '*',
14
+ '#',
15
+ ];
16
+ private static readonly payloads = [
17
+ 0x00060000, 0x000600a0, 0x00060140, 0x00860320, 0x00860320, 0x00860320,
18
+ ];
4
19
 
5
20
  public static charToPayloads = (char: string) => {
6
21
  const index = DTMF.phoneChars.indexOf(char[0]);
@@ -8,7 +8,9 @@ class InboundMessage extends SipMessage {
8
8
  sipMessage.body = body.join('\r\n\r\n');
9
9
  const [subject, ...headers] = init.split('\r\n');
10
10
  sipMessage.subject = subject;
11
- sipMessage.headers = Object.fromEntries(headers.map((line) => line.split(': ')));
11
+ sipMessage.headers = Object.fromEntries(
12
+ headers.map((line) => line.split(': ')),
13
+ );
12
14
  if (sipMessage.headers.To && !sipMessage.headers.To.includes(';tag=')) {
13
15
  sipMessage.headers.To += ';tag=' + uuid(); // generate local tag
14
16
  }
@@ -16,10 +16,17 @@ class RequestMessage extends OutboundMessage {
16
16
  }
17
17
 
18
18
  public fork() {
19
- const newMessage = new RequestMessage(this.subject, { ...this.headers }, this.body);
19
+ const newMessage = new RequestMessage(
20
+ this.subject,
21
+ { ...this.headers },
22
+ this.body,
23
+ );
20
24
  newMessage.newCseq();
21
25
  if (newMessage.headers.Via) {
22
- newMessage.headers.Via = newMessage.headers.Via.replace(/;branch=.+?$/, `;branch=${branch()}`);
26
+ newMessage.headers.Via = newMessage.headers.Via.replace(
27
+ /;branch=.+?$/,
28
+ `;branch=${branch()}`,
29
+ );
23
30
  }
24
31
  return newMessage;
25
32
  }
@@ -1,10 +1,14 @@
1
1
  import OutboundMessage from '.';
2
- import responseCodes from '../response-codes';
3
2
  import type InboundMessage from '../inbound';
3
+ import responseCodes from '../response-codes';
4
4
 
5
5
  class ResponseMessage extends OutboundMessage {
6
- // eslint-disable-next-line max-params
7
- public constructor(inboundMessage: InboundMessage, responseCode: number, headers = {}, body = '') {
6
+ public constructor(
7
+ inboundMessage: InboundMessage,
8
+ responseCode: number,
9
+ headers = {},
10
+ body = '',
11
+ ) {
8
12
  super(undefined, { ...headers }, body);
9
13
  this.subject = `SIP/2.0 ${responseCode} ${responseCodes[responseCode]}`;
10
14
  const keys = ['Via', 'From', 'To', 'Call-Id', 'CSeq'];
package/src/softphone.ts CHANGED
@@ -1,13 +1,14 @@
1
- import type SipInfoResponse from '@rc-ex/core/lib/definitions/SipInfoResponse';
2
1
  import EventEmitter from 'events';
3
2
  import net from 'net';
3
+
4
+ import type SipInfoResponse from '@rc-ex/core/lib/definitions/SipInfoResponse';
4
5
  import waitFor from 'wait-for-async';
5
6
 
7
+ import InboundCallSession from './call-session/inbound';
8
+ import OutboundCallSession from './call-session/outbound';
6
9
  import type { OutboundMessage } from './sip-message';
7
10
  import { InboundMessage, RequestMessage, ResponseMessage } from './sip-message';
8
11
  import { branch, generateAuthorization, randomInt, uuid } from './utils';
9
- import InboundCallSession from './call-session/inbound';
10
- import OutboundCallSession from './call-session/outbound';
11
12
 
12
13
  class Softphone extends EventEmitter {
13
14
  public sipInfo: SipInfoResponse;
@@ -41,7 +42,9 @@ class Softphone extends EventEmitter {
41
42
  return; // haven't received a complete message yet
42
43
  }
43
44
  // received two empty body messages
44
- const tempMessages = cache.split('\r\nContent-Length: 0\r\n\r\n').filter((message) => message.trim() !== '');
45
+ const tempMessages = cache
46
+ .split('\r\nContent-Length: 0\r\n\r\n')
47
+ .filter((message) => message.trim() !== '');
45
48
  cache = '';
46
49
  for (let i = 0; i < tempMessages.length; i++) {
47
50
  if (!tempMessages[i].includes('Content-Length: ')) {
@@ -59,22 +62,31 @@ class Softphone extends EventEmitter {
59
62
  await waitFor({ interval: 100, condition: () => this.connected });
60
63
  }
61
64
  const sipRegister = async () => {
62
- const requestMessage = new RequestMessage(`REGISTER sip:${this.sipInfo.domain} SIP/2.0`, {
63
- 'Call-Id': uuid(),
64
- Contact: `<sip:${this.fakeEmail};transport=tcp>;expires=600`,
65
- From: `<sip:${this.sipInfo.username}@${this.sipInfo.domain}>;tag=${uuid()}`,
66
- To: `<sip:${this.sipInfo.username}@${this.sipInfo.domain}>`,
67
- Via: `SIP/2.0/TCP ${this.fakeDomain};branch=${branch()}`,
68
- });
65
+ const requestMessage = new RequestMessage(
66
+ `REGISTER sip:${this.sipInfo.domain} SIP/2.0`,
67
+ {
68
+ 'Call-Id': uuid(),
69
+ Contact: `<sip:${this.fakeEmail};transport=tcp>;expires=600`,
70
+ From: `<sip:${this.sipInfo.username}@${this.sipInfo.domain}>;tag=${uuid()}`,
71
+ To: `<sip:${this.sipInfo.username}@${this.sipInfo.domain}>`,
72
+ Via: `SIP/2.0/TCP ${this.fakeDomain};branch=${branch()}`,
73
+ },
74
+ );
69
75
  const inboundMessage = await this.send(requestMessage, true);
70
76
  if (inboundMessage.subject.startsWith('SIP/2.0 200 ')) {
71
77
  // sometimes the server will return 200 OK directly
72
78
  return;
73
79
  }
74
- const wwwAuth = inboundMessage.headers['Www-Authenticate'] || inboundMessage!.headers['WWW-Authenticate'];
80
+ const wwwAuth =
81
+ inboundMessage.headers['Www-Authenticate'] ||
82
+ inboundMessage!.headers['WWW-Authenticate'];
75
83
  const nonce = wwwAuth.match(/, nonce="(.+?)"/)![1];
76
84
  const newMessage = requestMessage.fork();
77
- newMessage.headers.Authorization = generateAuthorization(this.sipInfo, nonce, 'REGISTER');
85
+ newMessage.headers.Authorization = generateAuthorization(
86
+ this.sipInfo,
87
+ nonce,
88
+ 'REGISTER',
89
+ );
78
90
  this.send(newMessage);
79
91
  };
80
92
  sipRegister();
@@ -93,7 +105,9 @@ class Softphone extends EventEmitter {
93
105
  }
94
106
 
95
107
  public async enableDebugMode() {
96
- this.on('message', (message) => console.log(`Receiving...(${new Date()})\n` + message.toString()));
108
+ this.on('message', (message) =>
109
+ console.log(`Receiving...(${new Date()})\n` + message.toString()),
110
+ );
97
111
  const tcpWrite = this.client.write.bind(this.client);
98
112
  this.client.write = (message) => {
99
113
  console.log(`Sending...(${new Date()})\n` + message);
@@ -168,13 +182,18 @@ a=sendrecv
168
182
  offerSDP,
169
183
  );
170
184
  if (callerId) {
171
- inviteMessage.headers['P-Asserted-Identity'] = `sip:${callerId}@${this.sipInfo.domain}`;
185
+ inviteMessage.headers['P-Asserted-Identity'] =
186
+ `sip:${callerId}@${this.sipInfo.domain}`;
172
187
  }
173
188
  const inboundMessage = await this.send(inviteMessage, true);
174
189
  const proxyAuthenticate = inboundMessage.headers['Proxy-Authenticate'];
175
190
  const nonce = proxyAuthenticate.match(/, nonce="(.+?)"/)![1];
176
191
  const newMessage = inviteMessage.fork();
177
- newMessage.headers['Proxy-Authorization'] = generateAuthorization(this.sipInfo, nonce, 'INVITE');
192
+ newMessage.headers['Proxy-Authorization'] = generateAuthorization(
193
+ this.sipInfo,
194
+ nonce,
195
+ 'INVITE',
196
+ );
178
197
  const progressMessage = await this.send(newMessage, true);
179
198
  return new OutboundCallSession(this, progressMessage);
180
199
  }
package/src/utils.ts CHANGED
@@ -1,23 +1,38 @@
1
- import type SipInfoResponse from '@rc-ex/core/lib/definitions/SipInfoResponse';
2
1
  import crypto from 'crypto';
3
2
 
3
+ import type SipInfoResponse from '@rc-ex/core/lib/definitions/SipInfoResponse';
4
+
4
5
  const md5 = (s: string) => crypto.createHash('md5').update(s).digest('hex');
5
6
 
6
- const generateResponse = (sipInfo: SipInfoResponse, endpoint: string, nonce: string) => {
7
- const ha1 = md5(`${sipInfo.authorizationId}:${sipInfo.domain}:${sipInfo.password}`);
7
+ const generateResponse = (
8
+ sipInfo: SipInfoResponse,
9
+ endpoint: string,
10
+ nonce: string,
11
+ ) => {
12
+ const ha1 = md5(
13
+ `${sipInfo.authorizationId}:${sipInfo.domain}:${sipInfo.password}`,
14
+ );
8
15
  const ha2 = md5(endpoint);
9
16
  const response = md5(`${ha1}:${nonce}:${ha2}`);
10
17
  return response;
11
18
  };
12
19
 
13
- export const generateAuthorization = (sipInfo: SipInfoResponse, nonce: string, method: 'REGISTER' | 'INVITE') => {
20
+ export const generateAuthorization = (
21
+ sipInfo: SipInfoResponse,
22
+ nonce: string,
23
+ method: 'REGISTER' | 'INVITE',
24
+ ) => {
14
25
  const authObj = {
15
26
  'Digest algorithm': 'MD5',
16
27
  username: sipInfo.authorizationId,
17
28
  realm: sipInfo.domain,
18
29
  nonce,
19
30
  uri: `sip:${sipInfo.domain}`,
20
- response: generateResponse(sipInfo, `${method}:sip:${sipInfo.domain}`, nonce),
31
+ response: generateResponse(
32
+ sipInfo,
33
+ `${method}:sip:${sipInfo.domain}`,
34
+ nonce,
35
+ ),
21
36
  };
22
37
  return Object.keys(authObj)
23
38
  .map((key) => `${key}="${authObj[key]}"`)
@@ -27,7 +42,8 @@ export const generateAuthorization = (sipInfo: SipInfoResponse, nonce: string, m
27
42
  export const uuid = () => crypto.randomUUID();
28
43
  export const branch = () => 'z9hG4bK-' + uuid();
29
44
 
30
- export const randomInt = () => Math.floor(Math.random() * (65535 - 1024 + 1)) + 1024;
45
+ export const randomInt = () =>
46
+ Math.floor(Math.random() * (65535 - 1024 + 1)) + 1024;
31
47
 
32
48
  export const withoutTag = (s: string) => s.replace(/;tag=.*$/, '');
33
49
  export const extractAddress = (s: string) => s.match(/<(sip:.+?)>/)[1];
@@ -0,0 +1,5 @@
1
+ import { expect, test } from 'vitest';
2
+
3
+ test('Addition', () => {
4
+ expect(1 + 2).toBe(3);
5
+ });
package/.eslintignore DELETED
@@ -1,2 +0,0 @@
1
- node_modules/
2
- dist/
package/.eslintrc.js DELETED
@@ -1,9 +0,0 @@
1
- module.exports = {
2
- extends: ['alloy', 'alloy/typescript', 'prettier'],
3
- plugins: ['prettier'],
4
- rules: {
5
- 'prettier/prettier': ['error'],
6
- quotes: ['error', 'single', { avoidEscape: true }],
7
- 'prefer-const': ['error'],
8
- },
9
- };
package/.prettierrc.js DELETED
@@ -1,3 +0,0 @@
1
- module.exports = {
2
- ...require('eslint-config-alloy/.prettierrc.js'),
3
- };