|  |  |  | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Qualifier; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Value; | 
|---|
|  |  |  | import org.springframework.context.annotation.DependsOn; | 
|---|
|  |  |  | import org.springframework.context.annotation.Lazy; | 
|---|
|  |  |  | import org.springframework.stereotype.Component; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.genersoft.iot.vmp.conf.SipConfig; | 
|---|
|  |  |  | 
|---|
|  |  |  | * @date:   2020年5月3日 下午9:22:48 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Component | 
|---|
|  |  |  | @DependsOn("sipLayer") | 
|---|
|  |  |  | public class SIPCommander implements ISIPCommander { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private final Logger logger = LoggerFactory.getLogger(SIPCommander.class); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private SipConfig sipConfig; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Lazy | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | @Qualifier(value="tcpSipProvider") | 
|---|
|  |  |  | private SipProvider tcpSipProvider; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Lazy | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | @Qualifier(value="udpSipProvider") | 
|---|
|  |  |  | private SipProvider udpSipProvider; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private SIPRequestHeaderProvider headerProvider; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private IRedisCatchStorage redisCatchStorage; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | @Qualifier(value="tcpSipProvider") | 
|---|
|  |  |  | private SipProvider tcpSipProvider; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | @Qualifier(value="udpSipProvider") | 
|---|
|  |  |  | private SipProvider udpSipProvider; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private ZLMRTPServerFactory zlmrtpServerFactory; | 
|---|
|  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private SipSubscribe sipSubscribe; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public SipConfig getSipConfig() { | 
|---|
|  |  |  | return sipConfig; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 云台方向放控制,使用配置文件中的默认镜头移动速度 | 
|---|
|  |  |  | 
|---|
|  |  |  | ptzXml.append("</Control>\r\n"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String tm = Long.toString(System.currentTimeMillis()); | 
|---|
|  |  |  | Request request = headerProvider.createMessageRequest(device, ptzXml.toString(), "z9hG4bK-ViaPtz-" + tm, "FromPtz" + tm, null); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId() | 
|---|
|  |  |  | : udpSipProvider.getNewCallId(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Request request = headerProvider.createMessageRequest(device, ptzXml.toString(), "z9hG4bK-ViaPtz-" + tm, "FromPtz" + tm, null, callIdHeader); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | transmitRequest(device, request); | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | 
|---|
|  |  |  | ptzXml.append("</Control>\r\n"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String tm = Long.toString(System.currentTimeMillis()); | 
|---|
|  |  |  | Request request = headerProvider.createMessageRequest(device, ptzXml.toString(), "z9hG4bK-ViaPtz-" + tm, "FromPtz" + tm, null); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId() | 
|---|
|  |  |  | : udpSipProvider.getNewCallId(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Request request = headerProvider.createMessageRequest(device, ptzXml.toString(), "z9hG4bK-ViaPtz-" + tm, "FromPtz" + tm, null, callIdHeader); | 
|---|
|  |  |  | transmitRequest(device, request); | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | } catch (SipException | ParseException | InvalidArgumentException e) { | 
|---|
|  |  |  | 
|---|
|  |  |  | ptzXml.append("</Control>\r\n"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String tm = Long.toString(System.currentTimeMillis()); | 
|---|
|  |  |  | Request request = headerProvider.createMessageRequest(device, ptzXml.toString(), "z9hG4bK-ViaPtz-" + tm, "FromPtz" + tm, null); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId() | 
|---|
|  |  |  | : udpSipProvider.getNewCallId(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Request request = headerProvider.createMessageRequest(device, ptzXml.toString(), "z9hG4bK-ViaPtz-" + tm, "FromPtz" + tm, null, callIdHeader); | 
|---|
|  |  |  | transmitRequest(device, request); | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | } catch (SipException | ParseException | InvalidArgumentException e) { | 
|---|
|  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void playStreamCmd(Device device, String channelId, ZLMHttpHookSubscribe.Event event, SipSubscribe.Event errorEvent) { | 
|---|
|  |  |  | try { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (device == null) return; | 
|---|
|  |  |  | String ssrc = streamSession.createPlaySsrc(); | 
|---|
|  |  |  | String streamId = null; | 
|---|
|  |  |  | if (rtpEnable) { | 
|---|
|  |  |  | 
|---|
|  |  |  | // 添加订阅 | 
|---|
|  |  |  | JSONObject subscribeKey = new JSONObject(); | 
|---|
|  |  |  | subscribeKey.put("app", "rtp"); | 
|---|
|  |  |  | subscribeKey.put("id", streamId); | 
|---|
|  |  |  | subscribeKey.put("stream", streamId); | 
|---|
|  |  |  | subscribeKey.put("regist", true); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | subscribe.addSubscribe(ZLMHttpHookSubscribe.HookType.on_publish, subscribeKey, event); | 
|---|
|  |  |  | subscribe.addSubscribe(ZLMHttpHookSubscribe.HookType.on_stream_changed, subscribeKey, json->{ | 
|---|
|  |  |  | if (json.getJSONArray("tracks") == null) return; | 
|---|
|  |  |  | event.response(json); | 
|---|
|  |  |  | subscribe.removeSubscribe(ZLMHttpHookSubscribe.HookType.on_stream_changed, subscribeKey); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | // | 
|---|
|  |  |  | StringBuffer content = new StringBuffer(200); | 
|---|
|  |  |  | content.append("v=0\r\n"); | 
|---|
|  |  |  | 
|---|
|  |  |  | content.append("y="+ssrc+"\r\n");//ssrc | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String tm = Long.toString(System.currentTimeMillis()); | 
|---|
|  |  |  | Request request = headerProvider.createInviteRequest(device, channelId, content.toString(), null, "FromInvt" + tm, null, ssrc); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId() | 
|---|
|  |  |  | : udpSipProvider.getNewCallId(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Request request = headerProvider.createInviteRequest(device, channelId, content.toString(), null, "FromInvt" + tm, null, ssrc, callIdHeader); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ClientTransaction transaction = transmitRequest(device, request, errorEvent); | 
|---|
|  |  |  | streamSession.put(streamId,ssrc, transaction); | 
|---|
|  |  |  | 
|---|
|  |  |  | // 添加订阅 | 
|---|
|  |  |  | JSONObject subscribeKey = new JSONObject(); | 
|---|
|  |  |  | subscribeKey.put("app", "rtp"); | 
|---|
|  |  |  | subscribeKey.put("id", streamId); | 
|---|
|  |  |  | subscribeKey.put("stream", streamId); | 
|---|
|  |  |  | subscribeKey.put("regist", true); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | subscribe.addSubscribe(ZLMHttpHookSubscribe.HookType.on_publish, subscribeKey, event); | 
|---|
|  |  |  | subscribe.addSubscribe(ZLMHttpHookSubscribe.HookType.on_stream_changed, subscribeKey, json->{ | 
|---|
|  |  |  | if (json.getJSONArray("tracks") == null) return; | 
|---|
|  |  |  | event.response(json); | 
|---|
|  |  |  | subscribe.removeSubscribe(ZLMHttpHookSubscribe.HookType.on_stream_changed, subscribeKey); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | StringBuffer content = new StringBuffer(200); | 
|---|
|  |  |  | content.append("v=0\r\n"); | 
|---|
|  |  |  | 
|---|
|  |  |  | content.append("y="+ssrc+"\r\n");//ssrc | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String tm = Long.toString(System.currentTimeMillis()); | 
|---|
|  |  |  | Request request = headerProvider.createPlaybackInviteRequest(device, channelId, content.toString(), null, "fromplybck" + tm, null); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId() | 
|---|
|  |  |  | : udpSipProvider.getNewCallId(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Request request = headerProvider.createPlaybackInviteRequest(device, channelId, content.toString(), null, "fromplybck" + tm, null, callIdHeader); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ClientTransaction transaction = transmitRequest(device, request, errorEvent); | 
|---|
|  |  |  | streamSession.put(streamId, ssrc, transaction); | 
|---|
|  |  |  | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public boolean audioBroadcastCmd(Device device, String channelId) { | 
|---|
|  |  |  | // TODO Auto-generated method stub | 
|---|
|  |  |  | // 改为新的实现 | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 语音广播 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param device  视频设备 | 
|---|
|  |  |  | * @param channelId  预览通道 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public boolean audioBroadcastCmd(Device device) { | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | StringBuffer broadcastXml = new StringBuffer(200); | 
|---|
|  |  |  | broadcastXml.append("<?xml version=\"1.0\" ?>\r\n"); | 
|---|
|  |  |  | broadcastXml.append("<Notify>\r\n"); | 
|---|
|  |  |  | broadcastXml.append("<CmdType>Broadcast</CmdType>\r\n"); | 
|---|
|  |  |  | broadcastXml.append("<SN>" + (int)((Math.random()*9+1)*100000) + "</SN>\r\n"); | 
|---|
|  |  |  | broadcastXml.append("<SourceID>" + sipConfig.getSipId() + "</SourceID>\r\n"); | 
|---|
|  |  |  | broadcastXml.append("<TargetID>" + device.getDeviceId() + "</TargetID>\r\n"); | 
|---|
|  |  |  | broadcastXml.append("</Notify>\r\n"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String tm = Long.toString(System.currentTimeMillis()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId() | 
|---|
|  |  |  | : udpSipProvider.getNewCallId(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Request request = headerProvider.createMessageRequest(device, broadcastXml.toString(), "z9hG4bK-ViaBcst-" + tm, "FromBcst" + tm, null, callIdHeader); | 
|---|
|  |  |  | transmitRequest(device, request); | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | } catch (SipException | ParseException | InvalidArgumentException e) { | 
|---|
|  |  |  | e.printStackTrace(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return false; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void audioBroadcastCmd(Device device, SipSubscribe.Event errorEvent) { | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | StringBuffer broadcastXml = new StringBuffer(200); | 
|---|
|  |  |  | broadcastXml.append("<?xml version=\"1.0\" ?>\r\n"); | 
|---|
|  |  |  | broadcastXml.append("<Notify>\r\n"); | 
|---|
|  |  |  | broadcastXml.append("<CmdType>Broadcast</CmdType>\r\n"); | 
|---|
|  |  |  | broadcastXml.append("<SN>" + (int)((Math.random()*9+1)*100000) + "</SN>\r\n"); | 
|---|
|  |  |  | broadcastXml.append("<SourceID>" + sipConfig.getSipId() + "</SourceID>\r\n"); | 
|---|
|  |  |  | broadcastXml.append("<TargetID>" + device.getDeviceId() + "</TargetID>\r\n"); | 
|---|
|  |  |  | broadcastXml.append("</Notify>\r\n"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String tm = Long.toString(System.currentTimeMillis()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId() | 
|---|
|  |  |  | : udpSipProvider.getNewCallId(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Request request = headerProvider.createMessageRequest(device, broadcastXml.toString(), "z9hG4bK-ViaBcst-" + tm, "FromBcst" + tm, null, callIdHeader); | 
|---|
|  |  |  | transmitRequest(device, request, errorEvent); | 
|---|
|  |  |  | } catch (SipException | ParseException | InvalidArgumentException e) { | 
|---|
|  |  |  | e.printStackTrace(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 音视频录像控制 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | 
|---|
|  |  |  | cmdXml.append("</Control>\r\n"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String tm = Long.toString(System.currentTimeMillis()); | 
|---|
|  |  |  | Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, "FromRecord" + tm, null); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId() | 
|---|
|  |  |  | : udpSipProvider.getNewCallId(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, "FromRecord" + tm, null, callIdHeader); | 
|---|
|  |  |  | transmitRequest(device, request, errorEvent); | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | } catch (SipException | ParseException | InvalidArgumentException e) { | 
|---|
|  |  |  | 
|---|
|  |  |  | cmdXml.append("</Control>\r\n"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String tm = Long.toString(System.currentTimeMillis()); | 
|---|
|  |  |  | Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, "FromBoot" + tm, null); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId() | 
|---|
|  |  |  | : udpSipProvider.getNewCallId(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, "FromBoot" + tm, null, callIdHeader); | 
|---|
|  |  |  | transmitRequest(device, request); | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | } catch (SipException | ParseException | InvalidArgumentException e) { | 
|---|
|  |  |  | 
|---|
|  |  |  | cmdXml.append("</Control>\r\n"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String tm = Long.toString(System.currentTimeMillis()); | 
|---|
|  |  |  | Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, "FromGuard" + tm, null); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId() | 
|---|
|  |  |  | : udpSipProvider.getNewCallId(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, "FromGuard" + tm, null, callIdHeader); | 
|---|
|  |  |  | transmitRequest(device, request, errorEvent); | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | } catch (SipException | ParseException | InvalidArgumentException e) { | 
|---|
|  |  |  | 
|---|
|  |  |  | cmdXml.append("</Control>\r\n"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String tm = Long.toString(System.currentTimeMillis()); | 
|---|
|  |  |  | Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, "FromAlarm" + tm, null); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId() | 
|---|
|  |  |  | : udpSipProvider.getNewCallId(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, "FromAlarm" + tm, null, callIdHeader); | 
|---|
|  |  |  | transmitRequest(device, request, errorEvent); | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | } catch (SipException | ParseException | InvalidArgumentException e) { | 
|---|
|  |  |  | 
|---|
|  |  |  | cmdXml.append("</Control>\r\n"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String tm = Long.toString(System.currentTimeMillis()); | 
|---|
|  |  |  | Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, "FromBoot" + tm, null); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId() | 
|---|
|  |  |  | : udpSipProvider.getNewCallId(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, "FromBoot" + tm, null, callIdHeader); | 
|---|
|  |  |  | transmitRequest(device, request); | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | } catch (SipException | ParseException | InvalidArgumentException e) { | 
|---|
|  |  |  | 
|---|
|  |  |  | cmdXml.append("</Control>\r\n"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String tm = Long.toString(System.currentTimeMillis()); | 
|---|
|  |  |  | Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, "FromGuard" + tm, null); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId() | 
|---|
|  |  |  | : udpSipProvider.getNewCallId(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, "FromGuard" + tm, null, callIdHeader); | 
|---|
|  |  |  | transmitRequest(device, request, errorEvent); | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | } catch (SipException | ParseException | InvalidArgumentException e) { | 
|---|
|  |  |  | 
|---|
|  |  |  | cmdXml.append("</Control>\r\n"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String tm = Long.toString(System.currentTimeMillis()); | 
|---|
|  |  |  | Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, "FromConfig" + tm, null); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId() | 
|---|
|  |  |  | : udpSipProvider.getNewCallId(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, "FromConfig" + tm, null, callIdHeader); | 
|---|
|  |  |  | transmitRequest(device, request, errorEvent); | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | } catch (SipException | ParseException | InvalidArgumentException e) { | 
|---|
|  |  |  | 
|---|
|  |  |  | catalogXml.append("</Query>\r\n"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String tm = Long.toString(System.currentTimeMillis()); | 
|---|
|  |  |  | Request request = headerProvider.createMessageRequest(device, catalogXml.toString(), null, "FromStatus" + tm, null); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId() | 
|---|
|  |  |  | : udpSipProvider.getNewCallId(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Request request = headerProvider.createMessageRequest(device, catalogXml.toString(), null, "FromStatus" + tm, null, callIdHeader); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | transmitRequest(device, request, errorEvent); | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | 
|---|
|  |  |  | catalogXml.append("</Query>\r\n"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String tm = Long.toString(System.currentTimeMillis()); | 
|---|
|  |  |  | Request request = headerProvider.createMessageRequest(device, catalogXml.toString(), "z9hG4bK-ViaDeviceInfo-" + tm, "FromDev" + tm, null); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId() | 
|---|
|  |  |  | : udpSipProvider.getNewCallId(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Request request = headerProvider.createMessageRequest(device, catalogXml.toString(), "z9hG4bK-ViaDeviceInfo-" + tm, "FromDev" + tm, null, callIdHeader); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | transmitRequest(device, request); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | catalogXml.append("</Query>\r\n"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String tm = Long.toString(System.currentTimeMillis()); | 
|---|
|  |  |  | Request request = headerProvider.createMessageRequest(device, catalogXml.toString(), "z9hG4bK-ViaCatalog-" + tm, "FromCat" + tm, null); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId() | 
|---|
|  |  |  | : udpSipProvider.getNewCallId(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Request request = headerProvider.createMessageRequest(device, catalogXml.toString(), "z9hG4bK-ViaCatalog-" + tm, "FromCat" + tm, null, callIdHeader); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | transmitRequest(device, request, errorEvent); | 
|---|
|  |  |  | } catch (SipException | ParseException | InvalidArgumentException e) { | 
|---|
|  |  |  | 
|---|
|  |  |  | recordInfoXml.append("</Query>\r\n"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String tm = Long.toString(System.currentTimeMillis()); | 
|---|
|  |  |  | Request request = headerProvider.createMessageRequest(device, recordInfoXml.toString(), "z9hG4bK-ViaRecordInfo-" + tm, "fromRec" + tm, null); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId() | 
|---|
|  |  |  | : udpSipProvider.getNewCallId(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Request request = headerProvider.createMessageRequest(device, recordInfoXml.toString(), | 
|---|
|  |  |  | "z9hG4bK-ViaRecordInfo-" + tm, "fromRec" + tm, null, callIdHeader); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | transmitRequest(device, request); | 
|---|
|  |  |  | } catch (SipException | ParseException | InvalidArgumentException e) { | 
|---|
|  |  |  | 
|---|
|  |  |  | cmdXml.append("</Query>\r\n"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String tm = Long.toString(System.currentTimeMillis()); | 
|---|
|  |  |  | Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, "FromAlarm" + tm, null); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId() | 
|---|
|  |  |  | : udpSipProvider.getNewCallId(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, "FromAlarm" + tm, null, callIdHeader); | 
|---|
|  |  |  | transmitRequest(device, request, errorEvent); | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | } catch (SipException | ParseException | InvalidArgumentException e) { | 
|---|
|  |  |  | 
|---|
|  |  |  | cmdXml.append("</Query>\r\n"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String tm = Long.toString(System.currentTimeMillis()); | 
|---|
|  |  |  | Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, "FromConfig" + tm, null); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId() | 
|---|
|  |  |  | : udpSipProvider.getNewCallId(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, "FromConfig" + tm, null, callIdHeader); | 
|---|
|  |  |  | transmitRequest(device, request, errorEvent); | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | } catch (SipException | ParseException | InvalidArgumentException e) { | 
|---|
|  |  |  | 
|---|
|  |  |  | cmdXml.append("</Query>\r\n"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String tm = Long.toString(System.currentTimeMillis()); | 
|---|
|  |  |  | Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, "FromConfig" + tm, null); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId() | 
|---|
|  |  |  | : udpSipProvider.getNewCallId(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Request request = headerProvider.createMessageRequest(device, cmdXml.toString(), null, "FromConfig" + tm, null, callIdHeader); | 
|---|
|  |  |  | transmitRequest(device, request, errorEvent); | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | } catch (SipException | ParseException | InvalidArgumentException e) { | 
|---|
|  |  |  | 
|---|
|  |  |  | mobilePostitionXml.append("</Query>\r\n"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String tm = Long.toString(System.currentTimeMillis()); | 
|---|
|  |  |  | Request request = headerProvider.createMessageRequest(device, mobilePostitionXml.toString(), "z9hG4bK-viaPos-" + tm, "fromTagPos" + tm, null); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId() | 
|---|
|  |  |  | : udpSipProvider.getNewCallId(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Request request = headerProvider.createMessageRequest(device, mobilePostitionXml.toString(), "z9hG4bK-viaPos-" + tm, "fromTagPos" + tm, null, callIdHeader); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | transmitRequest(device, request, errorEvent); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | subscribePostitionXml.append("</Query>\r\n"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String tm = Long.toString(System.currentTimeMillis()); | 
|---|
|  |  |  | Request request = headerProvider.createSubscribeRequest(device, subscribePostitionXml.toString(), "z9hG4bK-viaPos-" + tm, "fromTagPos" + tm, null, expires, "presence" ); //Position;id=" + tm.substring(tm.length() - 4)); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId() | 
|---|
|  |  |  | : udpSipProvider.getNewCallId(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Request request = headerProvider.createSubscribeRequest(device, subscribePostitionXml.toString(), "z9hG4bK-viaPos-" + tm, "fromTagPos" + tm, null, expires, "presence" ,callIdHeader); //Position;id=" + tm.substring(tm.length() - 4)); | 
|---|
|  |  |  | transmitRequest(device, request); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | 
|---|
|  |  |  | cmdXml.append("</Query>\r\n"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String tm = Long.toString(System.currentTimeMillis()); | 
|---|
|  |  |  | Request request = headerProvider.createSubscribeRequest(device, cmdXml.toString(), "z9hG4bK-viaPos-" + tm, "fromTagPos" + tm, null, expires, "presence" ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | CallIdHeader callIdHeader = device.getTransport().equals("TCP") ? tcpSipProvider.getNewCallId() | 
|---|
|  |  |  | : udpSipProvider.getNewCallId(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Request request = headerProvider.createSubscribeRequest(device, cmdXml.toString(), "z9hG4bK-viaPos-" + tm, "fromTagPos" + tm, null, expires, "presence" , callIdHeader); | 
|---|
|  |  |  | transmitRequest(device, request); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return true; | 
|---|