From 7c45aa7bbc270cb23da97f6f3525221d436d7427 Mon Sep 17 00:00:00 2001 From: Pierre Lehnen Date: Tue, 30 Dec 2025 14:56:40 -0300 Subject: [PATCH] fix: no ringing timeout on transferred calls --- .changeset/violet-cats-lick.md | 5 +++++ packages/media-signaling/src/lib/Call.ts | 5 ++--- 2 files changed, 7 insertions(+), 3 deletions(-) create mode 100644 .changeset/violet-cats-lick.md 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 (