From 710600db6f3bd6f72a83ef75cca30953fd0f375f Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期三, 21 九月 2022 18:18:37 +0800
Subject: [PATCH] 优化sip消息,去除自动dialog创建

---
 src/main/java/com/genersoft/iot/vmp/gb28181/bean/SubscribeInfo.java |   64 +++++++++++++-------------------
 1 files changed, 26 insertions(+), 38 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/SubscribeInfo.java b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/SubscribeInfo.java
index 1958b44..2c80c62 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/SubscribeInfo.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/SubscribeInfo.java
@@ -1,7 +1,10 @@
 package com.genersoft.iot.vmp.gb28181.bean;
 
 import com.genersoft.iot.vmp.utils.SerializeUtils;
+import gov.nist.javax.sip.message.SIPRequest;
+import gov.nist.javax.sip.message.SIPResponse;
 
+import javax.sip.ClientTransaction;
 import javax.sip.Dialog;
 import javax.sip.RequestEvent;
 import javax.sip.ServerTransaction;
@@ -11,30 +14,24 @@
 public class SubscribeInfo {
 
 
-    public SubscribeInfo(RequestEvent evt, String id) {
+    public SubscribeInfo(ServerTransaction serverTransaction, String id) {
         this.id = id;
-        Request request = evt.getRequest();
-        ExpiresHeader expiresHeader = (ExpiresHeader)request.getHeader(ExpiresHeader.NAME);
-        this.expires = expiresHeader.getExpires();
+        SIPRequest request = (SIPRequest)serverTransaction.getRequest();
+        this.request = request;
+        this.expires = request.getExpires().getExpires();
         EventHeader eventHeader = (EventHeader)request.getHeader(EventHeader.NAME);
         this.eventId = eventHeader.getEventId();
         this.eventType = eventHeader.getEventType();
-        this.transaction = evt.getServerTransaction();
-        this.dialog = evt.getDialog();
-        CallIdHeader callIdHeader = (CallIdHeader)evt.getRequest().getHeader(CallIdHeader.NAME);
-        this.callId = callIdHeader.getCallId();
-    }
 
-    public SubscribeInfo() {
     }
 
     private String id;
+
+    private SIPRequest request;
     private int expires;
-    private String callId;
     private String eventId;
     private String eventType;
-    private ServerTransaction transaction;
-    private Dialog dialog;
+    private SIPResponse response;
 
     /**
      * 浠ヤ笅涓哄彲閫夊瓧娈�
@@ -43,29 +40,28 @@
     private String sn;
     private int gpsInterval;
 
-
     public String getId() {
         return id;
-    }
-
-    public int getExpires() {
-        return expires;
-    }
-
-    public String getCallId() {
-        return callId;
     }
 
     public void setId(String id) {
         this.id = id;
     }
 
-    public void setExpires(int expires) {
-        this.expires = expires;
+    public SIPRequest getRequest() {
+        return request;
     }
 
-    public void setCallId(String callId) {
-        this.callId = callId;
+    public void setRequest(SIPRequest request) {
+        this.request = request;
+    }
+
+    public int getExpires() {
+        return expires;
+    }
+
+    public void setExpires(int expires) {
+        this.expires = expires;
     }
 
     public String getEventId() {
@@ -84,20 +80,12 @@
         this.eventType = eventType;
     }
 
-    public ServerTransaction getTransaction() {
-        return transaction;
+    public SIPResponse getResponse() {
+        return response;
     }
 
-    public void setTransaction(ServerTransaction transaction) {
-        this.transaction = transaction;
-    }
-
-    public Dialog getDialog() {
-        return dialog;
-    }
-
-    public void setDialog(Dialog dialog) {
-        this.dialog = dialog;
+    public void setResponse(SIPResponse response) {
+        this.response = response;
     }
 
     public String getSn() {

--
Gitblit v1.8.0