In Video Room, one participant can't be heard by the others
Steps to reproduce
I was told to open this ticket on an issue I reported to the #webrtc matrix room.
We've got a video room, created at about the time when the Jitsi → Element Call migration happened. We used the room for months without serious problems. Until recently:
In that room, there were 3 participants in an actual call on 2025-04-07 from 18:20 to 18:22 UTC:
- A, on Element X (Android) 25.03.4
- B, on Element Desktop (Linux) 1.11.96 – affected?
- C, on Element Desktop (Windows) 1.11.96
Participant B could not be heard by the others. Participants A and C could be heard by all others, including B.
And here is the kicker: I invited the same participants into a fresh (non-video) private room and started a call there, and it worked without hitches for 4 hours until we called it a day.
This issue is reproducible, we had it on multiple days and on different LiveKit SFUs (including matrix.org's). It happens with 2 or 3 participants. However, it only started a couple days ago. We were using that video room for months without serious issues, and also with the (now) affected participant. The issue started at around the time when Element Call was embedded into Element.
I told everyone to check for latest versions of clients. And at least from participant C I got confirmation he was running 1.11.96 (latest).
We never checked video, we're only using audio. The avatar image that is replacing the video was in general only showing a capital letter, despite us all having set up an image. I was told on #webrtc that this is a known limitation. **However, the avatar image of affected participant B was behaving strange, it was only shown as a "B&W YouTube" icon (see screenshot below) for quite a while before it finally was shown as a capital letter.
I will try to provide as many logs as I can.
Outcome
see above
Operating system
No response
Browser information
No response
URL for webapp
No response
Will you send logs?
Yes
Here is a log of the (non-video) private room call that went good for hours. Timestamps are UTC.
The bad call was happening on matrix.org's SFU just in the ~15 minutes before (from 18:20-18:22 UTC, according to my Element Desktop). You should be able to get the log from there. We were the exact same set of participants.
This is an image of what I mean with "B&W YouTube" icon. Ok, not really YouTube (-:
The normal, expected behavious would be that we see her avatar image instantly, or at least the capital letter version of it.
For the record, our video room has these hidden messages in the timeline for our "bad call", timestamps from 18:09 to 18:22 UTC. This is taken from Element Desktop from participant A, but this is from a session that didn't actually enter the call. It's just member of the room.
(We then proceeded to our "good call" in the non-video room at 18:25 UTC, as you can see in the livekit log.)
{
"decrypted": {
"type": "io.element.call.encryption_keys",
"sender": "@andreas:schildbach.de",
"content": {
"call_id": "",
"device_id": "EVKOOWOHVB",
"keys": [
{
"index": 0,
"key": "IeNOpXfgk7UByzZ0zzZFAQ"
}
],
"sent_ts": 1744049381757
},
"origin_server_ts": 1744049379895,
"unsigned": {},
"event_id": "$chdqQLvezbX2oYJci7NtG1yyDWd6cfFUrH_LGhgAWbY",
"room_id": "!vyWoeFqDsoZCzXauqI:schildbach.de"
},
"encrypted": {
"type": "m.room.encrypted",
"sender": "@andreas:schildbach.de",
"content": {
"algorithm": "m.megolm.v1.aes-sha2",
"ciphertext": "AwgoEuABLijfPHngES2YhyY3Nl1ILGOQ088fQedvk1VfdGr6oAziP3Ky2HpKTz5ceH6CEVxjML1cXgGsGdlKliGxrxm7khy8FYWIUenXai/BJTIgJnHS4GZJCM++cqd/BrqZAkoEfsJ5R5MmTBIejenQ/7QD+DgZ/IcmygKHybKLF5ecKaqj6MPeNJerQOJqcvDc5Mv0Ajd2Ko3HTN2VH3NudWbEyzi92vNRV+2t6l29upmEavzRWNIisioVngj1wnd36xPkzRpmj+8TJArTRnBHdb+MgDA/yLRMSQ8xxKhLXX0eZtsTLArE1fHG+KDwGVXHT4kOe/6sWxST3N3arOZB5yunNJMoRvWlmw3TwoSLVv7ZqqqyeUZNvYlI0XMzEw6WcMUMz7TQqR/tzw0",
"device_id": "EVKOOWOHVB",
"sender_key": "53tAwUbreTTBX3zmN+mLSb4t9iIXBdzznxo0tQXz7Bg",
"session_id": "7CEuZ+ZbJ+1eIBaGbY+XsOedpJCrya5EBXIpXuE2AaE"
},
"origin_server_ts": 1744049379895,
"unsigned": {
"membership": "join",
"age": 74
},
"event_id": "$chdqQLvezbX2oYJci7NtG1yyDWd6cfFUrH_LGhgAWbY",
"room_id": "!vyWoeFqDsoZCzXauqI:schildbach.de"
}
}
{
"type": "org.matrix.msc3401.call.member",
"sender": "@andreas:schildbach.de",
"content": {
"call_id": "",
"scope": "m.room",
"application": "m.call",
"device_id": "EVKOOWOHVB",
"expires": 14400000,
"focus_active": {
"type": "livekit",
"focus_selection": "oldest_membership"
},
"foci_preferred": [
{
"livekit_alias": "!vyWoeFqDsoZCzXauqI:schildbach.de",
"livekit_service_url": "https://livekit-jwt.call.matrix.org",
"type": "livekit"
},
{
"type": "livekit",
"livekit_service_url": "https://livekit-jwt.schildbach.de",
"livekit_alias": "!vyWoeFqDsoZCzXauqI:schildbach.de"
}
]
},
"state_key": "_@andreas:schildbach.de_EVKOOWOHVB",
"origin_server_ts": 1744049380279,
"unsigned": {
"replaces_state": "$Eq_9lMwrDwMC_EkVcAPutQJ0JIA8TjMDZ7mBX0zAZNM",
"prev_content": {},
"prev_sender": "@andreas:schildbach.de",
"membership": "join",
"age": 112
},
"event_id": "$3yJjUTkS563eE82TCeFM8jT7K2htAkbzVVTlufXZAxg",
"room_id": "!vyWoeFqDsoZCzXauqI:schildbach.de"
}
{
"decrypted": {
"content": {
"call_id": "",
"device_id": "PPCDWWMDIU",
"keys": [
{
"index": 0,
"key": "3opxh4TS4N3ohoILMa9uBw"
}
],
"sent_ts": 1744049380246
},
"origin_server_ts": 1744049381558,
"sender": "@joggerio:matrix.org",
"type": "io.element.call.encryption_keys",
"unsigned": {},
"event_id": "$x2tfGkCd6lWfKnZM2fZyJmBCg7oSI34GWYLPq51Qq4g",
"room_id": "!vyWoeFqDsoZCzXauqI:schildbach.de"
},
"encrypted": {
"content": {
"algorithm": "m.megolm.v1.aes-sha2",
"ciphertext": "AwgDEuAB0kEt9tOR5kSM9CsF/0kRnBIR1ChRoSIM6OUJtzjEN6oQViepW1UwdqaYl5QmtqR+KkRIaHMYvl0rO5fk0pdTMU2+sBo9taCtpx6NIbnLmgK8xJyoQjEZO3NJLpYBx5H+46dLW1bNB8J8VayJ6qmRh7UKHxxw/eCrCHCLTmBHBMVf8KKKN+etCf6hHmZmjri3D22CzLVc6liSMY6Q0efl+oeKjp811GlHS52xc/46SYPxYIGCNMbEv5xtbjkIbAU2P5k9tVDwcbo6P3/9geI7OM9wJ6DxX/Fccs6B3ZH7sT5GjRYchxQBJswGSQuqIPblHWM/2x1Is3x4EMn4gEQvyotqoDFU41u3pw8wdZwclwFEOnBdaE1A5jX4nKFXoatEOh4OjI8OGw0",
"device_id": "PPCDWWMDIU",
"sender_key": "4aKE0yK6XSYmDp8UEh67XKxAm6q9gfLgnl0ImLGwf3c",
"session_id": "nioHSL67K6M5wy5SwbRVZcvwTWUbhdP3Cvqll6Gr6Yk"
},
"origin_server_ts": 1744049381558,
"sender": "@joggerio:matrix.org",
"type": "m.room.encrypted",
"unsigned": {
"membership": "join"
},
"event_id": "$x2tfGkCd6lWfKnZM2fZyJmBCg7oSI34GWYLPq51Qq4g",
"room_id": "!vyWoeFqDsoZCzXauqI:schildbach.de"
}
}
{
"content": {
"application": "m.call",
"call_id": "",
"device_id": "QRIPQQFNJT",
"expires": 14400000,
"foci_preferred": [
{
"livekit_alias": "!vyWoeFqDsoZCzXauqI:schildbach.de",
"livekit_service_url": "https://livekit-jwt.call.matrix.org",
"type": "livekit"
},
{
"livekit_alias": "!vyWoeFqDsoZCzXauqI:schildbach.de",
"livekit_service_url": "https://livekit-jwt.call.matrix.org",
"type": "livekit"
},
{
"livekit_alias": "!vyWoeFqDsoZCzXauqI:schildbach.de",
"livekit_service_url": "https://livekit-jwt.call.element.io",
"type": "livekit"
}
],
"focus_active": {
"focus_selection": "oldest_membership",
"type": "livekit"
},
"scope": "m.room"
},
"origin_server_ts": 1744050003103,
"sender": "@ai-suzuki:matrix.org",
"state_key": "_@ai-suzuki:matrix.org_QRIPQQFNJT",
"type": "org.matrix.msc3401.call.member",
"unsigned": {
"replaces_state": "$Pqr3ImE3NBt13_wC6dE5_BqAr2AcHZGYuGQ4dq2TeHs",
"prev_content": {},
"prev_sender": "@ai-suzuki:matrix.org",
"membership": "join"
},
"event_id": "$iY5NcHaY0Qwtl_BEWYfADmVQXy6ev4yeEfN2cbfMCXI",
"room_id": "!vyWoeFqDsoZCzXauqI:schildbach.de"
}
{
"decrypted": {
"type": "io.element.call.encryption_keys",
"sender": "@andreas:schildbach.de",
"content": {
"call_id": "",
"device_id": "EVKOOWOHVB",
"keys": [
{
"index": 0,
"key": "IeNOpXfgk7UByzZ0zzZFAQ"
}
],
"sent_ts": 1744050006009
},
"origin_server_ts": 1744050004235,
"unsigned": {},
"event_id": "$w2vD-rNI3Q0wZXH4XF0TFyBWjPAb8aLvxi9Czrtie1E",
"room_id": "!vyWoeFqDsoZCzXauqI:schildbach.de"
},
"encrypted": {
"type": "m.room.encrypted",
"sender": "@andreas:schildbach.de",
"content": {
"algorithm": "m.megolm.v1.aes-sha2",
"ciphertext": "AwgpEuABHuASpOOMK6EKScYYKD97QgcG0vLkVwX3BTf76bcr6LYrFswdZYQ+5u1IK22sP1a8shydKwzXUuH0kHe+vKgCvn9s7IFZAhWHrWLUa2WxI7PBYt+65OKbzlR5glau+K/pOweY2CkP7/1iIVvo47VzWkiq4qxotnIaYamTPCaYzEDaDFkA9aNv8ZC4O5+yN0+bB1WVOr2G7P7LLoRTuVKWML5FEKcF4pWfKHjgvGVZRIpGya3DZdss2dRXFXPiL/8hu7yQaUmlnNI4bRXf2V0/XGY8IAwx38V1sk2E828rJnbCx8dqhBFZ0BzaE67enxHd7HmvNljX9acQxPxuDbFsTj6to+O4TuQFj4M6mbvqJ+3z8HhwdD+gnedd6Vmaa2L+mCaXrwcONAY",
"device_id": "EVKOOWOHVB",
"sender_key": "53tAwUbreTTBX3zmN+mLSb4t9iIXBdzznxo0tQXz7Bg",
"session_id": "7CEuZ+ZbJ+1eIBaGbY+XsOedpJCrya5EBXIpXuE2AaE"
},
"origin_server_ts": 1744050004235,
"unsigned": {
"membership": "join",
"age": 182
},
"event_id": "$w2vD-rNI3Q0wZXH4XF0TFyBWjPAb8aLvxi9Czrtie1E",
"room_id": "!vyWoeFqDsoZCzXauqI:schildbach.de"
}
}
{
"decrypted": {
"content": {
"call_id": "",
"device_id": "PPCDWWMDIU",
"keys": [
{
"index": 0,
"key": "3opxh4TS4N3ohoILMa9uBw"
}
],
"sent_ts": 1744050002609
},
"origin_server_ts": 1744050003908,
"sender": "@joggerio:matrix.org",
"type": "io.element.call.encryption_keys",
"unsigned": {},
"event_id": "$a2GjdjDjozv1KEk4maITCOVSIhrO2NvPqeyLwGZwqGQ",
"room_id": "!vyWoeFqDsoZCzXauqI:schildbach.de"
},
"encrypted": {
"content": {
"algorithm": "m.megolm.v1.aes-sha2",
"ciphertext": "AwgEEuABsLEcPAaq42naVbU+nWxLxRcG24jDhDHnxBWlBxVtSwZf1FZ8oSAsI/j+/x9/B+8Axn0YL1bYfdFLC88Ht7yv+e/vbCFpPadqYGsG/zkZrak+BZuqCHo0Xui0r/iZnkGuJGT83x3po4AVGo7VFFy+Z+bhqNi3ykWDzmXKzTzg9uVPVqy3cIYRyYw2ra9ymIAnv3/aiHiVd+1Kd4ll20jrtUrzJOFrkRFCW8LtSClDXw/HqMNJm6iGDUHmu4Xwu3TsZOkj8AkiCPN7dufu880677LRK9WtsGazFelSN9ZIiVbmEQu0/j+oP/mtj2XRd8gsHs76wWs8t3wFh1GBU0zLpa4gxCTpSvn6adaCosll3ON+iFE3eBrNm/I85+MNOHGSfmBkxHGqfgQ",
"device_id": "PPCDWWMDIU",
"sender_key": "4aKE0yK6XSYmDp8UEh67XKxAm6q9gfLgnl0ImLGwf3c",
"session_id": "nioHSL67K6M5wy5SwbRVZcvwTWUbhdP3Cvqll6Gr6Yk"
},
"origin_server_ts": 1744050003908,
"sender": "@joggerio:matrix.org",
"type": "m.room.encrypted",
"unsigned": {
"membership": "join"
},
"event_id": "$a2GjdjDjozv1KEk4maITCOVSIhrO2NvPqeyLwGZwqGQ",
"room_id": "!vyWoeFqDsoZCzXauqI:schildbach.de"
}
}
{
"type": "org.matrix.msc3401.call.member",
"sender": "@andreas:schildbach.de",
"content": {},
"state_key": "_@andreas:schildbach.de_EVKOOWOHVB",
"origin_server_ts": 1744050094220,
"unsigned": {
"replaces_state": "$3yJjUTkS563eE82TCeFM8jT7K2htAkbzVVTlufXZAxg",
"prev_content": {
"call_id": "",
"scope": "m.room",
"application": "m.call",
"device_id": "EVKOOWOHVB",
"expires": 14400000,
"focus_active": {
"type": "livekit",
"focus_selection": "oldest_membership"
},
"foci_preferred": [
{
"livekit_alias": "!vyWoeFqDsoZCzXauqI:schildbach.de",
"livekit_service_url": "https://livekit-jwt.call.matrix.org",
"type": "livekit"
},
{
"type": "livekit",
"livekit_service_url": "https://livekit-jwt.schildbach.de",
"livekit_alias": "!vyWoeFqDsoZCzXauqI:schildbach.de"
}
]
},
"prev_sender": "@andreas:schildbach.de",
"membership": "join",
"age": 142
},
"event_id": "$13ZuEsSYzkv93BL1AY1b9oFdf0t0tWMWllfh_1Fnm0k",
"room_id": "!vyWoeFqDsoZCzXauqI:schildbach.de"
}
{
"content": {},
"origin_server_ts": 1744050103209,
"sender": "@ai-suzuki:matrix.org",
"state_key": "_@ai-suzuki:matrix.org_QRIPQQFNJT",
"type": "org.matrix.msc3401.call.member",
"unsigned": {
"replaces_state": "$iY5NcHaY0Qwtl_BEWYfADmVQXy6ev4yeEfN2cbfMCXI",
"prev_content": {
"application": "m.call",
"call_id": "",
"device_id": "QRIPQQFNJT",
"expires": 14400000,
"foci_preferred": [
{
"livekit_alias": "!vyWoeFqDsoZCzXauqI:schildbach.de",
"livekit_service_url": "https://livekit-jwt.call.matrix.org",
"type": "livekit"
},
{
"livekit_alias": "!vyWoeFqDsoZCzXauqI:schildbach.de",
"livekit_service_url": "https://livekit-jwt.call.matrix.org",
"type": "livekit"
},
{
"livekit_alias": "!vyWoeFqDsoZCzXauqI:schildbach.de",
"livekit_service_url": "https://livekit-jwt.call.element.io",
"type": "livekit"
}
],
"focus_active": {
"focus_selection": "oldest_membership",
"type": "livekit"
},
"scope": "m.room"
},
"prev_sender": "@ai-suzuki:matrix.org",
"membership": "join"
},
"event_id": "$VaCSCu0qd7lIWRedVFGHo-V6YXkmBtQ98x6GiG6-gUw",
"room_id": "!vyWoeFqDsoZCzXauqI:schildbach.de"
}
{
"decrypted": {
"content": {
"call_id": "",
"device_id": "PPCDWWMDIU",
"keys": [
{
"index": 1,
"key": "QZyDzvUdG/OaoK9MvVS6Dg"
}
],
"sent_ts": 1744050108873
},
"origin_server_ts": 1744050110185,
"sender": "@joggerio:matrix.org",
"type": "io.element.call.encryption_keys",
"unsigned": {},
"event_id": "$UUDoC3XTQzHImuAt8QkIT8FeLUrMbM3QhXKePEEuRdE",
"room_id": "!vyWoeFqDsoZCzXauqI:schildbach.de"
},
"encrypted": {
"content": {
"algorithm": "m.megolm.v1.aes-sha2",
"ciphertext": "AwgFEuABbRWeEJAkz1vo++7fsB9j5OSTiR6mbatzyoxB9LFlQekX6HbVPHKU0fuKEm4FlxyTMIr6riivTN95Nh+1eKqT3bV9cyR4Ew4VfwsQPa6DzlYlxrplMCsO6eyQqa/1ymMy6r4wJVC6Ns+9/n4MqR5h/QWf9Ctbk/ZM0X+C7UsFPxiEkMaTpdy4VEN+pIjIT7pRyyAG3I+GgMlJZxvtnHrdnYNlmwGMrwAM8tlIEF7POCYCW1PCdJrDDimnkVj6iGR9Sfv5y25DXOWTOi1Q8ZGaMnqDxi+aUVvt0CpKJj8jEiayR3EMWxhasxzLT6RVw2UzB0L02nfxbt0x0AqrfI+b467RMIt89RUqhLldJAgqrVtnaCZahClpVBBdBm2YEISNMndkOmmMIgg",
"device_id": "PPCDWWMDIU",
"sender_key": "4aKE0yK6XSYmDp8UEh67XKxAm6q9gfLgnl0ImLGwf3c",
"session_id": "nioHSL67K6M5wy5SwbRVZcvwTWUbhdP3Cvqll6Gr6Yk"
},
"origin_server_ts": 1744050110185,
"sender": "@joggerio:matrix.org",
"type": "m.room.encrypted",
"unsigned": {
"membership": "join"
},
"event_id": "$UUDoC3XTQzHImuAt8QkIT8FeLUrMbM3QhXKePEEuRdE",
"room_id": "!vyWoeFqDsoZCzXauqI:schildbach.de"
}
}
{
"content": {},
"origin_server_ts": 1744050137044,
"sender": "@joggerio:matrix.org",
"state_key": "_@joggerio:matrix.org_PPCDWWMDIU",
"type": "org.matrix.msc3401.call.member",
"unsigned": {
"replaces_state": "$JqR1_7LxGdUPVr5gjUhv5LdUSIs4lCcpbgCdmDhPj-w",
"prev_content": {
"application": "m.call",
"call_id": "",
"device_id": "PPCDWWMDIU",
"expires": 14400000,
"foci_preferred": [
{
"livekit_alias": "!vyWoeFqDsoZCzXauqI:schildbach.de",
"livekit_service_url": "https://livekit-jwt.call.matrix.org",
"type": "livekit"
},
{
"livekit_alias": "!vyWoeFqDsoZCzXauqI:schildbach.de",
"livekit_service_url": "https://livekit-jwt.call.element.io",
"type": "livekit"
}
],
"focus_active": {
"focus_selection": "oldest_membership",
"type": "livekit"
},
"scope": "m.room"
},
"prev_sender": "@joggerio:matrix.org",
"membership": "join"
},
"event_id": "$uGVcG-Stzbh1yobCLdoPrdnfNGew2BI-YgasiIgODiU",
"room_id": "!vyWoeFqDsoZCzXauqI:schildbach.de"
}
The issue is, that @ai-suzuki:matrix.org does not sent encryption keys. The interesting bit would be the logs from their client. There can be multiple reasons for this:
- use only send to trusted devices and missing a trusted device in the room
- The room being blocked because of an issue in the js-sdk send queue
- missing megolm session for that account (state can be sent but encrypted room keys cannot)
- missing receiving megolm session (the encryption event is a UTD on the receiver -> the widget will not get the UTD's but only the filtered events)
Which of those or what other cause made @ai-suzuki:matrix.org not successfully sending their encryption events to the room cannot be determined by the data I can see in the report. It definitely was not a livekit issue but a key exchange one.
If you can provide logs from the Participant B's local device we can keep this open and dig further. Maybe this is still reproducible and you can create new logs. If not anymore reproducible we should close the issue.
Can you reproduce this with a version later than 0.12.2? We expect this be fixed.