|  |  | 
 |  |  | 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(), "ViaPtzBranch", "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(), "ViaPtzBranch", "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) {
 | 
 |  |  | 
 |  |  |    }
 | 
 |  |  | 
 | 
 |  |  |    /**
 | 
 |  |  |     * 前端控制指令(用于转发上级指令)
 | 
 |  |  |     * @param device      控制设备
 | 
 |  |  |     * @param channelId      预览通道
 | 
 |  |  |     * @param cmdString      前端控制指令串
 | 
 |  |  |     */
 | 
 |  |  |    @Override
 | 
 |  |  |    public boolean fronEndCmd(Device device, String channelId, String cmdString) {
 | 
 |  |  |       try {
 | 
 |  |  |          StringBuffer ptzXml = new StringBuffer(200);
 | 
 |  |  |          ptzXml.append("<?xml version=\"1.0\" ?>\r\n");
 | 
 |  |  |          ptzXml.append("<Control>\r\n");
 | 
 |  |  |          ptzXml.append("<CmdType>DeviceControl</CmdType>\r\n");
 | 
 |  |  |          ptzXml.append("<SN>" + (int)((Math.random()*9+1)*100000) + "</SN>\r\n");
 | 
 |  |  |          ptzXml.append("<DeviceID>" + channelId + "</DeviceID>\r\n");
 | 
 |  |  |          ptzXml.append("<PTZCmd>" + cmdString + "</PTZCmd>\r\n");
 | 
 |  |  |          ptzXml.append("<Info>\r\n");
 | 
 |  |  |          ptzXml.append("</Info>\r\n");
 | 
 |  |  |          ptzXml.append("</Control>\r\n");
 | 
 |  |  | 			 | 
 |  |  |          String tm = Long.toString(System.currentTimeMillis());
 | 
 |  |  | 
 | 
 |  |  |          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) {
 | 
 |  |  |          e.printStackTrace();
 | 
 |  |  |       }  | 
 |  |  |       return false;
 | 
 |  |  |    }
 | 
 |  |  | 	 | 
 |  |  |     /**
 | 
 |  |  |     *    请求预览视频流
 | 
 |  |  |     * @param device  视频设备
 | 
 |  |  |     * @param channelId  预览通道
 | 
 |  |  | 
 |  |  |    @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) {
 | 
 |  |  | 
 |  |  |                   content.append("a=setup:passive\r\n");
 | 
 |  |  |                   content.append("a=connection:new\r\n");
 | 
 |  |  |                } else if ("TCP-ACTIVE".equals(streamMode)) { // tcp主动模式
 | 
 |  |  |                } else if ("TCP-ACTIVE".equals(streamMode)) { // tcp主动模式
 | 
 |  |  |                   content.append("a=setup:active\r\n");
 | 
 |  |  |                   content.append("a=connection:new\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, transaction);
 | 
 |  |  | 
 | 
 |  |  | 
 | 
 |  |  |          streamSession.put(streamId,ssrc, transaction);
 | 
 |  |  | 
 | 
 |  |  |       } catch ( SipException | ParseException | InvalidArgumentException e) {
 | 
 |  |  |          e.printStackTrace();
 | 
 |  |  | 
 |  |  |            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, transaction);
 | 
 |  |  |            streamSession.put(streamId, ssrc, transaction);
 | 
 |  |  | 
 | 
 |  |  |       } catch ( SipException | ParseException | InvalidArgumentException e) {
 | 
 |  |  |          e.printStackTrace();
 | 
 |  |  | 
 |  |  |     */
 | 
 |  |  |    @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(), "ViaDeviceInfoBranch", "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(), "ViaCatalogBranch", "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(), "ViaRecordInfoBranch", "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(), "viaTagPos" + 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(), "viaTagPos" + 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(), "viaTagPos" + 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;
 |