public SipEventHandlerResult UpdateRegisteredSip(UserAgentRegistration userAgentRegistration) { var result = _internalRepository.UpdateRegisteredSip(userAgentRegistration); // When reregistration of codec already in cache, just update timestamp if (result.ChangeStatus == SipEventChangeStatus.NothingChanged && result.ChangedObjectId != Guid.Empty) { // TODO: When GetRegisteredSips is gone, decide over this //var regSip = GetRegisteredSips().FirstOrDefault(rs => rs.Id == result.ChangedObjectId); //if (regSip != null) //{ // regSip.Updated = DateTime.UtcNow; // return result; //} return(result); } // Otherwise reload cache. _lazyCache.ClearRegisteredUserAgents(); return(result); }
public static void FullReload(this IAppCache cache) { log.Info("Full cache reload"); // TODO: Maybe divide this function in to more granularity cache.ClearSipAccounts(); cache.ClearRegisteredUserAgents(); // Make sure that this one is cleared if user agents change cache.ClearOngoingCalls(); cache.ClearCallHistory(); cache.ClearLocationNetworks(); cache.ClearSettings(); cache.ClearAvailableFilters(); cache.ClearProfiles(); cache.ClearProfileGroups(); cache.ClearUserAgents(); }