diff --git a/internal/src/org/codeaurora/internal/IExtTelephony.aidl b/internal/src/org/codeaurora/internal/IExtTelephony.aidl
index a4b3c44..7adb442 100644
--- a/internal/src/org/codeaurora/internal/IExtTelephony.aidl
+++ b/internal/src/org/codeaurora/internal/IExtTelephony.aidl
@@ -292,35 +292,64 @@
     */
     int getCurrentPrimaryCardSlotId();
 
-    // Async api
+    /**
+    * Async api
+    * @deprecated
+    */
     Token enable5g(int slotId, in Client client);
 
-    // Async api
+    /**
+    * Async api
+    * @deprecated
+    */
     Token disable5g(int slotId, in Client client);
 
-    // Async api
+    /**
+    * Async api
+    * @deprecated
+    */
     Token enable5gOnly(int slotId, in Client client);
 
-    // Async api
+    /**
+    * Async api
+    * @deprecated
+    */
     Token query5gStatus(int slotId, in Client client);
 
-    // Async api
-    // a.k.a NR EN-DC and restrict-DCNR.
+    /**
+    * Async api
+    * a.k.a NR EN-DC and restrict-DCNR.
+    * @deprecated
+    */
     Token queryNrDcParam(int slotId, in Client client);
 
-    // Async api
+    /**
+    * Async api
+    * @deprecated
+    */
     Token queryNrBearerAllocation(int slotId, in Client client);
 
-    // Async api
+    /**
+    * Async api
+    * @deprecated
+    */
     Token queryNrSignalStrength(int slotId, in Client client);
 
-    // Async api
+    /**
+    * Async api
+    * @deprecated
+    */
     Token queryUpperLayerIndInfo(int slotId, in Client client);
 
-    // Async api
+    /**
+    * Async api
+    * @deprecated
+    */
     Token query5gConfigInfo(int slotId, in Client client);
 
-    // Async api
+    /**
+    * Async api
+    */
     Token queryNrIconType(int slotId, in Client client);
 
     /**
@@ -344,10 +373,14 @@
     */
     Token queryEndcStatus(int slotId, in Client client);
 
-    // Async api
+    /**
+    * Async api
+    */
     Client registerCallback(String packageName, INetworkCallback callback);
 
-    // Async api
+    /**
+    * Async api
+    */
     void unRegisterCallback(INetworkCallback callback);
 
     /**
diff --git a/internal/src/org/codeaurora/internal/INetworkCallback.aidl b/internal/src/org/codeaurora/internal/INetworkCallback.aidl
index b76d278..63c3e7b 100644
--- a/internal/src/org/codeaurora/internal/INetworkCallback.aidl
+++ b/internal/src/org/codeaurora/internal/INetworkCallback.aidl
@@ -41,16 +41,40 @@
 
 
 interface INetworkCallback {
+    /**
+    * @deprecated
+    */
     void on5gStatus(int slotId, in Token token, in Status status, boolean enableStatus);
+
+    /**
+    *@deprecated
+    */
     void onNrDcParam(int slotId, in Token token, in Status status, in DcParam dcParam);
+
+    /**
+    * @deprecated
+    */
     void onAnyNrBearerAllocation(int slotId, in Token token, in Status status,
             in BearerAllocationStatus bearerStatus);
+
+    /**
+    * @deprecated
+    */
     void onUpperLayerIndInfo(int slotId, in Token token, in Status status,
             in UpperLayerIndInfo upperLayerInfo);
+
+    /**
+    * @deprecated
+    */
     void onSignalStrength(int slotId, in Token token, in Status status,
             in SignalStrength signalStrength);
+
+    /**
+    * @deprecated
+    */
     void on5gConfigInfo(int slotId, in Token token, in Status status,
             in NrConfigType nrConfigType);
+
     void onNrIconType(int slotId, in Token token, in Status status,
             in NrIconType nrIconType);
 
