From 31df0fb3ff3b8590a6c5ff304733fb8e1f6718ce Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期日, 21 一月 2024 16:56:13 +0800 Subject: [PATCH] 修复级联点播时tcp模式信令回复的错误 --- src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommanderFroPlatform.java | 15 ++++++++++----- 1 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommanderFroPlatform.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommanderFroPlatform.java index ecbdcca..4c6bcfd 100755 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommanderFroPlatform.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommanderFroPlatform.java @@ -557,7 +557,7 @@ @Override public void sendNotifyForCatalogAddOrUpdate(String type, ParentPlatform parentPlatform, List<DeviceChannel> deviceChannels, SubscribeInfo subscribeInfo, Integer index) throws InvalidArgumentException, ParseException, NoSuchFieldException, SipException, IllegalAccessException { - if (parentPlatform == null || deviceChannels == null || deviceChannels.size() == 0 || subscribeInfo == null) { + if (parentPlatform == null || deviceChannels == null || deviceChannels.isEmpty() || subscribeInfo == null) { return; } if (index == null) { @@ -575,6 +575,7 @@ Integer finalIndex = index; String catalogXmlContent = getCatalogXmlContentForCatalogAddOrUpdate(parentPlatform, channels, deviceChannels.size(), type, subscribeInfo); + logger.info("[鍙戦�丯OTIFY閫氱煡]绫诲瀷锛� {}锛屽彂閫佹暟閲忥細 {}", type, channels.size()); sendNotify(parentPlatform, catalogXmlContent, subscribeInfo, eventResult -> { logger.error("鍙戦�丯OTIFY閫氱煡娑堟伅澶辫触銆傞敊璇細{} {}", eventResult.statusCode, eventResult.msg); }, (eventResult -> { @@ -610,9 +611,9 @@ .append("<CmdType>Catalog</CmdType>\r\n") .append("<SN>" + (int) ((Math.random() * 9 + 1) * 100000) + "</SN>\r\n") .append("<DeviceID>" + parentPlatform.getDeviceGBId() + "</DeviceID>\r\n") - .append("<SumNum>"+ channels.size() +"</SumNum>\r\n") + .append("<SumNum>"+ sumNum +"</SumNum>\r\n") .append("<DeviceList Num=\"" + channels.size() + "\">\r\n"); - if (channels.size() > 0) { + if (!channels.isEmpty()) { for (DeviceChannel channel : channels) { if (parentPlatform.getServerGBId().equals(channel.getParentId())) { channel.setParentId(parentPlatform.getDeviceGBId()); @@ -679,6 +680,7 @@ }else { channels = deviceChannels.subList(index, deviceChannels.size()); } + logger.info("[鍙戦�丯OTIFY閫氱煡]绫诲瀷锛� {}锛屽彂閫佹暟閲忥細 {}", type, channels.size()); Integer finalIndex = index; String catalogXmlContent = getCatalogXmlContentForCatalogOther(parentPlatform, channels, type); sendNotify(parentPlatform, catalogXmlContent, subscribeInfo, eventResult -> { @@ -725,6 +727,7 @@ if ( parentPlatform ==null) { return ; } + logger.info("[鍥芥爣绾ц仈] 鍙戦�佸綍鍍忔暟鎹�氶亾锛� {}", recordInfo.getChannelId()); String characterSet = parentPlatform.getCharacterSet(); StringBuffer recordXml = new StringBuffer(600); recordXml.append("<?xml version=\"1.0\" encoding=\"" + characterSet + "\"?>\r\n") @@ -761,12 +764,14 @@ recordXml.append("</RecordList>\r\n") .append("</Response>\r\n"); - + logger.info("[鍥芥爣绾ц仈] 鍙戦�佸綍鍍忔暟鎹�氶亾锛歿}, 鍐呭锛� {}", recordInfo.getChannelId(), recordXml); // callid CallIdHeader callIdHeader = sipSender.getNewCallIdHeader(parentPlatform.getDeviceIp(),parentPlatform.getTransport()); Request request = headerProviderPlatformProvider.createMessageRequest(parentPlatform, recordXml.toString(), fromTag, SipUtils.getNewViaTag(), callIdHeader); - sipSender.transmitRequest(parentPlatform.getDeviceIp(), request); + sipSender.transmitRequest(parentPlatform.getDeviceIp(), request, null, eventResult -> { + logger.info("[鍥芥爣绾ц仈] 鍙戦�佸綍鍍忔暟鎹�氶亾锛歿}, 鍙戦�佹垚鍔�", recordInfo.getChannelId()); + }); } -- Gitblit v1.8.0