Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8baf2a13 authored by Shuo Qian's avatar Shuo Qian Committed by Android (Google) Code Review
Browse files

Merge "Add Emergency Uniform Resource Name (URN)"

parents aa2c2714 2a45c732
Loading
Loading
Loading
Loading
+19 −12
Original line number Diff line number Diff line
@@ -103,14 +103,14 @@ interface IRadio extends @1.3::IRadio {
    oneway setDataProfile_1_4(int32_t serial, vec<DataProfileInfo> profiles);

    /**
     * Initiate emergency voice call, with zero or more emergency service category(s) and routing
     * information for handling the call. Android uses this request to make its emergency call
     * instead of using @1.0::IRadio.dial if the 'address' in the 'dialInfo' field is identified
     * as an emergency number by Android.
     * Initiate emergency voice call, with zero or more emergency service category(s), zero or
     * more emergency Uniform Resource Names (URN), and routing information for handling the call.
     * Android uses this request to make its emergency call instead of using @1.0::IRadio.dial
     * if the 'address' in the 'dialInfo' field is identified as an emergency number by Android.
     *
     * In multi-sim senario, this radio request is sent through the IRadio service that serves
     * the subscription the emergency number belongs to, no matter of the PUK/PIN state of the
     * subscription and the service state.
     * In multi-sim scenario, if the emergency number is from a specific subscription, this radio
     * request is sent through the IRadio service that serves the subscription, no matter of the
     * PUK/PIN state of the subscription and the service state of the radio.
     *
     * Some countries or carriers require some emergency numbers that must be handled with normal
     * call routing or emergency routing. If the 'routing' field is specified as
@@ -120,22 +120,29 @@ interface IRadio extends @1.3::IRadio {
     * @1.4::EmergencyNumberRouting#UNKNOWN, Android does not know how to handle the call.
     *
     * If the dialed emergency number does not have a specified emergency service category, the
     * 'categories' field is set to @1.4::EmergencyServiceCategory#UNSPECIFIED; if the underlying
     * technology used to request emergency services does not support the emergency service
     * category, the categories may be ignored.
     * 'categories' field is set to @1.4::EmergencyServiceCategory#UNSPECIFIED; if the dialed
     * emergency number does not have specified emergency Uniform Resource Names, the 'urns' field
     * is set to an empty list. If the underlying technology used to request emergency services
     * does not support the emergency service category or emergency uniform resource names, the
     * field 'categories' or 'urns' may be ignored.
     *
     * Reference: 3gpp TS 22.101, Section 10 - Emergency Calls
     * Reference: 3gpp 22.101, Section 10 - Emergency Calls;
     *            3gpp 23.167, Section 6 - Functional description;
     *            3gpp 24.503, Section 5.1.6.8.1 - General;
     *            RFC 5031
     *
     * @param serial Serial number of request.
     * @param dialInfo the same @1.0::Dial information used by @1.0::IRadio.dial.
     * @param categories bitfield<@1.4::EmergencyServiceCategory> the Emergency Service Category(s)
     *     of the call.
     * @param urns the emergency Uniform Resource Names (URN)
     * @param routing @1.4::EmergencyCallRouting the emergency call routing information.
     *
     * Response function is IRadioResponse.emergencyDialResponse()
     */
    oneway emergencyDial(int32_t serial, Dial dialInfo,
            bitfield<EmergencyServiceCategory> categories, EmergencyCallRouting routing);
            bitfield<EmergencyServiceCategory> categories, vec<string> urns,
            EmergencyCallRouting routing);

    /**
     * Starts a network scan
+12 −10
Original line number Diff line number Diff line
@@ -27,22 +27,24 @@ interface IRadioIndication extends @1.3::IRadioIndication {
     * Report the current list of emergency numbers
     *
     * Each emergency number (@1.4::EmergencyNumber) in the emergency number list contains a
     * dialing number, zero or more service category(s), mobile country code, mobile network code,
     * and source(s) that indicate where it comes from.
     * dialing number, zero or more service category(s), zero or more emergency uniform resource
     * names, mobile country code, mobile network code, and source(s) that indicate where it comes
     * from.
     *
     * Radio must report all the valid emergency numbers with known mobile country code, mobile
     * network code and emergency service categories from all available sources including network
     * signaling, sim, modem/oem configuration, and default configuration (112 and 911 must be
     * always available; additionally, 000, 08, 110, 999, 118 and 119 must be available when sim
     * is not present). Radio shall not report emergency numbers that are invalid in the current
     * locale. The reported emergency number list must not have duplicate @1.4::EmergencyNumber
     * entries. Please refer the documentation of @1.4::EmergencyNumber to construct each
     * emergency number to report.
     * network code, emergency service categories, and emergency uniform resource names from all
     * available sources including network signaling, sim, modem/oem configuration, and default
     * configuration (112 and 911 must be always available; additionally, 000, 08, 110, 999, 118
     * and 119 must be available when sim is not present). Radio shall not report emergency numbers
     * that are invalid in the current locale. The reported emergency number list must not have
     * duplicate @1.4::EmergencyNumber entries. Please refer the documentation of
     * @1.4::EmergencyNumber to construct each emergency number to report.
     *
     * Radio must report the complete list of emergency numbers whenever the emergency numbers in
     * the list are changed or whenever the client and the radio server are connected.
     *
     * Reference: 3gpp 22.101, Section 10 - Emergency Calls
     * Reference: 3gpp 22.101, Section 10 - Emergency Calls;
     *            3gpp 24.008, Section 9.2.13.4 - Emergency Number List
     *
     * @param type Type of radio indication
     * @param emergencyNumberList Current list of emergency numbers known to radio.
+22 −11
Original line number Diff line number Diff line
@@ -52,20 +52,27 @@ enum AccessNetwork : @1.2::AccessNetwork {
};

/**
 * Emergency number contains information of number, one or more service category(s), mobile country
 * code (mcc), mobile network country (mnc) and source(s) that indicate where it comes from.
 * Emergency number contains information of number, one or more service category(s), zero or more
 * emergency uniform resource names, mobile country code (mcc), mobile network country (mnc) and
 * source(s) that indicate where it comes from.
 *
 * If the source of the emergency number is associated with country, field ‘mcc’ must be provided;
 * otherwise the field ‘mcc’ must be an empty string.
 * If the emergency number is associated with country, field ‘mcc’ must be provided, otherwise
 * field ‘mcc’ must be an empty string. If the emergency number is associated with network
 * operator, field ‘mcc’ and 'mnc' must be provided, otherwise field ‘mnc’ must be an empty
 * string. If the emergency number is specified with emergency service category(s), field
 * 'categories' must be provided, otherwise field 'categories' must be
 * @1.4::EmergencyServiceCategories::UNSPECIFIED. If the emergency number is specified with
 * emergency uniform resource names (URN), field 'urns' must be provided, otherwise field 'urns'
 * must be an empty list.
 *
 * If the source of the emergency number is associated with network operator, field ‘mcc’ and
 * 'mnc' must be provided; otherwise the field ‘mnc’ must be an empty string.
 * A unique EmergencyNumber has a unique combination of ‘number’, ‘mcc’, 'mnc', 'categories' and
 * 'urns' fields. Multiple @1.4::EmergencyNumberSource should be merged into one 'sources' field
 * via bitwise-OR combination for the same EmergencyNumber.
 *
 * A unique EmergencyNumber has a unique combination of ‘number’, ‘mcc’, 'mnc' and 'categories'
 * fields. Multiple @1.4::EmergencyNumberSource should be merged into the bitfield for the same
 * EmergencyNumber.
 *
 * Reference: 3GPP TS 22.101 version 9.1.0 Release 9
 * Reference: 3gpp 22.101, Section 10 - Emergency Calls;
 *            3gpp 23.167, Section 6 - Functional description;
 *            3gpp 24.503, Section 5.1.6.8.1 - General;
 *            RFC 5031
 */
struct EmergencyNumber{
    /**
@@ -86,6 +93,10 @@ struct EmergencyNumber{
     * the value of each bit.
     */
    bitfield<EmergencyServiceCategory> categories;
    /**
     * The list of emergency Uniform Resource Names (URN).
     */
    vec<string> urns;
    /**
     * The bitfield of @1.4::EmergencyNumberSource(s). See @1.4::EmergencyNumberSource for the
     * value of each bit.