@koi-design/callkit 1.0.24-beta.13 → 1.0.24-beta.14
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.d.ts +3 -0
- package/dist/index.global.js +41 -1
- package/dist/index.global.js.map +1 -1
- package/dist/index.js +41 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +41 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -309,6 +309,8 @@ declare class Connect {
|
|
|
309
309
|
mediaStream?: MediaStream;
|
|
310
310
|
userAgent?: UserAgent;
|
|
311
311
|
registerer?: Registerer;
|
|
312
|
+
lastOptionsUpdateTime: number;
|
|
313
|
+
observeOptionsHeartbeatHandler: ReturnType<typeof setTimeout> | null;
|
|
312
314
|
sipConnected: boolean;
|
|
313
315
|
/**
|
|
314
316
|
* Whether it's an outgoing call
|
|
@@ -362,6 +364,7 @@ declare class Connect {
|
|
|
362
364
|
* @returns
|
|
363
365
|
*/
|
|
364
366
|
isInit(): boolean;
|
|
367
|
+
clearObserveOptionsHeartbeatInterval(): void;
|
|
365
368
|
register(): Promise<void>;
|
|
366
369
|
reconnect(): Promise<void>;
|
|
367
370
|
stop(): Promise<void>;
|
package/dist/index.global.js
CHANGED
|
@@ -3592,7 +3592,8 @@ var WebCall = (() => {
|
|
|
3592
3592
|
SIP_CONNECT_ERROR: "SIP_CONNECT_ERROR",
|
|
3593
3593
|
SIP_RECONNECT_ERROR: "SIP_RECONNECT_ERROR",
|
|
3594
3594
|
INCALL_CONNECT_ERROR: "INCALL_CONNECT_ERROR",
|
|
3595
|
-
INCALL_RECONNECT_ERROR: "INCALL_RECONNECT_ERROR"
|
|
3595
|
+
INCALL_RECONNECT_ERROR: "INCALL_RECONNECT_ERROR",
|
|
3596
|
+
OPTIONS_HEARTBEAT_EXPIRED: "OPTIONS_HEARTBEAT_EXPIRED"
|
|
3596
3597
|
};
|
|
3597
3598
|
|
|
3598
3599
|
// package/call.ts
|
|
@@ -18284,6 +18285,8 @@ var WebCall = (() => {
|
|
|
18284
18285
|
mediaStream;
|
|
18285
18286
|
userAgent;
|
|
18286
18287
|
registerer;
|
|
18288
|
+
lastOptionsUpdateTime = 0;
|
|
18289
|
+
observeOptionsHeartbeatHandler = null;
|
|
18287
18290
|
sipConnected = false;
|
|
18288
18291
|
/**
|
|
18289
18292
|
* Whether it's an outgoing call
|
|
@@ -18333,6 +18336,7 @@ var WebCall = (() => {
|
|
|
18333
18336
|
this.isOutgoing = false;
|
|
18334
18337
|
this.isUnprompted = false;
|
|
18335
18338
|
this.sipConnected = false;
|
|
18339
|
+
this.clearObserveOptionsHeartbeatInterval();
|
|
18336
18340
|
if (this.isHold) {
|
|
18337
18341
|
this.setHoldStatus(false);
|
|
18338
18342
|
}
|
|
@@ -18392,6 +18396,13 @@ var WebCall = (() => {
|
|
|
18392
18396
|
isInit() {
|
|
18393
18397
|
return this.connectStatus === CallStatus.init;
|
|
18394
18398
|
}
|
|
18399
|
+
clearObserveOptionsHeartbeatInterval() {
|
|
18400
|
+
if (this.observeOptionsHeartbeatHandler !== null) {
|
|
18401
|
+
clearInterval(this.observeOptionsHeartbeatHandler);
|
|
18402
|
+
this.observeOptionsHeartbeatHandler = null;
|
|
18403
|
+
}
|
|
18404
|
+
this.lastOptionsUpdateTime = 0;
|
|
18405
|
+
}
|
|
18395
18406
|
async register() {
|
|
18396
18407
|
if (this.connectStatus !== CallStatus.init) {
|
|
18397
18408
|
if (this.connectStatus === CallStatus.registered) {
|
|
@@ -18459,6 +18470,32 @@ var WebCall = (() => {
|
|
|
18459
18470
|
});
|
|
18460
18471
|
}
|
|
18461
18472
|
};
|
|
18473
|
+
const observeOptionsHeartbeat = (userAgent, extra) => {
|
|
18474
|
+
const { that = this } = extra;
|
|
18475
|
+
that.clearObserveOptionsHeartbeatInterval();
|
|
18476
|
+
setInterval(() => {
|
|
18477
|
+
if (that.lastOptionsUpdateTime !== 0) {
|
|
18478
|
+
const now = (/* @__PURE__ */ new Date()).getTime();
|
|
18479
|
+
const diff = now - that.lastOptionsUpdateTime;
|
|
18480
|
+
if (diff > 6e4) {
|
|
18481
|
+
that.callKit.trigger(ConnectEvent.OPTIONS_HEARTBEAT_EXPIRED, {
|
|
18482
|
+
lastOptionsUpdateTime: that.lastOptionsUpdateTime,
|
|
18483
|
+
now
|
|
18484
|
+
});
|
|
18485
|
+
that.clearObserveOptionsHeartbeatInterval();
|
|
18486
|
+
}
|
|
18487
|
+
}
|
|
18488
|
+
}, 6e4);
|
|
18489
|
+
that.lastOptionsUpdateTime = 0;
|
|
18490
|
+
const core = userAgent.userAgentCore;
|
|
18491
|
+
const originalReceiveRequest = core.receiveRequest.bind(core);
|
|
18492
|
+
core.receiveRequest = function(request2) {
|
|
18493
|
+
if (request2.method === "OPTIONS") {
|
|
18494
|
+
that.lastOptionsUpdateTime = (/* @__PURE__ */ new Date()).getTime();
|
|
18495
|
+
}
|
|
18496
|
+
return originalReceiveRequest(request2);
|
|
18497
|
+
};
|
|
18498
|
+
};
|
|
18462
18499
|
const registererOptions = {};
|
|
18463
18500
|
this.registerer = new Registerer(this.userAgent, registererOptions);
|
|
18464
18501
|
this.userAgent.delegate = {
|
|
@@ -18566,6 +18603,9 @@ var WebCall = (() => {
|
|
|
18566
18603
|
// });
|
|
18567
18604
|
// }
|
|
18568
18605
|
};
|
|
18606
|
+
observeOptionsHeartbeat(this.userAgent, {
|
|
18607
|
+
that: this
|
|
18608
|
+
});
|
|
18569
18609
|
await this.userAgent.start().catch((err) => {
|
|
18570
18610
|
this.callKit.callCenter.callEnd(false, true);
|
|
18571
18611
|
this.callKit.user.sendHangUpReason({
|