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 Original line 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);
    oneway setDataProfile_1_4(int32_t serial, vec<DataProfileInfo> profiles);


    /**
    /**
     * Initiate emergency voice call, with zero or more emergency service category(s) and routing
     * Initiate emergency voice call, with zero or more emergency service category(s), zero or
     * information for handling the call. Android uses this request to make its emergency call
     * more emergency Uniform Resource Names (URN), and routing information for handling the call.
     * instead of using @1.0::IRadio.dial if the 'address' in the 'dialInfo' field is identified
     * Android uses this request to make its emergency call instead of using @1.0::IRadio.dial
     * as an emergency number by Android.
     * 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
     * In multi-sim scenario, if the emergency number is from a specific subscription, this radio
     * the subscription the emergency number belongs to, no matter of the PUK/PIN state of the
     * request is sent through the IRadio service that serves the subscription, no matter of the
     * subscription and the service state.
     * 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
     * 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
     * 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.
     * @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
     * 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
     * 'categories' field is set to @1.4::EmergencyServiceCategory#UNSPECIFIED; if the dialed
     * technology used to request emergency services does not support the emergency service
     * emergency number does not have specified emergency Uniform Resource Names, the 'urns' field
     * category, the categories may be ignored.
     * 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 serial Serial number of request.
     * @param dialInfo the same @1.0::Dial information used by @1.0::IRadio.dial.
     * @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)
     * @param categories bitfield<@1.4::EmergencyServiceCategory> the Emergency Service Category(s)
     *     of the call.
     *     of the call.
     * @param urns the emergency Uniform Resource Names (URN)
     * @param routing @1.4::EmergencyCallRouting the emergency call routing information.
     * @param routing @1.4::EmergencyCallRouting the emergency call routing information.
     *
     *
     * Response function is IRadioResponse.emergencyDialResponse()
     * Response function is IRadioResponse.emergencyDialResponse()
     */
     */
    oneway emergencyDial(int32_t serial, Dial dialInfo,
    oneway emergencyDial(int32_t serial, Dial dialInfo,
            bitfield<EmergencyServiceCategory> categories, EmergencyCallRouting routing);
            bitfield<EmergencyServiceCategory> categories, vec<string> urns,
            EmergencyCallRouting routing);


    /**
    /**
     * Starts a network scan
     * Starts a network scan
+12 −10
Original line number Original line Diff line number Diff line
@@ -27,22 +27,24 @@ interface IRadioIndication extends @1.3::IRadioIndication {
     * Report the current list of emergency numbers
     * Report the current list of emergency numbers
     *
     *
     * Each emergency number (@1.4::EmergencyNumber) in the emergency number list contains a
     * 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,
     * dialing number, zero or more service category(s), zero or more emergency uniform resource
     * and source(s) that indicate where it comes from.
     * 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
     * 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
     * network code, emergency service categories, and emergency uniform resource names from all
     * signaling, sim, modem/oem configuration, and default configuration (112 and 911 must be
     * available sources including network signaling, sim, modem/oem configuration, and default
     * always available; additionally, 000, 08, 110, 999, 118 and 119 must be available when sim
     * configuration (112 and 911 must be always available; additionally, 000, 08, 110, 999, 118
     * is not present). Radio shall not report emergency numbers that are invalid in the current
     * and 119 must be available when sim is not present). Radio shall not report emergency numbers
     * locale. The reported emergency number list must not have duplicate @1.4::EmergencyNumber
     * that are invalid in the current locale. The reported emergency number list must not have
     * entries. Please refer the documentation of @1.4::EmergencyNumber to construct each
     * duplicate @1.4::EmergencyNumber entries. Please refer the documentation of
     * emergency number to report.
     * @1.4::EmergencyNumber to construct each emergency number to report.
     *
     *
     * Radio must report the complete list of emergency numbers whenever the emergency numbers in
     * 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.
     * 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 type Type of radio indication
     * @param emergencyNumberList Current list of emergency numbers known to radio.
     * @param emergencyNumberList Current list of emergency numbers known to radio.
+22 −11
Original line number Original line 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
 * Emergency number contains information of number, one or more service category(s), zero or more
 * code (mcc), mobile network country (mnc) and source(s) that indicate where it comes from.
 * 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;
 * If the emergency number is associated with country, field ‘mcc’ must be provided, otherwise
 * otherwise the field ‘mcc’ must be an empty string.
 * 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
 * A unique EmergencyNumber has a unique combination of ‘number’, ‘mcc’, 'mnc', 'categories' and
 * 'mnc' must be provided; otherwise the field ‘mnc’ must be an empty string.
 * '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'
 * Reference: 3gpp 22.101, Section 10 - Emergency Calls;
 * fields. Multiple @1.4::EmergencyNumberSource should be merged into the bitfield for the same
 *            3gpp 23.167, Section 6 - Functional description;
 * EmergencyNumber.
 *            3gpp 24.503, Section 5.1.6.8.1 - General;
 *
 *            RFC 5031
 * Reference: 3GPP TS 22.101 version 9.1.0 Release 9
 */
 */
struct EmergencyNumber{
struct EmergencyNumber{
    /**
    /**
@@ -86,6 +93,10 @@ struct EmergencyNumber{
     * the value of each bit.
     * the value of each bit.
     */
     */
    bitfield<EmergencyServiceCategory> categories;
    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
     * The bitfield of @1.4::EmergencyNumberSource(s). See @1.4::EmergencyNumberSource for the
     * value of each bit.
     * value of each bit.