1syntax = "proto2";
2
3package ecc;
4
5option java_package = "com.android.phone.ecc";
6option java_outer_classname = "ProtobufEccData";
7
8// EccInfo represents an Emergency Call Code (i.e. an emergency phone
9// number such as 911, 112, ...)
10message EccInfo {
11    enum Type {
12        TYPE_UNSPECIFIED = 0;
13        POLICE = 1;
14        AMBULANCE = 2;
15        FIRE = 3;
16        MARINE_GUARD = 4;
17        MOUNTAIN_RESCUE = 5;
18        MIEC = 6;
19        AIEC = 7;
20    }
21
22    enum Routing {
23        UNKNOWN = 0;
24        EMERGENCY = 1;
25        NORMAL= 2;
26    }
27
28    // Required: Every EccInfo shall contain a phone number.
29    optional string phone_number = 1;
30
31    // Extra rules: Every Ecc should have at least 1 valid type.
32    repeated Type types = 2 [packed=true];
33
34
35    //Optional: By default, routing is assumed to be 'UNKNOWN'
36    optional Routing routing = 3 [default = UNKNOWN];
37
38    //Optional: This field is evaluated only if routing is set to NORMAL
39    //If the field is empty, NORMAL routing is used for all MNCs
40    //Else normal routing is used only for list of MNCs specified
41    repeated string normal_routing_mncs = 4;
42
43}
44
45// CountryInfo represents available ECCs of a country/region, recognized
46// with ISO country code.
47message CountryInfo {
48    // Required: Every CountryInfo shall contain a ISO country code.
49    optional string iso_code = 1;
50
51    // Extra rules: There should be at least one EccInfo in this list.
52    repeated EccInfo eccs = 2;
53
54    // Required: Every CountryInfo shall contain a fallback number, shall
55    // be either 112 or 911.
56    //
57    // If an emergency number in EccInfo is declined by ril.ecclist, this
58    // fallback number may take the place.
59    //
60    // Per http://www.etsi.org/deliver/etsi_ts/122100_122199/122101/09.01.00_60/ts_122101v090100p.pdf,
61    // 112 and 911 shall always be available.
62    optional string ecc_fallback = 3;
63
64    // Required: Every CountryInfo shall specify whether emergency numbers sourced from modem config
65    // should be ignored.
66    //
67    // If this value is set to true, we have a pretty good authority of emergency numbers in the
68    // android emergency number db for this country.
69    optional bool ignore_modem_config = 4 [default = false];
70}
71
72message AllInfo {
73    // The revision value in ecc/input/eccdata.json should be increased
74    // before releasing a new content.
75    //
76    // This field is not used to compare data revision for online updating.
77    // It's reserved for identifying ecc info problems.
78    optional int32 revision = 1;
79
80    // Extra rules: There should be at least one CountryInfo in this list.
81    repeated CountryInfo countries = 2;
82}
83
84