element-hq / element-hq/element-ios

Element on ios crushes when third person rings during existing call

Open
#7,427 2 comments 0 reactions 0 assignees View on GitHub
A-VoIP O-Uncommon S-Major T-Defect
Dominant language
Swift
Stars
1.8k
Forks
544
PR merge metrics
PR metrics pending

Description

Hello. I have local matrix server installed without federation and it is functioning correctly from web client and android devices, but element on ios fails to switch to another incoming call when there is already ongoing call. To better explain issue lets say there is user1, user2 and user3. user1 calls to user2 and everything is okay on both side. Then user3 calls to user2 which receives and accepts new call, but no sound is going through/or heard on user2's application. Noticeable symptoms are ongoing call timer and ios microphone usage indicator disappears.

Steps to reproduce:
To reproduce this issue 3 apple smartphone is needed as shown in above description. Place call between two users and without interrupting place another call from third user. I have not tested same scenario on public matrix servers so i can not tell if having separate server installation is needed or not.

### Outcome

#### What did you expect?
When new call is received during ongoing call application should put previous one on hold and successfully connect to new one in case new call is accepted.

#### What happened instead?
Application does not completely terminated and call screen stays on top, but you cant hear sound.

### Your phone model

iphone13

### Operating system version

ios 16.3.1

### Application version

element version 1.10.3

### Homeserver

synapse:v1.78.0

### Will you send logs?

No

Contributor guide

Open the contributing guide

Research direction

No source files, tests, or entry points are named. Start by reproducing the scenario with three iPhones, using the reported call sequence and checking whether the separate server or app versions affect it. Done means accepting the second call preserves audio and the ongoing call timer and microphone indicator behave correctly.

Written by the indexing model from the issue text.

Assessment

Tech stack
ios, swift
Domain
audio-video-rtc, mobile-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.