realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileCacheItem.cpp
changeset 51 8134400f8f89
parent 45 15965fe54016
--- a/realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileCacheItem.cpp	Fri Sep 17 08:32:30 2010 +0300
+++ b/realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileCacheItem.cpp	Mon Oct 04 00:41:02 2010 +0300
@@ -765,10 +765,23 @@
 	{
 	PROFILE_DEBUG4("ProfileCacheItem::HandleError id,err", ProfileId(), aError)
 
+    TBool updateProfile(HasProfileUpdate() && iCurrentState->Name() == 
+            CSIPConcreteProfile::EUnregistrationInProgress);
 	if (iCurrentState->ErrorOccurred(*this, aError))
 		{
 		PROFILE_DEBUG1("ProfileCacheItem::HandleError go unregistered")
-		        
+		    
+        if(updateProfile)
+            {
+            PROFILE_DEBUG1("CSIPProfileCacheItem::HandleError ChangeStateL")
+            StopSnapMonitoring();
+            TRAPD(err, ChangeStateL(&iServerCore.UnregisteredState()));
+            if (err == KErrNone)
+                {                 
+                return EFalse;
+                }
+            }
+        PROFILE_DEBUG1("CSIPProfileCacheItem::HandleError SwitchToUnregisteredState")
         if(SwitchToUnregisteredState(ETrue))
             {
             return EFalse;