示例#1
0
        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);
        }
示例#2
0
 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();
 }