コード例 #1
0
        public CodecStatus Get(string sipId)
        {
            RegisteredSipDto regSip = null;

            if (!string.IsNullOrEmpty(sipId))
            {
                var allRegisteredSips = _registeredSipRepository.GetCachedRegisteredSips();
                regSip = allRegisteredSips.FirstOrDefault(s => s.Sip == sipId);
            }

            if (regSip == null)
            {
                return(new CodecStatus()
                {
                    SipAddress = sipId, State = CodecState.NotRegistered, HasGpo = false
                });
            }

            return(CodecStatusMapper.MapToCodecStatus(regSip));
        }
コード例 #2
0
        private void UpdateCodecStatusByGuid(Guid id)
        {
            // Ignore external codecs
            if (id == Guid.Empty)
            {
                return;
            }

            var rs = _registeredSipRepository.GetCachedRegisteredSips().FirstOrDefault(s => s.Id == id);

            if (rs != null)
            {
                var codecStatus = CodecStatusMapper.MapToCodecStatus(rs);
                CodecStatusHub.UpdateCodecStatus(codecStatus);
            }
            else
            {
                log.Error("No codec online with id {0}. Can't update status hub.", id);
            }
        }
コード例 #3
0
        public CodecStatus GetCodecStatus(Guid studioId)
        {
            var studio = _studioRepository.GetById(studioId);

            if (studio == null || studio.CodecSipAddress == null)
            {
                return(null);
            }

            var allRegisteredSips = _registeredSipRepository.GetCachedRegisteredSips();
            var regSip            = allRegisteredSips.FirstOrDefault(s => s.Sip == studio.CodecSipAddress);

            if (regSip == null)
            {
                return(new CodecStatus()
                {
                    SipAddress = studio.CodecSipAddress, State = CodecState.NotRegistered
                });
            }

            return(CodecStatusMapper.MapToCodecStatus(regSip));
        }