diff --git a/lib/talk/startChart/handle/impl/udp_talk_hangup_handler.dart b/lib/talk/startChart/handle/impl/udp_talk_hangup_handler.dart index dc4b8964..09899649 100644 --- a/lib/talk/startChart/handle/impl/udp_talk_hangup_handler.dart +++ b/lib/talk/startChart/handle/impl/udp_talk_hangup_handler.dart @@ -19,13 +19,20 @@ class UdpTalkHangUpHandler extends ScpMessageBaseHandle FromPeerId: scpMessage.ToPeerId!, PayloadType: scpMessage.PayloadType!, ); + // 停止发送通话保持的命令 + startChartManage.stopTalkPingMessageTimer(); + startChartManage.stopTalkExpectMessageTimer(); talkStatus.setEnd(); } @override void handleResp(ScpMessage scpMessage) { print('收到通话中挂断回复'); + // 停止发送通话保持的命令 + startChartManage.stopTalkPingMessageTimer(); + startChartManage.stopTalkExpectMessageTimer(); talkStatus.setEnd(); + } @override diff --git a/lib/talk/startChart/handle/impl/udp_talk_reject_handler.dart b/lib/talk/startChart/handle/impl/udp_talk_reject_handler.dart index e501272a..6a5411d4 100644 --- a/lib/talk/startChart/handle/impl/udp_talk_reject_handler.dart +++ b/lib/talk/startChart/handle/impl/udp_talk_reject_handler.dart @@ -12,14 +12,25 @@ class UdpTalkRejectHandler extends ScpMessageBaseHandle implements ScpMessageHandler { @override void handleReq(ScpMessage scpMessage) { - // TODO: 收到接听拒绝请求 + // 收到接听拒绝请求 + print('收到接听拒绝请求'); + startChartManage.sendGenericRespSuccessMessage( + ToPeerId: scpMessage.FromPeerId!, + FromPeerId: scpMessage.ToPeerId!, + PayloadType: scpMessage.PayloadType!, + ); + startChartManage.stopTalkPingMessageTimer(); + startChartManage.stopTalkExpectMessageTimer(); + talkStatus.setRejected(); } @override void handleResp(ScpMessage scpMessage) { + print('收到接听拒绝回复'); // 收到接听拒绝回复 talkStatus.setRejected(); - print('收到接听拒绝回复'); + startChartManage.stopTalkPingMessageTimer(); + startChartManage.stopTalkExpectMessageTimer(); } @override