فهرست منبع

主机和分机增加sip重连

weizhengliang 6 ماه پیش
والد
کامیت
bcfc3edb78

+ 15 - 1
android_bed/src/main/java/com/wdkl/app/ncs/callingbed/activity/CallingbedActivity.kt

@@ -1868,7 +1868,21 @@ class CallingbedActivity :BaseActivity<BedCallingbedActivityPresenter, Callingbe
                     Log.d("TCP", "received tcp action: " + tcpModel.action + ", type: " + tcpModel.type)
                     if (tcpModel.getType() == TcpType.VOICE) {
                         Util.wakeUpAndUnlock()
-                        if (tcpModel.data != null) {
+
+                        if (tcpModel.action == TcpAction.VoiceAction.SIP_RECONNECT) {
+                            //重连sip
+                            if (SettingConfig.getSipEnabled(activity)) {
+                                //配置sip账户
+                                if (!TextUtils.isEmpty(Constant.SIP_ID) && !TextUtils.isEmpty(Constant.sip_ip)) {
+                                    linphoneManager?.createProxyConfig(
+                                        Constant.SIP_ID!!,
+                                        Constant.SIP_ID!!,
+                                        "${Constant.sip_ip}:5060",
+                                        TransportType.Udp
+                                    )
+                                }
+                            }
+                        } else if (tcpModel.data != null) {
                             if (tcpModel.action == TcpAction.VoiceAction.CALL || tcpModel.action == TcpAction.VoiceAction.VCALL) {
                                 val interactionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
                                 Constant.fromId = tcpModel.fromId

+ 15 - 1
android_bed/src/main/java/com/wdkl/app/ncs/callingbed/activity/CallingbedDormitoryActivity.kt

@@ -1253,7 +1253,21 @@ class CallingbedDormitoryActivity :BaseActivity<BedCallingbedActivityPresenter,
                     Log.d("TCP", "received tcp action: " + tcpModel.action + ", type: " + tcpModel.type)
                     if (tcpModel.getType() == TcpType.VOICE) {
                         Util.wakeUpAndUnlock()
-                        if (tcpModel.data != null) {
+
+                        if (tcpModel.action == TcpAction.VoiceAction.SIP_RECONNECT) {
+                            //重连sip
+                            if (SettingConfig.getSipEnabled(activity)) {
+                                //配置sip账户
+                                if (!TextUtils.isEmpty(Constant.SIP_ID) && !TextUtils.isEmpty(Constant.sip_ip)) {
+                                    linphoneManager?.createProxyConfig(
+                                        Constant.SIP_ID!!,
+                                        Constant.SIP_ID!!,
+                                        "${Constant.sip_ip}:5060",
+                                        TransportType.Udp
+                                    )
+                                }
+                            }
+                        } else if (tcpModel.data != null) {
                             if (tcpModel.action == TcpAction.VoiceAction.CALL || tcpModel.action == TcpAction.VoiceAction.VCALL) {
                                 val interactionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
                                 Constant.fromId = tcpModel.fromId

+ 15 - 1
android_bed/src/main/java/com/wdkl/app/ncs/callingbed/activity/CallingbedMomActivity.kt

@@ -1289,7 +1289,21 @@ class CallingbedMomActivity :BaseActivity<BedCallingbedActivityPresenter, Callin
                     Log.d("TCP", "received tcp action: " + tcpModel.action + ", type: " + tcpModel.type)
                     if (tcpModel.getType() == TcpType.VOICE) {
                         Util.wakeUpAndUnlock()
-                        if (tcpModel.data != null) {
+
+                        if (tcpModel.action == TcpAction.VoiceAction.SIP_RECONNECT) {
+                            //重连sip
+                            if (SettingConfig.getSipEnabled(activity)) {
+                                //配置sip账户
+                                if (!TextUtils.isEmpty(Constant.SIP_ID) && !TextUtils.isEmpty(Constant.sip_ip)) {
+                                    linphoneManager?.createProxyConfig(
+                                        Constant.SIP_ID!!,
+                                        Constant.SIP_ID!!,
+                                        "${Constant.sip_ip}:5060",
+                                        TransportType.Udp
+                                    )
+                                }
+                            }
+                        } else if (tcpModel.data != null) {
                             if (tcpModel.action == TcpAction.VoiceAction.CALL || tcpModel.action == TcpAction.VoiceAction.VCALL) {
                                 val interactionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
                                 Constant.fromId = tcpModel.fromId

+ 13 - 0
android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/activity/NurseHome2Activity.kt

@@ -1486,6 +1486,19 @@ class NurseHome2Activity  : BaseActivity<NurseHomeActivityPresenter, NurseMainDo
                         AppTool.Time.delay(1200) {
                             EventBus.getDefault().post(MessageEvent("cancel", Constant.EVENT_END_CALL))
                         }
+                    } else if (tcpModel.getAction() == TcpAction.VoiceAction.SIP_RECONNECT) {
+                        //重连sip
+                        if (SettingConfig.getSipEnabled(activity)) {
+                            //配置sip账户
+                            if (!TextUtils.isEmpty(Constant.SIP_ID) && !TextUtils.isEmpty(Constant.sip_ip)) {
+                                linphoneManager?.createProxyConfig(
+                                    Constant.SIP_ID!!,
+                                    Constant.SIP_ID!!,
+                                    "${Constant.sip_ip}:5060",
+                                    TransportType.Udp
+                                )
+                            }
+                        }
                     }
                 } else if (tcpModel.type == TcpType.SOS) {
                     if (tcpModel.action == TcpAction.SOSAction.CALL || tcpModel.action == TcpAction.SOSAction.ROOM_CALL) {

+ 13 - 0
android_host/src/main/java/com/wdkl/ncs/android/component/nursehome/activity/NurseHomeActivity.kt

@@ -2049,6 +2049,19 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNewN
                         AppTool.Time.delay(1200) {
                             EventBus.getDefault().post(MessageEvent("cancel", Constant.EVENT_END_CALL))
                         }
+                    } else if (tcpModel.getAction() == TcpAction.VoiceAction.SIP_RECONNECT) {
+                        //重连sip
+                        if (SettingConfig.getSipEnabled(activity)) {
+                            //配置sip账户
+                            if (!TextUtils.isEmpty(Constant.SIP_ID) && !TextUtils.isEmpty(Constant.sip_ip)) {
+                                linphoneManager?.createProxyConfig(
+                                    Constant.SIP_ID!!,
+                                    Constant.SIP_ID!!,
+                                    "${Constant.sip_ip}:5060",
+                                    TransportType.Udp
+                                )
+                            }
+                        }
                     }
                 } else if (tcpModel.type == TcpType.SOS) {
                     if (tcpModel.action == TcpAction.SOSAction.CALL || tcpModel.action == TcpAction.SOSAction.ROOM_CALL) {

+ 1 - 0
middleware/src/main/code/com/wdkl/ncs/android/middleware/tcp/enums/TcpAction.java

@@ -106,6 +106,7 @@ public interface TcpAction {
         HCALL("手柄呼叫"),
         HRESPONSE("响应手柄"),
         HRESPONSED("响应过手柄了"),
+        SIP_RECONNECT("重连SIP"),
         NO_MATCH("没有匹配");