/// <summary> /// 设备目录查询 /// </summary> /// <param name="deviceId">目的设备编码</param> public void DeviceCatalogQuery() { if (LocalEndPoint == null) { OnSIPServiceChange(RemoteSIPId, SipServiceStatus.Wait); return; } lock (RemoteTrans) { foreach (var trans in RemoteTrans) { SIPEndPoint remoteEndPoint = SIPEndPoint.ParseSIPEndPoint(trans.Key); SIPRequest catalogReq = QueryItems(remoteEndPoint, trans.Value); CatalogQuery catalog = new CatalogQuery() { CommandType = CommandType.Catalog, DeviceID = trans.Value, SN = new Random().Next(1, ushort.MaxValue) }; string xmlBody = CatalogQuery.Instance.Save <CatalogQuery>(catalog); catalogReq.Body = xmlBody; Transport.SendRequest(remoteEndPoint, catalogReq); } } //_catalogTask = new TaskTiming(catalogReq, Transport); //this.SendRequestTimeout += _catalogTask.MessageSendRequestTimeout; //_catalogTask.Start(); }
/// <summary> /// 设备目录查询 /// </summary> /// <param name="deviceId">目的设备编码</param> public void DeviceCatalogQuery(string deviceId) { if (LocalEndPoint == null) { OnSIPServiceChange(deviceId, SipServiceStatus.Wait); return; } string fromTag = CallProperties.CreateNewTag(); string toTag = CallProperties.CreateNewTag(); int cSeq = CallProperties.CreateNewCSeq(); string callId = CallProperties.CreateNewCallId(); SIPRequest catalogReq = QueryItems(fromTag, toTag, cSeq, callId); CatalogQuery catalog = new CatalogQuery() { CommandType = CommandType.Catalog, DeviceID = deviceId, SN = new Random().Next(9999) }; string xmlBody = CatalogQuery.Instance.Save <CatalogQuery>(catalog); catalogReq.Body = xmlBody; Transport.SendRequest(RemoteEndPoint, catalogReq); _catalogTask = new TaskTiming(catalogReq, Transport); this.SendRequestTimeout += _catalogTask.MessageSendRequestTimeout; _catalogTask.Start(); }
/// <summary> /// 目录订阅 /// </summary> /// <param name="deviceId">目的设备编码</param> public void DeviceCatalogSubscribe(SIPEndPoint remoteEP, string remoteID) { SIPRequest catalogReq = SubscribeCatalog(remoteEP, remoteID); CatalogQuery catalog = new CatalogQuery() { CommandType = CommandType.Catalog, DeviceID = remoteID, SN = new Random().Next(1, ushort.MaxValue) //StartTime = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss"), //EndTime = DateTime.Now.AddYears(1).ToString("yyyy-MM-ddTHH:mm:ss") }; string xmlBody = CatalogQuery.Instance.Save <CatalogQuery>(catalog); catalogReq.Body = xmlBody; SendRequest(remoteEP, catalogReq); }
/// <summary> /// 设备目录查询 /// </summary> /// <param name="deviceId">目的设备编码</param> public void DeviceCatalogQuery() { lock (_remoteTransEPs) { foreach (var item in _remoteTransEPs) { SIPEndPoint remoteEP = SIPEndPoint.ParseSIPEndPoint("udp:" + item.Key); SIPRequest catalogReq = QueryItems(remoteEP, item.Value); CatalogQuery catalog = new CatalogQuery() { CommandType = CommandType.Catalog, DeviceID = item.Value, SN = new Random().Next(1, ushort.MaxValue) }; string xmlBody = CatalogQuery.Instance.Save <CatalogQuery>(catalog); catalogReq.Body = xmlBody; SendRequest(remoteEP, catalogReq); } } }
public void MobileDataSubscription(string devID) { lock (_remoteTransEPs) { foreach (var item in _remoteTransEPs) { SIPEndPoint remoteEP = SIPEndPoint.ParseSIPEndPoint("udp:" + item.Key); SIPRequest eventSubscribeReq = QueryItems(remoteEP, devID); //eventSubscribeReq.Method = SIPMethodsEnum.SUBSCRIBE; CatalogQuery catalog = new CatalogQuery() { CommandType = CommandType.MobilePosition, DeviceID = devID, SN = new Random().Next(1, ushort.MaxValue) }; string xmlBody = CatalogQuery.Instance.Save <CatalogQuery>(catalog); eventSubscribeReq.Body = xmlBody; SendRequest(remoteEP, eventSubscribeReq); } } }
public CatalogEntry GetValue(CatalogQuery query) { return(GetValue(query.CatalogName, query.Filter)); }
public async Task <IActionResult> GetCategoryDetails([FromRoute] CatalogQuery query) { CatalogDetailDto categoryInFull = await _dispatcher.QueryAsync <CatalogDetailDto>(query); return(Ok(categoryInFull)); }