3CX E911 comes down to two jobs. The phone system has to send a 911 call out the right trunk the moment someone dials it, with a caller ID that identifies where they are, and tell someone in the building that it happened. Then the carrier has to turn that caller ID (or a location reference) into a street address the 911 center can dispatch to. In 3CX V20 the first job lives on one screen, Admin > System > Emergency. The second depends on your SIP trunk.
This guide covers both: how to configure emergency numbers in 3CX, what Kari’s Law and RAY BAUM’S Act expect of a business phone system, how to test without tying up a 911 center, and the approach we built so emergency calls from a 3CX system carry the right address.
What the law requires of a business phone system
The FCC’s rules for multi-line telephone systems (MLTS) implement two federal laws, and a hosted or on-site 3CX system is an MLTS. They apply to systems manufactured, sold or installed after February 16, 2020. There are three requirements you will configure for:
- Direct dialing (Kari’s Law). Anyone at any phone must be able to dial 911 without a prefix, access code or trunk digit such as 9, even if they dial 9 for every other outside call. Extra dialing patterns are allowed, but only in addition to plain 911.
- Notification (Kari’s Law). The system must alert a central location, or a person, that a 911 call was made. The notice has to include, where technically feasible, a callback number and the location information sent to the 911 center. It must start at the same time as the call where feasible, must never delay the call, and must go somewhere someone is likely to see or hear it. The FCC’s examples are an on-screen alert with an audible alarm at a security desk, a text message, or an email to administrators.
- Dispatchable location (RAY BAUM’S Act). The 911 call must carry a validated street address plus whatever else responders need to find the caller, such as a suite, floor or room. For fixed phones on your premises that has been required since January 6, 2021. For phones that move around the premises, and for off-site devices, it has been required since January 6, 2022, with fallbacks (a location the user updates, or the best available location) where an automatic location is not technically feasible.
The rules split the duty: whoever sells the system must ship it able to do this, and whoever installs, manages or operates it must configure it. If a system falls short, the FCC presumes the party managing it is responsible. The background on both laws is in our post on Kari’s Law and RAY BAUM’S Act.
How to set up emergency numbers in 3CX V20
An emergency rule is not an outbound rule. When someone dials a number listed as an emergency number, 3CX gives it priority and ignores outbound, in-office and out-of-office rules. That is what makes direct dialing work regardless of what the rest of your dial plan does. To add one:
- Go to Admin > System > Emergency and click Add.
- Give the rule a Rule Name (Police, Fire, or a site name) and enter the Number to be dialed, 911.
- Choose who it applies to. Leave it alone for a system-wide rule, or use Calls from departments to limit it to a department or a set of extensions.
- Choose the SIP trunk. Every rule needs one mandatory first route, and you can add up to four alternative routes if the first one fails.
- Optionally set an Outbound Caller ID. This overrides the caller ID the call would otherwise carry, and it is the field that matters most for location.
- Click Save.
Per-site or per-extension emergency caller ID
Because a rule can be limited to departments and can carry its own caller ID, you can build one 911 rule per location: the main office department sends a caller ID registered to the main office address, and the warehouse department sends one registered to the warehouse. The caller ID on the emergency rule is used only for emergency calls, so it does not change what customers see on normal outbound calls.
The trap is the default. If an extension falls under a rule with no caller ID override, or is left out of the location rules, its 911 call carries the caller ID it would normally use, often the main number, and the 911 center sees whatever address is registered to that number. When you add a person, a phone or a department, add them to the right emergency rule in the same sitting.
Emergency call notifications
The Notifications tab on each rule covers the Kari’s Law alert. 3CX offers three methods, and you can use more than one:
- Email to one or more addresses, separated by commas with no spaces.
- Chat notification to the caller’s department managers, every member of the caller’s department, or managers across all departments.
- Play announcement: call an extension or ring group and play an audio announcement you choose.
The email text can be edited under Admin > Advanced > Templates > Email Templates by choosing “Emergency call”. Check that it names the caller, the callback number and the location, since those are what the FCC expects a notification to carry. An email alone is easy to miss, so pair it with an announcement to a front desk phone or ring group: a phone that rings out loud is the kind of place the rules mean by “likely to see or hear it.”
E911 geolocation in 3CX
3CX also has a built-in E911 Geolocation option for US systems. It uses the “geolocation by reference” method: instead of sending a full address in the call, 3CX adds a Geolocation header with a location URL your carrier issued. Locations are created on the trunk (the trunk’s Options tab, E911 Geolocation), then assigned to users under Admin > Users > Options > E911 Geolocations, where you can add a floor, room or office number that is appended to the header. The emergency rule then points at that trunk.
The catch is carrier support. 3CX documents Bandwidth and Voxtelesys as the supported providers. The option also appears on the two generic trunk templates, but 3CX leaves testing those to you and your provider and does not support them. If your carrier is not on that list, the caller ID approach below is how you get location onto the call.
Testing 3CX E911 without calling 911
Ask your carrier whether it offers a 933 test line. Bandwidth, for example, describes its 933 service as a courtesy text-to-speech line, offered for testing before you make live 911 calls, that reads back the number you are calling from and the address provisioned for it. It asks you to keep to one call per minute and says the readback is not a full address verification, so confirm the full record in the carrier’s portal as well.
A test proves only what it exercises. Place it from a phone at each location, so the 933 call leaves 3CX with the same caller ID a 911 call from that desk would use, and listen for that site’s address. While you are there, check that the notification arrived where it should. Repeat after any move, new site or trunk change.
Why location data is hard on 3CX
Two terms come up in every E911 conversation. PIDF-LO (Presence Information Data Format Location Object) is an XML format for describing a caller’s location. Dynamic 911 means routing a 911 call to the right public safety answering point (PSAP) based on where the caller is at that moment, which requires location data inside the call’s SIP signaling.
For years 3CX gave no way to add or modify the two or three SIP headers that carry that data. Calls still routed, but the only location the 911 center received was the one tied to the calling number. The usual workaround was to give every extension its own public DID and turn on 911 service for each one, which can cost up to about $3 per extension in DID and 911 fees. That adds up quickly for any system with more than a handful of users. The geolocation option above improves things on supported carriers, but it still depends on your trunk.
How Telnamix carries location for 3CX
We built a process that gives extension-level control over 911 data without additional monthly costs. It does not make 3CX truly dynamic, but it fills the gap reliably.
Step one happens in 3CX. In Emergency Numbers we assign a unique outbound caller ID per extension or group, exactly as described above. That ID is not a DID, and the extensions themselves are not changed, so there is one place to maintain it and it affects nothing else on the system.
Step two happens in our SIP gateways. The gateways recognize the emergency caller ID, look up the location associated with it, and write the required headers into the call setup message. They also correct the caller ID name and number so the call presents the right callback number, and add or adjust any other headers our upstream carriers require. What leaves our network is clean traffic with the E911 data in place.
Nothing about the method is specific to 3CX. Setting a unique outbound caller ID, matching it in the gateway and inserting the headers works as a drop-in for other PBXs with minimal changes. It is also how our SIP trunking handles multi-site E911, so a 911 call from each of your locations reports that location rather than headquarters.
A 3CX E911 checklist
- 911 is set up under Admin > System > Emergency, dialable with no prefix from every phone.
- Every location has its own rule, limited to its departments, with a caller ID whose 911 address is that location.
- The rule has at least one alternative route if you have more than one trunk.
- Notifications go to an email address someone reads and to a phone or ring group that rings out loud.
- Each site has been tested (933 where your carrier offers it) after every move or change.
If you run your own 3CX and want a second set of eyes on emergency routing, or you want us to handle it end to end, see our 3CX phone system service or contact us. For the settings that quietly cause problems elsewhere on a 3CX system, read six 3CX phone settings that cost real money.
