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)); }
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); } }
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)); }