@ariaflowagents/livekit-plugin-transport-sip 0.9.10 → 0.9.12

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 (61) hide show
  1. package/dist/audio_input.d.ts +6 -5
  2. package/dist/audio_input.js +9 -7
  3. package/dist/audio_output.d.ts +0 -1
  4. package/dist/audio_output.js +0 -1
  5. package/dist/index.d.ts +1 -1
  6. package/dist/index.js +0 -1
  7. package/dist/native_bridge.d.ts +0 -1
  8. package/dist/native_bridge.js +0 -1
  9. package/dist/rtp/jitter_buffer.d.ts +0 -1
  10. package/dist/rtp/jitter_buffer.js +0 -1
  11. package/dist/rtp/rtp_packet.d.ts +0 -1
  12. package/dist/rtp/rtp_packet.js +0 -1
  13. package/dist/rtp/rtp_session.d.ts +0 -1
  14. package/dist/rtp/rtp_session.js +0 -1
  15. package/dist/sdp_g711.d.ts +0 -1
  16. package/dist/sdp_g711.js +0 -1
  17. package/dist/server.d.ts +86 -13
  18. package/dist/server.js +202 -33
  19. package/dist/sip_signaling.d.ts +0 -1
  20. package/dist/sip_signaling.js +0 -1
  21. package/dist/text_output.d.ts +0 -1
  22. package/dist/text_output.js +0 -1
  23. package/dist/transport_adapter.d.ts +9 -2
  24. package/dist/transport_adapter.js +9 -9
  25. package/dist/types.d.ts +0 -1
  26. package/dist/types.js +0 -1
  27. package/package.json +12 -12
  28. package/dist/audio_input.d.ts.map +0 -1
  29. package/dist/audio_input.js.map +0 -1
  30. package/dist/audio_output.d.ts.map +0 -1
  31. package/dist/audio_output.js.map +0 -1
  32. package/dist/codec/g711.d.ts +0 -17
  33. package/dist/codec/g711.d.ts.map +0 -1
  34. package/dist/codec/g711.js +0 -123
  35. package/dist/codec/g711.js.map +0 -1
  36. package/dist/index.d.ts.map +0 -1
  37. package/dist/index.js.map +0 -1
  38. package/dist/jssip_signaling.d.ts +0 -76
  39. package/dist/jssip_signaling.d.ts.map +0 -1
  40. package/dist/jssip_signaling.js +0 -255
  41. package/dist/jssip_signaling.js.map +0 -1
  42. package/dist/native_bridge.d.ts.map +0 -1
  43. package/dist/native_bridge.js.map +0 -1
  44. package/dist/rtp/jitter_buffer.d.ts.map +0 -1
  45. package/dist/rtp/jitter_buffer.js.map +0 -1
  46. package/dist/rtp/rtp_packet.d.ts.map +0 -1
  47. package/dist/rtp/rtp_packet.js.map +0 -1
  48. package/dist/rtp/rtp_session.d.ts.map +0 -1
  49. package/dist/rtp/rtp_session.js.map +0 -1
  50. package/dist/sdp_g711.d.ts.map +0 -1
  51. package/dist/sdp_g711.js.map +0 -1
  52. package/dist/server.d.ts.map +0 -1
  53. package/dist/server.js.map +0 -1
  54. package/dist/sip_signaling.d.ts.map +0 -1
  55. package/dist/sip_signaling.js.map +0 -1
  56. package/dist/text_output.d.ts.map +0 -1
  57. package/dist/text_output.js.map +0 -1
  58. package/dist/transport_adapter.d.ts.map +0 -1
  59. package/dist/transport_adapter.js.map +0 -1
  60. package/dist/types.d.ts.map +0 -1
  61. package/dist/types.js.map +0 -1
@@ -3,32 +3,33 @@ import { SIPAudioInput } from './audio_input.js';
3
3
  import { SIPAudioOutput } from './audio_output.js';
4
4
  import { SIPTextOutput } from './text_output.js';
5
5
  export class SIPTransportAdapter extends TransportAdapter {
6
- rtpSession;
7
6
  id;
8
7
  audioInput;
9
8
  audioOutput;
10
9
  textOutput;
11
10
  config;
11
+ _rtpSession;
12
12
  _isOpen = true;
13
13
  constructor(rtpSession, codec, options) {
14
14
  super();
15
- this.rtpSession = rtpSession;
15
+ this._rtpSession = rtpSession;
16
16
  this.id = options.id;
17
17
  const packetDurationMs = options.packetDurationMs ?? 20;
18
- // SIPAudioInput upsamples decoded G.711 (8kHz) to 16kHz for STT.
19
- // Report the actual output rate so AriaFlowVoiceSession forwards
20
- // the correct sample rate to the STT engine.
21
- const outputSampleRate = 16000;
18
+ const outputSampleRate = options.outputSampleRate ?? 24000;
22
19
  this.config = {
23
20
  sampleRate: outputSampleRate,
24
21
  numChannels: codec.channels,
25
22
  encoding: codec.name === 'PCMU' ? 'mulaw' : 'alaw',
26
23
  samplesPerChannel: (outputSampleRate * packetDurationMs) / 1000,
27
24
  };
28
- this.audioInput = new SIPAudioInput(rtpSession, codec.sampleRate, codec.channels);
25
+ this.audioInput = new SIPAudioInput(rtpSession, codec.sampleRate, codec.channels, outputSampleRate);
29
26
  this.audioOutput = new SIPAudioOutput(rtpSession, codec.sampleRate, packetDurationMs);
30
27
  this.textOutput = new SIPTextOutput();
31
28
  }
29
+ /** The underlying RTP session (for native bridge access). */
30
+ get rtpSession() {
31
+ return this._rtpSession;
32
+ }
32
33
  get isOpen() {
33
34
  return this._isOpen;
34
35
  }
@@ -38,7 +39,6 @@ export class SIPTransportAdapter extends TransportAdapter {
38
39
  this._isOpen = false;
39
40
  await this.audioInput.close();
40
41
  await this.audioOutput.close();
41
- this.rtpSession.close();
42
+ this._rtpSession.close();
42
43
  }
43
44
  }
44
- //# sourceMappingURL=transport_adapter.js.map
package/dist/types.d.ts CHANGED
@@ -43,4 +43,3 @@ export interface SIPServerOptions {
43
43
  /** Whether to register with SIP server (for WebSocket transport). Default: true. */
44
44
  shouldRegister?: boolean;
45
45
  }
46
- //# sourceMappingURL=types.d.ts.map
package/dist/types.js CHANGED
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=types.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ariaflowagents/livekit-plugin-transport-sip",
3
- "version": "0.9.10",
3
+ "version": "0.9.12",
4
4
  "description": "SIP/RTP transport adapter for LiveKit Agents. Run voice agents over traditional telephony with G.711 codec support.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -14,23 +14,23 @@
14
14
  "files": [
15
15
  "dist"
16
16
  ],
17
- "scripts": {
18
- "build": "tsc",
19
- "clean": "rm -rf dist",
20
- "typecheck": "tsc --noEmit",
21
- "test": "bun test test",
22
- "test:typecheck": "tsc -p test/tsconfig.json --noEmit"
23
- },
24
17
  "dependencies": {
25
18
  "node.js-sip": "^1.0.9"
26
19
  },
27
20
  "peerDependencies": {
28
- "@ariaflowagents/livekit-plugin": "workspace:*",
29
- "@livekit/agents": ">=1.0.0"
21
+ "@livekit/agents": ">=1.0.0",
22
+ "@ariaflowagents/livekit-plugin": "0.9.12"
30
23
  },
31
24
  "devDependencies": {
32
25
  "@types/node": "^22.10.0",
33
26
  "typescript": "^5.5.0"
34
27
  },
35
- "license": "Apache-2.0"
36
- }
28
+ "license": "Apache-2.0",
29
+ "scripts": {
30
+ "build": "tsc",
31
+ "clean": "rm -rf dist",
32
+ "typecheck": "tsc --noEmit",
33
+ "test": "bun test test",
34
+ "test:typecheck": "tsc -p test/tsconfig.json --noEmit"
35
+ }
36
+ }
@@ -1 +0,0 @@
1
- {"version":3,"file":"audio_input.d.ts","sourceRoot":"","sources":["../src/audio_input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAc,MAAM,gCAAgC,CAAC;AAGxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAKvD;;;;;;;;;GASG;AACH,qBAAa,aAAc,SAAQ,UAAU;IAOzC,OAAO,CAAC,UAAU;IANpB,OAAO,CAAC,MAAM,CAAwD;IACtE,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAqD;gBAG5D,UAAU,EAAE,UAAU,EAC9B,UAAU,GAAE,MAAwB,EACpC,WAAW,GAAE,MAAU;IASzB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,aAAa;IAiBf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAc7B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"audio_input.js","sourceRoot":"","sources":["../src/audio_input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGlD,MAAM,eAAe,GAAG,IAAI,CAAC;AAC7B,MAAM,eAAe,GAAG,KAAK,CAAC;AAE9B;;;;;;;;;GASG;AACH,MAAM,OAAO,aAAc,SAAQ,UAAU;IAOjC;IANF,MAAM,GAAmD,IAAI,CAAC;IAC9D,MAAM,GAAY,KAAK,CAAC;IACxB,WAAW,CAAS;IACpB,SAAS,GAAG,eAAe,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAEtE,YACU,UAAsB,EAC9B,aAAqB,eAAe,EACpC,cAAsB,CAAC;QAEvB,KAAK,EAAE,CAAC;QAJA,eAAU,GAAV,UAAU,CAAY;QAK9B,KAAK,UAAU,CAAC;QAChB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEO,WAAW;QACjB,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,eAAe,EAAc,CAAC;QACjE,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAe,EAAE,EAAE;YAC9C,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,OAAO;YAExC,MAAM,UAAU,GAAG,IAAI,UAAU,CAC/B,GAAG,EACH,eAAe,EACf,IAAI,CAAC,WAAW,EAChB,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAC9B,CAAC;YAEF,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACpD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB,sDAAsD;QACtD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC3C,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACjD,CAAC;YACD,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC1C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC;QAED,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"audio_output.d.ts","sourceRoot":"","sources":["../src/audio_output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAEzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAKvD;;;;;;;;;;;;GAYG;AACH,qBAAa,cAAe,SAAQ,WAAW;IAW3C,OAAO,CAAC,UAAU;IAVpB,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,SAAS,CAA+C;IAChE,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,SAAS,CAAqD;gBAG5D,UAAU,EAAE,UAAU,EAC9B,UAAU,GAAE,MAAwB,EACpC,gBAAgB,GAAE,MAAW;IAOzB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAepD,OAAO,CAAC,cAAc;IAwDtB,OAAO,CAAC,aAAa;IAOrB,KAAK,IAAI,IAAI;IAmBb,WAAW,IAAI,IAAI;IAiBb,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAK7B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"audio_output.js","sourceRoot":"","sources":["../src/audio_output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAc,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAC;AAGhF,MAAM,eAAe,GAAG,KAAK,CAAC;AAC9B,MAAM,eAAe,GAAG,IAAI,CAAC;AAE7B;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,cAAe,SAAQ,WAAW;IAWnC;IAVF,SAAS,GAAiB,EAAE,CAAC;IAC7B,SAAS,GAA0C,IAAI,CAAC;IACxD,kBAAkB,GAAW,CAAC,CAAC;IAC/B,OAAO,GAAY,KAAK,CAAC;IACzB,MAAM,GAAY,KAAK,CAAC;IACxB,gBAAgB,CAAS;IACzB,gBAAgB,CAAS;IACzB,SAAS,GAAG,eAAe,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAEtE,YACU,UAAsB,EAC9B,aAAqB,eAAe,EACpC,mBAA2B,EAAE;QAE7B,KAAK,CAAC,UAAU,CAAC,CAAC;QAJV,eAAU,GAAV,UAAU,CAAY;QAK9B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,gBAAgB,GAAG,CAAC,UAAU,GAAG,gBAAgB,CAAC,GAAG,IAAI,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAiB;QAClC,MAAM,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QAExB,IAAI,IAAI,CAAC,kBAAkB,KAAK,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACnC,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC;QAED,kEAAkE;QAClE,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAEO,cAAc;QACpB,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAE3B,IAAI,WAAW,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;QAEpC,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;YAChC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,OAAO;YACT,CAAC;YAED,uCAAuC;YACvC,OACE,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB;gBAC1C,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EACzB,CAAC;gBACD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAG,CAAC;gBACrC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;gBAChE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACxB,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;gBACrC,WAAW,GAAG,MAAM,CAAC;YACvB,CAAC;YAED,IAAI,WAAW,CAAC,MAAM,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAChD,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC3D,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAEvD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAClC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,gBAAgB,CAAC;YACnD,CAAC;iBAAM,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvD,IAAI,CAAC,aAAa,EAAE,CAAC;gBAErB,wDAAwD;gBACxD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3B,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;oBACrD,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBACxB,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;oBAClC,IAAI,CAAC,kBAAkB,IAAI,WAAW,CAAC,MAAM,CAAC;oBAC9C,WAAW,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;gBAClC,CAAC;gBAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU;oBACtC,CAAC,CAAC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,UAAU;oBAC3C,CAAC,CAAC,CAAC,CAAC;gBAEN,IAAI,CAAC,kBAAkB,CAAC;oBACtB,gBAAgB,EAAE,gBAAgB;oBAClC,WAAW,EAAE,KAAK;iBACnB,CAAC,CAAC;gBAEH,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;gBAC5B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACvB,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC5B,CAAC;IAEO,aAAa;QACnB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC;IACH,CAAC;IAED,KAAK;QACH,KAAK,CAAC,KAAK,EAAE,CAAC;QAEd,gDAAgD;QAChD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC;YAC9C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,IAAI,IAAI,CAAC,kBAAkB,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjE,IAAI,CAAC,kBAAkB,CAAC;gBACtB,gBAAgB,EAAE,CAAC;gBACnB,WAAW,EAAE,KAAK;aACnB,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC;IACH,CAAC;IAED,WAAW;QACT,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU;YACtC,CAAC,CAAC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,UAAU;YAC3C,CAAC,CAAC,CAAC,CAAC;QAEN,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,IAAI,CAAC,kBAAkB,CAAC;YACtB,gBAAgB,EAAE,gBAAgB;YAClC,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QAEH,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACtB,CAAC;CACF"}
@@ -1,17 +0,0 @@
1
- /**
2
- * G.711 mu-law and A-law codec implementation.
3
- *
4
- * Converts between 16-bit signed linear PCM (AudioFrame format) and
5
- * 8-bit compressed telephony audio. Stateless per-sample operation.
6
- */
7
- export interface Codec {
8
- readonly name: string;
9
- readonly payloadType: number;
10
- readonly sampleRate: number;
11
- readonly channels: number;
12
- decode(input: Uint8Array): Int16Array;
13
- encode(input: Int16Array): Uint8Array;
14
- }
15
- export declare const PCMU: Codec;
16
- export declare const PCMA: Codec;
17
- //# sourceMappingURL=g711.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"g711.d.ts","sourceRoot":"","sources":["../../src/codec/g711.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAwFH,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAAC;IACtC,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAAC;CACvC;AAED,eAAO,MAAM,IAAI,EAAE,KAqBlB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,KAqBlB,CAAC"}
@@ -1,123 +0,0 @@
1
- /**
2
- * G.711 mu-law and A-law codec implementation.
3
- *
4
- * Converts between 16-bit signed linear PCM (AudioFrame format) and
5
- * 8-bit compressed telephony audio. Stateless per-sample operation.
6
- */
7
- // --- mu-law ---
8
- const MULAW_BIAS = 33;
9
- const MULAW_CLIP = 32635;
10
- const mulawExpTable = new Uint8Array([
11
- 0, 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4,
12
- 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
13
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
14
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
15
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
16
- 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
17
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
18
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
19
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
20
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
21
- 7, 7, 7, 7, 7, 7,
22
- ]);
23
- function mulawEncodeSample(sample) {
24
- const sign = (sample >> 8) & 0x80;
25
- if (sign !== 0)
26
- sample = -sample;
27
- if (sample > MULAW_CLIP)
28
- sample = MULAW_CLIP;
29
- sample += MULAW_BIAS;
30
- const exponent = mulawExpTable[(sample >> 7) & 0xff];
31
- const mantissa = (sample >> (exponent + 3)) & 0x0f;
32
- return ~(sign | (exponent << 4) | mantissa) & 0xff;
33
- }
34
- function mulawDecodeSample(mulaw) {
35
- mulaw = ~mulaw & 0xff;
36
- const sign = mulaw & 0x80;
37
- const exponent = (mulaw >> 4) & 0x07;
38
- const mantissa = mulaw & 0x0f;
39
- let sample = ((mantissa << 3) + MULAW_BIAS) << exponent;
40
- sample -= MULAW_BIAS;
41
- return sign !== 0 ? -sample : sample;
42
- }
43
- // --- A-law ---
44
- const alawExpTable = new Uint8Array([
45
- 1, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5,
46
- 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
47
- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
48
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
49
- 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
50
- 7, 7, 7,
51
- ]);
52
- function alawEncodeSample(sample) {
53
- const sign = (~sample >> 8) & 0x80;
54
- if (sign === 0)
55
- sample = -sample;
56
- if (sample > 32767)
57
- sample = 32767;
58
- let compressedByte;
59
- if (sample >= 256) {
60
- const exponent = alawExpTable[(sample >> 8) & 0x7f];
61
- const mantissa = (sample >> (exponent + 3)) & 0x0f;
62
- compressedByte = (exponent << 4) | mantissa;
63
- }
64
- else {
65
- compressedByte = sample >> 4;
66
- }
67
- return (compressedByte ^ (sign ^ 0x55)) & 0xff;
68
- }
69
- function alawDecodeSample(alaw) {
70
- alaw ^= 0x55;
71
- const sign = alaw & 0x80;
72
- const exponent = (alaw >> 4) & 0x07;
73
- const mantissa = alaw & 0x0f;
74
- let sample;
75
- if (exponent !== 0) {
76
- sample = ((mantissa << 4) + 0x108) << (exponent - 1);
77
- }
78
- else {
79
- sample = (mantissa << 4) + 8;
80
- }
81
- return sign !== 0 ? sample : -sample;
82
- }
83
- export const PCMU = {
84
- name: 'PCMU',
85
- payloadType: 0,
86
- sampleRate: 8000,
87
- channels: 1,
88
- decode(input) {
89
- const output = new Int16Array(input.length);
90
- for (let i = 0; i < input.length; i++) {
91
- output[i] = mulawDecodeSample(input[i]);
92
- }
93
- return output;
94
- },
95
- encode(input) {
96
- const output = new Uint8Array(input.length);
97
- for (let i = 0; i < input.length; i++) {
98
- output[i] = mulawEncodeSample(input[i]);
99
- }
100
- return output;
101
- },
102
- };
103
- export const PCMA = {
104
- name: 'PCMA',
105
- payloadType: 8,
106
- sampleRate: 8000,
107
- channels: 1,
108
- decode(input) {
109
- const output = new Int16Array(input.length);
110
- for (let i = 0; i < input.length; i++) {
111
- output[i] = alawDecodeSample(input[i]);
112
- }
113
- return output;
114
- },
115
- encode(input) {
116
- const output = new Uint8Array(input.length);
117
- for (let i = 0; i < input.length; i++) {
118
- output[i] = alawEncodeSample(input[i]);
119
- }
120
- return output;
121
- },
122
- };
123
- //# sourceMappingURL=g711.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"g711.js","sourceRoot":"","sources":["../../src/codec/g711.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,iBAAiB;AAEjB,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,MAAM,UAAU,GAAG,KAAK,CAAC;AAEzB,MAAM,aAAa,GAAG,IAAI,UAAU,CAAC;IACnC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACzE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACzE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACzE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACzE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACzE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACzE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACzE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACzE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACzE,CAAC,EAAE,C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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,KAAK,EAAE,MAAM,2CAA2C,CAAC;AAEnF,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAc,MAAM,2CAA2C,CAAC;AAEnF,OAAO,EAAE,UAAU,EAA0B,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,cAAc,EAAkB,MAAM,qBAAqB,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1,76 +0,0 @@
1
- /**
2
- * SIP Signaling implementation using JsSIP library for WebSocket transport.
3
- *
4
- * @experimental
5
- *
6
- * WARNING: JsSIP is a WebRTC-only library. Its `session.answer()` API is a
7
- * WebRTC API and cannot bridge to the raw RTP pipeline used by `SIPAudioInput`
8
- * and `SIPAudioOutput`. This file is kept for reference but the WebSocket SIP
9
- * signaling path is architecturally incompatible with the RTP transport.
10
- *
11
- * For production use, use `sip_signaling.ts` (UDP-based, compatible with RTP).
12
- *
13
- * JsSIP supports:
14
- * - SIP over WebSocket (secure WSS and non-secure WS)
15
- * - WebRTC for media (NOT compatible with raw RTP)
16
- * - Full SIP protocol compliance (INVITE, ACK, BYE, etc.)
17
- */
18
- import type { SIPServerOptions } from './types.js';
19
- /**
20
- * Callback for incoming INVITE requests.
21
- */
22
- export type OnInviteCallback = (callId: string, remoteSdp: string, rtpPort: number) => void;
23
- /**
24
- * Callback for BYE requests (remote hangup).
25
- */
26
- export type OnByeCallback = (callId: string) => void;
27
- /**
28
- * SIP Signaling handler using JsSIP over WebSocket.
29
- *
30
- * This implementation uses the JsSIP library for WebSocket-based SIP
31
- * signaling, commonly used with WebRTC and modern SIP providers.
32
- */
33
- export declare class JsSIPSignaling {
34
- private options;
35
- private ua;
36
- private activeSessions;
37
- private nextRtpPort;
38
- private localAddress;
39
- constructor(options: SIPServerOptions);
40
- /**
41
- * Start the SIP user agent and begin listening for calls over WebSocket.
42
- *
43
- * @param onInvite - Callback when a new INVITE is received
44
- * @param onBye - Callback when a BYE is received (remote hangup)
45
- */
46
- start(onInvite: OnInviteCallback, onBye?: OnByeCallback): Promise<void>;
47
- /**
48
- * Handle an incoming INVITE request.
49
- */
50
- private handleIncomingInvite;
51
- /**
52
- * Hang up an active call.
53
- */
54
- hangup(callId: string): Promise<void>;
55
- /**
56
- * Make an outgoing call.
57
- */
58
- makeCall(targetUri: string, onInvite?: OnInviteCallback, onBye?: OnByeCallback): Promise<string>;
59
- /**
60
- * Stop the SIP user agent and hang up all active calls.
61
- */
62
- stop(): Promise<void>;
63
- /**
64
- * Get the RTP port allocated for a specific call.
65
- */
66
- getRtpPort(callId: string): number | undefined;
67
- /**
68
- * Check if the user agent is registered.
69
- */
70
- get isRegistered(): boolean;
71
- /**
72
- * Get the user agent status.
73
- */
74
- get status(): 'disconnected' | 'connecting' | 'connected';
75
- }
76
- //# sourceMappingURL=jssip_signaling.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jssip_signaling.d.ts","sourceRoot":"","sources":["../src/jssip_signaling.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAE5F;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;AAmBrD;;;;;GAKG;AACH,qBAAa,cAAc;IAMb,OAAO,CAAC,OAAO;IAL3B,OAAO,CAAC,EAAE,CAAmB;IAC7B,OAAO,CAAC,cAAc,CAAoE;IAC1F,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,YAAY,CAAS;gBAET,OAAO,EAAE,gBAAgB;IAK7C;;;;;OAKG;IACG,KAAK,CAAC,QAAQ,EAAE,gBAAgB,EAAE,KAAK,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IA4C7E;;OAEG;YACW,oBAAoB;IA6DlC;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB3C;;OAEG;IACG,QAAQ,CACZ,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,gBAAgB,EAC3B,KAAK,CAAC,EAAE,aAAa,GACpB,OAAO,CAAC,MAAM,CAAC;IAkDlB;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA0B3B;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI9C;;OAEG;IACH,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,cAAc,GAAG,YAAY,GAAG,WAAW,CAOxD;CACF"}
@@ -1,255 +0,0 @@
1
- /**
2
- * SIP Signaling implementation using JsSIP library for WebSocket transport.
3
- *
4
- * @experimental
5
- *
6
- * WARNING: JsSIP is a WebRTC-only library. Its `session.answer()` API is a
7
- * WebRTC API and cannot bridge to the raw RTP pipeline used by `SIPAudioInput`
8
- * and `SIPAudioOutput`. This file is kept for reference but the WebSocket SIP
9
- * signaling path is architecturally incompatible with the RTP transport.
10
- *
11
- * For production use, use `sip_signaling.ts` (UDP-based, compatible with RTP).
12
- *
13
- * JsSIP supports:
14
- * - SIP over WebSocket (secure WSS and non-secure WS)
15
- * - WebRTC for media (NOT compatible with raw RTP)
16
- * - Full SIP protocol compliance (INVITE, ACK, BYE, etc.)
17
- */
18
- import { UA, WebSocketInterface } from 'jssip';
19
- /**
20
- * SDP offer for G.711 μ-law audio.
21
- */
22
- const G711_SDP_OFFER = (localAddress, rtpPort) => `v=0\r\n` +
23
- `o=- ${Date.now()} ${Date.now()} IN IP4 ${localAddress}\r\n` +
24
- `s=AriaFlow Voice Agent\r\n` +
25
- `c=IN IP4 ${localAddress}\r\n` +
26
- `t=0 0\r\n` +
27
- `m=audio ${rtpPort} RTP/AVP 0 8\r\n` + // 0 = G.711 μ-law (PCMU), 8 = G.711 A-law (PCMA)
28
- `a=rtpmap:0 PCMU/8000\r\n` +
29
- `a=rtpmap:8 PCMA/8000\r\n` +
30
- `a=fmtp:0\r\n` +
31
- `a=fmtp:8\r\n` +
32
- `a=ptime:20\r\n` +
33
- `a=sendrecv\r\n`;
34
- /**
35
- * SIP Signaling handler using JsSIP over WebSocket.
36
- *
37
- * This implementation uses the JsSIP library for WebSocket-based SIP
38
- * signaling, commonly used with WebRTC and modern SIP providers.
39
- */
40
- export class JsSIPSignaling {
41
- options;
42
- ua = null;
43
- activeSessions = new Map();
44
- nextRtpPort;
45
- localAddress;
46
- constructor(options) {
47
- this.options = options;
48
- this.localAddress = options.localAddress;
49
- this.nextRtpPort = options.rtpPortStart ?? 10000;
50
- }
51
- /**
52
- * Start the SIP user agent and begin listening for calls over WebSocket.
53
- *
54
- * @param onInvite - Callback when a new INVITE is received
55
- * @param onBye - Callback when a BYE is received (remote hangup)
56
- */
57
- async start(onInvite, onBye) {
58
- // Create WebSocket URL
59
- const wsProtocol = this.options.secureWebSocket === false ? 'ws' : 'wss';
60
- const wsUrl = `${wsProtocol}://${this.options.wsServerHost || this.localAddress}:${this.options.wsServerPort || 8080}/ws`;
61
- // Create SIP URI
62
- const sipUri = `sip:${this.options.sipUsername || 'agent'}@${this.options.sipDomain || this.localAddress}`;
63
- // Create JsSIP User Agent
64
- this.ua = new UA({
65
- uri: sipUri,
66
- sockets: [new WebSocketInterface(wsUrl)],
67
- password: this.options.sipPassword,
68
- register: this.options.shouldRegister !== false, // Register by default
69
- });
70
- // Set up event handlers for incoming calls
71
- this.ua.on('newRTCSession', (data) => {
72
- this.handleIncomingInvite(data.session, onInvite, onBye);
73
- });
74
- // Set up connection event handlers
75
- this.ua.on('connected', () => {
76
- console.log(`[JsSIPSignaling] Connected to SIP server: ${wsUrl}`);
77
- });
78
- this.ua.on('disconnected', () => {
79
- console.warn('[JsSIPSignaling] Disconnected from SIP server');
80
- });
81
- this.ua.on('registered', () => {
82
- console.log(`[JsSIPSignaling] Registered as: ${sipUri}`);
83
- });
84
- this.ua.on('registrationFailed', () => {
85
- console.error('[JsSIPSignaling] Registration failed');
86
- });
87
- // Start the user agent
88
- this.ua.start();
89
- console.log(`[JsSIPSignaling] Started with WebSocket: ${wsUrl}`);
90
- }
91
- /**
92
- * Handle an incoming INVITE request.
93
- */
94
- async handleIncomingInvite(session, onInvite, onBye) {
95
- const callId = session.request?.callId || `call-${Date.now()}`;
96
- const remoteSdp = session.request?.body || '';
97
- console.log(`[JsSIPSignaling] Received INVITE for call: ${callId}`);
98
- console.log(`[JsSIPSignaling] From: ${session.remote_identity?.uri?.toString() || session}`);
99
- // Allocate RTP port for this call
100
- const rtpPort = this.nextRtpPort;
101
- this.nextRtpPort += 2; // RTP uses even ports
102
- // Generate SDP answer with our RTP port
103
- const sdpAnswer = G711_SDP_OFFER(this.localAddress, rtpPort);
104
- // Set up session state handlers
105
- session.on('progress', () => {
106
- console.log(`[JsSIPSignaling] Call ${callId} in progress`);
107
- });
108
- session.on('confirmed', () => {
109
- console.log(`[JsSIPSignaling] Call ${callId} established`);
110
- });
111
- session.on('ended', () => {
112
- console.log(`[JsSIPSignaling] Call ${callId} ended`);
113
- this.activeSessions.delete(callId);
114
- if (onBye) {
115
- onBye(callId);
116
- }
117
- });
118
- session.on('failed', (error) => {
119
- console.error(`[JsSIPSignaling] Call ${callId} failed:`, error);
120
- this.activeSessions.delete(callId);
121
- });
122
- // Accept the invitation with our SDP
123
- try {
124
- await session.answer({
125
- extraHeaders: ['Content-Type: application/sdp'],
126
- });
127
- // Track the active session
128
- this.activeSessions.set(callId, { session, rtpPort });
129
- // Notify the application about the new call
130
- onInvite(callId, remoteSdp, rtpPort);
131
- }
132
- catch (error) {
133
- console.error(`[JsSIPSignaling] Error accepting call ${callId}:`, error);
134
- try {
135
- session.terminate();
136
- }
137
- catch {
138
- // Ignore terminate errors
139
- }
140
- }
141
- }
142
- /**
143
- * Hang up an active call.
144
- */
145
- async hangup(callId) {
146
- const activeSession = this.activeSessions.get(callId);
147
- if (!activeSession) {
148
- console.warn(`[JsSIPSignaling] No active session for call: ${callId}`);
149
- return;
150
- }
151
- try {
152
- await activeSession.session.terminate();
153
- this.activeSessions.delete(callId);
154
- console.log(`[JsSIPSignaling] Hung up call: ${callId}`);
155
- }
156
- catch (error) {
157
- console.error(`[JsSIPSignaling] Error hanging up call ${callId}:`, error);
158
- }
159
- }
160
- /**
161
- * Make an outgoing call.
162
- */
163
- async makeCall(targetUri, onInvite, onBye) {
164
- if (!this.ua) {
165
- throw new Error('[JsSIPSignaling] User agent not started');
166
- }
167
- // Allocate RTP port for this call
168
- const rtpPort = this.nextRtpPort;
169
- this.nextRtpPort += 2;
170
- // Generate SDP offer with our RTP port
171
- const sdpOffer = G711_SDP_OFFER(this.localAddress, rtpPort);
172
- // Create the call session
173
- const session = this.ua.call(targetUri, {
174
- extraHeaders: ['Content-Type: application/sdp'],
175
- eventHandlers: {
176
- progress: () => {
177
- const callId = session.request?.callId || `call-${Date.now()}`;
178
- console.log(`[JsSIPSignaling] Outgoing call ${callId} in progress`);
179
- },
180
- confirmed: () => {
181
- const callId = session.request?.callId || `call-${Date.now()}`;
182
- console.log(`[JsSIPSignaling] Outgoing call ${callId} accepted`);
183
- this.activeSessions.set(callId, { session, rtpPort });
184
- if (onInvite) {
185
- onInvite(callId, session.request?.body || '', rtpPort);
186
- }
187
- },
188
- ended: () => {
189
- const callId = session.request?.callId || `call-${Date.now()}`;
190
- console.log(`[JsSIPSignaling] Outgoing call ${callId} ended`);
191
- this.activeSessions.delete(callId);
192
- if (onBye) {
193
- onBye(callId);
194
- }
195
- },
196
- failed: (error) => {
197
- const callId = session.request?.callId || `call-${Date.now()}`;
198
- console.error(`[JsSIPSignaling] Outgoing call ${callId} failed:`, error);
199
- this.activeSessions.delete(callId);
200
- },
201
- },
202
- });
203
- return session.request?.callId || `call-${Date.now()}`;
204
- }
205
- /**
206
- * Stop the SIP user agent and hang up all active calls.
207
- */
208
- async stop() {
209
- if (!this.ua) {
210
- return;
211
- }
212
- // Hang up all active calls
213
- const hangupPromises = Array.from(this.activeSessions.entries()).map(async ([callId, { session }]) => {
214
- try {
215
- await session.terminate();
216
- }
217
- catch (error) {
218
- console.error(`[JsSIPSignaling] Error hanging up call ${callId} during shutdown:`, error);
219
- }
220
- });
221
- await Promise.allSettled(hangupPromises);
222
- this.activeSessions.clear();
223
- // Stop the user agent
224
- this.ua.stop();
225
- this.ua = null;
226
- console.log('[JsSIPSignaling] Stopped');
227
- }
228
- /**
229
- * Get the RTP port allocated for a specific call.
230
- */
231
- getRtpPort(callId) {
232
- return this.activeSessions.get(callId)?.rtpPort;
233
- }
234
- /**
235
- * Check if the user agent is registered.
236
- */
237
- get isRegistered() {
238
- return this.ua?.isRegistered() ?? false;
239
- }
240
- /**
241
- * Get the user agent status.
242
- */
243
- get status() {
244
- if (!this.ua)
245
- return 'disconnected';
246
- const uaStatus = this.ua.status;
247
- // JsSIP UA status: 0 = Init, 1 = Ready, 2 = UserRegistered, 3 = Unregistered
248
- if (uaStatus === 0)
249
- return 'connecting';
250
- if (uaStatus === 1 || uaStatus === 2)
251
- return 'connected';
252
- return 'disconnected';
253
- }
254
- }
255
- //# sourceMappingURL=jssip_signaling.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jssip_signaling.js","sourceRoot":"","sources":["../src/jssip_signaling.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"native_bridge.d.ts","sourceRoot":"","sources":["../src/native_bridge.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AA0BvD;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,UAAU,EACtB,OAAO,CAAC,EAAE;IACR,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GACA,oBAAoB,CAqGtB"}