summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--radio/1.3/Android.bp1
-rw-r--r--radio/1.3/IRadio.hal35
-rw-r--r--radio/1.3/IRadioIndication.hal33
-rw-r--r--radio/1.3/IRadioResponse.hal24
-rw-r--r--radio/1.3/types.hal60
5 files changed, 76 insertions, 77 deletions
diff --git a/radio/1.3/Android.bp b/radio/1.3/Android.bp
index 5ac38cd9..9424a857 100644
--- a/radio/1.3/Android.bp
+++ b/radio/1.3/Android.bp
@@ -22,6 +22,7 @@ hidl_interface {
22 "AccessNetwork", 22 "AccessNetwork",
23 "DataRegStateResult", 23 "DataRegStateResult",
24 "EmergencyNumber", 24 "EmergencyNumber",
25 "EmergencyNumberSource",
25 "EmergencyServiceCategory", 26 "EmergencyServiceCategory",
26 "LteVopsInfo", 27 "LteVopsInfo",
27 ], 28 ],
diff --git a/radio/1.3/IRadio.hal b/radio/1.3/IRadio.hal
index 480a61fb..2b14488f 100644
--- a/radio/1.3/IRadio.hal
+++ b/radio/1.3/IRadio.hal
@@ -86,36 +86,19 @@ interface IRadio extends @1.2::IRadio {
86 bool isRoaming, DataRequestReason reason, vec<string> addresses, vec<string> dnses); 86 bool isRoaming, DataRequestReason reason, vec<string> addresses, vec<string> dnses);
87 87
88 /** 88 /**
89 * Request the current emergency number list. 89 * Initiate emergency voice call, with zero or more emergency service category(s).
90 *
91 * Each emergency number (@1.3::EmergencyNumber) in the emergency number list contains a
92 * dialing number, one or more service category(s), and mobile country code.
93 *
94 * Radio must collect all sources of the emergency number to build the response.
95 * For example, network operator signals, sim card information, modem configuration, OEM
96 * configuration (for example, OEM system properties), always-available emergency numbers and
97 * sim-absence emergency numbers, etc.
98 *
99 * 112, 911 are always available. Besides, 000, 08, 110, 999, 118 and 119 should be available
100 * when sim is not present.
101 *
102 * Please refer the document of @1.3::EmergencyNumber to construct each emergency number to be
103 * returned.
104 *
105 * Reference: 3GPP TS 22.101 version 9.1.0 Release 9
106 *
107 * @param serial Serial number of request.
108 *
109 * Response function is IRadioResponse.getCurrentEmergencyNumberListResponse()
110 */
111 oneway getCurrentEmergencyNumberList(int32_t serial);
112
113 /**
114 * Initiate emergency voice call, with one or more emergency service category(s).
115 * 90 *
116 * Note this API is the same as IRadio.dial except using the 91 * Note this API is the same as IRadio.dial except using the
117 * @1.3::EmergencyServiceCategory as the input param. 92 * @1.3::EmergencyServiceCategory as the input param.
118 * 93 *
94 * If the dialed emergency number does not have a specified emergency service category, the
95 * 'categories' field is set to @1.3::EmergencyServiceCategory#UNSPECIFIED; iff either the
96 * 'categories' field is set to @1.3::EmergencyServiceCategory#UNSPECIFIED or the underlying
97 * technology used to request emergency services does not support the emergency service
98 * category, the interpretation of the categories is defined by implementation.
99 *
100 * Reference: 3gpp TS 22.101, Section 10 - Emergency Calls
101 *
119 * @param serial Serial number of request. 102 * @param serial Serial number of request.
120 * @param dialInfo the same @1.0::Dial information used by @1.0::IRadio.dial. 103 * @param dialInfo the same @1.0::Dial information used by @1.0::IRadio.dial.
121 * @param categories bitfield<@1.3::EmergencyServiceCategory> the Emergency Service Category(s) 104 * @param categories bitfield<@1.3::EmergencyServiceCategory> the Emergency Service Category(s)
diff --git a/radio/1.3/IRadioIndication.hal b/radio/1.3/IRadioIndication.hal
index c80e7626..509eef8f 100644
--- a/radio/1.3/IRadioIndication.hal
+++ b/radio/1.3/IRadioIndication.hal
@@ -24,29 +24,28 @@ import @1.2::IRadioIndication;
24 */ 24 */
25interface IRadioIndication extends @1.2::IRadioIndication { 25interface IRadioIndication extends @1.2::IRadioIndication {
26 /** 26 /**
27 * Indicate and update all of the current Emergency Number information known to the radio, 27 * Report the current list of emergency numbers
28 * when any of the Emergency Number sources (For example, network operator signals, sim card
29 * information, modem configuration, OEM configuration or system properties, etc.) change the
30 * list of emergency numbers.
31 * 28 *
32 * 112, 911 are always available. Besides, 000, 08, 110, 999, 118 and 119 should be available 29 * Each emergency number (@1.3::EmergencyNumber) in the emergency number list contains a
33 * when sim is not present. 30 * dialing number, zero or more service category(s), mobile country code, and source(s) that
31 * indicate where it comes from.
34 * 32 *
35 * This should be the same information as returned by getCurrentEmergencyNumberList() in 33 * Radio must report all the valid emergency numbers with known mobile country code and
36 * 1.3::IRadio. 34 * emergency service categories from all available sources including network signaling, sim,
35 * modem/oem configuration, and default configuration (112 and 911 must be always available;
36 * additionally, 000, 08, 110, 999, 118 and 119 must be available when sim is not present).
37 * Radio shall not report emergency numbers that are invalid in the current locale. The
38 * reported emergency number list must not have duplicate @1.3::EmergencyNumber entries. Please
39 * refer the documentation of @1.3::EmergencyNumber to construct each emergency number to
40 * report.
37 * 41 *
38 * The indicated list of emergency numbers should not have duplicate @1.3::EmergencyNumber. 42 * Radio must report the complete list of emergency numbers whenever the emergency numbers in
39 * Please refer the document of @1.3::EmergencyNumber to construct each emergency number to be 43 * the list are changed or whenever the client and the radio server are connected.
40 * returned.
41 * 44 *
42 * Reference: 3GPP TS 22.101 version 9.1.0 Release 9 45 * Reference: 3gpp 22.101, Section 10 - Emergency Calls
43 * 46 *
44 * @param type Type of radio indication 47 * @param type Type of radio indication
45 * @param emergencyNumberList List of current Emergency Number information 48 * @param emergencyNumberList Current list of emergency numbers known to radio.
46 * (@1.3::EmergencyNumber) known to radio. Radio must collect all sources of the emergency
47 * numbers to build the indication. For example, network operator signals, sim card
48 * information, modem configuration, OEM configuration (for example, OEM specific system
49 * properties), always-available emergency numbers and sim-absence emergency numbers, etc.
50 */ 49 */
51 oneway currentEmergencyNumberList(RadioIndicationType type, 50 oneway currentEmergencyNumberList(RadioIndicationType type,
52 vec<EmergencyNumber> emergencyNumberList); 51 vec<EmergencyNumber> emergencyNumberList);
diff --git a/radio/1.3/IRadioResponse.hal b/radio/1.3/IRadioResponse.hal
index 3604953e..10e7d63c 100644
--- a/radio/1.3/IRadioResponse.hal
+++ b/radio/1.3/IRadioResponse.hal
@@ -25,30 +25,6 @@ import @1.2::IRadioResponse;
25interface IRadioResponse extends @1.2::IRadioResponse { 25interface IRadioResponse extends @1.2::IRadioResponse {
26 /** 26 /**
27 * @param info Response info struct containing response type, serial no. and error 27 * @param info Response info struct containing response type, serial no. and error
28 * @param emergencyNumberList List of current Emergency Number information known to radio.
29 *
30 * Radio must collect all sources of the emergency number to build the response. For example,
31 * network operator signals, sim card information, modem configuration, OEM configuration (for
32 * example, OEM system properties), always-available emergency numbers and sim-absence
33 * emergency numbers, etc.
34 *
35 * The returned list of emergency numbers must not have duplicate @1.3::EmergencyNumber. Please
36 * refer the document of @1.3::EmergencyNumber to construct each emergency number to be
37 * returned.
38 *
39 * Reference: 3GPP TS 22.101 version 9.1.0 Release 9
40 *
41 * Valid errors returned:
42 * RadioError:NONE
43 * RadioError:RADIO_NOT_AVAILABLE
44 * RadioError:NO_MEMORY
45 * RadioError:MODEM_ERR
46 */
47 oneway getCurrentEmergencyNumberListResponse(RadioResponseInfo info,
48 vec<EmergencyNumber> emergencyNumberList);
49
50 /**
51 * @param info Response info struct containing response type, serial no. and error
52 * 28 *
53 * Valid errors returned: 29 * Valid errors returned:
54 * RadioError:NONE 30 * RadioError:NONE
diff --git a/radio/1.3/types.hal b/radio/1.3/types.hal
index d472ca72..09202a5c 100644
--- a/radio/1.3/types.hal
+++ b/radio/1.3/types.hal
@@ -29,14 +29,14 @@ enum AccessNetwork : @1.2::AccessNetwork {
29}; 29};
30 30
31/** 31/**
32 * Emergency number contains information of number, one or more service category(s), and mobile 32 * Emergency number contains information of number, one or more service category(s), mobile country
33 * country code (mcc). 33 * code (mcc), and source(s) that indicate where it comes from.
34 * 34 *
35 * If the source of the emergency number is associated with country, field ‘mcc’ must be 35 * If the source of the emergency number is associated with country, field ‘mcc’ must be
36 * provided; otherwise the field ‘mcc’ must be an empty string. 36 * provided; otherwise the field ‘mcc’ must be an empty string.
37 * 37 *
38 * A unique EmergencyNumber has a unique combination of ‘number’ and ‘mcc’ fields. 38 * A unique EmergencyNumber has a unique combination of ‘number’, ‘mcc’ and 'categories' fields.
39 * Multiple @1.3::EmergencyServiceCategory should be merged into the bitfield for the same 39 * Multiple @1.3::EmergencyNumberSource should be merged into the bitfield for the same
40 * EmergencyNumber. 40 * EmergencyNumber.
41 * 41 *
42 * Reference: 3GPP TS 22.101 version 9.1.0 Release 9 42 * Reference: 3GPP TS 22.101 version 9.1.0 Release 9
@@ -56,6 +56,11 @@ struct EmergencyNumber{
56 * the value of each bit. 56 * the value of each bit.
57 */ 57 */
58 bitfield<EmergencyServiceCategory> categories; 58 bitfield<EmergencyServiceCategory> categories;
59 /**
60 * The bitfield of @1.3::EmergencyNumberSource(s). See @1.3::EmergencyNumberSource for the
61 * value of each bit.
62 */
63 bitfield<EmergencyNumberSource> sources;
59}; 64};
60 65
61/** 66/**
@@ -69,20 +74,55 @@ struct EmergencyNumber{
69 * - Manually Initiated eCall (MIeC); 74 * - Manually Initiated eCall (MIeC);
70 * - Automatically Initiated eCall (AIeC); 75 * - Automatically Initiated eCall (AIeC);
71 * 76 *
72 * Type GENERIC (General emergency call, all categories) is considered to use if the reported type 77 * Category UNSPECIFIED (General emergency call, all categories) indicates that no specific
73 * is not any of the other specific types. 78 * services are associated with this emergency number.
74 * 79 *
75 * Reference: 3GPP TS 22.101 version 9.1.0 Release 9 80 * Reference: 3gpp 22.101, Section 10 - Emergency Calls
76 */ 81 */
77enum EmergencyServiceCategory : int32_t { 82enum EmergencyServiceCategory : int32_t {
78 GENERIC = 0, // General emergency call, all categories 83 /**
84 * General emergency call, all categories
85 */
86 UNSPECIFIED = 0,
79 POLICE = 1 << 0, 87 POLICE = 1 << 0,
80 AMBULANCE = 1 << 1, 88 AMBULANCE = 1 << 1,
81 FIRE_BRIGADE = 1 << 2, 89 FIRE_BRIGADE = 1 << 2,
82 MARINE_GUARD = 1 << 3, 90 MARINE_GUARD = 1 << 3,
83 MOUNTAIN_RESCUE = 1 << 4, 91 MOUNTAIN_RESCUE = 1 << 4,
84 MIEC = 1 << 5, // Manually Initiated eCall (MIeC) 92 /**
85 AIEC = 1 << 6, // Automatically Initiated eCall (AIeC) 93 * Manually Initiated eCall (MIeC)
94 */
95 MIEC = 1 << 5,
96 /**
97 * Automatically Initiated eCall (AIeC)
98 */
99 AIEC = 1 << 6,
100};
101
102/**
103 * The source to tell where the corresponding @1.3::EmergencyNumber comes from.
104 *
105 * Reference: 3gpp 22.101, Section 10 - Emergency Calls
106 */
107enum EmergencyNumberSource : int32_t {
108 /**
109 * Indicates the number is from the network signal.
110 */
111 NETWORK_SIGNALING = 1 << 0,
112 /**
113 * Indicates the number is from the sim card.
114 */
115 SIM = 1 << 1,
116 /**
117 * Indicates the number is from the modem config.
118 */
119 MODEM_CONFIG = 1 << 2,
120 /**
121 * Indicates the number is available as default. Per the reference, 112, 911 must always be
122 * available; additionally, 000, 08, 110, 999, 118 and 119 must be available when sim is not
123 * present.
124 */
125 DEFAULT = 1 << 3,
86}; 126};
87 127
88/** 128/**