| | |
| | | String deviceId = SipUtils.getUserIdFromFromHeader(evt.getRequest());
|
| | | // 查询设备是否存在
|
| | | Device device = storager.queryVideoDevice(deviceId);
|
| | | if (device == null) {
|
| | | logger.warn("处理DeviceInfo设备信息Message时未找到设备信息");
|
| | | response404Ack(evt);
|
| | | return;
|
| | | }
|
| | | ParentPlatform parentPlatform = storager.queryParentPlatByServerGBId(deviceId);
|
| | |
|
| | | Element rootElement = getRootElement(evt);
|
| | | String requestName = rootElement.getName();
|
| | | Element deviceIdElement = rootElement.element("DeviceID");
|
| | |
| | | if (requestName.equals("Query")) {
|
| | | logger.info("接收到DeviceInfo查询消息");
|
| | | FromHeader fromHeader = (FromHeader) evt.getRequest().getHeader(FromHeader.NAME);
|
| | | String platformId = ((SipUri) fromHeader.getAddress().getURI()).getUser();
|
| | | if (platformId == null) {
|
| | | if (parentPlatform == null) {
|
| | | response404Ack(evt);
|
| | | return;
|
| | | } else {
|
| | | // 回复200 OK
|
| | | responseAck(evt);
|
| | | String sn = rootElement.element("SN").getText();
|
| | | ParentPlatform parentPlatform = storager.queryParentPlatByServerGBId(platformId);
|
| | | cmderFroPlatform.deviceInfoResponse(parentPlatform, sn, fromHeader.getTag());
|
| | | }
|
| | | } else {
|
| | | logger.debug("接收到DeviceInfo应答消息");
|
| | | if (device == null) {
|
| | | logger.warn("处理DeviceInfo设备信息Message时未找到设备信息");
|
| | | response404Ack(evt);
|
| | | return;
|
| | | }
|
| | |
|
| | |
| | | String deviceId = SipUtils.getUserIdFromFromHeader(evt.getRequest());
|
| | | // 查询设备是否存在
|
| | | Device device = storager.queryVideoDevice(deviceId);
|
| | | if (device == null) {
|
| | | logger.warn("处理DeviceInfo设备信息Message时未找到设备信息");
|
| | | response404Ack(evt);
|
| | | return;
|
| | | }
|
| | | ParentPlatform parentPlatform = storager.queryParentPlatByServerGBId(deviceId);
|
| | |
|
| | |
|
| | | Element rootElement = getRootElement(evt);
|
| | | String name = rootElement.getName();
|
| | |
| | | Element deviceListElement = rootElement.element("DeviceList");
|
| | | String key = DeferredResultHolder.CALLBACK_CMD_CATALOG + deviceId;
|
| | | FromHeader fromHeader = (FromHeader) evt.getRequest().getHeader(FromHeader.NAME);
|
| | | AddressImpl address = (AddressImpl) fromHeader.getAddress();
|
| | | SipUri uri = (SipUri) address.getURI();
|
| | | String platformId = uri.getUser();
|
| | | // if (deviceListElement == null) { // 存在DeviceList则为响应 catalog, 不存在DeviceList则为查询请求
|
| | | if (name.equalsIgnoreCase("Query")) { // 区分是Response——查询响应,还是Query——查询请求
|
| | | // TODO 后续将代码拆分
|
| | | ParentPlatform parentPlatform = storager.queryParentPlatByServerGBId(platformId);
|
| | | if (parentPlatform == null) {
|
| | | response404Ack(evt);
|
| | | return;
|
| | |
| | |
|
| | |
|
| | | } else {
|
| | | if (device == null) {
|
| | | logger.warn("收到catalog设备目录列表请求时未找到设备信息");
|
| | | response404Ack(evt);
|
| | | return;
|
| | | }
|
| | | deviceListElement = getRootElement(evt, device.getCharset()).element("DeviceList");
|
| | | Iterator<Element> deviceListIterator = deviceListElement.elementIterator();
|
| | | if (deviceListIterator != null) {
|