From 6dc4b8a79a07857f415e6da3955f8c14eafca38a Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期五, 15 十月 2021 15:05:02 +0800
Subject: [PATCH] 修复点播与录像回放sdp信息sdp-ip的取值错误,修复回放信令错误
---
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/RegisterRequestProcessor.java | 26 +++++++++++++++-----------
1 files changed, 15 insertions(+), 11 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/RegisterRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/RegisterRequestProcessor.java
index 0c8d6c0..68299f2 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/RegisterRequestProcessor.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/RegisterRequestProcessor.java
@@ -7,6 +7,7 @@
import javax.sip.InvalidArgumentException;
import javax.sip.RequestEvent;
+import javax.sip.ServerTransaction;
import javax.sip.SipException;
import javax.sip.header.AuthorizationHeader;
import javax.sip.header.ContactHeader;
@@ -78,27 +79,24 @@
// 鏍¢獙瀵嗙爜鏄惁姝g‘
if (authorhead != null) {
passwordCorrect = new DigestServerAuthenticationHelper().doAuthenticatePlainTextPassword(request,
- sipConfig.getSipPassword());
+ sipConfig.getPassword());
}
- if (StringUtils.isEmpty(sipConfig.getSipPassword())){
+ if (StringUtils.isEmpty(sipConfig.getPassword())){
passwordCorrect = true;
}
// 鏈惡甯︽巿鏉冨ご鎴栬�呭瘑鐮侀敊璇� 鍥炲401
if (authorhead == null ) {
-
- if (authorhead == null) {
- logger.info("[{}] 鏈惡甯︽巿鏉冨ご 鍥炲401", requestAddress);
- } else if (!passwordCorrect) {
- logger.info("[{}] 瀵嗙爜閿欒 鍥炲401", requestAddress);
- }
+
+ logger.info("[{}] 鏈惡甯︽巿鏉冨ご 鍥炲401", requestAddress);
response = getMessageFactory().createResponse(Response.UNAUTHORIZED, request);
- new DigestServerAuthenticationHelper().generateChallenge(getHeaderFactory(), response, sipConfig.getSipDomain());
+ new DigestServerAuthenticationHelper().generateChallenge(getHeaderFactory(), response, sipConfig.getDomain());
}else {
if (!passwordCorrect){
// 娉ㄥ唽澶辫触
response = getMessageFactory().createResponse(Response.FORBIDDEN, request);
response.setReasonPhrase("wrong password");
+ logger.info("[{}] 瀵嗙爜閿欒 鍥炲403", requestAddress);
}else {
// 鎼哄甫鎺堟潈澶村苟涓斿瘑鐮佹纭�
response = getMessageFactory().createResponse(Response.OK, request);
@@ -112,7 +110,9 @@
ExpiresHeader expiresHeader = (ExpiresHeader) request.getHeader(Expires.NAME);
if (expiresHeader == null) {
response = getMessageFactory().createResponse(Response.BAD_REQUEST, request);
- getServerTransaction(evt).sendResponse(response);
+ ServerTransaction serverTransaction = getServerTransaction(evt);
+ serverTransaction.sendResponse(response);
+ if (serverTransaction.getDialog() != null) serverTransaction.getDialog().delete();
return;
}
// 娣诲姞Contact澶�
@@ -134,7 +134,9 @@
if (device == null) {
device = new Device();
device.setStreamMode("UDP");
+ device.setCharset("gb2312");
device.setDeviceId(deviceId);
+ device.setFirsRegister(true);
}
device.setIp(received);
device.setPort(rPort);
@@ -159,7 +161,9 @@
}
}
- getServerTransaction(evt).sendResponse(response);
+ ServerTransaction serverTransaction = getServerTransaction(evt);
+ serverTransaction.sendResponse(response);
+ if (serverTransaction.getDialog() != null) serverTransaction.getDialog().delete();
// 娉ㄥ唽鎴愬姛
// 淇濆瓨鍒皉edis
// 涓嬪彂catelog鏌ヨ鐩綍
--
Gitblit v1.8.0