Android Emergency Number Database

Android includes an emergency number database that contains a database version number and a list of emergency phone numbers with emergency service categories (for example, police, fire, ambulance) and a corresponding country. This database is one of the sources for identifying and providing emergency numbers in Android.

Android emergency number database
Figure 1. Android emergency number database system

AOSP file

AOSP provides an emergency number database file located in packages/services/Telephony/ecc/output/eccdata. The content of the database can be read in packages/services/Telephony/ecc/input/eccdata.txt.

Downloaded database

From Android 11 and higher, Android supports a downloaded emergency number database that can be updated through OTA updates. This ensures that devices have access to the latest version of the database and the latest information.

Updating information

To add or update information in the emergency number database, provide the details of your request by filing a bug in the Networking component.

If your request is approved, Android may update the database and you may then download to devices. Android may also publish the changes to the configured emergency number database in AOSP.

Implementation

Implementing an emergency number database

To implement an emergency number database:

  1. Construct a text file that follows the emergency number database format: packages/services/Telephony/ecc/conversion_toolset_v1/proto/protobuf_ecc_data.proto.
  2. Convert the text file to an emergency number database file using the conversion tool at packages/services/Telephony/ecc/README.md.

Enabling updates

To enable updates to the downloaded emergency number database, adopt an OTA update mechanism to trigger the device to download the emergency number database available from your server. Use a partition, such as /data/misc/emergencynumberdb, to read and write the downloaded emergency number database in Android.

To implement the downloaded emergency number database, use the following system APIs:

Validation

To test your implementation of the downloaded emergency number database, make sure the downloaded database is returned as a part of the result of getEmergencyNumberList, and the numbers are identified as emergency numbers when isEmergencyNumber is called.