diff --git a/.changeset/violet-cats-lick.md b/.changeset/violet-cats-lick.md new file mode 100644 index 0000000000000..5e3a68ccaa36a --- /dev/null +++ b/.changeset/violet-cats-lick.md @@ -0,0 +1,5 @@ +--- +'@rocket.chat/media-signaling': patch +--- + +Adds a timeout to ensure transferred calls stop ringing if there's no response from the final user diff --git a/packages/media-signaling/src/lib/Call.ts b/packages/media-signaling/src/lib/Call.ts index d825fadb4e3d5..c6d610422c82c 100644 --- a/packages/media-signaling/src/lib/Call.ts +++ b/packages/media-signaling/src/lib/Call.ts @@ -349,9 +349,8 @@ export class ClientMediaCall implements IClientMediaCall { // Send an ACK so the server knows that this session exists and is reachable this.acknowledge(); - if (this._role === 'callee' || !this.acceptedLocally) { - this.addStateTimeout('pending', TIMEOUT_TO_ACCEPT); - } + // Adds a secondary timeout for all sessions of the call; Won't matter if the original caller session is still active, but is needed for transferred calls. + this.addStateTimeout('pending', TIMEOUT_TO_ACCEPT); // If the call was requested by this specific session, assume we're signed already. if (