Showing
1 changed file
with
13 additions
and
5 deletions
@@ -17,6 +17,7 @@ import java.security.NoSuchAlgorithmException; | @@ -17,6 +17,7 @@ import java.security.NoSuchAlgorithmException; | ||
17 | import java.text.ParseException; | 17 | import java.text.ParseException; |
18 | import java.util.*; | 18 | import java.util.*; |
19 | import java.util.concurrent.ConcurrentHashMap; | 19 | import java.util.concurrent.ConcurrentHashMap; |
20 | +import java.util.stream.Collectors; | ||
20 | import javax.annotation.PostConstruct; | 21 | import javax.annotation.PostConstruct; |
21 | import javax.sdp.SdpFactory; | 22 | import javax.sdp.SdpFactory; |
22 | import javax.sdp.SdpParseException; | 23 | import javax.sdp.SdpParseException; |
@@ -769,9 +770,11 @@ public class SIPProcessorObserver extends SIPRequestProcessorParent | @@ -769,9 +770,11 @@ public class SIPProcessorObserver extends SIPRequestProcessorParent | ||
769 | UUID sessionId, TransportProtos.SessionCloseNotificationProto sessionCloseNotification) { | 770 | UUID sessionId, TransportProtos.SessionCloseNotificationProto sessionCloseNotification) { |
770 | log.trace( | 771 | log.trace( |
771 | "[{}] Received the remote command to close the session: {}", | 772 | "[{}] Received the remote command to close the session: {}", |
772 | - sessionId, | 773 | + sessionId, |
773 | sessionCloseNotification.getMessage()); | 774 | sessionCloseNotification.getMessage()); |
774 | - // deviceSessionCtx.getChannel().close(); | 775 | + List<String> cameraCodes = deviceSessions.values().stream().filter(gbtDeviceSessionCtx ->gbtDeviceSessionCtx.getSessionId().equals(sessionId)) |
776 | + .map(gbtDeviceSessionCtx -> gbtDeviceSessionCtx.getCameraCode()).collect(Collectors.toList()); | ||
777 | + removeDeviceSession(cameraCodes); | ||
775 | } | 778 | } |
776 | 779 | ||
777 | @Override | 780 | @Override |
@@ -963,11 +966,16 @@ public class SIPProcessorObserver extends SIPRequestProcessorParent | @@ -963,11 +966,16 @@ public class SIPProcessorObserver extends SIPRequestProcessorParent | ||
963 | 966 | ||
964 | @Override | 967 | @Override |
965 | public void onDeviceDeleted(DeviceId deviceId) { | 968 | public void onDeviceDeleted(DeviceId deviceId) { |
966 | - // context.onAuthFailure(address); | ||
967 | - // ChannelHandlerContext ctx = deviceSessionCtx.getChannel(); | ||
968 | - // ctx.close(); | 969 | + List<String> cameraCodes = deviceSessions.values().stream().filter(gbtDeviceSessionCtx -> gbtDeviceSessionCtx.getDeviceId().equals(deviceId)) |
970 | + .map(gbtDeviceSessionCtx->gbtDeviceSessionCtx.getCameraCode()).collect(Collectors.toList()); | ||
971 | + removeDeviceSession(cameraCodes); | ||
969 | } | 972 | } |
970 | 973 | ||
974 | + private void removeDeviceSession(List<String> cameraCodes){ | ||
975 | + if(null != cameraCodes && !cameraCodes.isEmpty()){ | ||
976 | + deviceSessions.remove(cameraCodes.get(0)); | ||
977 | + } | ||
978 | + } | ||
971 | public void cameraInviteResponse(ResponseEvent evt) { | 979 | public void cameraInviteResponse(ResponseEvent evt) { |
972 | 980 | ||
973 | try { | 981 | try { |