-
Notifications
You must be signed in to change notification settings - Fork 13.9k
feat: voice to video escalation #40983
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
pierre-lehnen-rc
merged 18 commits into
feat/voice-poc
from
dmv/voice-to-video-escalation
Jul 14, 2026
Merged
Changes from all commits
Commits
Show all changes
18 commits
Select commit
Hold shift + click to select a range
f884752
feat: voice to video escalation
pierre-lehnen-rc c6f2440
feat: Voice to video escalation UI #40869
3d26aab
new pexip setting: extra params for escalated calls
pierre-lehnen-rc c8d9c04
feat: identify remote escalation
pierre-lehnen-rc c74fe19
feat: find DM for escalated conferences
pierre-lehnen-rc 26a879e
feat: identify proper room to use as parent when creating an escalate…
pierre-lehnen-rc fe59300
feat: send videoconf message for escalated calls
pierre-lehnen-rc 3c15dec
feat: skip "call ended" sound effect on escalated calls
pierre-lehnen-rc c3f8dab
feat: identify escalated calls on pexip policy server and skip PIN re…
pierre-lehnen-rc 35d859d
refactor(ui-voip): memoize MediaCallRoomSection content
5a8c2a0
refactor: memoize callbacks in useVoiceToVideoEscalation
5d02670
refactor: add error toast when escalation fails
22118c7
feat: integrate video escalation to popout window
2dc9c7d
chore: disable transfer / hold / screen-share on escalated calls
pierre-lehnen-rc 8400247
chore: Escalation modal text change and german translation
gabriellsh e68037f
test: regenerate escalation snapshots after develop rebase
ggazzo 0c4379c
log escalation errors
pierre-lehnen-rc a761ff2
auto hangup voice calls when users join remotely escalated conference…
pierre-lehnen-rc File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The REST API endpoint
media-calls.escalateand its corresponding service methodMediaCallService.escalateCallallow any authenticated user to escalate an active voice call to a video conference. However, the implementation lacks critical authorization checks:call-management).Pexip_Integration_PersistentChat_ExternalRoom) configured in settings. The method never validates whether the useruidactually has access to this target room before creating the conference and returning a join URL.This allows an attacker who is a participant in a voice call to bypass video conference permissions and potentially gain unauthorized access/join links to video conferences in restricted rooms.
Steps to Reproduce
conference-escalationfeature enabled./api/v1/media-calls.escalatewith thecallIdof the call as an authenticated user who does not have video conference permissions or access to the persistent chat external room.Fix with AI
Triage: Reply
!fp <reason>(false positive),!valid(confirmed),!accepted_risk <reason>, or!fixed(resolved). Any other reply is saved as a triage note.Reason is optional but improves future scans — e.g.
!fp internal endpoint, not user-facing.View finding in Hacktron