public async Task <UserAgentsResultV2> UserAgents(UserAgentSearchParamsV2 searchParams) { if (searchParams == null) { throw new HttpResponseException(HttpStatusCode.BadRequest); } var searchParamsDto = new UserAgentSearchParamsDto() { Caller = searchParams.Caller, Callee = searchParams.Callee, IncludeCodecsInCall = searchParams.IncludeCodecsInCall, Filters = searchParams.Filters }; UserAgentsResultDto uaResult = await _discoveryService.GetUserAgentsAsync(searchParamsDto); var result = new UserAgentsResultV2 { Profiles = uaResult.Profiles.Select(p => new ProfileDtoV2() { Name = p.Name, Sdp = p.Sdp }).ToList(), UserAgents = uaResult.UserAgents.Select(ua => new UserAgentDtoV2() { SipId = ua.SipId, ConnectedTo = ua.ConnectedTo, Profiles = ua.Profiles, MetaData = ua.MetaData.Select(m => new KeyValuePairDtoV2(m.Key, m.Value)).ToList() }).ToList() }; return(result); }
public async Task <SrDiscovery> Post() { log.Debug("Received request for user agents"); var parameters = (SrDiscoveryParameters)Request.Properties["SRDiscoveryParameters"]; var searchParams = new UserAgentSearchParamsDto() { Caller = parameters.Caller, Callee = parameters.Callee, IncludeCodecsInCall = parameters.IncludeCodecsInCall, Filters = parameters.Filters }; UserAgentsResultDto uaResult; using (new TimeMeasurer("Discovery Get user agents")) { uaResult = await _discoveryService.GetUserAgentsAsync(searchParams); } if (uaResult == null) { log.Info("No user agents found returned"); return(new SrDiscovery()); } log.Debug("Returning {0} useragents and {1} profiles.", uaResult.UserAgents != null ? uaResult.UserAgents.Count : 0, uaResult.Profiles != null ? uaResult.Profiles.Count : 0); var profiles = uaResult.Profiles == null ? new List <Profile>() : uaResult.Profiles.Select(p => new Profile() { Name = p.Name, Sdp = p.Sdp }).ToList(); var userAgents = uaResult.UserAgents == null ? new List <UserAgent>() : uaResult.UserAgents.Select(ua => new UserAgent() { SipId = ua.SipId, ConnectedTo = ua.ConnectedTo, ProfileRec = ua.Profiles.Select(p => new UserAgentProfileRef { Name = p }).ToList(), MetaData = ua.MetaData.Select(m => new UserAgentMetaData() { Key = m.Key, Value = m.Value }).ToList() }).ToList(); return(new SrDiscovery() { UserAgents = userAgents, Profiles = profiles }); }
public UserAgentsResultDto UserAgents(UserAgentSearchParamsDto searchParams) { if (searchParams == null) { throw new HttpResponseException(HttpStatusCode.BadRequest); } UserAgentsResultDto uaResult = _discoveryService.GetUserAgents(searchParams.Caller, searchParams.Callee, searchParams.Filters, searchParams.IncludeCodecsInCall); return(uaResult); }
public async Task <UserAgentsResultDto> GetUserAgentsAsync(UserAgentSearchParamsDto searchParams) { using (var client = new HttpClient()) { var url = new Uri(ApplicationSettings.CcmHost, "api/discovery/useragents"); log.Debug("Getting useragents from {0}", url); var response = await client.PostAsJsonAsync(url, searchParams).ConfigureAwait(false); if (!response.IsSuccessStatusCode) { log.Warn("Unable to get discovery data. Response: {0} {1}", response.StatusCode, response.ReasonPhrase); return(null); } return(await response.Content.ReadAsAsync <UserAgentsResultDto>()); } }
public async Task <SrDiscovery> UserAgents() { var parameters = (SrDiscoveryParameters)Request.Properties["SRDiscoveryParameters"]; var searchParams = new UserAgentSearchParamsDto { Caller = parameters.Caller, Callee = parameters.Callee, IncludeCodecsInCall = parameters.IncludeCodecsInCall, Filters = parameters.Filters }; log.Trace("Discovery API - requesting 'useragents'", searchParams); UserAgentsResultDto uaResult = await _discoveryService.GetUserAgentsAsync(searchParams, Request); if (uaResult == null) { log.Info("No user agents returned for DiscoveryV1"); return(new SrDiscovery()); } var profiles = uaResult.Profiles?.Select(p => new Profile() { Name = p.Name, Sdp = p.Sdp }).ToList() ?? new List <Profile>(); var userAgents = uaResult.UserAgents?.Select(ua => new UserAgent() { SipId = ua.SipId, ConnectedTo = ua.ConnectedTo, ProfileRec = ua.Profiles.Select(p => new UserAgentProfileRef { Name = p }).ToList(), MetaData = ua.MetaData.Select(m => new UserAgentMetaData() { Key = m.Key, Value = m.Value }).ToList() }).ToList() ?? new List <UserAgent>(); log.Debug("Discovery V1 Returning {0} useragents and {1} profiles", uaResult.UserAgents?.Count ?? 0, uaResult.Profiles?.Count ?? 0); return(new SrDiscovery { UserAgents = userAgents, Profiles = profiles }); }
public async Task <UserAgentsResultV2> UserAgents(UserAgentSearchParamsV2 searchParams) { log.Trace("Discovery V2 API - requesting 'useragents'", searchParams); if (searchParams == null) { log.Debug("Requesting useragents from Discovery V2, but search params is null"); throw new HttpResponseException(HttpStatusCode.BadRequest); } var searchParamsDto = new UserAgentSearchParamsDto { Caller = searchParams.Caller, Callee = searchParams.Callee, IncludeCodecsInCall = searchParams.IncludeCodecsInCall, Filters = searchParams.Filters }; UserAgentsResultDto uaResult = await _discoveryService.GetUserAgentsAsync(searchParamsDto, Request); log.Debug("Returning {0} useragents and {1} profiles (V2).", uaResult.UserAgents?.Count ?? 0, uaResult.Profiles?.Count ?? 0); var result = new UserAgentsResultV2 { Profiles = uaResult?.Profiles?.Select(p => new ProfileDtoV2 { Name = p.Name, Sdp = p.Sdp }).ToList() ?? new List <ProfileDtoV2>(), UserAgents = uaResult?.UserAgents?.Select(ua => new UserAgentDtoV2 { SipId = ua.SipId, ConnectedTo = ua.ConnectedTo, Profiles = ua.Profiles, MetaData = ua.MetaData?.Select(m => new KeyValuePairDtoV2(m.Key, m.Value)).ToList() ?? new List <KeyValuePairDtoV2>() }).ToList() ?? new List <UserAgentDtoV2>() }; return(result); }
public async Task <UserAgentsResultDto> GetUserAgentsAsync(UserAgentSearchParamsDto searchParams, HttpRequestMessage originalRequest) { var url = GetUrl("useragents"); return(await Send <UserAgentsResultDto>(url, HttpMethod.Post, originalRequest, searchParams)); }