react-jssip-kit 0.4.7 → 0.4.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -485,7 +485,7 @@ function createSessionHandlers(deps) {
485
485
  } = deps;
486
486
  return {
487
487
  progress: (e) => {
488
- emitter.emit("progress", { sessionId, data: e });
488
+ emitter.emit("progress", e);
489
489
  state.batchSet({
490
490
  sessions: state.getState().sessions.map(
491
491
  (s) => s.id === sessionId ? { ...s, status: CallStatus.Ringing } : s
@@ -493,7 +493,7 @@ function createSessionHandlers(deps) {
493
493
  });
494
494
  },
495
495
  accepted: (e) => {
496
- emitter.emit("accepted", { sessionId, data: e });
496
+ emitter.emit("accepted", e);
497
497
  state.batchSet({
498
498
  sessions: state.getState().sessions.map(
499
499
  (s) => s.id === sessionId ? {
@@ -504,9 +504,9 @@ function createSessionHandlers(deps) {
504
504
  )
505
505
  });
506
506
  },
507
- confirmed: (e) => emitter.emit("confirmed", { sessionId, data: e }),
507
+ confirmed: (e) => emitter.emit("confirmed", e),
508
508
  ended: (e) => {
509
- emitter.emit("ended", { sessionId, data: e });
509
+ emitter.emit("ended", e);
510
510
  detachSessionHandlers();
511
511
  rtc.cleanup();
512
512
  const nextSessions = state.getState().sessions.filter((s) => s.id !== sessionId);
@@ -515,7 +515,7 @@ function createSessionHandlers(deps) {
515
515
  });
516
516
  },
517
517
  failed: (e) => {
518
- emitter.emit("failed", { sessionId, data: e });
518
+ emitter.emit("failed", e);
519
519
  detachSessionHandlers();
520
520
  rtc.cleanup();
521
521
  const cause = e?.cause || "call failed";
@@ -526,31 +526,31 @@ function createSessionHandlers(deps) {
526
526
  });
527
527
  },
528
528
  muted: () => {
529
- emitter.emit("muted", { sessionId, data: void 0 });
529
+ emitter.emit("muted", void 0);
530
530
  upsertSessionState(state, sessionId, { muted: true });
531
531
  },
532
532
  unmuted: () => {
533
- emitter.emit("unmuted", { sessionId, data: void 0 });
533
+ emitter.emit("unmuted", void 0);
534
534
  upsertSessionState(state, sessionId, { muted: false });
535
535
  },
536
536
  hold: () => {
537
- emitter.emit("hold", { sessionId, data: void 0 });
537
+ emitter.emit("hold", void 0);
538
538
  upsertSessionState(state, sessionId, { status: CallStatus.Hold });
539
539
  },
540
540
  unhold: () => {
541
- emitter.emit("unhold", { sessionId, data: void 0 });
541
+ emitter.emit("unhold", void 0);
542
542
  upsertSessionState(state, sessionId, { status: CallStatus.Active });
543
543
  },
544
- reinvite: (e) => emitter.emit("reinvite", { sessionId, data: e }),
545
- update: (e) => emitter.emit("update", { sessionId, data: e }),
546
- sdp: (e) => emitter.emit("sdp", { sessionId, data: e }),
547
- icecandidate: (e) => emitter.emit("icecandidate", { sessionId, data: e }),
548
- refer: (e) => emitter.emit("refer", { sessionId, data: e }),
549
- replaces: (e) => emitter.emit("replaces", { sessionId, data: e }),
550
- newDTMF: (e) => emitter.emit("newDTMF", { sessionId, data: e }),
551
- newInfo: (e) => emitter.emit("newInfo", { sessionId, data: e }),
544
+ reinvite: (e) => emitter.emit("reinvite", e),
545
+ update: (e) => emitter.emit("update", e),
546
+ sdp: (e) => emitter.emit("sdp", e),
547
+ icecandidate: (e) => emitter.emit("icecandidate", e),
548
+ refer: (e) => emitter.emit("refer", e),
549
+ replaces: (e) => emitter.emit("replaces", e),
550
+ newDTMF: (e) => emitter.emit("newDTMF", e),
551
+ newInfo: (e) => emitter.emit("newInfo", e),
552
552
  getusermediafailed: (e) => {
553
- emitter.emit("getusermediafailed", { sessionId, data: e });
553
+ emitter.emit("getusermediafailed", e);
554
554
  detachSessionHandlers();
555
555
  rtc.cleanup();
556
556
  onSessionFailed("getUserMedia failed", e);
@@ -559,7 +559,7 @@ function createSessionHandlers(deps) {
559
559
  });
560
560
  },
561
561
  "peerconnection:createofferfailed": (e) => {
562
- emitter.emit("peerconnection:createofferfailed", { sessionId, data: e });
562
+ emitter.emit("peerconnection:createofferfailed", e);
563
563
  detachSessionHandlers();
564
564
  rtc.cleanup();
565
565
  onSessionFailed("peer connection createOffer failed", e);
@@ -568,7 +568,7 @@ function createSessionHandlers(deps) {
568
568
  });
569
569
  },
570
570
  "peerconnection:createanswerfailed": (e) => {
571
- emitter.emit("peerconnection:createanswerfailed", { sessionId, data: e });
571
+ emitter.emit("peerconnection:createanswerfailed", e);
572
572
  detachSessionHandlers();
573
573
  rtc.cleanup();
574
574
  onSessionFailed("peer connection createAnswer failed", e);
@@ -577,7 +577,7 @@ function createSessionHandlers(deps) {
577
577
  });
578
578
  },
579
579
  "peerconnection:setlocaldescriptionfailed": (e) => {
580
- emitter.emit("peerconnection:setlocaldescriptionfailed", { sessionId, data: e });
580
+ emitter.emit("peerconnection:setlocaldescriptionfailed", e);
581
581
  detachSessionHandlers();
582
582
  rtc.cleanup();
583
583
  onSessionFailed("peer connection setLocalDescription failed", e);
@@ -586,7 +586,7 @@ function createSessionHandlers(deps) {
586
586
  });
587
587
  },
588
588
  "peerconnection:setremotedescriptionfailed": (e) => {
589
- emitter.emit("peerconnection:setremotedescriptionfailed", { sessionId, data: e });
589
+ emitter.emit("peerconnection:setremotedescriptionfailed", e);
590
590
  detachSessionHandlers();
591
591
  rtc.cleanup();
592
592
  onSessionFailed("peer connection setRemoteDescription failed", e);
@@ -594,7 +594,7 @@ function createSessionHandlers(deps) {
594
594
  sessions: state.getState().sessions.filter((s) => s.id !== sessionId)
595
595
  });
596
596
  },
597
- peerconnection: (e) => emitter.emit("peerconnection", { sessionId, data: e })
597
+ peerconnection: (e) => emitter.emit("peerconnection", e)
598
598
  };
599
599
  }
600
600
 
@@ -850,7 +850,7 @@ var SessionLifecycle = class {
850
850
  } catch {
851
851
  }
852
852
  if (e.originator === "remote") {
853
- this.emit("missed", { sessionId, data: e });
853
+ this.emit("missed", e);
854
854
  }
855
855
  this.emitError("max session count reached", "MAX_SESSIONS_REACHED", "max session count reached");
856
856
  return;
@@ -880,7 +880,7 @@ var SessionLifecycle = class {
880
880
  mediaKind: sdpHasVideo ? "video" : "audio",
881
881
  remoteVideoEnabled: sdpHasVideo
882
882
  });
883
- this.emit("newRTCSession", { sessionId, data: e });
883
+ this.emit("newRTCSession", e);
884
884
  }
885
885
  };
886
886
 
@@ -1290,13 +1290,48 @@ function createSipClientInstance(options) {
1290
1290
  return new SipClient(options);
1291
1291
  }
1292
1292
  function createSipEventManager(client) {
1293
+ const sessionEventNames = /* @__PURE__ */ new Set([
1294
+ "peerconnection",
1295
+ "connecting",
1296
+ "sending",
1297
+ "progress",
1298
+ "accepted",
1299
+ "confirmed",
1300
+ "ended",
1301
+ "failed",
1302
+ "newDTMF",
1303
+ "newInfo",
1304
+ "hold",
1305
+ "unhold",
1306
+ "muted",
1307
+ "unmuted",
1308
+ "reinvite",
1309
+ "update",
1310
+ "refer",
1311
+ "replaces",
1312
+ "sdp",
1313
+ "icecandidate",
1314
+ "getusermediafailed",
1315
+ "peerconnection:createofferfailed",
1316
+ "peerconnection:createanswerfailed",
1317
+ "peerconnection:setlocaldescriptionfailed",
1318
+ "peerconnection:setremotedescriptionfailed"
1319
+ ]);
1293
1320
  return {
1294
1321
  on(event, handler) {
1295
1322
  return client.on(event, handler);
1296
1323
  },
1297
1324
  onSession(sessionId, event, handler) {
1325
+ if (sessionEventNames.has(String(event))) {
1326
+ const session = client.getSession(sessionId);
1327
+ if (session) {
1328
+ session.on(event, handler);
1329
+ return () => session.off(event, handler);
1330
+ }
1331
+ }
1298
1332
  return client.on(event, (payload) => {
1299
- if (payload && "sessionId" in payload && payload.sessionId === sessionId) {
1333
+ const id = payload?.session?.id ?? payload?.sessionId ?? payload?.data?.session?.id ?? payload?.data?.id;
1334
+ if (id && String(id) === sessionId) {
1300
1335
  handler(payload);
1301
1336
  }
1302
1337
  });
@@ -1316,13 +1351,7 @@ function createSipEventManager(client) {
1316
1351
  Object.keys(handlers).forEach((event) => {
1317
1352
  const handler = handlers[event];
1318
1353
  if (handler) {
1319
- offs.push(
1320
- client.on(event, (payload) => {
1321
- if (payload && "sessionId" in payload && payload.sessionId === sessionId) {
1322
- handler(payload);
1323
- }
1324
- })
1325
- );
1354
+ offs.push(this.onSession(sessionId, event, handler));
1326
1355
  }
1327
1356
  });
1328
1357
  return () => offs.forEach((off) => off());