瀏覽代碼

#CHANGE 增加超时转接功能

weizhengliang 3 年之前
父節點
當前提交
78b1a2f9bc

+ 2 - 1
middleware/src/main/code/com/wdkl/ncs/android/middleware/common/Constants.kt

@@ -8,13 +8,14 @@ class Constants {
         var part_id : Int =-1//科室ID
         var mac: String? =""//设备Mac
         var eth_ip: String? ="" //当前设备的IP
-        var ids: String? =""//当前设备的ID
+        var ids: Int? =0//当前设备的ID
         var sip_id: String? =""//sip
         var tcp_ip: String? =""//tcpip
         var tcp_port: String? =""//tcp端口
         var reader_idle_time: String? =""//tcp心跳
         var app_path: String =""//apk下载路径
         var tcp_connected: Boolean = false
+        var back_id: Int? = -1 //后备设备id
 
         //当前是否为白天
         var inday: Boolean = true

+ 2 - 2
middleware/src/main/code/com/wdkl/ncs/android/middleware/tcp/channel/DeviceChannel.java

@@ -44,7 +44,7 @@ public class DeviceChannel {
                     //todo: 判断当前是否通话
                     // 通话中
                     if (calling){
-                        responseTcpModel = VoiceUtil.voiceCalling(Integer.parseInt(Constants.Companion.getIds()), tcpModel.getFromId(),interactionVO.getId());
+                        responseTcpModel = VoiceUtil.voiceCalling(Constants.Companion.getIds(), tcpModel.getFromId(),interactionVO.getId());
                         //todo 给服务器发送正在通话中 tcp
                         return responseTcpModel;
                     } else {
@@ -88,7 +88,7 @@ public class DeviceChannel {
                 if (tcpModel.getAction() == TcpAction.VideoAction.CALL || tcpModel.getAction() == TcpAction.VideoAction.VIDEO_OUT_CALL) {
                     InteractionVO interactionVO = new Gson().fromJson(tcpModel.getData().toString(), InteractionVO.class);
                     if (calling){
-                        responseTcpModel = VideoUtil.videoCalling(Integer.parseInt(Constants.Companion.getIds()), tcpModel.getFromId(), interactionVO.getId());
+                        responseTcpModel = VideoUtil.videoCalling(Constants.Companion.getIds(), tcpModel.getFromId(), interactionVO.getId());
                         return responseTcpModel;
                     } else {
                         EventBus.getDefault().post(new MessageEvent(tcpModel, Constants.Companion.getEVENT_TCP_MSG()));

+ 15 - 3
middleware/src/main/code/com/wdkl/ncs/android/middleware/tcp/channel/VoiceUtil.java

@@ -5,6 +5,9 @@ import com.wdkl.ncs.android.middleware.tcp.dto.TcpModel;
 import com.wdkl.ncs.android.middleware.tcp.enums.TcpAction;
 import com.wdkl.ncs.android.middleware.tcp.enums.TcpType;
 
+import java.util.HashMap;
+import java.util.Map;
+
 public class VoiceUtil {
     public static TcpModel voiceCall(Integer fromId, Integer toId){
         TcpModel tcpModel = new TcpModel();
@@ -84,13 +87,16 @@ public class VoiceUtil {
         return tcpModel;
     }
 
-    public static TcpModel voiceTransfer(Integer fromId, Integer toId,Integer InteractionId){
+    public static TcpModel voiceTransfer(Integer fromId, Integer deviceId, Object interactionVO){
         TcpModel tcpModel = new TcpModel();
         tcpModel.setType(TcpType.VOICE);
         tcpModel.setAction(TcpAction.VoiceAction.TRANSFER);
         tcpModel.setFromId(fromId);
-        tcpModel.setToId(toId);
-        tcpModel.setData(InteractionId);
+        //tcpModel.setToId(toId);
+        Map map = new HashMap<String,String>();
+        map.put("deviceId",deviceId);
+        map.put("interactionVo",interactionVO);
+        tcpModel.setData(map);
         return tcpModel;
     }
 
@@ -126,4 +132,10 @@ public class VoiceUtil {
         TcpModel tcpModel = VoiceUtil.voiceReject(fromId, toId, interactionId);
         TcpClient.getInstance().sendMsg(tcpModel.toJson());
     }
+
+    //呼叫转移
+    public static void transferAudioCall(Integer fromId, Integer deviceId, Object interactionVO) {
+        TcpModel tcpModel = VoiceUtil.voiceTransfer(fromId, deviceId, interactionVO);
+        TcpClient.getInstance().sendMsg(tcpModel.toJson());
+    }
 }

+ 57 - 15
nursehome/src/main/java/com/wdkl/ncs/android/component/nursehome/activity/NurseHomeActivity.kt

@@ -89,6 +89,9 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNurs
     var receiver :TimeReceiver? = null
 
     lateinit var countDownTimer: CountDownTimer
+    //呼叫转接计时
+    lateinit var transferCountDownTimer: CountDownTimer
+    var transferVo: InteractionVO? = null
 
     //呼叫对方设备id
     var callTargetId: Int? = -1
@@ -148,6 +151,7 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNurs
         connectSocket()
 
         initCountDownTimer()
+        initTransferCountDownTimer()
         updateNetState()
         updateTime()
 
@@ -253,6 +257,7 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNurs
     override fun destory() {
         Constants.CALL_STATE = Constants.CALL_STANDBY
         countDownTimer.cancel()
+        transferCountDownTimer.cancel()
         unregisterReceiver(receiver)
         SocketManager.getInstance().unConnect()
         SpeechUtil.getInstance().release()
@@ -391,6 +396,7 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNurs
 
             setSettingConfiguration()
             initCountDownTimer()
+            initTransferCountDownTimer()
         } catch (e: Exception) {
             showMessage("获取设置配置信息异常"+e.message)
             Log.i(TAG,"获取设置配置信息异常"+e.message)
@@ -584,14 +590,14 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNurs
                     //呼出取消
                     Constants.CALL_STATE = Constants.CALL_STANDBY
                     DeviceChannel.calling = false
-                    VoiceUtil.cancelAudioCall(Integer.parseInt(Constants.ids), callTargetId)
+                    VoiceUtil.cancelAudioCall(Constants.ids, callTargetId)
                     CallDialogHelper.dismissCallDialog()
                     countDownTimer.cancel()
                 } else if (Constants.CALL_STATE == Constants.CALL_INCOMING) {
                     //来电拒接
                     Constants.CALL_STATE = Constants.CALL_STANDBY
                     DeviceChannel.calling = false
-                    VoiceUtil.rejectAudioCall(Integer.parseInt(Constants.ids), Constants.fromId, Constants.interactionId)
+                    VoiceUtil.rejectAudioCall(Constants.ids, Constants.fromId, Constants.interactionId)
                     CallDialogHelper.dismissCallDialog()
                 } else if (Constants.CALL_STATE == Constants.CALL_CALLING) {
                     Constants.CALL_STATE = Constants.CALL_STANDBY
@@ -606,8 +612,9 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNurs
                     //来电接听
                     Constants.CALL_STATE = Constants.CALL_CALLING
                     DeviceChannel.calling = true
-                    VoiceUtil.acceptAudioCall(Integer.parseInt(Constants.ids), Constants.fromId, Constants.interactionId)
+                    VoiceUtil.acceptAudioCall(Constants.ids, Constants.fromId, Constants.interactionId)
                     CallDialogHelper.dismissCallDialog()
+                    transferCountDownTimer.cancel()
                 } else if (Constants.CALL_STATE == Constants.CALL_VISITING) {
                     acceptVisit()
                 }
@@ -661,12 +668,36 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNurs
                 //呼叫超时,退出呼叫界面
                 showMessage("无人接听...")
                 DeviceChannel.calling = false
-                VoiceUtil.cancelAudioCall(Integer.parseInt(Constants.ids), callTargetId)
+                Constants.CALL_STATE = Constants.CALL_STANDBY
+                VoiceUtil.cancelAudioCall(Constants.ids, callTargetId)
                 CallDialogHelper.dismissCallDialog()
             }
         }
     }
 
+    fun initTransferCountDownTimer() {
+        if (SettingConfiguration.getInstance().transferDuration <= 0) {
+            SettingConfiguration.getInstance().transferDuration = 30
+        }
+
+        transferCountDownTimer = object: CountDownTimer(SettingConfiguration.getInstance().transferDuration*1000L, 1000) {
+            override fun onTick(millisUntilFinished: Long) {
+                //
+            }
+
+            override fun onFinish() {
+                //呼叫超时转接
+                showMessage("呼叫已转接...")
+                CallDialogHelper.dismissCallDialog()
+                DeviceChannel.calling = false
+                Constants.CALL_STATE = Constants.CALL_STANDBY
+                if (transferVo != null) {
+                    VoiceUtil.transferAudioCall(Constants.ids, Constants.fromId, transferVo)
+                }
+            }
+        }
+    }
+
     private fun updateTime() {
         //根据时间判断白昼进行相关的配置设置
         var currentTime = TimeTransition.getDateTime("yyyy-MM-dd HH:mm:ss")
@@ -743,7 +774,7 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNurs
     fun acceptVisit() {
         CallDialogHelper.dismissCallDialog()
         //发送tcp,同时发起视频通话
-        VideoUtil.sendVideoInCall(Integer.parseInt(Constants.ids), Constants.fromId, Constants.interactionId)
+        VideoUtil.sendVideoInCall(Constants.ids, Constants.fromId, Constants.interactionId)
 
         Constants.CALL_STATE = Constants.CALL_VISIT_CALLING
         DeviceChannel.calling = true
@@ -763,7 +794,7 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNurs
             showMessage("通话服务还未建立连接,请稍后")
             Constants.CALL_STATE = Constants.CALL_STANDBY
             DeviceChannel.calling = false
-            VoiceUtil.rejectAudioCall(Integer.parseInt(Constants.ids), Constants.fromId, Constants.interactionId)
+            VoiceUtil.rejectAudioCall(Constants.ids, Constants.fromId, Constants.interactionId)
         }
     }
 
@@ -798,20 +829,28 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNurs
                                 },
                                 {
                                     //来电接听
-                                    VoiceUtil.acceptAudioCall(Integer.parseInt(Constants.ids), Constants.fromId, Constants.interactionId)
+                                    VoiceUtil.acceptAudioCall(Constants.ids, Constants.fromId, Constants.interactionId)
                                     CallDialogHelper.dismissCallDialog()
+                                    transferCountDownTimer.cancel()
                                 },
                                 {
                                     //来电拒接
                                     DeviceChannel.calling = false
-                                    VoiceUtil.rejectAudioCall(Integer.parseInt(Constants.ids), Constants.fromId, Constants.interactionId)
+                                    Constants.CALL_STATE = Constants.CALL_STANDBY
+                                    VoiceUtil.rejectAudioCall(Constants.ids, Constants.fromId, Constants.interactionId)
                                     CallDialogHelper.dismissCallDialog()
+                                    transferCountDownTimer.cancel()
                                 })
+                            //只有存在后备id的时候才做呼叫转接
+                            if (Constants.back_id != -1) {
+                                transferVo = interactionVO
+                                transferCountDownTimer.start()
+                            }
                         } else {
                             DeviceChannel.calling = false
                             Constants.CALL_STATE = Constants.CALL_STANDBY
                             showMessage("通话服务还未建立连接,请稍后")
-                            VoiceUtil.rejectAudioCall(Integer.parseInt(Constants.ids), Constants.fromId, Constants.interactionId)
+                            VoiceUtil.rejectAudioCall(Constants.ids, Constants.fromId, Constants.interactionId)
                         }
 
                     } else if (tcpModel.getAction() == TcpAction.VoiceAction.ACCEPT) {//对方接受语音
@@ -848,7 +887,7 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNurs
                             showMessage("通话服务还未建立连接,请稍后")
                             Constants.CALL_STATE = Constants.CALL_STANDBY
                             DeviceChannel.calling = false
-                            VoiceUtil.rejectAudioCall(Integer.parseInt(Constants.ids), Constants.fromId, Constants.interactionId)
+                            VoiceUtil.rejectAudioCall(Constants.ids, Constants.fromId, Constants.interactionId)
                         }
 
                     } else if (tcpModel.getAction() == TcpAction.VoiceAction.REJECT) {//对方拒绝
@@ -861,6 +900,7 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNurs
                         DeviceChannel.calling = false
                         CallDialogHelper.dismissCallDialog()
                         countDownTimer.cancel()
+                        transferCountDownTimer.cancel()
                     } else if (tcpModel.getAction() == TcpAction.VoiceAction.CALLING) {//对方通话中
                         showMessage("对方忙线中")
                         Constants.CALL_STATE = Constants.CALL_STANDBY
@@ -878,6 +918,7 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNurs
                         DeviceChannel.calling = false
                         CallDialogHelper.dismissCallDialog()
                         countDownTimer.cancel()
+                        transferCountDownTimer.cancel()
                     } else if (tcpModel.getAction() == TcpAction.VoiceAction.SUCCESS) {//服务器返回的呼叫成功tcp
                         Constants.interactionId = interactionVO.id
                         callTargetId = interactionVO.toDeviceId
@@ -890,7 +931,7 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNurs
                                 //呼出取消
                                 Constants.CALL_STATE = Constants.CALL_STANDBY
                                 DeviceChannel.calling = false
-                                VoiceUtil.cancelAudioCall(Integer.parseInt(Constants.ids), callTargetId)
+                                VoiceUtil.cancelAudioCall(Constants.ids, callTargetId)
                                 CallDialogHelper.dismissCallDialog()
                                 countDownTimer.cancel()
                             },
@@ -908,9 +949,9 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNurs
                     if (tcpModel.action == TcpAction.SOSAction.CALL) {
                         //紧急呼叫优先级最高,如果当前有通话或正在呼叫的需要将其打断
                         if (Constants.CALL_STATE == Constants.CALL_INCOMING) {
-                            VoiceUtil.rejectAudioCall(Integer.parseInt(Constants.ids), Constants.fromId, Constants.interactionId)
+                            VoiceUtil.rejectAudioCall(Constants.ids, Constants.fromId, Constants.interactionId)
                         } else if (Constants.CALL_STATE == Constants.CALL_OUTGOING) {
-                            VoiceUtil.cancelAudioCall(Integer.parseInt(Constants.ids), callTargetId)
+                            VoiceUtil.cancelAudioCall(Constants.ids, callTargetId)
                         }
                         DeviceChannel.calling = true
                         CallDialogHelper.dismissCallDialog()
@@ -920,7 +961,7 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNurs
                             SOSDialog.build(this).configShow(sosCancel = {
                                 Constants.CALL_STATE = Constants.CALL_STANDBY
                                 DeviceChannel.calling = false
-                                OtherUtil.cancelSosCall(Integer.parseInt(Constants.ids), interactionVO.fromDeviceId, interactionVO.id)
+                                OtherUtil.cancelSosCall(Constants.ids, interactionVO.fromDeviceId, interactionVO.id)
                                 EventBus.getDefault().post(MessageEvent(0, Constants.EVENT_REFRESH_CALL_LIST))
 
                                 if (SettingConfig.getTtsMode(activity) == SettingConfig.TTS_OFF) {
@@ -960,7 +1001,8 @@ class NurseHomeActivity  : BaseActivity<NurseHomeActivityPresenter, ActivityNurs
                         }, {
                             //拒接探视
                             DeviceChannel.calling = false
-                            VideoUtil.rejectVideoCall(Integer.parseInt(Constants.ids), Constants.fromId, Constants.interactionId)
+                            Constants.CALL_STATE = Constants.CALL_STANDBY
+                            VideoUtil.rejectVideoCall(Constants.ids, Constants.fromId, Constants.interactionId)
                             CallDialogHelper.dismissCallDialog()
                         })
 

+ 4 - 1
nursehome/src/main/java/com/wdkl/ncs/android/component/nursehome/activity/RegisterActivity.kt

@@ -160,7 +160,7 @@ class RegisterActivity : BaseActivity<DevicePresenter, ActivityRegisterBinding>(
         Constants.hospital_name = data.hospitalName
         Constants.part_name = data.partName
         Constants.part_id = data.partId
-        Constants.ids = "" + data.id
+        Constants.ids = data.id
         Constants.sip_id = data.sipId
         Constants.eth_ip = data.ethIp
 
@@ -174,6 +174,9 @@ class RegisterActivity : BaseActivity<DevicePresenter, ActivityRegisterBinding>(
         if (data.name != null) {
             Constants.DEVICE_NAME = data.name
         }
+        if (data.backupId != null) {
+            Constants.back_id = data.backupId
+        }
 
         if(TextUtils.isEmpty(data.partId.toString())|| TextUtils.isEmpty(data.id.toString())
                 || TextUtils.isEmpty(data.sipId)){

+ 5 - 5
nursehome/src/main/java/com/wdkl/ncs/android/component/nursehome/adapter/CallRecordsItemAdapter.kt

@@ -145,12 +145,12 @@ class CallRecordsItemAdapter(val data:ArrayList<InteractionVO>) : BaseDelegateAd
             }
 
             binding.callListReply.setOnClickListener {
-                if (!Constants.ids.equals("")) {
+                if (Constants.ids != null) {
                     if (itemData.actionDirectionType == 1 && itemData.fromDeviceId != null && itemData.fromDeviceId != Constants.ids!!.toInt()) {
-                        VoiceUtil.startAudioCall(Integer.parseInt(Constants.ids), itemData.fromDeviceId)
+                        VoiceUtil.startAudioCall(Constants.ids, itemData.fromDeviceId)
                         Constants.call_type = 0
                     } else if (itemData.actionDirectionType == 2 && itemData.toDeviceId != null && itemData.toDeviceId != Constants.ids!!.toInt()) {
-                        VoiceUtil.startAudioCall(Integer.parseInt(Constants.ids), itemData.toDeviceId)
+                        VoiceUtil.startAudioCall(Constants.ids, itemData.toDeviceId)
                         Constants.call_type = 0
                     }
                 } else {
@@ -159,8 +159,8 @@ class CallRecordsItemAdapter(val data:ArrayList<InteractionVO>) : BaseDelegateAd
             }
 
             binding.callSosReply.setOnClickListener {
-                if (!Constants.ids.equals("")) {
-                    OtherUtil.cancelSosCall(Integer.parseInt(Constants.ids), itemData.fromDeviceId, itemData.id)
+                if (Constants.ids != null) {
+                    OtherUtil.cancelSosCall(Constants.ids, itemData.fromDeviceId, itemData.id)
                     EventBus.getDefault().post(MessageEvent(0, Constants.EVENT_REFRESH_CALL_LIST))
                 } else {
                     showMessage("获取不到当给前设备id")

+ 2 - 2
nursehome/src/main/java/com/wdkl/ncs/android/component/nursehome/fragment/FramePartFragment.kt

@@ -193,7 +193,7 @@ class FramePartFragment: BaseFragment<FramePartPresenter, FragmentFramePartBindi
             if (frame.customerName != null && frame.bedDeviceId != null) {
                 //通话之前先判断webrtc socket是否连接上,否则不能建立通话
                 if (SocketManager.getInstance().socketOpen() || Constants.tcp_connected) {
-                    VoiceUtil.startAudioCall(Integer.parseInt(Constants.ids), frame.bedDeviceId)
+                    VoiceUtil.startAudioCall(Constants.ids, frame.bedDeviceId)
                     Constants.call_type = 0
                 } else {
                     showMessage("通话服务未建立连接,请检查网络或稍后再试")
@@ -213,7 +213,7 @@ class FramePartFragment: BaseFragment<FramePartPresenter, FragmentFramePartBindi
             if (frame.customerName != null) {
                 //通话之前先判断webrtc socket是否连接上,否则不能建立通话
                 if (SocketManager.getInstance().socketOpen() || Constants.tcp_connected) {
-                    VoiceUtil.startAudioCall(Integer.parseInt(Constants.ids), frame.bedDeviceId)
+                    VoiceUtil.startAudioCall(Constants.ids, frame.bedDeviceId)
                     Constants.call_type = 1
                 } else {
                     showMessage("通话服务未建立连接,请检查网络或稍后再试")

+ 2 - 2
nursehome/src/main/java/com/wdkl/ncs/android/component/nursehome/fragment/SkyCallFragment.kt

@@ -74,7 +74,7 @@ class SkyCallFragment: BaseCallFragment(), CallSession.CallSessionCallback {
                     //通话失败,重置并返回主界面
                     Constants.CALL_STATE = Constants.CALL_STANDBY
                     DeviceChannel.calling = false
-                    VoiceUtil.handoffAudioCall(Integer.parseInt(Constants.ids), fromId, interactionId)
+                    VoiceUtil.handoffAudioCall(Constants.ids, fromId, interactionId)
                     if (sky_voice_call_timer != null) {
                         sky_voice_call_timer.stop()
                     }
@@ -112,7 +112,7 @@ class SkyCallFragment: BaseCallFragment(), CallSession.CallSessionCallback {
 
             //延迟发送
             Handler().postDelayed({ //发送探视邀请给分机
-                VideoUtil.sendInviteVideoCall(Integer.parseInt(Constants.ids),
+                VideoUtil.sendInviteVideoCall(Constants.ids,
                     bedVO.bedDeviceId,
                     Constants.interactionId)
             }, 2000)

+ 1 - 2
nursehome/src/main/java/com/wdkl/ncs/android/component/nursehome/util/AnrFcExceptionUtil.java

@@ -130,7 +130,7 @@ public class AnrFcExceptionUtil implements Thread.UncaughtExceptionHandler {
         if(okHttpClient == null){
             okHttpClient = new OkHttpClient();
         }
-        Log.e(TAG, "uploadingErrorLog: " + okHttpClient);
+
         FormBody.Builder formBody = new FormBody.Builder();
         formBody.add("class_name",class_name);
         formBody.add("method_name",method_name);
@@ -143,7 +143,6 @@ public class AnrFcExceptionUtil implements Thread.UncaughtExceptionHandler {
                 .post(formBody.build())
                 .build();
 
-        Log.e(TAG, "uploadingErrorLog url: " + urlManager.getBuyer() + "device/error_log");
         okHttpClient.newCall(request).enqueue(new Callback() {
             @Override
             public void onFailure(Call call, IOException e) {

+ 3 - 3
webrtc/src/main/java/com/wdkl/core/voip/CallMultiActivity.java

@@ -119,7 +119,7 @@ public class CallMultiActivity extends BaseActivity implements CallSession.CallS
             @Override
             public void onClick(FrameBedVO bedVO) {
                 //发送探视邀请给分机,分机直接加入房间
-                VideoUtil.sendInviteVideoCall(Integer.parseInt(Constants.Companion.getIds()),
+                VideoUtil.sendInviteVideoCall(Constants.Companion.getIds(),
                         bedVO.getBedDeviceId(),
                         Constants.Companion.getInteractionId());
                 invited = true;
@@ -269,9 +269,9 @@ public class CallMultiActivity extends BaseActivity implements CallSession.CallS
 
     private void handoffVideoCall() {
         //挂断时需要同时通知探视机和分机
-        VideoUtil.handoffVideoCall(Integer.parseInt(Constants.Companion.getIds()), Constants.Companion.getFromId(), Constants.Companion.getInteractionId());
+        VideoUtil.handoffVideoCall(Constants.Companion.getIds(), Constants.Companion.getFromId(), Constants.Companion.getInteractionId());
         if (invited) {
-            VideoUtil.handoffVideoCall(Integer.parseInt(Constants.Companion.getIds()), Constants.Companion.getVisitedId(), Constants.Companion.getInteractionId());
+            VideoUtil.handoffVideoCall(Constants.Companion.getIds(), Constants.Companion.getVisitedId(), Constants.Companion.getInteractionId());
         }
     }
 

+ 1 - 1
webrtc/src/main/java/com/wdkl/core/voip/FragmentVideo.java

@@ -152,7 +152,7 @@ public class FragmentVideo extends SingleCallFragment implements View.OnClickLis
                     @Override
                     public void run() {
                         //发送探视邀请给分机
-                        VideoUtil.sendInviteVideoCall(Integer.parseInt(Constants.Companion.getIds()),
+                        VideoUtil.sendInviteVideoCall(Constants.Companion.getIds(),
                                 bedVO.getBedDeviceId(),
                                 Constants.Companion.getInteractionId());
                     }

+ 3 - 2
webrtc/src/main/java/com/wdkl/core/window/VisitingWindow.java

@@ -66,10 +66,10 @@ public class VisitingWindow {
                 public void onClick(View v) {
                     time.stop();
                     //挂断探视机
-                    VideoUtil.handoffVideoCall(Integer.parseInt(Constants.Companion.getIds()), Constants.Companion.getFromId(), Constants.Companion.getInteractionId());
+                    VideoUtil.handoffVideoCall(Constants.Companion.getIds(), Constants.Companion.getFromId(), Constants.Companion.getInteractionId());
                     //挂断分机
                     if (Constants.Companion.getVisitedId() != -1) {
-                        VideoUtil.handoffVideoCall(Integer.parseInt(Constants.Companion.getIds()), Constants.Companion.getVisitedId(), Constants.Companion.getInteractionId());
+                        VideoUtil.handoffVideoCall(Constants.Companion.getIds(), Constants.Companion.getVisitedId(), Constants.Companion.getInteractionId());
                         Constants.Companion.setVisitedId(-1);
                     }
                     release();
@@ -88,6 +88,7 @@ public class VisitingWindow {
      * 删除窗口
      */
     public static void release() {
+        Constants.Companion.setCALL_STATE(Constants.Companion.getCALL_STANDBY());
         DeviceChannel.calling = false;
         if (view != null) {
             Chronometer time = view.findViewById(R.id.window_visiting_time);