From 5fd374191b95f01234e9b4ff13e243b3455baf30 Mon Sep 17 00:00:00 2001
From: swwheihei <swwheihei@163.com>
Date: 星期二, 02 六月 2020 19:53:20 +0800
Subject: [PATCH] Update pom.xml
---
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/SIPRequestHeaderProvider.java | 71 ++++++++++++++++++++++++++++++-----
1 files changed, 60 insertions(+), 11 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/SIPRequestHeaderProvider.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/SIPRequestHeaderProvider.java
index 55aa9fe..c15b9b6 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/SIPRequestHeaderProvider.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/SIPRequestHeaderProvider.java
@@ -24,7 +24,7 @@
import com.genersoft.iot.vmp.gb28181.bean.Host;
/**
- * @Description:TODO(杩欓噷鐢ㄤ竴鍙ヨ瘽鎻忚堪杩欎釜绫荤殑浣滅敤)
+ * @Description:鎽勫儚澶村懡浠equest鍒涢�犲櫒 TODO 鍐椾綑浠g爜澶寰呬紭鍖�
* @author: songww
* @date: 2020骞�5鏈�6鏃� 涓婂崍9:29:02
*/
@@ -35,7 +35,7 @@
private SipLayer layer;
@Autowired
- private SipConfig config;
+ private SipConfig sipConfig;
public Request createMessageRequest(Device device, String content, String viaTag, String fromTag, String toTag) throws ParseException, InvalidArgumentException {
Request request = null;
@@ -44,16 +44,17 @@
SipURI requestURI = layer.getAddressFactory().createSipURI(device.getDeviceId(), host.getAddress());
// via
ArrayList<ViaHeader> viaHeaders = new ArrayList<ViaHeader>();
- ViaHeader viaHeader = layer.getHeaderFactory().createViaHeader(config.getSipIp(), config.getSipPort(),
+ ViaHeader viaHeader = layer.getHeaderFactory().createViaHeader(sipConfig.getSipIp(), sipConfig.getSipPort(),
device.getTransport(), viaTag);
+ viaHeader.setRPort();
viaHeaders.add(viaHeader);
// from
- SipURI fromSipURI = layer.getAddressFactory().createSipURI(device.getDeviceId(),
- config.getSipIp() + ":" + config.getSipPort());
+ SipURI fromSipURI = layer.getAddressFactory().createSipURI(sipConfig.getSipId(),
+ sipConfig.getSipIp() + ":" + sipConfig.getSipPort());
Address fromAddress = layer.getAddressFactory().createAddress(fromSipURI);
FromHeader fromHeader = layer.getHeaderFactory().createFromHeader(fromAddress, fromTag);
// to
- SipURI toSipURI = layer.getAddressFactory().createSipURI(device.getDeviceId(), host.getAddress());
+ SipURI toSipURI = layer.getAddressFactory().createSipURI(device.getDeviceId(), sipConfig.getSipDomain());
Address toAddress = layer.getAddressFactory().createAddress(toSipURI);
ToHeader toHeader = layer.getHeaderFactory().createToHeader(toAddress, toTag);
// callid
@@ -71,22 +72,22 @@
return request;
}
- public Request createInviteRequest(Device device, String content, String viaTag, String fromTag, String toTag) throws ParseException, InvalidArgumentException {
+ public Request createInviteRequest(Device device, String channelId, String content, String viaTag, String fromTag, String toTag) throws ParseException, InvalidArgumentException {
Request request = null;
Host host = device.getHost();
//璇锋眰琛�
- SipURI requestLine = layer.getAddressFactory().createSipURI(device.getDeviceId(), host.getAddress());
+ SipURI requestLine = layer.getAddressFactory().createSipURI(channelId, host.getAddress());
//via
ArrayList<ViaHeader> viaHeaders = new ArrayList<ViaHeader>();
- ViaHeader viaHeader = layer.getHeaderFactory().createViaHeader(config.getSipIp(), config.getSipPort(), device.getTransport(), viaTag);
+ ViaHeader viaHeader = layer.getHeaderFactory().createViaHeader(sipConfig.getSipIp(), sipConfig.getSipPort(), device.getTransport(), viaTag);
viaHeader.setRPort();
viaHeaders.add(viaHeader);
//from
- SipURI fromSipURI = layer.getAddressFactory().createSipURI(device.getDeviceId(),config.getSipIp()+":"+config.getSipPort());
+ SipURI fromSipURI = layer.getAddressFactory().createSipURI(sipConfig.getSipId(),sipConfig.getSipDomain());
Address fromAddress = layer.getAddressFactory().createAddress(fromSipURI);
FromHeader fromHeader = layer.getHeaderFactory().createFromHeader(fromAddress, fromTag); //蹇呴』瑕佹湁鏍囪锛屽惁鍒欐棤娉曞垱寤轰細璇濓紝鏃犳硶鍥炲簲ack
//to
- SipURI toSipURI = layer.getAddressFactory().createSipURI(device.getDeviceId(),host.getAddress());
+ SipURI toSipURI = layer.getAddressFactory().createSipURI(channelId,sipConfig.getSipDomain());
Address toAddress = layer.getAddressFactory().createAddress(toSipURI);
ToHeader toHeader = layer.getHeaderFactory().createToHeader(toAddress,null);
@@ -101,9 +102,57 @@
//Forwards
MaxForwardsHeader maxForwards = layer.getHeaderFactory().createMaxForwardsHeader(70);
+
//ceq
CSeqHeader cSeqHeader = layer.getHeaderFactory().createCSeqHeader(1L, Request.INVITE);
request = layer.getMessageFactory().createRequest(requestLine, Request.INVITE, callIdHeader, cSeqHeader,fromHeader, toHeader, viaHeaders, maxForwards);
+
+ Address concatAddress = layer.getAddressFactory().createAddress(layer.getAddressFactory().createSipURI(sipConfig.getSipId(), sipConfig.getSipIp()+":"+sipConfig.getSipPort()));
+ request.addHeader(layer.getHeaderFactory().createContactHeader(concatAddress));
+
+ ContentTypeHeader contentTypeHeader = layer.getHeaderFactory().createContentTypeHeader("Application", "SDP");
+ request.setContent(content, contentTypeHeader);
+ return request;
+ }
+
+ public Request createPlaybackInviteRequest(Device device, String channelId, String content, String viaTag, String fromTag, String toTag) throws ParseException, InvalidArgumentException {
+ Request request = null;
+ Host host = device.getHost();
+ //璇锋眰琛�
+ SipURI requestLine = layer.getAddressFactory().createSipURI(device.getDeviceId(), host.getAddress());
+ //via
+ ArrayList<ViaHeader> viaHeaders = new ArrayList<ViaHeader>();
+ ViaHeader viaHeader = layer.getHeaderFactory().createViaHeader(sipConfig.getSipIp(), sipConfig.getSipPort(), device.getTransport(), viaTag);
+ viaHeader.setRPort();
+ viaHeaders.add(viaHeader);
+ //from
+ SipURI fromSipURI = layer.getAddressFactory().createSipURI(sipConfig.getSipId(),sipConfig.getSipDomain());
+ Address fromAddress = layer.getAddressFactory().createAddress(fromSipURI);
+ FromHeader fromHeader = layer.getHeaderFactory().createFromHeader(fromAddress, fromTag); //蹇呴』瑕佹湁鏍囪锛屽惁鍒欐棤娉曞垱寤轰細璇濓紝鏃犳硶鍥炲簲ack
+ //to
+ SipURI toSipURI = layer.getAddressFactory().createSipURI(channelId,sipConfig.getSipDomain());
+ Address toAddress = layer.getAddressFactory().createAddress(toSipURI);
+ ToHeader toHeader = layer.getHeaderFactory().createToHeader(toAddress,null);
+
+ //callid
+ CallIdHeader callIdHeader = null;
+ if(device.getTransport().equals("TCP")) {
+ callIdHeader = layer.getTcpSipProvider().getNewCallId();
+ }
+ if(device.getTransport().equals("UDP")) {
+ callIdHeader = layer.getUdpSipProvider().getNewCallId();
+ }
+
+ //Forwards
+ MaxForwardsHeader maxForwards = layer.getHeaderFactory().createMaxForwardsHeader(70);
+
+ //ceq
+ CSeqHeader cSeqHeader = layer.getHeaderFactory().createCSeqHeader(1L, Request.INVITE);
+ request = layer.getMessageFactory().createRequest(requestLine, Request.INVITE, callIdHeader, cSeqHeader,fromHeader, toHeader, viaHeaders, maxForwards);
+
+ Address concatAddress = layer.getAddressFactory().createAddress(layer.getAddressFactory().createSipURI(sipConfig.getSipId(), sipConfig.getSipIp()+":"+sipConfig.getSipPort()));
+ request.addHeader(layer.getHeaderFactory().createContactHeader(concatAddress));
+
ContentTypeHeader contentTypeHeader = layer.getHeaderFactory().createContentTypeHeader("Application", "SDP");
request.setContent(content, contentTypeHeader);
return request;
--
Gitblit v1.8.0