element-hq / element-hq/element-x-android

Implement ringback tone

Open
#7,682 1 comment 0 reactions 0 assignees View on GitHub
T-Enhancement
Dominant language
Kotlin
Stars
2.4k
Forks
624
Avg merge
1d 14h
Merged PRs (30d)
149

Description

### Your use case

#### What would you like to do?
Referring to an older issue from [Element Classic](https://github.com/element-hq/element-android/issues/9101)

I would like to hear some kind of tone when placing a call, instead of silence. The silence makes the user think the call is not working when it indeed is.
#### Why would you like to do it?
Ideally, if it's possible to differentiate when the receiving user's devices have started ringing, I would like to see a "connecting" tone and then a different tone when the call is actually ringing on the other end. A good example is calls on Telegram, Facebook Messenger or pretty much any major IM app with calls.

While we're at it, might be good to have a busy tone as well when the other party declines the call.
#### How would you like to achieve it?
Either use a sound generator library or source some ready made sounds and play them on relevant parts of the call lifecycle.

I might take a stab at implementing it sometime but I don't know yet when I might have time for this.

### Have you considered any alternatives?

_No response_

### Additional context

_No response_

### Are you willing to provide a PR?

Yes

Contributor guide

Open the contributing guide

Research direction

The issue names no files, tests, or call-lifecycle entry points. Start by locating the Android call flow and its existing audio handling, then determine how connecting, ringing, and declined-call states are represented; done means tones play at the appropriate stages without disrupting calls.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, kotlin
Domain
audio-video-rtc, mobile
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.