订阅消息检查是否缺失Expires, 修复因华为的信令错误导致的空指针

This commit is contained in:
panlinlin
2025-06-03 22:27:05 +08:00
parent 227239f7f7
commit 916553c559

View File

@@ -69,6 +69,12 @@ public class SubscribeRequestProcessor extends SIPRequestProcessorParent impleme
responseAck(request, Response.BAD_REQUEST);
return;
}
ExpiresHeader expires = request.getExpires();
if (expires == null) {
log.error("处理SUBSCRIBE请求 未获取到ExpiresHeader{}", evt.getRequest());
responseAck(request, Response.BAD_REQUEST, "missing expires");
return;
}
String platformId = SipUtils.getUserIdFromFromHeader(request);
String cmd = XmlUtil.getText(rootElement, "CmdType");
log.info("[收到订阅请求] 类型: {}, 来自: {}", cmd, platformId);
@@ -181,7 +187,6 @@ public class SubscribeRequestProcessor extends SIPRequestProcessorParent impleme
.append("<Result>OK</Result>\r\n")
.append("</Response>\r\n");
try {
int expires = request.getExpires().getExpires();
Platform parentPlatform = platformService.queryPlatformByServerGBId(platformId);