Building a Peer-to-Peer Emergency Video Calling SDK with WebRTC
How we turned a thinly documented WebRTC stack into a production SDK that lets any mobile app open a live, located video call to an emergency operator with one tap.
The Challenge
An Australian client wanted a standalone emergency response platform that could sit alongside other mobile apps. The idea was easy to describe and hard to build. A person in distress taps a button, and a live video session opens with an operator who can already see their location. Traditional SIP-based calling was too heavy for that. They needed something lighter and peer-to-peer, packaged as an SDK that other apps could drop in. Three things made it difficult.
A WebRTC stack with almost no documentation
The open-source WebRTC components at the heart of the project shipped with very little documentation. Reaching a stable call flow meant reading the codebase directly, testing configurations, and confirming behavior by hand instead of following a manual.
Two native SDKs behind a clean API
The calling capability had to ship as SDKs for both Android and iOS, with an API simple enough that a third-party team could add emergency calling without learning WebRTC internals. That put most of the weight on API design.
Live location and a clean handoff from other apps
An emergency call is only useful if the operator knows where the caller is, so the platform had to capture and transmit accurate location during the session with low latency. It also had to accept user details from an external app and move that person into the emergency flow without a clumsy second login.
The Solution
We built the platform around an SDK-first architecture, so the calling and location features sit behind an API that external apps trigger.
Peer-to-peer calling on WebRTC, no SIP stack
We worked through the undocumented stack until the call flow held up under real conditions, then locked it in. Video and audio run peer-to-peer over WebRTC, which kept latency low and avoided pulling a full SIP stack into a mobile app. Our WebRTC developers handled the media negotiation and the connection edge cases that this kind of build tends to surface late.
Modular Android and iOS SDKs behind one API
Both SDKs were designed so the host app starts the emergency call through the provided API and does nothing more complicated than that. The app passes user data such as name, mobile number, and login credentials, and the SDK takes it from there. It identifies and authenticates the user, then opens the call. Keeping the public API small made integration fast for the apps consuming it.
Live location sharing with role-based admin control
The emergency app captures and streams the user's location during a call, so operators get situational awareness the moment they answer. Around that, we built two portals. A super admin portal manages customer accounts, and a customer portal manages operators, user permissions, and access to call recordings. Each role sees only its own data.
1-tap
Emergency Call Initiation
Android + iOS
Native SDK Coverage
Peer-to-peer
Call Architecture, No SIP Stack
Ready to scale your VoIP infrastructure?
Let our experts architect a high-performance, resilient communication platform tailored to your specific requirements.
Get Started Today