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

MatrixRTC calling cannot be initiated from Element X Android (OxygenOS 15, OnePlus Nord CE4 Lite 5G) despite correct server focus; joining existing calls works

Open
#5,820 9 comments 0 reactions 0 assignees View on GitHub
A-Call O-Uncommon S-Major T-Defect
Dominant language
Kotlin
Stars
2.4k
Forks
624
Avg merge
1d 14h
Merged PRs (30d)
149

Description

### Steps to reproduce

## Steps to reproduce:

Start in Element X App

1. Logged into a self-hosted Synapse server at matrix.kite-engineer.de.

2. Create a new room (private). The room opens normally.

3. Tap the video camera icon in the top right. Element Call opens a video preview.

4. Tap "Join call". The app immediately displays the error:
"Call not supported — Missing Matrix RTC focus for matrix.kite-engineer.de"

## Additional observations I can reproduce consistently:

In some rooms (those created on another device), the error appears immediately when I tap the video camera icon, without showing the preview screen at all.

When I initiate a call from Element X on my phone, my LiveKit JWT authoriser receives no request at all (verified by watching its logs).

When I initiate the same call from Element Web on my desktop, I can join the call on my phone without any issues. In that case the LiveKit JWT service logs appear normally.

The .well-known/matrix/client file is correct and accessible directly from my phone’s browser.

The following log excerpts are from the Element X “Export logs” feature ("Report a problem" menu).

Errors when initiating a call:
```
2025-11-26T19:52:48.796375Z ERROR elementx: [ElementCall] :2 {"l..."MISSING_MATRIX_RTC_FOCUS","domain":"matrix.kite-engineer.de"} |
2025-11-26T19:53:27.211179Z ERROR elementx: [ElementCall] :2 {"l..."MISSING_MATRIX_RTC_FOCUS","domain":"matrix.kite-engineer.de"} |
```

WebView/Element Call embedded app errors:
```
2025-11-26T19:52:46.036873Z ERROR elementx: [ElementCall] ... has blocked origin. Have the server send the header with a valid value.
2025-11-26T19:53:27.178675Z ERROR elementx: [ElementCall] ... blocked origin. Have the server send the header with a valid value.
```

Logs that appear when joining a call initiated on Element Web:
```
[ElementCall] MatrixRTCSessionEvent.MembershipsChanged ...
[ElementCall] Disconnected from livekit room, state:disconnected |
```

Full logfile:

Attached in the report via app

### Outcome

#### What did you expect?
I expected Element X Android to:
- Read the .well-known/matrix/client configuration from my homeserver.
- Detect the org.matrix.msc4143.rtc_foci configuration.
- Initiate a MatrixRTC call the same way Element Web does. thus allowing me to make (video) calls started via Element X.
- Contact my auth service (livekit-jwt) to create or join a LiveKit room.

#### What happened instead?

- No (video) call can be tarted. Element X Android reports:
`Call not supported — MISSING_MATRIX_RTC_FOCUS (domain: matrix.kite-engineer.de)`
- No log entries showing up in the livekit-jwt container unlike when done via Element web/ ergo: no request to it is made from Element X

### Your phone model

OnePlus Nord CE4 Lite 5G

### Operating system version

OxygenOS 15.0

### Application version and app store

Element X Version 25.11.2 (202511022)

### Homeserver

matrix.kite-engineer.de

### Will you send logs?

Yes

### Are you willing to provide a PR?

No

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.