@webex/calling 3.10.0-next.12 → 3.10.0-next.13
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/CallingClient/calling/call.js +490 -462
- package/dist/CallingClient/calling/call.js.map +1 -1
- package/dist/CallingClient/calling/call.test.js +410 -432
- package/dist/CallingClient/calling/call.test.js.map +1 -1
- package/dist/module/CallingClient/calling/call.js +54 -45
- package/dist/types/CallingClient/calling/call.d.ts +3 -1
- package/dist/types/CallingClient/calling/call.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -52,7 +52,6 @@ export class Call extends Eventing {
|
|
|
52
52
|
localAudioStream;
|
|
53
53
|
rtcMetrics;
|
|
54
54
|
callKeepaliveRetryCount = 0;
|
|
55
|
-
callKeepaliveInterval;
|
|
56
55
|
isMuted() {
|
|
57
56
|
return this.muted;
|
|
58
57
|
}
|
|
@@ -963,60 +962,70 @@ export class Call extends Eventing {
|
|
|
963
962
|
this.sendMediaStateMachineEvt({ type: 'E_ROAP_TEARDOWN' });
|
|
964
963
|
this.sendCallStateMachineEvt({ type: 'E_CALL_CLEARED' });
|
|
965
964
|
}
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
this.
|
|
965
|
+
callKeepaliveRetryCallback = (interval) => {
|
|
966
|
+
if (this.callKeepaliveRetryCount === MAX_CALL_KEEPALIVE_RETRY_COUNT) {
|
|
967
|
+
log.warn(`Max keepalive retry attempts reached. Aborting call keepalive for callId: ${this.callId}`, {
|
|
968
|
+
file: CALL_FILE,
|
|
969
|
+
method: 'keepaliveRetryCallback',
|
|
970
|
+
});
|
|
971
|
+
return;
|
|
972
|
+
}
|
|
973
|
+
this.callKeepaliveRetryCount += 1;
|
|
974
|
+
setTimeout(async () => {
|
|
975
|
+
try {
|
|
976
|
+
await this.postStatus();
|
|
977
|
+
this.scheduleCallKeepaliveInterval();
|
|
978
|
+
}
|
|
979
|
+
catch (err) {
|
|
980
|
+
await this.handleCallKeepaliveError(err);
|
|
981
|
+
}
|
|
982
|
+
}, interval * 1000);
|
|
983
|
+
};
|
|
984
|
+
handleCallKeepaliveError = async (err) => {
|
|
985
|
+
const error = err;
|
|
975
986
|
if (this.sessionTimer) {
|
|
976
|
-
log.log('Resetting session timer', loggerContext);
|
|
977
987
|
clearInterval(this.sessionTimer);
|
|
978
988
|
}
|
|
989
|
+
const abort = await handleCallErrors((callError) => {
|
|
990
|
+
this.emit(CALL_EVENT_KEYS.CALL_ERROR, callError);
|
|
991
|
+
this.submitCallErrorMetric(callError);
|
|
992
|
+
}, ERROR_LAYER.CALL_CONTROL, this.callKeepaliveRetryCallback, this.getCorrelationId(), error, 'handleCallEstablished', CALL_FILE);
|
|
993
|
+
if (abort) {
|
|
994
|
+
this.sendCallStateMachineEvt({ type: 'E_SEND_CALL_DISCONNECT' });
|
|
995
|
+
this.emit(CALL_EVENT_KEYS.DISCONNECT, this.getCorrelationId());
|
|
996
|
+
this.callKeepaliveRetryCount = 0;
|
|
997
|
+
}
|
|
998
|
+
await uploadLogs({
|
|
999
|
+
correlationId: this.correlationId,
|
|
1000
|
+
callId: this.callId,
|
|
1001
|
+
broadworksCorrelationInfo: this.broadworksCorrelationInfo,
|
|
1002
|
+
});
|
|
1003
|
+
};
|
|
1004
|
+
scheduleCallKeepaliveInterval = () => {
|
|
1005
|
+
const loggerContext = {
|
|
1006
|
+
file: CALL_FILE,
|
|
1007
|
+
method: 'scheduleCallKeepaliveInterval',
|
|
1008
|
+
};
|
|
979
1009
|
this.sessionTimer = setInterval(async () => {
|
|
980
1010
|
try {
|
|
981
1011
|
const res = await this.postStatus();
|
|
982
|
-
this.callKeepaliveRetryCount = 0;
|
|
983
|
-
this.callKeepaliveInterval = undefined;
|
|
984
1012
|
log.info(`Session refresh successful`, loggerContext);
|
|
985
1013
|
}
|
|
986
1014
|
catch (err) {
|
|
987
|
-
|
|
988
|
-
if (this.sessionTimer) {
|
|
989
|
-
clearInterval(this.sessionTimer);
|
|
990
|
-
}
|
|
991
|
-
const abort = await handleCallErrors((callError) => {
|
|
992
|
-
this.emit(CALL_EVENT_KEYS.CALL_ERROR, callError);
|
|
993
|
-
this.submitCallErrorMetric(callError);
|
|
994
|
-
}, ERROR_LAYER.CALL_CONTROL, (interval) => {
|
|
995
|
-
this.callKeepaliveRetryCount += 1;
|
|
996
|
-
this.callKeepaliveInterval = interval * 1000;
|
|
997
|
-
if (this.callKeepaliveRetryCount === MAX_CALL_KEEPALIVE_RETRY_COUNT) {
|
|
998
|
-
this.callKeepaliveRetryCount = 0;
|
|
999
|
-
clearInterval(this.sessionTimer);
|
|
1000
|
-
this.sessionTimer = undefined;
|
|
1001
|
-
this.callKeepaliveInterval = undefined;
|
|
1002
|
-
log.warn(`Max call keepalive retry attempts reached for call: ${this.getCorrelationId()}`, loggerContext);
|
|
1003
|
-
return;
|
|
1004
|
-
}
|
|
1005
|
-
this.sendCallStateMachineEvt({ type: 'E_CALL_ESTABLISHED' });
|
|
1006
|
-
}, this.getCorrelationId(), error, 'handleCallEstablished', CALL_FILE);
|
|
1007
|
-
if (abort) {
|
|
1008
|
-
this.sendCallStateMachineEvt({ type: 'E_SEND_CALL_DISCONNECT' });
|
|
1009
|
-
this.emit(CALL_EVENT_KEYS.DISCONNECT, this.getCorrelationId());
|
|
1010
|
-
this.callKeepaliveRetryCount = 0;
|
|
1011
|
-
this.callKeepaliveInterval = undefined;
|
|
1012
|
-
}
|
|
1013
|
-
await uploadLogs({
|
|
1014
|
-
correlationId: this.correlationId,
|
|
1015
|
-
callId: this.callId,
|
|
1016
|
-
broadworksCorrelationInfo: this.broadworksCorrelationInfo,
|
|
1017
|
-
});
|
|
1015
|
+
await this.handleCallKeepaliveError(err);
|
|
1018
1016
|
}
|
|
1019
|
-
},
|
|
1017
|
+
}, DEFAULT_SESSION_TIMER);
|
|
1018
|
+
};
|
|
1019
|
+
handleCallEstablished(event) {
|
|
1020
|
+
const loggerContext = {
|
|
1021
|
+
file: CALL_FILE,
|
|
1022
|
+
method: METHODS.HANDLE_CALL_ESTABLISHED,
|
|
1023
|
+
};
|
|
1024
|
+
log.info(`${METHOD_START_MESSAGE} with: ${this.getCorrelationId()}`, loggerContext);
|
|
1025
|
+
this.emit(CALL_EVENT_KEYS.ESTABLISHED, this.correlationId);
|
|
1026
|
+
this.earlyMedia = false;
|
|
1027
|
+
this.connected = true;
|
|
1028
|
+
this.scheduleCallKeepaliveInterval();
|
|
1020
1029
|
}
|
|
1021
1030
|
async handleUnknownState(event) {
|
|
1022
1031
|
log.info(`${METHOD_START_MESSAGE} with: ${this.getCorrelationId()}`, {
|
|
@@ -39,7 +39,6 @@ export declare class Call extends Eventing<CallEventTypes> implements ICall {
|
|
|
39
39
|
private localAudioStream?;
|
|
40
40
|
private rtcMetrics;
|
|
41
41
|
private callKeepaliveRetryCount;
|
|
42
|
-
private callKeepaliveInterval?;
|
|
43
42
|
isMuted(): boolean;
|
|
44
43
|
isConnected(): boolean;
|
|
45
44
|
isHeld(): boolean;
|
|
@@ -55,6 +54,9 @@ export declare class Call extends Eventing<CallEventTypes> implements ICall {
|
|
|
55
54
|
private handleOutgoingCallConnect;
|
|
56
55
|
private handleIncomingCallDisconnect;
|
|
57
56
|
private handleOutgoingCallDisconnect;
|
|
57
|
+
private callKeepaliveRetryCallback;
|
|
58
|
+
private handleCallKeepaliveError;
|
|
59
|
+
private scheduleCallKeepaliveInterval;
|
|
58
60
|
private handleCallEstablished;
|
|
59
61
|
private handleUnknownState;
|
|
60
62
|
private getEmitterCallback;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call.d.ts","sourceRoot":"","sources":["../../../../src/CallingClient/calling/call.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,qBAAqB,EAGtB,MAAM,4BAA4B,CAAC;AAapC,OAAO,EAEL,WAAW,EACX,aAAa,EACb,MAAM,EACN,aAAa,EACb,kBAAkB,EAElB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,oBAAoB,CAAC;AA6B5B,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAEL,YAAY,EACZ,SAAS,EACT,cAAc,EAGd,SAAS,EAET,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAgB,QAAQ,EAAC,MAAM,0BAA0B,CAAC;AACjE,OAAO,EACL,YAAY,EACZ,oBAAoB,EAGpB,gBAAgB,EAChB,KAAK,EAGL,YAAY,EAKZ,SAAS,EAGT,UAAU,EAGV,YAAY,EACb,MAAM,SAAS,CAAC;AAWjB,qBAAa,IAAK,SAAQ,QAAQ,CAAC,cAAc,CAAE,YAAW,KAAK;IACjE,OAAO,CAAC,YAAY,CAAgB;IAEpC,OAAO,CAAC,KAAK,CAAW;IAExB,OAAO,CAAC,WAAW,CAAC,CAAc;IAElC,OAAO,CAAC,SAAS,CAAgB;IAEjC,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,aAAa,CAAgB;IAErC,OAAO,CAAC,QAAQ,CAAS;IAElB,MAAM,EAAE,MAAM,CAAC;IAEtB,OAAO,CAAC,gBAAgB,CAAmB;IAE3C,OAAO,CAAC,gBAAgB,CAAC;IAEzB,OAAO,CAAC,iBAAiB,CAAC;IAE1B,OAAO,CAAC,GAAG,CAAS;IAIb,eAAe,CAAC,EAAE,GAAG,CAAC;IAE7B,OAAO,CAAC,UAAU,CAAU;IAE5B,OAAO,CAAC,SAAS,CAAU;IAE3B,OAAO,CAAC,eAAe,CAAU;IAEjC,OAAO,CAAC,UAAU,CAAqB;IAEvC,OAAO,CAAC,gBAAgB,CAAc;IAEtC,OAAO,CAAC,SAAS,CAAU;IAE3B,OAAO,CAAC,iBAAiB,CAAqB;IAE9C,OAAO,CAAC,QAAQ,CAAuB;IAEvC,OAAO,CAAC,QAAQ,CAAY;IAE5B,OAAO,CAAC,YAAY,CAAC,CAAiB;IAGtC,OAAO,CAAC,0BAA0B,CAAC,CAAiB;IAEpD,OAAO,CAAC,KAAK,CAAU;IAEvB,OAAO,CAAC,IAAI,CAAU;IAEtB,OAAO,CAAC,aAAa,CAAiB;IAEtC,OAAO,CAAC,yBAAyB,CAAC,CAAS;IAE3C,OAAO,CAAC,gBAAgB,CAAmB;IAE3C,OAAO,CAAC,yBAAyB,CAAU;IAE3C,OAAO,CAAC,iBAAiB,CAAS;IAElC,OAAO,CAAC,gBAAgB,CAAC,CAAwB;IAEjD,OAAO,CAAC,UAAU,CAAa;IAE/B,OAAO,CAAC,uBAAuB,CAAK;
|
|
1
|
+
{"version":3,"file":"call.d.ts","sourceRoot":"","sources":["../../../../src/CallingClient/calling/call.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED