From 6e5f04b36859a34900f40b0cbec7e9aa0ff250ea Mon Sep 17 00:00:00 2001
From: TouXin <itouxin@outlook.com>
Date: 星期四, 03 十一月 2022 10:21:08 +0800
Subject: [PATCH] Update play_error.md
---
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java | 315 ++++++++++++++++++++--------------------------------
1 files changed, 122 insertions(+), 193 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
index 14c0116..dc356d0 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
@@ -9,6 +9,7 @@
import com.genersoft.iot.vmp.gb28181.bean.*;
import com.genersoft.iot.vmp.gb28181.event.SipSubscribe;
import com.genersoft.iot.vmp.gb28181.session.VideoStreamSessionManager;
+import com.genersoft.iot.vmp.gb28181.transmit.SIPSender;
import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommander;
import com.genersoft.iot.vmp.gb28181.transmit.cmd.SIPRequestHeaderProvider;
import com.genersoft.iot.vmp.gb28181.utils.SipUtils;
@@ -44,6 +45,7 @@
import javax.sip.address.Address;
import javax.sip.address.SipURI;
import javax.sip.header.*;
+import javax.sip.message.Message;
import javax.sip.message.Request;
import javax.sip.message.Response;
import java.lang.reflect.Field;
@@ -68,16 +70,8 @@
private SipFactory sipFactory;
@Autowired
- private GitUtil gitUtil;
-
- @Autowired
- @Qualifier(value = "tcpSipProvider")
- private SipProviderImpl tcpSipProvider;
-
- @Autowired
- @Qualifier(value = "udpSipProvider")
- private SipProviderImpl udpSipProvider;
-
+ private SIPSender sipSender;
+
@Autowired
private SIPRequestHeaderProvider headerProvider;
@@ -90,8 +84,7 @@
@Autowired
private ZlmHttpHookSubscribe subscribe;
- @Autowired
- private SipSubscribe sipSubscribe;
+
@Autowired
private IMediaServerService mediaServerService;
@@ -202,13 +195,10 @@
ptzXml.append("<ControlPriority>5</ControlPriority>\r\n");
ptzXml.append("</Info>\r\n");
ptzXml.append("</Control>\r\n");
+
+ Request request = headerProvider.createMessageRequest(device, ptzXml.toString(), SipUtils.getNewViaTag(), SipUtils.getNewFromTag(), null, sipSender.getNewCallIdHeader(device.getTransport()));
- CallIdHeader callIdHeader = device.getTransport().equalsIgnoreCase("TCP") ? tcpSipProvider.getNewCallId()
- : udpSipProvider.getNewCallId();
-
- Request request = headerProvider.createMessageRequest(device, ptzXml.toString(), SipUtils.getNewViaTag(), SipUtils.getNewFromTag(), null, callIdHeader);
-
- transmitRequest(device.getTransport(), request);
+ sipSender.transmitRequest( request);
}
/**
@@ -239,11 +229,10 @@
ptzXml.append("</Control>\r\n");
- CallIdHeader callIdHeader = device.getTransport().equalsIgnoreCase("TCP") ? tcpSipProvider.getNewCallId()
- : udpSipProvider.getNewCallId();
- SIPRequest request = (SIPRequest) headerProvider.createMessageRequest(device, ptzXml.toString(), SipUtils.getNewViaTag(), SipUtils.getNewFromTag(), null, callIdHeader);
- transmitRequest(device.getTransport(), request);
+
+ SIPRequest request = (SIPRequest) headerProvider.createMessageRequest(device, ptzXml.toString(), SipUtils.getNewViaTag(), SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(device.getTransport()));
+ sipSender.transmitRequest(request);
}
@@ -269,13 +258,10 @@
ptzXml.append("<ControlPriority>5</ControlPriority>\r\n");
ptzXml.append("</Info>\r\n");
ptzXml.append("</Control>\r\n");
-
-
- CallIdHeader callIdHeader = device.getTransport().equalsIgnoreCase("TCP") ? tcpSipProvider.getNewCallId()
- : udpSipProvider.getNewCallId();
-
- Request request = headerProvider.createMessageRequest(device, ptzXml.toString(), SipUtils.getNewViaTag(), SipUtils.getNewFromTag(), null, callIdHeader);
- transmitRequest(device.getTransport(), request, errorEvent, okEvent);
+
+
+ Request request = headerProvider.createMessageRequest(device, ptzXml.toString(), SipUtils.getNewViaTag(), SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(device.getTransport()));
+ sipSender.transmitRequest(request, errorEvent, okEvent);
}
@@ -304,12 +290,17 @@
subscribe.removeSubscribe(hookSubscribe);
}
});
- //
+ String sdpIp;
+ if (!ObjectUtils.isEmpty(device.getSdpIp())) {
+ sdpIp = device.getSdpIp();
+ }else {
+ sdpIp = mediaServerItem.getSdpIp();
+ }
StringBuffer content = new StringBuffer(200);
content.append("v=0\r\n");
- content.append("o=" + channelId + " 0 0 IN IP4 " + mediaServerItem.getSdpIp() + "\r\n");
+ content.append("o=" + channelId + " 0 0 IN IP4 " + sdpIp + "\r\n");
content.append("s=Play\r\n");
- content.append("c=IN IP4 " + mediaServerItem.getSdpIp() + "\r\n");
+ content.append("c=IN IP4 " + sdpIp + "\r\n");
content.append("t=0 0\r\n");
if (userSetting.isSeniorSdp()) {
@@ -362,11 +353,10 @@
// f瀛楁:f= v/缂栫爜鏍煎紡/鍒嗚鲸鐜�/甯х巼/鐮佺巼绫诲瀷/鐮佺巼澶у皬a/缂栫爜鏍煎紡/鐮佺巼澶у皬/閲囨牱鐜�
// content.append("f=v/2/5/25/1/4000a/1/8/1" + "\r\n"); // 鏈彂鐜版敮鎸佹鐗规�х殑璁惧
- CallIdHeader callIdHeader = device.getTransport().equalsIgnoreCase("TCP") ? tcpSipProvider.getNewCallId()
- : udpSipProvider.getNewCallId();
- Request request = headerProvider.createInviteRequest(device, channelId, content.toString(), null, SipUtils.getNewFromTag(), null, ssrcInfo.getSsrc(), callIdHeader);
- transmitRequest(device.getTransport(), request, (e -> {
+
+ Request request = headerProvider.createInviteRequest(device, channelId, content.toString(), SipUtils.getNewViaTag(), SipUtils.getNewFromTag(), null, ssrcInfo.getSsrc(),sipSender.getNewCallIdHeader(device.getTransport()));
+ sipSender.transmitRequest( request, (e -> {
streamSession.remove(device.getDeviceId(), channelId, ssrcInfo.getStream());
mediaServerService.releaseSsrc(mediaServerItem.getId(), ssrcInfo.getSsrc());
errorEvent.response(e);
@@ -394,13 +384,18 @@
logger.info("{} 鍒嗛厤鐨刏LM涓�: {} [{}:{}]", ssrcInfo.getStream(), mediaServerItem.getId(), mediaServerItem.getIp(), ssrcInfo.getPort());
-
+ String sdpIp;
+ if (!ObjectUtils.isEmpty(device.getSdpIp())) {
+ sdpIp = device.getSdpIp();
+ }else {
+ sdpIp = mediaServerItem.getSdpIp();
+ }
StringBuffer content = new StringBuffer(200);
content.append("v=0\r\n");
- content.append("o=" + channelId + " 0 0 IN IP4 " + mediaServerItem.getSdpIp() + "\r\n");
+ content.append("o=" + channelId + " 0 0 IN IP4 " + sdpIp + "\r\n");
content.append("s=Playback\r\n");
content.append("u=" + channelId + ":0\r\n");
- content.append("c=IN IP4 " + mediaServerItem.getSdpIp() + "\r\n");
+ content.append("c=IN IP4 " + sdpIp + "\r\n");
content.append("t=" + DateUtil.yyyy_MM_dd_HH_mm_ssToTimestamp(startTime) + " "
+ DateUtil.yyyy_MM_dd_HH_mm_ssToTimestamp(endTime) + "\r\n");
@@ -454,27 +449,25 @@
content.append("y=" + ssrcInfo.getSsrc() + "\r\n");//ssrc
- CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId()
- : udpSipProvider.getNewCallId();
HookSubscribeForStreamChange hookSubscribe = HookSubscribeFactory.on_stream_changed("rtp", ssrcInfo.getStream(), true, "rtsp", mediaServerItem.getId());
// 娣诲姞璁㈤槄
subscribe.addSubscribe(hookSubscribe, (MediaServerItem mediaServerItemInUse, JSONObject json) -> {
if (hookEvent != null) {
- InviteStreamInfo inviteStreamInfo = new InviteStreamInfo(mediaServerItemInUse, json, callIdHeader.getCallId(), "rtp", ssrcInfo.getStream());
+ InviteStreamInfo inviteStreamInfo = new InviteStreamInfo(mediaServerItemInUse, json,sipSender.getNewCallIdHeader(device.getTransport()).getCallId(), "rtp", ssrcInfo.getStream());
hookEvent.call(inviteStreamInfo);
}
subscribe.removeSubscribe(hookSubscribe);
});
- Request request = headerProvider.createPlaybackInviteRequest(device, channelId, content.toString(), null, SipUtils.getNewFromTag(), null, callIdHeader, ssrcInfo.getSsrc());
+ Request request = headerProvider.createPlaybackInviteRequest(device, channelId, content.toString(), null, SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(device.getTransport()), ssrcInfo.getSsrc());
- transmitRequest(device.getTransport(), request, errorEvent, event -> {
+ sipSender.transmitRequest( request, errorEvent, event -> {
ResponseEvent responseEvent = (ResponseEvent) event.event;
SIPResponse response = (SIPResponse) responseEvent.getResponse();
- streamSession.put(device.getDeviceId(), channelId, callIdHeader.getCallId(), ssrcInfo.getStream(), ssrcInfo.getSsrc(), mediaServerItem.getId(), response, VideoStreamSessionManager.SessionType.playback);
+ streamSession.put(device.getDeviceId(), channelId,sipSender.getNewCallIdHeader(device.getTransport()).getCallId(), ssrcInfo.getStream(), ssrcInfo.getSsrc(), mediaServerItem.getId(), response, VideoStreamSessionManager.SessionType.playback);
okEvent.response(event);
});
if (inviteStreamCallback != null) {
- inviteStreamCallback.call(new InviteStreamInfo(mediaServerItem, null, callIdHeader.getCallId(), "rtp", ssrcInfo.getStream()));
+ inviteStreamCallback.call(new InviteStreamInfo(mediaServerItem, null,sipSender.getNewCallIdHeader(device.getTransport()).getCallId(), "rtp", ssrcInfo.getStream()));
}
}
@@ -493,13 +486,18 @@
SipSubscribe.Event errorEvent) throws InvalidArgumentException, SipException, ParseException {
logger.info("{} 鍒嗛厤鐨刏LM涓�: {} [{}:{}]", ssrcInfo.getStream(), mediaServerItem.getId(), mediaServerItem.getIp(), ssrcInfo.getPort());
-
+ String sdpIp;
+ if (!ObjectUtils.isEmpty(device.getSdpIp())) {
+ sdpIp = device.getSdpIp();
+ }else {
+ sdpIp = mediaServerItem.getSdpIp();
+ }
StringBuffer content = new StringBuffer(200);
content.append("v=0\r\n");
- content.append("o=" + channelId + " 0 0 IN IP4 " + mediaServerItem.getSdpIp() + "\r\n");
+ content.append("o=" + channelId + " 0 0 IN IP4 " + sdpIp + "\r\n");
content.append("s=Download\r\n");
content.append("u=" + channelId + ":0\r\n");
- content.append("c=IN IP4 " + mediaServerItem.getSdpIp() + "\r\n");
+ content.append("c=IN IP4 " + sdpIp + "\r\n");
content.append("t=" + DateUtil.yyyy_MM_dd_HH_mm_ssToTimestamp(startTime) + " "
+ DateUtil.yyyy_MM_dd_HH_mm_ssToTimestamp(endTime) + "\r\n");
@@ -554,14 +552,11 @@
content.append("a=downloadspeed:" + downloadSpeed + "\r\n");
content.append("y=" + ssrcInfo.getSsrc() + "\r\n");//ssrc
-
- CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId()
- : udpSipProvider.getNewCallId();
-
+
HookSubscribeForStreamChange hookSubscribe = HookSubscribeFactory.on_stream_changed("rtp", ssrcInfo.getStream(), true, null, mediaServerItem.getId());
// 娣诲姞璁㈤槄
subscribe.addSubscribe(hookSubscribe, (MediaServerItem mediaServerItemInUse, JSONObject json) -> {
- hookEvent.call(new InviteStreamInfo(mediaServerItem, json, callIdHeader.getCallId(), "rtp", ssrcInfo.getStream()));
+ hookEvent.call(new InviteStreamInfo(mediaServerItem, json,sipSender.getNewCallIdHeader(device.getTransport()).getCallId(), "rtp", ssrcInfo.getStream()));
subscribe.removeSubscribe(hookSubscribe);
hookSubscribe.getContent().put("regist", false);
hookSubscribe.getContent().put("schema", "rtsp");
@@ -570,7 +565,7 @@
(MediaServerItem mediaServerItemForEnd, JSONObject jsonForEnd) -> {
logger.info("[褰曞儚]涓嬭浇缁撴潫锛� 鍙戦�丅YE");
try {
- streamByeCmd(device, channelId, ssrcInfo.getStream(), callIdHeader.getCallId());
+ streamByeCmd(device, channelId, ssrcInfo.getStream(),sipSender.getNewCallIdHeader(device.getTransport()).getCallId());
} catch (InvalidArgumentException | ParseException | SipException |
SsrcTransactionNotFoundException e) {
logger.error("[褰曞儚]涓嬭浇缁撴潫锛� 鍙戦�丅YE澶辫触 {}", e.getMessage());
@@ -578,14 +573,14 @@
});
});
- Request request = headerProvider.createPlaybackInviteRequest(device, channelId, content.toString(), null, SipUtils.getNewFromTag(), null, callIdHeader, ssrcInfo.getSsrc());
+ Request request = headerProvider.createPlaybackInviteRequest(device, channelId, content.toString(), null, SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(device.getTransport()), ssrcInfo.getSsrc());
if (inviteStreamCallback != null) {
- inviteStreamCallback.call(new InviteStreamInfo(mediaServerItem, null, callIdHeader.getCallId(), "rtp", ssrcInfo.getStream()));
+ inviteStreamCallback.call(new InviteStreamInfo(mediaServerItem, null,sipSender.getNewCallIdHeader(device.getTransport()).getCallId(), "rtp", ssrcInfo.getStream()));
}
- transmitRequest(device.getTransport(), request, errorEvent, okEvent -> {
+ sipSender.transmitRequest( request, errorEvent, okEvent -> {
ResponseEvent responseEvent = (ResponseEvent) okEvent.event;
SIPResponse response = (SIPResponse) responseEvent.getResponse();
- streamSession.put(device.getDeviceId(), channelId, callIdHeader.getCallId(), ssrcInfo.getStream(), ssrcInfo.getSsrc(), mediaServerItem.getId(), response, VideoStreamSessionManager.SessionType.download);
+ streamSession.put(device.getDeviceId(), channelId,sipSender.getNewCallIdHeader(device.getTransport()).getCallId(), ssrcInfo.getStream(), ssrcInfo.getSsrc(), mediaServerItem.getId(), response, VideoStreamSessionManager.SessionType.download);
});
}
@@ -612,7 +607,7 @@
streamSession.remove(ssrcTransaction.getDeviceId(), ssrcTransaction.getChannelId(), ssrcTransaction.getStream());
Request byteRequest = headerProvider.createByteRequest(device, channelId, ssrcTransaction.getSipTransactionInfo());
- transmitRequest(device.getTransport(), byteRequest, null, okEvent);
+ sipSender.transmitRequest( byteRequest, null, okEvent);
}
/**
@@ -643,11 +638,10 @@
broadcastXml.append("<TargetID>" + device.getDeviceId() + "</TargetID>\r\n");
broadcastXml.append("</Notify>\r\n");
- CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId()
- : udpSipProvider.getNewCallId();
+
- Request request = headerProvider.createMessageRequest(device, broadcastXml.toString(), SipUtils.getNewViaTag(), SipUtils.getNewFromTag(), null, callIdHeader);
- transmitRequest(device.getTransport(), request);
+ Request request = headerProvider.createMessageRequest(device, broadcastXml.toString(), SipUtils.getNewViaTag(), SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(device.getTransport()));
+ sipSender.transmitRequest( request);
}
@@ -664,11 +658,10 @@
broadcastXml.append("<TargetID>" + device.getDeviceId() + "</TargetID>\r\n");
broadcastXml.append("</Notify>\r\n");
- CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId()
- : udpSipProvider.getNewCallId();
+
- Request request = headerProvider.createMessageRequest(device, broadcastXml.toString(), SipUtils.getNewViaTag(), SipUtils.getNewFromTag(), null, callIdHeader);
- transmitRequest(device.getTransport(), request, errorEvent);
+ Request request = headerProvider.createMessageRequest(device, broadcastXml.toString(), SipUtils.getNewViaTag(), SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(device.getTransport()));
+ sipSender.transmitRequest( request, errorEvent);
}
@@ -696,11 +689,10 @@
cmdXml.append("<RecordCmd>" + recordCmdStr + "</RecordCmd>\r\n");
cmdXml.append("</Control>\r\n");
- CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId()
- : udpSipProvider.getNewCallId();
+
- Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, SipUtils.getNewFromTag(), null, callIdHeader);
- transmitRequest(device.getTransport(), request, errorEvent);
+ Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(device.getTransport()));
+ sipSender.transmitRequest( request, errorEvent);
}
/**
@@ -721,11 +713,10 @@
cmdXml.append("<TeleBoot>Boot</TeleBoot>\r\n");
cmdXml.append("</Control>\r\n");
- CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId()
- : udpSipProvider.getNewCallId();
+
- Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, SipUtils.getNewFromTag(), null, callIdHeader);
- transmitRequest(device.getTransport(), request);
+ Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(device.getTransport()));
+ sipSender.transmitRequest( request);
}
/**
@@ -747,11 +738,10 @@
cmdXml.append("<GuardCmd>" + guardCmdStr + "</GuardCmd>\r\n");
cmdXml.append("</Control>\r\n");
- CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId()
- : udpSipProvider.getNewCallId();
+
- Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, SipUtils.getNewFromTag(), null, callIdHeader);
- transmitRequest(device.getTransport(), request, errorEvent);
+ Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(device.getTransport()));
+ sipSender.transmitRequest( request, errorEvent);
}
/**
@@ -784,11 +774,10 @@
}
cmdXml.append("</Control>\r\n");
- CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId()
- : udpSipProvider.getNewCallId();
+
- Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, SipUtils.getNewFromTag(), null, callIdHeader);
- transmitRequest(device.getTransport(), request, errorEvent);
+ Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(device.getTransport()));
+ sipSender.transmitRequest( request, errorEvent);
}
/**
@@ -814,11 +803,10 @@
cmdXml.append("<IFameCmd>Send</IFameCmd>\r\n");
cmdXml.append("</Control>\r\n");
- CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId()
- : udpSipProvider.getNewCallId();
+
- Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, SipUtils.getNewFromTag(), null, callIdHeader);
- transmitRequest(device.getTransport(), request);
+ Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(device.getTransport()));
+ sipSender.transmitRequest( request);
}
/**
@@ -862,11 +850,10 @@
cmdXml.append("</HomePosition>\r\n");
cmdXml.append("</Control>\r\n");
- CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId()
- : udpSipProvider.getNewCallId();
+
- Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, SipUtils.getNewFromTag(), null, callIdHeader);
- transmitRequest(device.getTransport(), request, errorEvent);
+ Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(device.getTransport()));
+ sipSender.transmitRequest( request, errorEvent);
}
/**
@@ -926,11 +913,10 @@
cmdXml.append("</BasicParam>\r\n");
cmdXml.append("</Control>\r\n");
- CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId()
- : udpSipProvider.getNewCallId();
+
- Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, SipUtils.getNewFromTag(), null, callIdHeader);
- transmitRequest(device.getTransport(), request, errorEvent);
+ Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(device.getTransport()));
+ sipSender.transmitRequest( request, errorEvent);
}
/**
@@ -950,12 +936,11 @@
catalogXml.append("<DeviceID>" + device.getDeviceId() + "</DeviceID>\r\n");
catalogXml.append("</Query>\r\n");
- CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId()
- : udpSipProvider.getNewCallId();
+
- Request request = headerProvider.createMessageRequest(device, catalogXml.toString(), null, SipUtils.getNewFromTag(), null, callIdHeader);
+ Request request = headerProvider.createMessageRequest(device, catalogXml.toString(), null, SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(device.getTransport()));
- transmitRequest(device.getTransport(), request, errorEvent);
+ sipSender.transmitRequest( request, errorEvent);
}
/**
@@ -975,12 +960,11 @@
catalogXml.append("<DeviceID>" + device.getDeviceId() + "</DeviceID>\r\n");
catalogXml.append("</Query>\r\n");
- CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId()
- : udpSipProvider.getNewCallId();
+
- Request request = headerProvider.createMessageRequest(device, catalogXml.toString(), SipUtils.getNewViaTag(), SipUtils.getNewFromTag(), null, callIdHeader);
+ Request request = headerProvider.createMessageRequest(device, catalogXml.toString(), SipUtils.getNewViaTag(), SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(device.getTransport()));
- transmitRequest(device.getTransport(), request);
+ sipSender.transmitRequest( request);
}
@@ -1001,12 +985,11 @@
catalogXml.append(" <DeviceID>" + device.getDeviceId() + "</DeviceID>\r\n");
catalogXml.append("</Query>\r\n");
- CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId()
- : udpSipProvider.getNewCallId();
+
- Request request = headerProvider.createMessageRequest(device, catalogXml.toString(), SipUtils.getNewViaTag(), SipUtils.getNewFromTag(), null, callIdHeader);
+ Request request = headerProvider.createMessageRequest(device, catalogXml.toString(), SipUtils.getNewViaTag(), SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(device.getTransport()));
- transmitRequest(device.getTransport(), request, errorEvent);
+ sipSender.transmitRequest( request, errorEvent);
}
/**
@@ -1047,13 +1030,12 @@
}
recordInfoXml.append("</Query>\r\n");
- CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId()
- : udpSipProvider.getNewCallId();
+
Request request = headerProvider.createMessageRequest(device, recordInfoXml.toString(),
- SipUtils.getNewViaTag(), SipUtils.getNewFromTag(), null, callIdHeader);
+ SipUtils.getNewViaTag(), SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(device.getTransport()));
- transmitRequest(device.getTransport(), request, errorEvent, okEvent);
+ sipSender.transmitRequest( request, errorEvent, okEvent);
}
/**
@@ -1099,11 +1081,10 @@
}
cmdXml.append("</Query>\r\n");
- CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId()
- : udpSipProvider.getNewCallId();
+
- Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, SipUtils.getNewFromTag(), null, callIdHeader);
- transmitRequest(device.getTransport(), request, errorEvent);
+ Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(device.getTransport()));
+ sipSender.transmitRequest( request, errorEvent);
}
/**
@@ -1130,11 +1111,10 @@
cmdXml.append("<ConfigType>" + configType + "</ConfigType>\r\n");
cmdXml.append("</Query>\r\n");
- CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId()
- : udpSipProvider.getNewCallId();
+
- Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, SipUtils.getNewFromTag(), null, callIdHeader);
- transmitRequest(device.getTransport(), request, errorEvent);
+ Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(device.getTransport()));
+ sipSender.transmitRequest( request, errorEvent);
}
/**
@@ -1158,11 +1138,10 @@
}
cmdXml.append("</Query>\r\n");
- CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId()
- : udpSipProvider.getNewCallId();
+
- Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, SipUtils.getNewFromTag(), null, callIdHeader);
- transmitRequest(device.getTransport(), request, errorEvent);
+ Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(device.getTransport()));
+ sipSender.transmitRequest( request, errorEvent);
}
/**
@@ -1183,12 +1162,11 @@
mobilePostitionXml.append("<Interval>60</Interval>\r\n");
mobilePostitionXml.append("</Query>\r\n");
- CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId()
- : udpSipProvider.getNewCallId();
+
- Request request = headerProvider.createMessageRequest(device, mobilePostitionXml.toString(), SipUtils.getNewViaTag(), SipUtils.getNewFromTag(), null, callIdHeader);
+ Request request = headerProvider.createMessageRequest(device, mobilePostitionXml.toString(), SipUtils.getNewViaTag(), SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(device.getTransport()));
- transmitRequest(device.getTransport(), request, errorEvent);
+ sipSender.transmitRequest( request, errorEvent);
}
@@ -1218,12 +1196,11 @@
if (requestOld != null) {
callIdHeader = sipFactory.createHeaderFactory().createCallIdHeader(requestOld.getCallIdHeader().getCallId());
} else {
- callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId()
- : udpSipProvider.getNewCallId();
+ callIdHeader = sipSender.getNewCallIdHeader(device.getTransport());
}
- SIPRequest request = (SIPRequest) headerProvider.createSubscribeRequest(device, subscribePostitionXml.toString(), requestOld, device.getSubscribeCycleForMobilePosition(), "presence", callIdHeader); //Position;id=" + tm.substring(tm.length() - 4));
+ SIPRequest request = (SIPRequest) headerProvider.createSubscribeRequest(device, subscribePostitionXml.toString(), requestOld, device.getSubscribeCycleForMobilePosition(), "presence",callIdHeader); //Position;id=" + tm.substring(tm.length() - 4));
- transmitRequest(device.getTransport(), request, errorEvent, okEvent);
+ sipSender.transmitRequest( request, errorEvent, okEvent);
return request;
}
@@ -1270,11 +1247,10 @@
}
cmdXml.append("</Query>\r\n");
- CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId()
- : udpSipProvider.getNewCallId();
+
- Request request = headerProvider.createSubscribeRequest(device, cmdXml.toString(), null, expires, "presence", callIdHeader);
- transmitRequest(device.getTransport(), request);
+ Request request = headerProvider.createSubscribeRequest(device, cmdXml.toString(), null, expires, "presence",sipSender.getNewCallIdHeader(device.getTransport()));
+ sipSender.transmitRequest( request);
}
@@ -1295,14 +1271,13 @@
if (requestOld != null) {
callIdHeader = sipFactory.createHeaderFactory().createCallIdHeader(requestOld.getCallIdHeader().getCallId());
} else {
- callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId()
- : udpSipProvider.getNewCallId();
+ callIdHeader = sipSender.getNewCallIdHeader(device.getTransport());
}
// 鏈夋晥鏃堕棿榛樿涓�60绉掍互涓�
SIPRequest request = (SIPRequest) headerProvider.createSubscribeRequest(device, cmdXml.toString(), requestOld, device.getSubscribeCycleForCatalog(), "Catalog",
callIdHeader);
- transmitRequest(device.getTransport(), request, errorEvent, okEvent);
+ sipSender.transmitRequest( request, errorEvent, okEvent);
return request;
}
@@ -1322,59 +1297,14 @@
}
dragXml.append(cmdString);
dragXml.append("</Control>\r\n");
- CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId()
- : udpSipProvider.getNewCallId();
- Request request = headerProvider.createMessageRequest(device, dragXml.toString(), SipUtils.getNewViaTag(), SipUtils.getNewFromTag(), null, callIdHeader);
+
+ Request request = headerProvider.createMessageRequest(device, dragXml.toString(), SipUtils.getNewViaTag(), SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(device.getTransport()));
logger.debug("鎷夋淇′护锛� " + request.toString());
- transmitRequest(device.getTransport(), request);
+ sipSender.transmitRequest(request);
}
- @Override
- public void transmitRequest(String transport, Request request) throws SipException, ParseException {
- transmitRequest(transport, request, null, null);
- }
-
- @Override
- public void transmitRequest(String transport, Request request, SipSubscribe.Event errorEvent) throws SipException, ParseException {
- transmitRequest(transport, request, errorEvent, null);
- }
-
- @Override
- public void transmitRequest(String transport, Request request, SipSubscribe.Event errorEvent, SipSubscribe.Event okEvent) throws SipException, ParseException {
-
- if (request.getHeader(UserAgentHeader.NAME) == null) {
- try {
- request.addHeader(SipUtils.createUserAgentHeader(sipFactory, gitUtil));
- } catch (ParseException e) {
- logger.error("娣诲姞UserAgentHeader澶辫触", e);
- }
- }
-
- CallIdHeader callIdHeader = (CallIdHeader) request.getHeader(CallIdHeader.NAME);
- // 娣诲姞閿欒璁㈤槄
- if (errorEvent != null) {
- sipSubscribe.addErrorSubscribe(callIdHeader.getCallId(), (eventResult -> {
- errorEvent.response(eventResult);
- sipSubscribe.removeErrorSubscribe(eventResult.callId);
- sipSubscribe.removeOkSubscribe(eventResult.callId);
- }));
- }
- // 娣诲姞璁㈤槄
- if (okEvent != null) {
- sipSubscribe.addOkSubscribe(callIdHeader.getCallId(), eventResult -> {
- okEvent.response(eventResult);
- sipSubscribe.removeOkSubscribe(eventResult.callId);
- sipSubscribe.removeErrorSubscribe(eventResult.callId);
- });
- }
- if ("TCP".equals(transport)) {
- tcpSipProvider.sendRequest(request);
- } else if ("UDP".equals(transport)) {
- udpSipProvider.sendRequest(request);
- }
-
- }
+
/**
@@ -1449,7 +1379,7 @@
return;
}
- transmitRequest(device.getTransport(), request, errorEvent, okEvent);
+ sipSender.transmitRequest( request, errorEvent, okEvent);
}
@Override
@@ -1478,10 +1408,9 @@
deviceStatusXml.append("</info>\r\n");
deviceStatusXml.append("</Notify>\r\n");
- CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId()
- : udpSipProvider.getNewCallId();
- Request request = headerProvider.createMessageRequest(device, deviceStatusXml.toString(), SipUtils.getNewViaTag(), SipUtils.getNewFromTag(), null, callIdHeader);
- transmitRequest(device.getTransport(), request);
+
+ Request request = headerProvider.createMessageRequest(device, deviceStatusXml.toString(), SipUtils.getNewViaTag(), SipUtils.getNewFromTag(), null,sipSender.getNewCallIdHeader(device.getTransport()));
+ sipSender.transmitRequest(request);
}
--
Gitblit v1.8.0