Skip to content

Feature Request: Put Element Call on Hold During External Audio Interruptions (Incoming Calls, Alarms, System Events) #4037

Description

@iceqa

Your use case

What would you like to do?

When an external audio interruption occurs during an active Element Call session — such as an incoming call from another application (e.g. a GSM call, FaceTime, Telegram, WhatsApp, or Instagram), an alarm, a timer, or any other system event that takes over the audio session — Element Call should automatically be placed on hold. This means preserving the session state, muting the outgoing audio stream, and pausing the video, so the user can handle the interruption without losing their Element Call session.

Why would you like to do it?

Currently, when any external interruption takes over the audio session during an active Element Call — whether it is an incoming call from another app or a system event such as an alarm or timer — the app fails to properly release and then reclaim the audio session. As a result:

  • After an incoming call ends, the user's microphone does not recover automatically — other participants can no longer hear the user, even though the call appears to still be connected on their side.
  • After an alarm or similar system event fires, the outgoing audio stream breaks entirely. Other participants stop hearing the user, and the only known workaround is to leave the call and rejoin — there is no in-call recovery mechanism.
  • The camera also fails to recover automatically after interruptions, requiring the user to manually toggle it off and on.
  • In some cases (e.g. after rejecting a GSM call), Element Call shows a "Reconnecting" state and then drops the call entirely.

This makes Element Call unreliable in everyday conditions where receiving a phone call or having an alarm go off during a meeting is a common and expected scenario.

Implementing a proper on-hold mechanism would ensure that:

  • The Element Call session is not lost or dropped during the interruption
  • Other participants are informed that the user is temporarily on hold rather than experiencing an unexplained audio/video loss
  • Audio and video are fully restored automatically once the user returns to Element Call

How would you like to achieve it?

When an external interruption begins, Element Call should automatically mute the user's outgoing audio and pause their video stream, placing them on hold without dropping the session. Other participants should see a clear on-hold indicator instead of an unexplained frozen frame or silence.
Once the interruption ends — whether the user dismisses an alarm, finishes an external call, or returns to the app — Element Call should automatically restore the audio and video stream without requiring the user to leave and rejoin the call.

Have you considered any alternatives?

No response

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    T-EnhancementNew features, changes in functionality, performance boosts, user-facing improvementsX-Needs-ProductMore input needed from the Product team

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions