mirror of
https://gitee.com/pan648540858/wvp-GB28181-pro.git
synced 2026-05-23 13:37:49 +08:00
[后端] 修复目录设置/位置移动的订阅逻辑:订阅周期必须 ≥30 秒,取消订阅时允许周期设为 0
This commit is contained in:
parent
c1672728d3
commit
e91e96077a
@ -1203,7 +1203,13 @@ public class SIPCommander implements ISIPCommander {
|
|||||||
} else {
|
} else {
|
||||||
callIdHeader = sipSender.getNewCallIdHeader(sipLayer.getLocalIp(device.getLocalIp()),device.getTransport());
|
callIdHeader = sipSender.getNewCallIdHeader(sipLayer.getLocalIp(device.getLocalIp()),device.getTransport());
|
||||||
}
|
}
|
||||||
SIPRequest request = (SIPRequest) headerProvider.createSubscribeRequest(device, subscribePostitionXml.toString(), sipTransactionInfo, device.getSubscribeCycleForMobilePosition(), "presence",callIdHeader); //Position;id=" + tm.substring(tm.length() - 4));
|
|
||||||
|
int subscribeCycleForMobilePosition = device.getSubscribeCycleForMobilePosition();
|
||||||
|
if (subscribeCycleForMobilePosition > 0) {
|
||||||
|
// 移动位置订阅有效期不小于 30 秒
|
||||||
|
subscribeCycleForMobilePosition = Math.max(subscribeCycleForMobilePosition, 30);
|
||||||
|
}
|
||||||
|
SIPRequest request = (SIPRequest) headerProvider.createSubscribeRequest(device, subscribePostitionXml.toString(), sipTransactionInfo, subscribeCycleForMobilePosition, "presence",callIdHeader); //Position;id=" + tm.substring(tm.length() - 4));
|
||||||
|
|
||||||
sipSender.transmitRequest(sipLayer.getLocalIp(device.getLocalIp()), request, errorEvent, okEvent);
|
sipSender.transmitRequest(sipLayer.getLocalIp(device.getLocalIp()), request, errorEvent, okEvent);
|
||||||
return request;
|
return request;
|
||||||
@ -1275,8 +1281,13 @@ public class SIPCommander implements ISIPCommander {
|
|||||||
callIdHeader = sipSender.getNewCallIdHeader(sipLayer.getLocalIp(device.getLocalIp()),device.getTransport());
|
callIdHeader = sipSender.getNewCallIdHeader(sipLayer.getLocalIp(device.getLocalIp()),device.getTransport());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int subscribeCycleForCatalog = device.getSubscribeCycleForCatalog();
|
||||||
|
if (subscribeCycleForCatalog > 0) {
|
||||||
|
// 目录订阅有效期不小于 30 秒
|
||||||
|
subscribeCycleForCatalog = Math.max(subscribeCycleForCatalog, 30);
|
||||||
|
}
|
||||||
// 有效时间默认为60秒以上
|
// 有效时间默认为60秒以上
|
||||||
SIPRequest request = (SIPRequest) headerProvider.createSubscribeRequest(device, cmdXml.toString(), sipTransactionInfo, device.getSubscribeCycleForCatalog(), "Catalog",
|
SIPRequest request = (SIPRequest) headerProvider.createSubscribeRequest(device, cmdXml.toString(), sipTransactionInfo, subscribeCycleForCatalog, "Catalog",
|
||||||
callIdHeader);
|
callIdHeader);
|
||||||
sipSender.transmitRequest(sipLayer.getLocalIp(device.getLocalIp()), request, errorEvent, okEvent);
|
sipSender.transmitRequest(sipLayer.getLocalIp(device.getLocalIp()), request, errorEvent, okEvent);
|
||||||
return request;
|
return request;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user