diff --git a/rcs_service_aidl/src/com/suntek/mway/rcs/client/aidl/constant/Parameter.java b/rcs_service_aidl/src/com/suntek/mway/rcs/client/aidl/constant/Parameter.java
index fc1d468..d795953 100644
--- a/rcs_service_aidl/src/com/suntek/mway/rcs/client/aidl/constant/Parameter.java
+++ b/rcs_service_aidl/src/com/suntek/mway/rcs/client/aidl/constant/Parameter.java
@@ -57,6 +57,8 @@
 
     public static final String EXTRA_PHONE_ID = "phoneId";
 
+    public static final String EXTRA_SUB_ID = "subId";
+
     public static final String EXTRA_COPY = "copy";
 
     public static final String EXTRA_SILENCE = "silence";
diff --git a/rcs_service_api/src/com/suntek/mway/rcs/client/api/message/MessageApi.java b/rcs_service_api/src/com/suntek/mway/rcs/client/api/message/MessageApi.java
index 8ae84fa..a2160f0 100644
--- a/rcs_service_api/src/com/suntek/mway/rcs/client/api/message/MessageApi.java
+++ b/rcs_service_api/src/com/suntek/mway/rcs/client/api/message/MessageApi.java
@@ -201,19 +201,19 @@
     }
 
     public int getAudioMaxDuration() throws RemoteException, ServiceDisconnectedException {
-        return ServiceApi.getServiceApi().getAudioMaxDuration();
+        return (int)MessageConstants.CONST_AUDIO_MAX_TIME;
     }
 
     public long getImageMaxSize() throws RemoteException, ServiceDisconnectedException {
-        return ServiceApi.getServiceApi().getImageMaxSize();
+        return MessageConstants.CONST_IMAGE_FT_MAX_SIZE;
     }
 
     public int getVideoMaxDuration() throws RemoteException, ServiceDisconnectedException {
-        return ServiceApi.getServiceApi().getVideoMaxDuration();
+        return (int)MessageConstants.CONST_VIDEO_MAX_TIME;
     }
 
     public long getVideoMaxSize() throws RemoteException, ServiceDisconnectedException {
-        return ServiceApi.getServiceApi().getVideoMaxSize();
+        return MessageConstants.CONST_VIDEO_FT_MAX_SIZE;
     }
 
     public int getRemindPolicy() throws RemoteException, ServiceDisconnectedException {
diff --git a/rcs_service_api/src/com/suntek/mway/rcs/client/api/util/VerificationUtil.java b/rcs_service_api/src/com/suntek/mway/rcs/client/api/util/VerificationUtil.java
index a787814..462e087 100644
--- a/rcs_service_api/src/com/suntek/mway/rcs/client/api/util/VerificationUtil.java
+++ b/rcs_service_api/src/com/suntek/mway/rcs/client/api/util/VerificationUtil.java
@@ -94,7 +94,7 @@
     public static String formatWithout86(String mobile) {
         String formatStr = mobile;
         if (formatStr != null) {
-            formatStr = formatStr.replaceAll(" ", "");
+            formatStr = formatStr.replaceAll(" ", "").replaceAll("-", "");
             if (formatStr.startsWith("+86")) {
                 formatStr = formatStr.substring(3);
             }
