From 335916f1f15eb9d0b34dea38cacee2300eac0606 Mon Sep 17 00:00:00 2001 From: 李防 <liguofang0703@126.com> Date: 星期一, 07 三月 2022 14:20:27 +0800 Subject: [PATCH] InviteRequestProcessor类中,channelid从invite消息的header subject获取,不再从第一行request line获取。原因是和第三方平台对接时,发送的invite消息第一行为国标平台编码而不是设备通道编码,导致报错通道不存在,返回404。 --- src/main/java/com/genersoft/iot/vmp/service/impl/DeviceServiceImpl.java | 10 ++++++++-- 1 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceServiceImpl.java index 0d691ce..66407a1 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceServiceImpl.java @@ -30,11 +30,15 @@ if (device == null || device.getSubscribeCycleForCatalog() < 0) { return false; } + if (dynamicTask.contains(device.getDeviceId())) { + logger.info("[娣诲姞鐩綍璁㈤槄] 璁惧{}鐨勭洰褰曡闃呬互瀛樺湪", device.getDeviceId()); + return false; + } + logger.info("[娣诲姞鐩綍璁㈤槄] 璁惧{}", device.getDeviceId()); // 娣诲姞鐩綍璁㈤槄 CatalogSubscribeTask catalogSubscribeTask = new CatalogSubscribeTask(device, sipCommander); catalogSubscribeTask.run(); // 鎻愬墠寮�濮嬪埛鏂拌闃� - // TODO 浣跨敤jain sip鐨勫綋鏃跺埛鏂拌闃� int subscribeCycleForCatalog = device.getSubscribeCycleForCatalog(); // 璁剧疆鏈�灏忓�间负30 subscribeCycleForCatalog = Math.max(subscribeCycleForCatalog, 30); @@ -47,10 +51,12 @@ if (device == null || device.getSubscribeCycleForCatalog() < 0) { return false; } - logger.info("绉婚櫎鐩綍璁㈤槄銆恵}銆�", device.getDeviceId()); + logger.info("绉婚櫎鐩綍璁㈤槄: {}", device.getDeviceId()); dynamicTask.stopCron(device.getDeviceId()); device.setSubscribeCycleForCatalog(0); sipCommander.catalogSubscribe(device, null, null); + // 娓呯┖cseq璁℃暟 + return true; } } -- Gitblit v1.8.0