webitel-sdk 26.4.23 → 26.4.25

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/index.cjs CHANGED
@@ -66183,6 +66183,11 @@ var Session$2 = class {
66183
66183
  //#endregion
66184
66184
  //#region src/sip/webrtc/index.ts
66185
66185
  const { debug, version: version$2, UA, WebSocketInterface } = jssip_lib_JsSIP_js.default;
66186
+ function patchRemoteSdp(sdp) {
66187
+ sdp = sdp.replace(/a=rtpmap:(\d+) H264\/90000\r\n(?!a=fmtp:\1)/g, "a=rtpmap:$1 H264/90000\r\na=fmtp:$1 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\n");
66188
+ sdp = sdp.replace(/(a=fmtp:\d+ [^\r\n]*packetization-mode[^\r\n]*)/g, "$1;x-google-start-bitrate=1500;x-google-min-bitrate=800;x-google-max-bitrate=3000");
66189
+ return sdp;
66190
+ }
66186
66191
  var SipPhone = class SipPhone extends ee_ts.EventEmitter {
66187
66192
  constructor(_instanceId, d, audioProcessing = {}) {
66188
66193
  super();
@@ -66237,8 +66242,8 @@ var SipPhone = class SipPhone extends ee_ts.EventEmitter {
66237
66242
  if (!parameters.encodings || parameters.encodings.length === 0) parameters.encodings = [{}];
66238
66243
  parameters.encodings[0].priority = "high";
66239
66244
  parameters.encodings[0].networkPriority = "high";
66240
- parameters.encodings[0].maxBitrate = 4e3 * 100 * 1e3;
66241
- parameters.degradationPreference = "maintain-resolution";
66245
+ parameters.encodings[0].maxBitrate = 4e3 * 1e3;
66246
+ parameters.degradationPreference = "balanced";
66242
66247
  await sender.setParameters(parameters);
66243
66248
  } catch (e) {
66244
66249
  this.log.error(`SipPhone Error: ${e}`);
@@ -66247,15 +66252,20 @@ var SipPhone = class SipPhone extends ee_ts.EventEmitter {
66247
66252
  await this.ua.call(req.destination, {
66248
66253
  ...invite,
66249
66254
  ...display,
66250
- eventHandlers: { peerconnection: async (data) => {
66251
- const pc = data.peerconnection;
66252
- pc.addEventListener("track", async (event) => {
66253
- if (event.track.kind === "video") {
66254
- const sender = pc.getSenders().find((s) => s.track && s.track.kind === "video");
66255
- if (sender) await forceHighQuality(sender);
66256
- }
66257
- });
66258
- } }
66255
+ eventHandlers: {
66256
+ sdp: (e) => {
66257
+ if (e.originator === "remote") e.sdp = patchRemoteSdp(e.sdp);
66258
+ },
66259
+ peerconnection: async (data) => {
66260
+ const pc = data.peerconnection;
66261
+ pc.addEventListener("track", async (event) => {
66262
+ if (event.track.kind === "video") {
66263
+ const sender = pc.getSenders().find((s) => s.track && s.track.kind === "video");
66264
+ if (sender) await forceHighQuality(sender);
66265
+ }
66266
+ });
66267
+ }
66268
+ }
66259
66269
  });
66260
66270
  }
66261
66271
  setAudioProcessing(processing) {
@@ -66282,6 +66292,9 @@ var SipPhone = class SipPhone extends ee_ts.EventEmitter {
66282
66292
  const id = session.id;
66283
66293
  const callSession = new Session$2(session, e.request);
66284
66294
  this.storeSession(id, callSession);
66295
+ session.on("sdp", (e) => {
66296
+ if (e.originator === "remote") e.sdp = patchRemoteSdp(e.sdp);
66297
+ });
66285
66298
  session.on("ended", () => {
66286
66299
  this.removeSession(callSession);
66287
66300
  });
@@ -66710,7 +66723,7 @@ _defineProperty(SipPhone$1, "userAgent", `Webitel-Phone/${version$1}`);
66710
66723
  _defineProperty(SipPhone$1, "sipVersion", version$1);
66711
66724
  //#endregion
66712
66725
  //#region src/version.ts
66713
- const version = "26.4.23";
66726
+ const version = "26.4.25";
66714
66727
  //#endregion
66715
66728
  //#region src/socket/errors.ts
66716
66729
  /**
@@ -70378,7 +70391,8 @@ var Client = class extends ee_ts.EventEmitter {
70378
70391
  task.setProcessing(c.leaving_at, {
70379
70392
  sec: c.task.processing_sec || 0,
70380
70393
  timeout: c.task.processing_timeout_at || null,
70381
- renewal_sec: c.task.processing_renewal_sec || 0
70394
+ renewal_sec: c.task.processing_renewal_sec || 0,
70395
+ autosave: c.task.processing_autosave || false
70382
70396
  });
70383
70397
  }
70384
70398
  }
@@ -70418,7 +70432,8 @@ var Client = class extends ee_ts.EventEmitter {
70418
70432
  task.setProcessing(conv.leaving_at, {
70419
70433
  sec: conv.task.processing_sec || 0,
70420
70434
  timeout: conv.task.processing_timeout_at || null,
70421
- renewal_sec: conv.task.processing_renewal_sec || 0
70435
+ renewal_sec: conv.task.processing_renewal_sec || 0,
70436
+ autosave: conv.task.processing_autosave || false
70422
70437
  });
70423
70438
  }
70424
70439
  task.form = conv.task.form || null;
@@ -70572,7 +70587,8 @@ var Client = class extends ee_ts.EventEmitter {
70572
70587
  task.setProcessing(t.leaving_at, {
70573
70588
  sec: t.processing_sec || 0,
70574
70589
  timeout: t.processing_timeout_at || null,
70575
- renewal_sec: t.processing_renewal_sec || 0
70590
+ renewal_sec: t.processing_renewal_sec || 0,
70591
+ autosave: t.processing_autosave || false
70576
70592
  });
70577
70593
  }
70578
70594
  task.form = t.form || null;