Skip to content

Commit 22f1049

Browse files
authored
Merge pull request #538 from signalwire/august-20260805-update-e911-platform-guide
Rewrite the E911 platform guide to use new native, self-service REST endpoint
2 parents 8c90d0c + 2661026 commit 22f1049

3 files changed

Lines changed: 93 additions & 38 deletions

File tree

fern/products/platform/pages/platform/phone-numbers/e911.mdx

Lines changed: 91 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -2,53 +2,108 @@
22
id: 5286e8ea-58ec-472a-8645-ade919b8449b
33
title: E911
44
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
77
---
88

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.
1016

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).
1322

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.
1533

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.
1934
</Warning>
2035

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" />
2259

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.
2763

28-
<Info>
64+
Next, assign the address to a phone number:
2965

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" />
3167

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).
3786

3887
</Info>
3988

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.

fern/products/platform/pages/platform/phone-numbers/overview.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,4 +87,4 @@ You can delete a number group from its settings page. Deleting the group will ca
8787

8888
## E911
8989

90-
Manage addresses for emergency services in the **E911** tab. See [What is E911?](/docs/platform/e911) for setup and testing instructions.
90+
Create and manage emergency addresses in the **E911** tab, then assign one to a number from its detail page. See the [E911 guide](/docs/platform/e911) for setup and testing instructions, or use the [REST API](/docs/apis/rest/e-911-addresses/list-addresses) to manage E911 programmatically.

fern/products/platform/pages/platform/setup/porting-into-signalwire.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ You can port any number (wireless or business landline) to SignalWire.
1212

1313
<Info>
1414

15-
If requesting E911 capabilities for numbers, please reach out to SignalWire prior to submitting the order or in the port order itself.
15+
E911 registrations don't transfer with a port. Once your port completes, assign an emergency address to the number like any other SignalWire number — see the [E911 guide](/docs/platform/e911).
1616

1717
</Info>
1818

0 commit comments

Comments
 (0)