Commit d3578a957d17af13ef6b17bfffdb9335111f92e4

Authored by panlinlin
1 parent 568141b2

添加对水星云台控制的支持

src/main/java/com/genersoft/iot/vmp/gb28181/auth/DigestServerAuthenticationHelper.java
@@ -235,55 +235,4 @@ public class DigestServerAuthenticationHelper { @@ -235,55 +235,4 @@ public class DigestServerAuthenticationHelper {
235 return mdString.equals(response); 235 return mdString.equals(response);
236 236
237 } 237 }
238 -  
239 -  
240 - public static void main(String[] args) throws NoSuchAlgorithmException {  
241 - MessageDigest messageDigest2 = MessageDigest.getInstance(DEFAULT_ALGORITHM);  
242 - String realm = "DS-2CD2520F";  
243 - String username = "admin";  
244 - String passwd = "12345";  
245 -  
246 - String nonce = "4d6a553452444d30525441364e6d4d304e6a68684e47553d";  
247 -  
248 - String uri = "/ISAPI/Streaming/channels/101/picture";  
249 - // qop 保护质量 包含auth(默认的)和auth-int(增加了报文完整性检测)两种策略  
250 - String qop = "auth";  
251 -  
252 - // 客户端随机数,这是一个不透明的字符串值,由客户端提供,并且客户端和服务器都会使用,以避免用明文文本。  
253 - // 这使得双方都可以查验对方的身份,并对消息的完整性提供一些保护  
254 - String cNonce = "C1A5298F939E87E8F962A5EDFC206918";  
255 -  
256 - // nonce计数器,是一个16进制的数值,表示同一nonce下客户端发送出请求的数量  
257 - int nc = 1;  
258 -  
259 - String A1 = username + ":" + realm + ":" + passwd;  
260 - System.out.println("A1: " + A1);  
261 - String A2 = "GET" + ":" + uri.toString();  
262 - System.out.println("A2: " + A2);  
263 - byte mdbytes[] = messageDigest2.digest(A1.getBytes());  
264 - String HA1 = toHexString(mdbytes);  
265 - System.out.println("HA1: " + HA1);  
266 -  
267 - mdbytes = messageDigest2.digest(A2.getBytes());  
268 - String HA2 = toHexString(mdbytes);  
269 - System.out.println("HA2: " + HA2);  
270 - String cnonce = "93d4d37df32e1a85";  
271 - String KD = HA1 + ":" + nonce;  
272 -  
273 - if (nc != -1) {  
274 - KD += ":" + "00000001";  
275 - }  
276 - if (cnonce != null) {  
277 - KD += ":" + cnonce;  
278 - }  
279 - if (qop != null) {  
280 - KD += ":" + qop;  
281 - }  
282 - KD += ":" + HA2;  
283 - System.out.println("KD: " + KD);  
284 - mdbytes = messageDigest2.digest(KD.getBytes());  
285 - String mdString = toHexString(mdbytes);  
286 - String response = "3993a815e5cdaf4470e9b4f9bd41cf4a";  
287 - System.out.println(mdString);  
288 - }  
289 } 238 }
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
@@ -232,7 +232,7 @@ public class SIPCommander implements ISIPCommander { @@ -232,7 +232,7 @@ public class SIPCommander implements ISIPCommander {
232 ptzXml.append("</Info>\r\n"); 232 ptzXml.append("</Info>\r\n");
233 ptzXml.append("</Control>\r\n"); 233 ptzXml.append("</Control>\r\n");
234 234
235 - Request request = headerProvider.createMessageRequest(device, ptzXml.toString(), "ViaPtzBranch", "FromPtzTag", "ToPtzTag"); 235 + Request request = headerProvider.createMessageRequest(device, ptzXml.toString(), "ViaPtzBranch", "FromPtzTag", null);
236 236
237 transmitRequest(device, request); 237 transmitRequest(device, request);
238 return true; 238 return true;
@@ -268,7 +268,7 @@ public class SIPCommander implements ISIPCommander { @@ -268,7 +268,7 @@ public class SIPCommander implements ISIPCommander {
268 ptzXml.append("</Info>\r\n"); 268 ptzXml.append("</Info>\r\n");
269 ptzXml.append("</Control>\r\n"); 269 ptzXml.append("</Control>\r\n");
270 270
271 - Request request = headerProvider.createMessageRequest(device, ptzXml.toString(), "ViaPtzBranch", "FromPtzTag", "ToPtzTag"); 271 + Request request = headerProvider.createMessageRequest(device, ptzXml.toString(), "ViaPtzBranch", "FromPtzTag", null);
272 transmitRequest(device, request); 272 transmitRequest(device, request);
273 return true; 273 return true;
274 } catch (SipException | ParseException | InvalidArgumentException e) { 274 } catch (SipException | ParseException | InvalidArgumentException e) {
@@ -635,7 +635,7 @@ public class SIPCommander implements ISIPCommander { @@ -635,7 +635,7 @@ public class SIPCommander implements ISIPCommander {
635 catalogXml.append("<DeviceID>" + device.getDeviceId() + "</DeviceID>\r\n"); 635 catalogXml.append("<DeviceID>" + device.getDeviceId() + "</DeviceID>\r\n");
636 catalogXml.append("</Query>\r\n"); 636 catalogXml.append("</Query>\r\n");
637 637
638 - Request request = headerProvider.createMessageRequest(device, catalogXml.toString(), "ViaDeviceInfoBranch", "FromDeviceInfoTag", "ToDeviceInfoTag"); 638 + Request request = headerProvider.createMessageRequest(device, catalogXml.toString(), "ViaDeviceInfoBranch", "FromDeviceInfoTag", null);
639 639
640 transmitRequest(device, request); 640 transmitRequest(device, request);
641 641