]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - android/platform-hardware-interfaces.git/commitdiff
Radio HAL: Add VoPS network support
authorAmruth Ramachandran <amruthr@google.com>
Tue, 11 Sep 2018 03:48:49 +0000 (20:48 -0700)
committerAmruth Ramachandran <amruthr@google.com>
Thu, 20 Sep 2018 16:37:01 +0000 (09:37 -0700)
 Update 1.3 HAL:
 - Added DataRegStateResult
 - Added LteVopsInfo
 - Added getDataRegistrationStateResponse_1_3

Bug:112194535
Test: Compiled. VTS tests to be added in separate gerrit

Change-Id: I1996bb0dbfb1c585668b097c206296d5d8e3c8d0

radio/1.3/Android.bp
radio/1.3/IRadioResponse.hal
radio/1.3/types.hal

index 042df6c528d69513799bbba91ca905ebc72cab74..5ac38cd90acfbc6faa15bfb019321676ad855c6c 100644 (file)
@@ -20,8 +20,10 @@ hidl_interface {
     ],
     types: [
         "AccessNetwork",
+        "DataRegStateResult",
         "EmergencyNumber",
         "EmergencyServiceCategory",
+        "LteVopsInfo",
     ],
     gen_java: true,
 }
index 6912d0aedbf04b8c19e7e039f4a99fe765d3947b..3604953e142421c7031aa1a334e94899f314f18d 100644 (file)
@@ -71,4 +71,18 @@ interface IRadioResponse extends @1.2::IRadioResponse {
      *   RadioError:CANCELLED
      */
     oneway emergencyDialResponse(RadioResponseInfo info);
+
+    /**
+     * @param info Response info struct containing response type, serial no. and error
+     * @param dataRegResponse Current Data registration response as defined by DataRegStateResult in
+     *        types.hal
+     *
+     * Valid errors returned:
+     *   RadioError:NONE
+     *   RadioError:RADIO_NOT_AVAILABLE
+     *   RadioError:INTERNAL_ERR
+     *   RadioError:NOT_PROVISIONED
+     */
+    oneway getDataRegistrationStateResponse_1_3(RadioResponseInfo info,
+            DataRegStateResult dataRegResponse);
 };
index c04451f5d1a88a5bd25e9d4bd1210122c1e66003..d472ca72f47a4aaba7ee97ee42fe7f191193188b 100644 (file)
 
 package android.hardware.radio@1.3;
 
+import @1.0::RegState;
 import @1.2::AccessNetwork;
+import @1.2::CellIdentity;
+import @1.2::DataRegStateResult;
 
 enum AccessNetwork : @1.2::AccessNetwork {
     /**
@@ -81,3 +84,39 @@ enum EmergencyServiceCategory : int32_t {
     MIEC = 1 << 5, // Manually Initiated eCall (MIeC)
     AIEC = 1 << 6, // Automatically Initiated eCall (AIeC)
 };
+
+/**
+ * Type to define the LTE specific network capabilities for voice over PS including
+ * emergency and normal voice calls.
+ */
+struct LteVopsInfo {
+    /**
+     * This indicates if camped network support VoLTE services. This information is received
+     * from LTE network during LTE NAS registration procedure through LTE ATTACH ACCEPT/TAU
+     * ACCEPT. Refer 3GPP 24.301 EPS network feature support -> IMS VoPS
+     */
+    bool isVopsSupported;
+    /**
+     * This indicates if camped network support VoLTE emergency bearers. This information
+     * is received from LTE network through two sources:
+     * a. During LTE NAS registration procedure through LTE ATTACH ACCEPT/TAU ACCEPT. Refer
+     *    3GPP 24.301 EPS network feature support -> EMC BS
+     * b. In case device is not registered on network. Refer 3GPP 25.331 LTE RRC
+     *    SIB1 : ims-EmergencySupport-r9
+     * If device is registered on LTE, then this field indicates (a).
+     * In case of limited service on LTE this field indicates (b).
+     */
+    bool isEmcBearerSupported;
+};
+
+struct DataRegStateResult {
+    @1.2::DataRegStateResult base;
+    /**
+     * Network capabilities for voice over PS services. This info is valid only
+     * on LTE network and must be present when device is camped on LTE. vopsInfo
+     * will be empty when device is camped only on 2G/3G .
+     */
+    safe_union VopsInfo {
+        LteVopsInfo lteVopsInfo; // LTE network capability
+    } vopsInfo;
+};