Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }