Skip to main content

Emergency Calling (E911)

WebRTC softphone users are nomadic — they may call 911 from different locations. Federal regulations (RAY BAUM's Act, Kari's Law) require that every 911 call includes a dispatchable location (street address with floor/suite) so first responders can find the caller.

How It Works

  1. Register an emergency address for the user via POST /v1/me/emergency-address
  2. Validate the address — DialStack validates against the MSAG (Master Street Address Guide) and provisions it to the ALI database
  3. Prompt on network change — when the client detects a network change (new IP, new Wi-Fi), prompt the user to confirm or update their location
  4. 911 calls route with location — when the user dials 911, DialStack includes the registered address so the PSAP can dispatch to the correct location

Address Registration

// Register or update the user's emergency address
await phone.setEmergencyAddress({
street: '123 Main St',
street2: 'Suite 400',
city: 'San Francisco',
state: 'CA',
zip: '94105',
country: 'US',
});

The address is validated synchronously. If it doesn't match a valid civic address, the call returns a validation error with suggestions.

Requirements

  • Address required before calling: Users must have a validated emergency address before placing calls. Attempting to dial without one returns an emergency_address_required error on the signalling channel.
  • Prompt on network change: Detect network changes in your app and prompt the user to confirm their location. The SDK emits a network.changed event when the client's IP address changes.
  • Direct 911 dialing: 911 and 933 (E911 test) are always routable without prefix, per Kari's Law.
Regulatory requirement

E911 compliance is not optional. If your users can place calls through the softphone, you must implement emergency address registration. Failure to provide accurate location with 911 calls carries regulatory and legal liability.