|
2 | 2 | id: 5286e8ea-58ec-472a-8645-ade919b8449b |
3 | 3 | title: E911 |
4 | 4 | slug: /e911 |
5 | | -x-custom: |
6 | | - ported_from_readme: true |
| 5 | +description: Register an emergency address and enable E911 service for your SignalWire phone numbers. |
| 6 | +max-toc-depth: 3 |
7 | 7 | --- |
8 | 8 |
|
9 | | -### What is E911? |
| 9 | +**E911, or Enhanced 911,** is a support system for wireless and VoIP phone users who dial 911, |
| 10 | +the standard number for requesting help in an emergency across supported countries. |
| 11 | +Because a VoIP number isn't tied to a physical line, |
| 12 | +you register a street address for the number ahead of time. |
| 13 | +When someone dials 911 from that number, |
| 14 | +the call is routed to the dispatch center serving the registered address, |
| 15 | +and that address is displayed to the dispatcher. |
10 | 16 |
|
11 | | -**E911, or Enhanced 911,** is a support system for wireless and VoIP phone users who dial 911, the standard number for requesting help in an emergency across supported countries. |
12 | | -Since wireless users are often mobile, this enhancement helps the 911 service by allowing the location of the user to be reported to the call receiver. |
| 17 | +E911 on SignalWire is self-service: |
| 18 | +create an emergency address, assign it to a phone number, |
| 19 | +and the number is provisioned for emergency calling. |
| 20 | +You can manage everything from the [Dashboard](#set-up-e911-in-the-dashboard) |
| 21 | +or the [REST API](#set-up-e911-with-the-rest-api). |
13 | 22 |
|
14 | | -**SignalWire Addresses** allows for a collection of addresses in your SignalWire Space so that they can be utilized for uses like E911 or phone number locality requirements for certain countries around the world. |
| 23 | +<Warning title="911 calls from unregistered numbers"> |
| 24 | + |
| 25 | +Calling 911 from a number with no E911 address still connects, |
| 26 | +but it is answered by a national relay center |
| 27 | +that must ask for your location before transferring you to local responders |
| 28 | +— delaying response. |
| 29 | +Each of these calls also incurs a $100 fee. |
| 30 | +Register an address before an emergency, |
| 31 | +and always dial 933, not 911, to [test your configuration](#test-your-e911-configuration) |
| 32 | +— 933 test calls are exempt from the fee. |
15 | 33 |
|
16 | | -<Warning title="E911 requires a support request"> |
17 | | -By default, SignalWire phone numbers purchased through the Dashboard don’t support E911. |
18 | | -To enable E911 services, contact the SignalWire Support Team by creating a support ticket in your Dashboard. |
19 | 34 | </Warning> |
20 | 35 |
|
21 | | -### Testing E911 |
| 36 | +## How it works |
| 37 | + |
| 38 | +Emergency addresses live in your project as a reusable collection, |
| 39 | +so one address can serve many of the project's phone numbers. |
| 40 | +E911 is available for US addresses only. |
| 41 | +When you create a US address with emergency service enabled, |
| 42 | +it is validated against the carrier's emergency database, |
| 43 | +and small errors are corrected automatically. |
| 44 | + |
| 45 | +Assigning a validated address to a phone number starts provisioning at the carrier. |
| 46 | +Provisioning is asynchronous: |
| 47 | +the number's E911 status starts as `pending` and becomes `active` once the carrier confirms, |
| 48 | +typically within a few minutes. |
| 49 | +The address's label is presented to the dispatcher as the caller name, |
| 50 | +so use a label that identifies the caller or location clearly. |
| 51 | +While a number has an E911 address assigned, |
| 52 | +it can't be transferred to another project. |
| 53 | + |
| 54 | +## Set up E911 with the REST API |
| 55 | + |
| 56 | +First, create an address with `emergency_enabled` set to `true`: |
| 57 | + |
| 58 | +<EndpointRequestSnippet endpoint="POST /api/relay/rest/addresses" /> |
22 | 59 |
|
23 | | -There is a proper way to test E911 for your SignalWire number. |
24 | | -It's best to arrange a test call to 911 services and verify the E911 information pops up on their screen correctly. |
25 | | -You can call your local 911 center non-emergency number, and notify them you're testing a VOIP system for the correct display of location information. |
26 | | -You should be able to get the non-emergency phone number from local law enforcement or an internet search. All 911 centers have a non-emergency number for testing purposes. |
| 60 | +If the carrier can't validate the address, |
| 61 | +the request fails with a `422` response listing the problems |
| 62 | +and, when available, suggested corrections in a `candidates` array. |
27 | 63 |
|
28 | | -<Info> |
| 64 | +Next, assign the address to a phone number: |
29 | 65 |
|
30 | | -["How do I place a "test" call to make sure 911 works for me?"](https://www.911.gov/frequently_asked_questions.html) |
| 66 | +<EndpointRequestSnippet endpoint="POST /api/relay/rest/phone_numbers/{id}/e911_address" /> |
31 | 67 |
|
32 | | -"Test calls confirm that your local 911 service can receive your 911 call and has the correct location information. |
33 | | -Test calls can be scheduled by contacting your local 911 call center via its non-emergency phone number. |
34 | | -To contact the local 911 center responsible for answering calls from your location, go |
35 | | -[here](https://www.nasna911.org/contact-911) and click on the state in which you are located. |
36 | | -The person responsible for operating the state’s 911 system will be identified, and they should know who you should talk to at your local 911 call center, to schedule a day and time for test calls." |
| 68 | +The phone number's `e911_status` field tracks provisioning; |
| 69 | +the number is ready for emergency calling once it reads `active`. |
| 70 | +Status changes don't send webhooks, |
| 71 | +so poll the number to watch for the transition. |
| 72 | +To disable E911 on the number, |
| 73 | +send a `DELETE` request to the same endpoint. |
| 74 | + |
| 75 | +For full request and response details, |
| 76 | +see the [E911 Addresses](/docs/apis/rest/e-911-addresses/list-addresses) reference for address operations, |
| 77 | +and [Assign an E911 address](/docs/apis/rest/phone-numbers/assign-e-911-address) |
| 78 | +and [Remove an E911 address](/docs/apis/rest/phone-numbers/remove-e-911-address) |
| 79 | +under the Phone Numbers reference. |
| 80 | + |
| 81 | +<Info title="Compatibility API"> |
| 82 | + |
| 83 | +If you manage numbers with the Compatibility API, |
| 84 | +you can attach an existing emergency address by setting `EmergencyAddressSid` |
| 85 | +when [updating an incoming phone number](/docs/compatibility-api/rest/incoming-phone-numbers/update-incoming-phone-number). |
37 | 86 |
|
38 | 87 | </Info> |
39 | 88 |
|
40 | | -As stated before, SignalWire phone numbers purchased through the Dashboard don’t support E911. |
41 | | -If you'd like to have E911 services enabled, please contact the SignalWire Support Team. |
42 | | -Once E911 is enabled for the number by working with the SignalWire support team, you can follow these steps to set up E911 and make a test call: |
43 | | - |
44 | | -1. Complete the Set of Instructions from the Previous Section. |
45 | | -2. Wait about 30 minutes for SignalWire to properly set up E911 on your line. |
46 | | -3. Do a test call to 933 first, and listen to your E911 info playback. |
47 | | -_If you hear the automated information, you're ready to do a real test. |
48 | | -If you hear an error tone, wait a little longer, then try again._ |
49 | | -4. Call your local police department's non-emergency number. |
50 | | -Let them know you're making a VoIP test call to verify location information. |
51 | | -5. Once you've notified your local emergency center of an incoming test call, make the real call to 911 and verify your address displays correctly with the answering personnel. |
52 | | - |
53 | | -Provided all the information displays correctly, your verification process for E911 services is complete. |
54 | | -The carriers validate the address. If it passes, you're good to go. |
| 89 | +## Set up E911 in the Dashboard |
| 90 | + |
| 91 | +Open the **Phone Numbers** section of your Dashboard |
| 92 | +and select the **E911** tab to create and manage emergency addresses. |
| 93 | +To assign an address, |
| 94 | +open a phone number's detail page and set its emergency address there. |
| 95 | +The same validation and provisioning process applies, |
| 96 | +and the number's E911 status is shown alongside the assignment. |
| 97 | + |
| 98 | +## Test your E911 configuration |
| 99 | + |
| 100 | +Once the number's E911 status is `active`, |
| 101 | +dial 933 from it. |
| 102 | +933 is the emergency network's test line: |
| 103 | +it reads back the address on file for the number |
| 104 | +so you can confirm your registration is correct, |
| 105 | +and calling it never incurs the unregistered-call fee. |
| 106 | +If 933 doesn't read back the address you registered, |
| 107 | +check the number's E911 status: |
| 108 | +provisioning may still be `pending`, |
| 109 | +or the number may not have an address assigned at all. |
0 commit comments