ringcentral-softphone 1.1.0 → 1.1.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 (74) hide show
  1. package/README.md +1 -5
  2. package/dist/cjs/call-session/inbound.d.ts +3 -3
  3. package/dist/cjs/call-session/inbound.js +26 -21
  4. package/dist/cjs/call-session/inbound.js.map +1 -1
  5. package/dist/cjs/call-session/index.d.ts +6 -5
  6. package/dist/cjs/call-session/index.js +98 -104
  7. package/dist/cjs/call-session/index.js.map +1 -1
  8. package/dist/cjs/call-session/outbound.d.ts +4 -4
  9. package/dist/cjs/call-session/outbound.js +45 -47
  10. package/dist/cjs/call-session/outbound.js.map +1 -1
  11. package/dist/cjs/call-session/streamer.d.ts +6 -5
  12. package/dist/cjs/call-session/streamer.js +8 -63
  13. package/dist/cjs/call-session/streamer.js.map +1 -1
  14. package/dist/cjs/codec.d.ts +1 -0
  15. package/dist/cjs/codec.js +5 -4
  16. package/dist/cjs/codec.js.map +1 -1
  17. package/dist/cjs/dtmf.d.ts +1 -0
  18. package/dist/cjs/dtmf.js +2 -1
  19. package/dist/cjs/dtmf.js.map +1 -1
  20. package/dist/cjs/index.d.ts +7 -7
  21. package/dist/cjs/index.js +43 -49
  22. package/dist/cjs/index.js.map +1 -1
  23. package/dist/cjs/sip-message/inbound/index.d.ts +1 -1
  24. package/dist/cjs/sip-message/inbound/index.js +5 -5
  25. package/dist/cjs/sip-message/inbound/index.js.map +1 -1
  26. package/dist/cjs/sip-message/index.d.ts +5 -5
  27. package/dist/cjs/sip-message/index.js +10 -10
  28. package/dist/cjs/sip-message/index.js.map +1 -1
  29. package/dist/cjs/sip-message/outbound/index.d.ts +1 -1
  30. package/dist/cjs/sip-message/outbound/index.js +2 -2
  31. package/dist/cjs/sip-message/outbound/index.js.map +1 -1
  32. package/dist/cjs/sip-message/outbound/request.d.ts +1 -1
  33. package/dist/cjs/sip-message/outbound/request.js +4 -4
  34. package/dist/cjs/sip-message/outbound/request.js.map +1 -1
  35. package/dist/cjs/sip-message/outbound/response.d.ts +2 -2
  36. package/dist/cjs/sip-message/outbound/response.js +4 -4
  37. package/dist/cjs/sip-message/outbound/response.js.map +1 -1
  38. package/dist/esm/call-session/inbound.d.ts +3 -3
  39. package/dist/esm/call-session/inbound.js +25 -20
  40. package/dist/esm/call-session/inbound.js.map +1 -1
  41. package/dist/esm/call-session/index.d.ts +6 -5
  42. package/dist/esm/call-session/index.js +89 -95
  43. package/dist/esm/call-session/index.js.map +1 -1
  44. package/dist/esm/call-session/outbound.d.ts +4 -4
  45. package/dist/esm/call-session/outbound.js +44 -46
  46. package/dist/esm/call-session/outbound.js.map +1 -1
  47. package/dist/esm/call-session/streamer.d.ts +6 -5
  48. package/dist/esm/call-session/streamer.js +8 -63
  49. package/dist/esm/call-session/streamer.js.map +1 -1
  50. package/dist/esm/codec.d.ts +1 -0
  51. package/dist/esm/codec.js +1 -0
  52. package/dist/esm/codec.js.map +1 -1
  53. package/dist/esm/dtmf.d.ts +1 -0
  54. package/dist/esm/dtmf.js +1 -0
  55. package/dist/esm/dtmf.js.map +1 -1
  56. package/dist/esm/index.d.ts +7 -7
  57. package/dist/esm/index.js +24 -30
  58. package/dist/esm/index.js.map +1 -1
  59. package/dist/esm/sip-message/inbound/index.d.ts +1 -1
  60. package/dist/esm/sip-message/inbound/index.js +2 -2
  61. package/dist/esm/sip-message/inbound/index.js.map +1 -1
  62. package/dist/esm/sip-message/index.d.ts +5 -5
  63. package/dist/esm/sip-message/index.js +5 -5
  64. package/dist/esm/sip-message/index.js.map +1 -1
  65. package/dist/esm/sip-message/outbound/index.d.ts +1 -1
  66. package/dist/esm/sip-message/outbound/index.js +1 -1
  67. package/dist/esm/sip-message/outbound/index.js.map +1 -1
  68. package/dist/esm/sip-message/outbound/request.d.ts +1 -1
  69. package/dist/esm/sip-message/outbound/request.js +2 -2
  70. package/dist/esm/sip-message/outbound/request.js.map +1 -1
  71. package/dist/esm/sip-message/outbound/response.d.ts +2 -2
  72. package/dist/esm/sip-message/outbound/response.js +2 -2
  73. package/dist/esm/sip-message/outbound/response.js.map +1 -1
  74. package/package.json +1 -1
package/README.md CHANGED
@@ -132,7 +132,7 @@ For complete examples, see [demos/](demos/)
132
132
  - stream local audio to remote peer
133
133
  - call transfer
134
134
 
135
- ### Audio codec
135
+ ## Audio codec
136
136
 
137
137
  ### By default it is `OPUS/16000`
138
138
 
@@ -260,10 +260,6 @@ callSession1.on("rtpPacket", (rtpPacket: RtpPacket) => {
260
260
  });
261
261
  ```
262
262
 
263
- ## Todo
264
-
265
- - Make codec configurable
266
-
267
263
  ---
268
264
 
269
265
  ## Dev Notes
@@ -1,6 +1,6 @@
1
- import CallSession from "./index.js";
2
- import { type InboundMessage } from "../sip-message/index.js";
3
- import type Softphone from "../index.js";
1
+ import CallSession from "./index";
2
+ import { type InboundMessage } from "../sip-message/index";
3
+ import type Softphone from "../index";
4
4
  declare class InboundCallSession extends CallSession {
5
5
  constructor(softphone: Softphone, inviteMessage: InboundMessage);
6
6
  answer(): Promise<void>;
@@ -54,9 +54,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
54
54
  return (mod && mod.__esModule) ? mod : { "default": mod };
55
55
  };
56
56
  Object.defineProperty(exports, "__esModule", { value: true });
57
- var index_js_1 = __importDefault(require("./index.js"));
58
- var index_js_2 = require("../sip-message/index.js");
59
- var utils_js_1 = require("../utils.js");
57
+ var index_1 = __importDefault(require("./index"));
58
+ var index_2 = require("../sip-message/index");
59
+ var utils_1 = require("../utils");
60
60
  var InboundCallSession = /** @class */ (function (_super) {
61
61
  __extends(InboundCallSession, _super);
62
62
  function InboundCallSession(softphone, inviteMessage) {
@@ -70,27 +70,32 @@ var InboundCallSession = /** @class */ (function (_super) {
70
70
  return __awaiter(this, void 0, void 0, function () {
71
71
  var answerSDP, newMessage;
72
72
  return __generator(this, function (_a) {
73
- answerSDP = "\nv=0\no=- ".concat(Date.now(), " 0 IN IP4 ").concat(this.softphone.client.localAddress, "\ns=rc-softphone-ts\nc=IN IP4 ").concat(this.softphone.client.localAddress, "\nt=0 0\nm=audio ").concat((0, utils_js_1.randomInt)(), " RTP/SAVP ").concat(this.softphone.codec.id, " 101\na=rtpmap:").concat(this.softphone.codec.id, " ").concat(this.softphone.codec.name, "\na=rtpmap:101 telephone-event/8000\na=fmtp:101 0-15\na=sendrecv\na=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:").concat(utils_js_1.localKey, "\n").trim();
74
- newMessage = new index_js_2.OutboundMessage("SIP/2.0 200 OK", {
75
- Via: this.sipMessage.headers.Via,
76
- "Call-ID": this.sipMessage.headers["Call-ID"],
77
- From: this.sipMessage.headers.From,
78
- To: this.sipMessage.headers.To,
79
- CSeq: this.sipMessage.headers.CSeq,
80
- Contact: "<sip:".concat(this.softphone.sipInfo.username, "@").concat(this.softphone.client.localAddress, ":").concat(this.softphone.client.localPort, ";transport=TLS;ob>"),
81
- Allow: "PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, SUBSCRIBE, NOTIFY, REFER, MESSAGE, OPTIONS",
82
- Supported: "replaces, 100rel, timer, norefersub",
83
- "Session-Expires": "14400;refresher=uac",
84
- Require: "timer",
85
- "Content-Type": "application/sdp",
86
- }, answerSDP);
87
- this.softphone.send(newMessage);
88
- this.startLocalServices();
89
- return [2 /*return*/];
73
+ switch (_a.label) {
74
+ case 0:
75
+ answerSDP = "\nv=0\no=- ".concat(Date.now(), " 0 IN IP4 ").concat(this.softphone.client.localAddress, "\ns=rc-softphone-ts\nc=IN IP4 ").concat(this.softphone.client.localAddress, "\nt=0 0\nm=audio ").concat((0, utils_1.randomInt)(), " RTP/SAVP ").concat(this.softphone.codec.id, " 101\na=rtpmap:").concat(this.softphone.codec.id, " ").concat(this.softphone.codec.name, "\na=rtpmap:101 telephone-event/8000\na=fmtp:101 0-15\na=sendrecv\na=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:").concat(utils_1.localKey, "\n").trim();
76
+ newMessage = new index_2.OutboundMessage("SIP/2.0 200 OK", {
77
+ Via: this.sipMessage.headers.Via,
78
+ "Call-ID": this.sipMessage.headers["Call-ID"],
79
+ From: this.sipMessage.headers.From,
80
+ To: this.sipMessage.headers.To,
81
+ CSeq: this.sipMessage.headers.CSeq,
82
+ Contact: "<sip:".concat(this.softphone.sipInfo.username, "@").concat(this.softphone.client.localAddress, ":").concat(this.softphone.client.localPort, ";transport=TLS;ob>"),
83
+ Allow: "PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, SUBSCRIBE, NOTIFY, REFER, MESSAGE, OPTIONS",
84
+ Supported: "replaces, 100rel, timer, norefersub",
85
+ "Session-Expires": "14400;refresher=uac",
86
+ Require: "timer",
87
+ "Content-Type": "application/sdp",
88
+ }, answerSDP);
89
+ return [4 /*yield*/, this.softphone.send(newMessage)];
90
+ case 1:
91
+ _a.sent();
92
+ this.startLocalServices();
93
+ return [2 /*return*/];
94
+ }
90
95
  });
91
96
  });
92
97
  };
93
98
  return InboundCallSession;
94
- }(index_js_1.default));
99
+ }(index_1.default));
95
100
  exports.default = InboundCallSession;
96
101
  //# sourceMappingURL=inbound.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inbound.js","sourceRoot":"","sources":["../../../src/call-session/inbound.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAAqC;AACrC,oDAA+E;AAE/E,wCAAkD;AAElD;IAAiC,sCAAW;IAC1C,4BAAmB,SAAoB,EAAE,aAA6B;QACpE,YAAA,MAAK,YAAC,SAAS,EAAE,aAAa,CAAC,SAAC;QAChC,KAAI,CAAC,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,KAAI,CAAC,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC;QAC7C,KAAI,CAAC,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CACvC,0CAA0C,CAC1C,CAAC,CAAC,CAAC,CAAC;;IACR,CAAC;IAEY,mCAAM,GAAnB;;;;gBACQ,SAAS,GAAG,qBAEhB,IAAI,CAAC,GAAG,EAAE,uBAAa,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,2CAEpD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,8BAEnC,IAAA,oBAAS,GAAE,uBAAa,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,4BAC9C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,cAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,yHAInB,mBAAQ,OACnD,CAAC,IAAI,EAAE,CAAC;gBACC,UAAU,GAAG,IAAI,0BAAe,CACpC,gBAAgB,EAChB;oBACE,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG;oBAChC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC;oBAC7C,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI;oBAClC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;oBAC9B,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI;oBAClC,OAAO,EACL,eAAQ,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,cAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,cAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,uBAAoB;oBACtI,KAAK,EACH,2FAA2F;oBAC7F,SAAS,EAAE,qCAAqC;oBAChD,iBAAiB,EAAE,qBAAqB;oBACxC,OAAO,EAAE,OAAO;oBAChB,cAAc,EAAE,iBAAiB;iBAClC,EACD,SAAS,CACV,CAAC;gBACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAEhC,IAAI,CAAC,kBAAkB,EAAE,CAAC;;;;KAC3B;IACH,yBAAC;AAAD,CAAC,AA/CD,CAAiC,kBAAW,GA+C3C;AAED,kBAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"inbound.js","sourceRoot":"","sources":["../../../src/call-session/inbound.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAkC;AAClC,8CAA4E;AAE5E,kCAA+C;AAE/C;IAAiC,sCAAW;IAC1C,4BAAmB,SAAoB,EAAE,aAA6B;QACpE,YAAA,MAAK,YAAC,SAAS,EAAE,aAAa,CAAC,SAAC;QAChC,KAAI,CAAC,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,KAAI,CAAC,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC;QAC7C,KAAI,CAAC,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CACvC,0CAA0C,CAC1C,CAAC,CAAC,CAAC,CAAC;;IACR,CAAC;IAEY,mCAAM,GAAnB;;;;;;wBACQ,SAAS,GAAG,qBAEhB,IAAI,CAAC,GAAG,EAAE,uBAAa,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,2CAEpD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,8BAEnC,IAAA,iBAAS,GAAE,uBAAa,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,4BAC9C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,cAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,yHAInB,gBAAQ,OACnD,CAAC,IAAI,EAAE,CAAC;wBACC,UAAU,GAAG,IAAI,uBAAe,CACpC,gBAAgB,EAChB;4BACE,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG;4BAChC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC;4BAC7C,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI;4BAClC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;4BAC9B,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI;4BAClC,OAAO,EACL,eAAQ,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,cAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,cAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,uBAAoB;4BACtI,KAAK,EACH,2FAA2F;4BAC7F,SAAS,EAAE,qCAAqC;4BAChD,iBAAiB,EAAE,qBAAqB;4BACxC,OAAO,EAAE,OAAO;4BAChB,cAAc,EAAE,iBAAiB;yBAClC,EACD,SAAS,CACV,CAAC;wBACF,qBAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EAAA;;wBAArC,SAAqC,CAAC;wBAEtC,IAAI,CAAC,kBAAkB,EAAE,CAAC;;;;;KAC3B;IACH,yBAAC;AAAD,CAAC,AA/CD,CAAiC,eAAW,GA+C3C;AAED,kBAAe,kBAAkB,CAAC"}
@@ -1,9 +1,10 @@
1
1
  import dgram from "node:dgram";
2
2
  import EventEmitter from "node:events";
3
+ import { Buffer } from "node:buffer";
3
4
  import { RtpPacket, SrtpSession } from "werift-rtp";
4
- import { type InboundMessage } from "../sip-message/index.js";
5
- import type Softphone from "../index.js";
6
- import Streamer from "./streamer.js";
5
+ import { type InboundMessage } from "../sip-message/index";
6
+ import type Softphone from "../index";
7
+ import Streamer from "./streamer";
7
8
  declare abstract class CallSession extends EventEmitter {
8
9
  softphone: Softphone;
9
10
  sipMessage: InboundMessage;
@@ -28,10 +29,10 @@ declare abstract class CallSession extends EventEmitter {
28
29
  get callId(): string;
29
30
  send(data: string | Buffer): void;
30
31
  hangup(): Promise<void>;
31
- sendDTMF(char: "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "*" | "#"): Promise<void>;
32
+ sendDTMF(char: "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "*" | "#"): void;
32
33
  streamAudio(input: Buffer): Streamer;
33
34
  sendPacket(rtpPacket: RtpPacket): void;
34
- protected startLocalServices(): Promise<void>;
35
+ protected startLocalServices(): void;
35
36
  protected dispose(): void;
36
37
  transfer(transferTo: string): void;
37
38
  }
@@ -56,20 +56,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
56
56
  Object.defineProperty(exports, "__esModule", { value: true });
57
57
  var node_dgram_1 = __importDefault(require("node:dgram"));
58
58
  var node_events_1 = __importDefault(require("node:events"));
59
+ var node_buffer_1 = require("node:buffer");
59
60
  var werift_rtp_1 = require("werift-rtp");
60
- var dtmf_js_1 = __importDefault(require("../dtmf.js"));
61
- var index_js_1 = require("../sip-message/index.js");
62
- var utils_js_1 = require("../utils.js");
63
- var streamer_js_1 = __importDefault(require("./streamer.js"));
61
+ var dtmf_1 = __importDefault(require("../dtmf"));
62
+ var index_1 = require("../sip-message/index");
63
+ var utils_1 = require("../utils");
64
+ var streamer_1 = __importDefault(require("./streamer"));
64
65
  var CallSession = /** @class */ (function (_super) {
65
66
  __extends(CallSession, _super);
66
67
  function CallSession(softphone, sipMessage) {
67
68
  var _this = _super.call(this) || this;
68
69
  _this.disposed = false;
69
70
  // for audio streaming
70
- _this.ssrc = (0, utils_js_1.randomInt)();
71
- _this.sequenceNumber = (0, utils_js_1.randomInt)();
72
- _this.timestamp = (0, utils_js_1.randomInt)();
71
+ _this.ssrc = (0, utils_1.randomInt)();
72
+ _this.sequenceNumber = (0, utils_1.randomInt)();
73
+ _this.timestamp = (0, utils_1.randomInt)();
73
74
  _this.softphone = softphone;
74
75
  _this.encoder = softphone.codec.createEncoder();
75
76
  _this.decoder = softphone.codec.createDecoder();
@@ -80,8 +81,8 @@ var CallSession = /** @class */ (function (_super) {
80
81
  }
81
82
  Object.defineProperty(CallSession.prototype, "remoteKey", {
82
83
  set: function (key) {
83
- var localKeyBuffer = Buffer.from(utils_js_1.localKey, "base64");
84
- var remoteKeyBuffer = Buffer.from(key, "base64");
84
+ var localKeyBuffer = node_buffer_1.Buffer.from(utils_1.localKey, "base64");
85
+ var remoteKeyBuffer = node_buffer_1.Buffer.from(key, "base64");
85
86
  this.srtpSession = new werift_rtp_1.SrtpSession({
86
87
  profile: 0x0001,
87
88
  keys: {
@@ -109,54 +110,53 @@ var CallSession = /** @class */ (function (_super) {
109
110
  return __awaiter(this, void 0, void 0, function () {
110
111
  var requestMessage;
111
112
  return __generator(this, function (_a) {
112
- requestMessage = new index_js_1.RequestMessage("BYE sip:".concat(this.softphone.sipInfo.domain, " SIP/2.0"), {
113
- "Call-ID": this.callId,
114
- From: this.localPeer,
115
- To: this.remotePeer,
116
- Via: "SIP/2.0/TLS ".concat(this.softphone.fakeDomain, ";branch=").concat((0, utils_js_1.branch)()),
117
- });
118
- this.softphone.send(requestMessage);
119
- return [2 /*return*/];
113
+ switch (_a.label) {
114
+ case 0:
115
+ requestMessage = new index_1.RequestMessage("BYE sip:".concat(this.softphone.sipInfo.domain, " SIP/2.0"), {
116
+ "Call-ID": this.callId,
117
+ From: this.localPeer,
118
+ To: this.remotePeer,
119
+ Via: "SIP/2.0/TLS ".concat(this.softphone.fakeDomain, ";branch=").concat((0, utils_1.branch)()),
120
+ });
121
+ return [4 /*yield*/, this.softphone.send(requestMessage)];
122
+ case 1:
123
+ _a.sent();
124
+ return [2 /*return*/];
125
+ }
120
126
  });
121
127
  });
122
128
  };
123
129
  CallSession.prototype.sendDTMF = function (char) {
124
- return __awaiter(this, void 0, void 0, function () {
125
- var timestamp, sequenceNumber, rtpHeader, _i, _a, payload, rtpPacket;
126
- return __generator(this, function (_b) {
127
- timestamp = Math.floor(Date.now() / 1000);
128
- sequenceNumber = timestamp % 65536;
129
- rtpHeader = new werift_rtp_1.RtpHeader({
130
- version: 2,
131
- padding: false,
132
- paddingSize: 0,
133
- extension: false,
134
- marker: false,
135
- payloadOffset: 12,
136
- payloadType: 101,
137
- sequenceNumber: sequenceNumber,
138
- timestamp: timestamp,
139
- ssrc: (0, utils_js_1.randomInt)(),
140
- csrcLength: 0,
141
- csrc: [],
142
- extensionProfile: 48862,
143
- extensionLength: undefined,
144
- extensions: [],
145
- });
146
- for (_i = 0, _a = dtmf_js_1.default.charToPayloads(char); _i < _a.length; _i++) {
147
- payload = _a[_i];
148
- rtpHeader.sequenceNumber = sequenceNumber++;
149
- rtpPacket = new werift_rtp_1.RtpPacket(rtpHeader, payload);
150
- this.send(this.srtpSession.encrypt(rtpPacket.payload, rtpPacket.header));
151
- }
152
- return [2 /*return*/];
153
- });
130
+ var timestamp = Math.floor(Date.now() / 1000);
131
+ var sequenceNumber = timestamp % 65536;
132
+ var rtpHeader = new werift_rtp_1.RtpHeader({
133
+ version: 2,
134
+ padding: false,
135
+ paddingSize: 0,
136
+ extension: false,
137
+ marker: false,
138
+ payloadOffset: 12,
139
+ payloadType: 101,
140
+ sequenceNumber: sequenceNumber,
141
+ timestamp: timestamp,
142
+ ssrc: (0, utils_1.randomInt)(),
143
+ csrcLength: 0,
144
+ csrc: [],
145
+ extensionProfile: 48862,
146
+ extensionLength: undefined,
147
+ extensions: [],
154
148
  });
149
+ for (var _i = 0, _a = dtmf_1.default.charToPayloads(char); _i < _a.length; _i++) {
150
+ var payload = _a[_i];
151
+ rtpHeader.sequenceNumber = sequenceNumber++;
152
+ var rtpPacket = new werift_rtp_1.RtpPacket(rtpHeader, payload);
153
+ this.send(this.srtpSession.encrypt(rtpPacket.payload, rtpPacket.header));
154
+ }
155
155
  };
156
156
  // buffer is the content of a audio file, it is supposed to be uncompressed PCM data
157
157
  // The audio should be playable by command: play -t raw -b 16 -r 16000 -e signed-integer test.wav
158
158
  CallSession.prototype.streamAudio = function (input) {
159
- var streamer = new streamer_js_1.default(this, input);
159
+ var streamer = new streamer_1.default(this, input);
160
160
  streamer.start();
161
161
  return streamer;
162
162
  };
@@ -168,60 +168,54 @@ var CallSession = /** @class */ (function (_super) {
168
168
  this.send(this.srtpSession.encrypt(rtpPacket.payload, rtpPacket.header));
169
169
  };
170
170
  CallSession.prototype.startLocalServices = function () {
171
- return __awaiter(this, void 0, void 0, function () {
172
- var byeHandler;
173
- var _this = this;
174
- return __generator(this, function (_a) {
175
- this.socket = node_dgram_1.default.createSocket("udp4");
176
- this.socket.on("message", function (message) {
177
- var rtpPacket = werift_rtp_1.RtpPacket.deSerialize(_this.srtpSession.decrypt(message));
178
- _this.emit("rtpPacket", rtpPacket);
179
- if (rtpPacket.header.payloadType === 101) {
180
- _this.emit("dtmfPacket", rtpPacket);
181
- var char = dtmf_js_1.default.payloadToChar(rtpPacket.payload);
182
- if (char) {
183
- _this.emit("dtmf", char);
184
- }
185
- }
186
- else if (rtpPacket.header.payloadType === _this.softphone.codec.id) {
187
- if (rtpPacket.payload.length === 4 &&
188
- rtpPacket.payload[0] >= 0x00 &&
189
- rtpPacket.payload[0] < 0x0c &&
190
- rtpPacket.payload[1] === 0x8a &&
191
- rtpPacket.payload[2] === 0x03 &&
192
- rtpPacket.payload[3] === 0xc0) {
193
- // special DTMF packet in audio format
194
- // first byte 0x00 to 0x0c means DTMF 0 to 9, *, #
195
- // we ignore it since DTMF is handled by `if (rtpPacket.header.payloadType === 101) {`
196
- return; // ignore it
197
- }
198
- try {
199
- rtpPacket.payload = _this.decoder.decode(rtpPacket.payload);
200
- _this.emit("audioPacket", rtpPacket);
201
- }
202
- catch (_a) {
203
- console.error("opus decode failed", rtpPacket);
204
- }
205
- }
206
- });
207
- // as I tested, we can use a random port here and it still works
208
- // but it seems that in SDP we need to tell remote our local IP Address, not 127.0.0.1
209
- this.socket.bind(); // random port
210
- // send a message to remote server so that it knows where to reply
211
- this.send("hello");
212
- byeHandler = function (inboundMessage) {
213
- if (inboundMessage.headers["Call-ID"] !== _this.callId) {
214
- return;
215
- }
216
- if (inboundMessage.headers.CSeq.endsWith(" BYE")) {
217
- _this.softphone.off("message", byeHandler);
218
- _this.dispose();
219
- }
220
- };
221
- this.softphone.on("message", byeHandler);
222
- return [2 /*return*/];
223
- });
171
+ var _this = this;
172
+ this.socket = node_dgram_1.default.createSocket("udp4");
173
+ this.socket.on("message", function (message) {
174
+ var rtpPacket = werift_rtp_1.RtpPacket.deSerialize(_this.srtpSession.decrypt(message));
175
+ _this.emit("rtpPacket", rtpPacket);
176
+ if (rtpPacket.header.payloadType === 101) {
177
+ _this.emit("dtmfPacket", rtpPacket);
178
+ var char = dtmf_1.default.payloadToChar(rtpPacket.payload);
179
+ if (char) {
180
+ _this.emit("dtmf", char);
181
+ }
182
+ }
183
+ else if (rtpPacket.header.payloadType === _this.softphone.codec.id) {
184
+ if (rtpPacket.payload.length === 4 &&
185
+ rtpPacket.payload[0] >= 0x00 &&
186
+ rtpPacket.payload[0] < 0x0c &&
187
+ rtpPacket.payload[1] === 0x8a &&
188
+ rtpPacket.payload[2] === 0x03 &&
189
+ rtpPacket.payload[3] === 0xc0) {
190
+ // special DTMF packet in audio format
191
+ // first byte 0x00 to 0x0c means DTMF 0 to 9, *, #
192
+ // we ignore it since DTMF is handled by `if (rtpPacket.header.payloadType === 101) {`
193
+ return; // ignore it
194
+ }
195
+ try {
196
+ rtpPacket.payload = _this.decoder.decode(rtpPacket.payload);
197
+ _this.emit("audioPacket", rtpPacket);
198
+ }
199
+ catch (_a) {
200
+ console.error("opus decode failed", rtpPacket);
201
+ }
202
+ }
224
203
  });
204
+ // as I tested, we can use a random port here and it still works
205
+ // but it seems that in SDP we need to tell remote our local IP Address, not 127.0.0.1
206
+ this.socket.bind(); // random port
207
+ // send a message to remote server so that it knows where to reply
208
+ this.send("hello");
209
+ var byeHandler = function (inboundMessage) {
210
+ if (inboundMessage.headers["Call-ID"] !== _this.callId) {
211
+ return;
212
+ }
213
+ if (inboundMessage.headers.CSeq.endsWith(" BYE")) {
214
+ _this.softphone.off("message", byeHandler);
215
+ _this.dispose();
216
+ }
217
+ };
218
+ this.softphone.on("message", byeHandler);
225
219
  };
226
220
  CallSession.prototype.dispose = function () {
227
221
  var _a, _b;
@@ -233,8 +227,8 @@ var CallSession = /** @class */ (function (_super) {
233
227
  };
234
228
  CallSession.prototype.transfer = function (transferTo) {
235
229
  var _this = this;
236
- var requestMessage = new index_js_1.RequestMessage("REFER sip:".concat(this.softphone.sipInfo.username, "@").concat(this.softphone.sipInfo.outboundProxy, ";transport=tls SIP/2.0"), {
237
- Via: "SIP/2.0/TLS ".concat(this.softphone.client.localAddress, ":").concat(this.softphone.client.localPort, ";rport;branch=").concat((0, utils_js_1.branch)(), ";alias"),
230
+ var requestMessage = new index_1.RequestMessage("REFER sip:".concat(this.softphone.sipInfo.username, "@").concat(this.softphone.sipInfo.outboundProxy, ";transport=tls SIP/2.0"), {
231
+ Via: "SIP/2.0/TLS ".concat(this.softphone.client.localAddress, ":").concat(this.softphone.client.localPort, ";rport;branch=").concat((0, utils_1.branch)(), ";alias"),
238
232
  "Max-Forwards": 70,
239
233
  From: this.localPeer,
240
234
  To: this.remotePeer,
@@ -254,7 +248,7 @@ var CallSession = /** @class */ (function (_super) {
254
248
  if (!inboundMessage.subject.startsWith("NOTIFY ")) {
255
249
  return;
256
250
  }
257
- var responseMessage = new index_js_1.ResponseMessage(inboundMessage, 200);
251
+ var responseMessage = new index_1.ResponseMessage(inboundMessage, 200);
258
252
  _this.softphone.send(responseMessage);
259
253
  if (inboundMessage.body.trim() === "SIP/2.0 200 OK") {
260
254
  _this.softphone.off("message", notifyHandler);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/call-session/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA+B;AAC/B,4DAAuC;AAEvC,yCAA+D;AAE/D,uDAA8B;AAC9B,oDAIiC;AAEjC,wCAA0D;AAC1D,8DAAqC;AAErC;IAAmC,+BAAY;IAkB7C,qBAAmB,SAAoB,EAAE,UAA0B;QACjE,YAAA,MAAK,WAAE,SAAC;QAXH,cAAQ,GAAG,KAAK,CAAC;QAKxB,sBAAsB;QACf,UAAI,GAAG,IAAA,oBAAS,GAAE,CAAC;QACnB,oBAAc,GAAG,IAAA,oBAAS,GAAE,CAAC;QAC7B,eAAS,GAAG,IAAA,oBAAS,GAAE,CAAC;QAI7B,KAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,KAAI,CAAC,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;QAC/C,KAAI,CAAC,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;QAC/C,KAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAE,CAAC,CAAC,CAAC,CAAC;QACpE,KAAI,CAAC,UAAU,GAAG,QAAQ,CACxB,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAE,CAAC,CAAC,CAAC,EAChD,EAAE,CACH,CAAC;;IACJ,CAAC;IAED,sBAAW,kCAAS;aAApB,UAAqB,GAAW;YAC9B,IAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAQ,EAAE,QAAQ,CAAC,CAAC;YACvD,IAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACnD,IAAI,CAAC,WAAW,GAAG,IAAI,wBAAW,CAAC;gBACjC,OAAO,EAAE,MAAM;gBACf,IAAI,EAAE;oBACJ,cAAc,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC;oBAC9C,eAAe,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC;oBAChD,eAAe,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC;oBAChD,gBAAgB,EAAE,eAAe,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC;iBACnD;aACF,CAAC,CAAC;QACL,CAAC;;;OAAA;IAED,sBAAW,+BAAM;aAAjB;YACE,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC;;;OAAA;IAEM,0BAAI,GAAX,UAAY,IAAqB;QAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC;IAEY,4BAAM,GAAnB;;;;gBACQ,cAAc,GAAG,IAAI,yBAAc,CACvC,kBAAW,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,aAAU,EAClD;oBACE,SAAS,EAAE,IAAI,CAAC,MAAM;oBACtB,IAAI,EAAE,IAAI,CAAC,SAAS;oBACpB,EAAE,EAAE,IAAI,CAAC,UAAU;oBACnB,GAAG,EAAE,sBAAe,IAAI,CAAC,SAAS,CAAC,UAAU,qBAAW,IAAA,iBAAM,GAAE,CAAE;iBACnE,CACF,CAAC;gBACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;;;;KACrC;IAEY,8BAAQ,GAArB,UACE,IAA2E;;;;gBAErE,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;gBAC5C,cAAc,GAAG,SAAS,GAAG,KAAK,CAAC;gBACjC,SAAS,GAAG,IAAI,sBAAS,CAAC;oBAC9B,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,KAAK;oBACd,WAAW,EAAE,CAAC;oBACd,SAAS,EAAE,KAAK;oBAChB,MAAM,EAAE,KAAK;oBACb,aAAa,EAAE,EAAE;oBACjB,WAAW,EAAE,GAAG;oBAChB,cAAc,gBAAA;oBACd,SAAS,WAAA;oBACT,IAAI,EAAE,IAAA,oBAAS,GAAE;oBACjB,UAAU,EAAE,CAAC;oBACb,IAAI,EAAE,EAAE;oBACR,gBAAgB,EAAE,KAAK;oBACvB,eAAe,EAAE,SAAS;oBAC1B,UAAU,EAAE,EAAE;iBACf,CAAC,CAAC;gBACH,WAA+C,EAAzB,KAAA,iBAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAzB,cAAyB,EAAzB,IAAyB,EAAE,CAAC;oBAAvC,OAAO;oBAChB,SAAS,CAAC,cAAc,GAAG,cAAc,EAAE,CAAC;oBACtC,SAAS,GAAG,IAAI,sBAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;oBACpD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC3E,CAAC;;;;KACF;IAED,oFAAoF;IACpF,iGAAiG;IAC1F,iCAAW,GAAlB,UAAmB,KAAa;QAC9B,IAAM,QAAQ,GAAG,IAAI,qBAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3C,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,2BAA2B;IACpB,gCAAU,GAAjB,UAAkB,SAAoB;QACpC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3E,CAAC;IAEe,wCAAkB,GAAlC;;;;;gBACE,IAAI,CAAC,MAAM,GAAG,oBAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBACzC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,UAAC,OAAO;oBAChC,IAAM,SAAS,GAAG,sBAAS,CAAC,WAAW,CACrC,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAClC,CAAC;oBACF,KAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;oBAClC,IAAI,SAAS,CAAC,MAAM,CAAC,WAAW,KAAK,GAAG,EAAE,CAAC;wBACzC,KAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;wBACnC,IAAM,IAAI,GAAG,iBAAI,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;wBACnD,IAAI,IAAI,EAAE,CAAC;4BACT,KAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;wBAC1B,CAAC;oBACH,CAAC;yBAAM,IAAI,SAAS,CAAC,MAAM,CAAC,WAAW,KAAK,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;wBACpE,IACE,SAAS,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;4BAC9B,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI;4BAC5B,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI;4BAC3B,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI;4BAC7B,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI;4BAC7B,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,EAC7B,CAAC;4BACD,sCAAsC;4BACtC,kDAAkD;4BAClD,sFAAsF;4BACtF,OAAO,CAAC,YAAY;wBACtB,CAAC;wBACD,IAAI,CAAC;4BACH,SAAS,CAAC,OAAO,GAAG,KAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;4BAC3D,KAAI,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;wBACtC,CAAC;wBAAC,WAAM,CAAC;4BACP,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC;wBACjD,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,gEAAgE;gBAChE,sFAAsF;gBACtF,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,cAAc;gBAClC,kEAAkE;gBAClE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAEb,UAAU,GAAG,UAAC,cAA8B;oBAChD,IAAI,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,KAAI,CAAC,MAAM,EAAE,CAAC;wBACtD,OAAO;oBACT,CAAC;oBACD,IAAI,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;wBACjD,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;wBAC1C,KAAI,CAAC,OAAO,EAAE,CAAC;oBACjB,CAAC;gBACH,CAAC,CAAC;gBACF,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;;;;KAC1C;IAES,6BAAO,GAAjB;;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACtB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,MAAA,IAAI,CAAC,MAAM,0CAAE,kBAAkB,EAAE,CAAC;QAClC,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAK,EAAE,CAAC;IACvB,CAAC;IAEM,8BAAQ,GAAf,UAAgB,UAAkB;QAAlC,iBAmCC;QAlCC,IAAM,cAAc,GAAG,IAAI,yBAAc,CACvC,oBAAa,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,cAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,2BAAwB,EAC5G;YACE,GAAG,EACD,sBAAe,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,cAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,2BAAiB,IAAA,iBAAM,GAAE,WAAQ;YACvH,cAAc,EAAE,EAAE;YAClB,IAAI,EAAE,IAAI,CAAC,SAAS;YACpB,EAAE,EAAE,IAAI,CAAC,UAAU;YACnB,OAAO,EACL,eAAQ,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,cAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,cAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,uBAAoB;YACtI,SAAS,EAAE,IAAI,CAAC,MAAM;YACtB,KAAK,EAAE,OAAO;YACd,OAAO,EAAE,GAAG;YACZ,SAAS,EAAE,qCAAqC;YAChD,MAAM,EAAE,6BAA6B;YACrC,cAAc,EAAE,kCAAkC;YAClD,UAAU,EAAE,cAAO,UAAU,cAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAE;YAChE,aAAa,EACX,eAAQ,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,cAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,MAAG;SAC9E,CACF,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACpC,iCAAiC;QACjC,IAAM,aAAa,GAAG,UAAC,cAA8B;YACnD,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClD,OAAO;YACT,CAAC;YACD,IAAM,eAAe,GAAG,IAAI,0BAAe,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;YACjE,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACrC,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,gBAAgB,EAAE,CAAC;gBACpD,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC9C,CAAC;IACH,kBAAC;AAAD,CAAC,AAjND,CAAmC,qBAAY,GAiN9C;AAED,kBAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/call-session/index.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import CallSession from "./index.js";
2
- import { type InboundMessage } from "../sip-message/index.js";
3
- import type Softphone from "../index.js";
1
+ import CallSession from "./index";
2
+ import { type InboundMessage } from "../sip-message/index";
3
+ import type Softphone from "../index";
4
4
  declare class OutboundCallSession extends CallSession {
5
5
  constructor(softphone: Softphone, answerMessage: InboundMessage);
6
- init(): Promise<void>;
6
+ init(): void;
7
7
  cancel(): Promise<void>;
8
8
  }
9
9
  export default OutboundCallSession;
@@ -54,9 +54,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
54
54
  return (mod && mod.__esModule) ? mod : { "default": mod };
55
55
  };
56
56
  Object.defineProperty(exports, "__esModule", { value: true });
57
- var index_js_1 = __importDefault(require("./index.js"));
58
- var index_js_2 = require("../sip-message/index.js");
59
- var utils_js_1 = require("../utils.js");
57
+ var index_1 = __importDefault(require("./index"));
58
+ var index_2 = require("../sip-message/index");
59
+ var utils_1 = require("../utils");
60
60
  var OutboundCallSession = /** @class */ (function (_super) {
61
61
  __extends(OutboundCallSession, _super);
62
62
  function OutboundCallSession(softphone, answerMessage) {
@@ -68,58 +68,56 @@ var OutboundCallSession = /** @class */ (function (_super) {
68
68
  return _this;
69
69
  }
70
70
  OutboundCallSession.prototype.init = function () {
71
- return __awaiter(this, void 0, void 0, function () {
72
- var answerHandler;
73
- var _this = this;
74
- return __generator(this, function (_a) {
75
- answerHandler = function (message) {
76
- if (message.headers.CSeq !== _this.sipMessage.headers.CSeq) {
77
- return;
78
- }
79
- if (message.subject.startsWith("SIP/2.0 486")) {
80
- _this.softphone.off("message", answerHandler);
81
- _this.emit("busy");
82
- _this.dispose();
83
- return;
84
- }
85
- if (message.subject.startsWith("SIP/2.0 200")) {
86
- _this.softphone.off("message", answerHandler);
87
- _this.emit("answered");
88
- var ackMessage = new index_js_2.RequestMessage("ACK ".concat((0, utils_js_1.extractAddress)(_this.remotePeer), " SIP/2.0"), {
89
- "Call-ID": _this.callId,
90
- From: _this.localPeer,
91
- To: _this.remotePeer,
92
- Via: _this.sipMessage.headers.Via,
93
- CSeq: _this.sipMessage.headers.CSeq.replace(" INVITE", " ACK"),
94
- });
95
- _this.softphone.send(ackMessage);
96
- }
97
- };
98
- this.softphone.on("message", answerHandler);
99
- this.once("answered", function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
100
- return [2 /*return*/, this.startLocalServices()];
101
- }); }); });
102
- return [2 /*return*/];
103
- });
104
- });
71
+ var _this = this;
72
+ // wait for user to answer the call
73
+ var answerHandler = function (message) {
74
+ if (message.headers.CSeq !== _this.sipMessage.headers.CSeq) {
75
+ return;
76
+ }
77
+ if (message.subject.startsWith("SIP/2.0 486")) {
78
+ _this.softphone.off("message", answerHandler);
79
+ _this.emit("busy");
80
+ _this.dispose();
81
+ return;
82
+ }
83
+ if (message.subject.startsWith("SIP/2.0 200")) {
84
+ _this.softphone.off("message", answerHandler);
85
+ _this.emit("answered");
86
+ var ackMessage = new index_2.RequestMessage("ACK ".concat((0, utils_1.extractAddress)(_this.remotePeer), " SIP/2.0"), {
87
+ "Call-ID": _this.callId,
88
+ From: _this.localPeer,
89
+ To: _this.remotePeer,
90
+ Via: _this.sipMessage.headers.Via,
91
+ CSeq: _this.sipMessage.headers.CSeq.replace(" INVITE", " ACK"),
92
+ });
93
+ _this.softphone.send(ackMessage);
94
+ }
95
+ };
96
+ this.softphone.on("message", answerHandler);
97
+ this.once("answered", function () { return _this.startLocalServices(); });
105
98
  };
106
99
  OutboundCallSession.prototype.cancel = function () {
107
100
  return __awaiter(this, void 0, void 0, function () {
108
101
  var requestMessage;
109
102
  return __generator(this, function (_a) {
110
- requestMessage = new index_js_2.RequestMessage("CANCEL ".concat((0, utils_js_1.extractAddress)(this.remotePeer), " SIP/2.0"), {
111
- "Call-ID": this.callId,
112
- From: this.localPeer,
113
- To: (0, utils_js_1.withoutTag)(this.remotePeer),
114
- Via: this.sipMessage.headers.Via,
115
- CSeq: this.sipMessage.headers.CSeq.replace(" INVITE", " CANCEL"),
116
- });
117
- this.softphone.send(requestMessage);
118
- return [2 /*return*/];
103
+ switch (_a.label) {
104
+ case 0:
105
+ requestMessage = new index_2.RequestMessage("CANCEL ".concat((0, utils_1.extractAddress)(this.remotePeer), " SIP/2.0"), {
106
+ "Call-ID": this.callId,
107
+ From: this.localPeer,
108
+ To: (0, utils_1.withoutTag)(this.remotePeer),
109
+ Via: this.sipMessage.headers.Via,
110
+ CSeq: this.sipMessage.headers.CSeq.replace(" INVITE", " CANCEL"),
111
+ });
112
+ return [4 /*yield*/, this.softphone.send(requestMessage)];
113
+ case 1:
114
+ _a.sent();
115
+ return [2 /*return*/];
116
+ }
119
117
  });
120
118
  });
121
119
  };
122
120
  return OutboundCallSession;
123
- }(index_js_1.default));
121
+ }(index_1.default));
124
122
  exports.default = OutboundCallSession;
125
123
  //# sourceMappingURL=outbound.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"outbound.js","sourceRoot":"","sources":["../../../src/call-session/outbound.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"outbound.js","sourceRoot":"","sources":["../../../src/call-session/outbound.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAkC;AAClC,8CAA2E;AAE3E,kCAAsD;AAEtD;IAAkC,uCAAW;IAC3C,6BAAmB,SAAoB,EAAE,aAA6B;QACpE,YAAA,MAAK,YAAC,SAAS,EAAE,aAAa,CAAC,SAAC;QAChC,KAAI,CAAC,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC;QAC5C,KAAI,CAAC,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3C,KAAI,CAAC,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CACvC,0CAA0C,CAC1C,CAAC,CAAC,CAAC,CAAC;QACN,KAAI,CAAC,IAAI,EAAE,CAAC;;IACd,CAAC;IAEM,kCAAI,GAAX;QAAA,iBA+BC;QA9BC,mCAAmC;QACnC,IAAM,aAAa,GAAG,UAAC,OAAuB;YAC5C,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,KAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBAC1D,OAAO;YACT,CAAC;YACD,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC9C,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;gBAC7C,KAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAClB,KAAI,CAAC,OAAO,EAAE,CAAC;gBACf,OAAO;YACT,CAAC;YACD,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC9C,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;gBAC7C,KAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAEtB,IAAM,UAAU,GAAG,IAAI,sBAAc,CACnC,cAAO,IAAA,sBAAc,EAAC,KAAI,CAAC,UAAU,CAAC,aAAU,EAChD;oBACE,SAAS,EAAE,KAAI,CAAC,MAAM;oBACtB,IAAI,EAAE,KAAI,CAAC,SAAS;oBACpB,EAAE,EAAE,KAAI,CAAC,UAAU;oBACnB,GAAG,EAAE,KAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG;oBAChC,IAAI,EAAE,KAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC;iBAC9D,CACF,CAAC;gBACF,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAClC,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAM,OAAA,KAAI,CAAC,kBAAkB,EAAE,EAAzB,CAAyB,CAAC,CAAC;IACzD,CAAC;IAEY,oCAAM,GAAnB;;;;;;wBACQ,cAAc,GAAG,IAAI,sBAAc,CACvC,iBAAU,IAAA,sBAAc,EAAC,IAAI,CAAC,UAAU,CAAC,aAAU,EACnD;4BACE,SAAS,EAAE,IAAI,CAAC,MAAM;4BACtB,IAAI,EAAE,IAAI,CAAC,SAAS;4BACpB,EAAE,EAAE,IAAA,kBAAU,EAAC,IAAI,CAAC,UAAU,CAAC;4BAC/B,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG;4BAChC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC;yBACjE,CACF,CAAC;wBACF,qBAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,EAAA;;wBAAzC,SAAyC,CAAC;;;;;KAC3C;IACH,0BAAC;AAAD,CAAC,AAzDD,CAAkC,eAAW,GAyD5C;AAED,kBAAe,mBAAmB,CAAC"}
@@ -1,15 +1,16 @@
1
1
  import EventEmitter from "node:events";
2
- import type CallSession from "./index.js";
2
+ import { Buffer } from "node:buffer";
3
+ import type CallSession from "./index";
3
4
  declare class Streamer extends EventEmitter {
4
5
  paused: boolean;
5
6
  private callSession;
6
7
  private buffer;
7
8
  private originalBuffer;
8
9
  constructor(callSesstion: CallSession, buffer: Buffer);
9
- start(): Promise<void>;
10
- stop(): Promise<void>;
11
- pause(): Promise<void>;
12
- resume(): Promise<void>;
10
+ start(): void;
11
+ stop(): void;
12
+ pause(): void;
13
+ resume(): void;
13
14
  get finished(): boolean;
14
15
  private sendPacket;
15
16
  }