Self-provisioning enterprise emergency notifications in the 911 Dashboard


Jason Bogart


When a 911 call is placed from within an enterprise, like a corporate campus, college or university, certain individuals need to be aware as the emergency or situation is occurring so they can react quickly and assist first responders. Recipients of notifications can include the front desk reception area, security teams, or facility managers. These individuals need to be notified in a variety of ways, including email, text (SMS), IVR call, and ‘HTTP Webhook’. The ‘Webhook’ method simply provides the 911 call notification via HTTP, allowing customers to integrate with a variety of applications they specify.

Required elements of the notification are:

  • Time of call 
  • Telephone number that originated the call 
  • Subscriber name
  • Address on file (including address line 2, if populated)

The key driver of this is the FCC mandate known as Kari’s Law that was signed into law on February 16, 2018. Kari’s Law applies to multi-line telephone systems (MLTS) “manufactured, imported, offered for first sale or lease, first sold or leased, or installed” after the compliance date of February 16, 2020. It requires: 

  • Elimination of a prefix digit such as an “8” or “9” when calling 911.
  • Notification of designated personnel when a 911 call is placed. This could include a security team or front desk attendant.


Logging into the 911 Dashboard



Adding a notification contact

  1. From the target account, click "Emergency" and then "Notifications". 
  2. In the "New Notification Recipient" area, input a unique "Notification ID" and "Recipient", and select “Notification Type”. The drop-down options are:
    • Email
    • HTTP (see HTTP Callback below)
    • SMS (the Caller ID will be 877-547-5146)
    • Voice (the Caller ID will be 877-579-3712)
  3. Click "Save"



  • Limits to the notification recipient ID include: "The ID can only contain the following: "letters, numbers, and the characters: , . - @ and _".
  • SMS notifications must be submitted in 11-digit format. Example: 19195557777.
  • HTTP requires Username and Password, and “Recipient” is the URL .


Notification HTTP Callback

Along with SMS, voice, and email notifications, you can tell Bandwidth to send an HTTP message to an HTTP service you provide. One of the notification types is HTTP. The HTTP notification type requires three pieces of information:

  • Recipient: This is a URL that the message will be sent to
  • Username: Username for HTTP basic authentication
  • Password: Password for HTTP basic authentication

When one of your subscribers calls 911 or 933, and they have an HTTP notification type assigned to their phone number, Bandwidth will send caller information to the URL you specified using HTTP POST.


Notification Message

The message that Bandwidth sends will have the fields in the table below. Some fields aren't always in the caller address. For example, if there's no address line 2, the "loc" field won't be in the message. Also, we can process a call without an address if one hasn't been assigned to the phone number when the call was sent to us. In those cases, we won't provide the missing fields in the message. If a field might not be sent, it's marked as "Optional" below.

Field Name





Two character state or province code




Town, city, or community name.




Address line 1




Callback phone number that can be used to contact the caller.




Name of caller




Time of call, in RFC 3339 format, with UTC time zone




Two-character country code




Latitude of caller in decimal degrees




Secondary location of caller, sometimes referred to as "address line 2".  Floor, apartment, suite, etc.




Longitude of caller in decimal degrees



notification_id ID for notification recipient that caused this notification to be sent. Always string
pc Postal code for callers location Optional string
type Type of call. Will be "EMERGENCY" for 911 calls, or "ADDRESS_VALIDATION" for 933 calls. Always string


The field will be encoded as JSON. Here's an example message:

POST /your_callback_endpoint_here HTTP/1.1
Content-Type: application/json
Content-Length: 325

  "addr1": "1000 ELM ST",
  "loc": "UNIT 17",
  "a3": "WINNIPEG",
  "a1": "MB",
  "pc": "R3M3P5",
  "country": "ca",
  "lat": 49.871234,
  "lon": -91.181234,
  "notification_id": "TestWebHook",
  "call_time": "2019-11-23T18:16:48.234Z",
  "caller_name": "Test Caller",
  "callback": "15553211234",
  "type": "EMERGENCY"


Security and authorization

We recommend that your callback endpoint support HTTPs. In addition, Bandwidth will attempt to use HTTP Basic Authentication to connect to your callback endpoint. When setting up your notification, you must provide a username and password that Bandwidth can use to connect to your service.  


Failures and retries

Bandwidth will treat any HTTP responses besides 2xx and 3xx as a failure. If we get a failure response from your service, we'll attempt to send the message two more times.


Assigning recipient to Endpoint(s)  

Click 'Emergency', then 'Endpoints'. Search for the target endpoint and the one your want to edit by clicking into the endpoint. Once chosen, click 'Add Recipient'.



On the pop-up, choose the proper recipient, and then click “Save”



Your endpoint will look like this: 



Managing hundreds of notification recipients: The "Find Notification Recipients" drop-down is "search as you type". If there are too many choices in the drop-down, you can start typing and it'll only show recipients where the email address or recipient ID contain characters that match what you typed.


Batch Uploads/Edits

If you want to batch edit endpoint notification recipients, you can bulk update using the following steps:

  1. Click 'Emergency' tab
  2. Select 'Bulk Import'
  3. Download the CSV file for "Batch CSV Notification Recipient Import". 


The CSV file should contain the following fields:

  • Endpoint: This is a required field that should be a valid telephone number already provisioned in the system. AEUI/ACIDs are also supported, but AEUI provisioning only happens through Bandwidth Dashboard where the notifications aren't supported.
  • Recipient URI/ID: This is also a required field that contains an email address or existing notification recipient ID. Email addresses must start with "mailto:".
    • If an email address is given, it'll be added as a new notification recipient to the system even if that address is already in the system. The system will assign a recipient ID to the new address.
    • If the recipient ID is given, then we'll search the system for that recipient ID and assign it to the endpoint.
  • Username and Password are shown in the example CSV file but are ignored in this release. They're reserved for the next phase of notifications that supports HTTP callback to a customer HTTP server which might be password-protected.

The header row in the CSV isn't necessary, especially since including it will typically cause the batch job to show an error. 



Emergency notification Response Example

Webhook / HTTP Callback









Still have questions? Open a ticket with our support team. We're here to help!

Article is closed for comments.