Revision: 201033 RCL_3 PDK_3.0.3
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 14 Sep 2010 22:01:18 +0300
branchRCL_3
changeset 21 346e49b9ce14
parent 20 0dcb073356a5
Revision: 201033 Kit: 201035
realtimenetprots/sipfw/ProfileAgent/ApnManager/src/sipapnconfigurationhandler.cpp
realtimenetprots/sipfw/ProfileAgent/ApnManager/src/sipapnmanager.cpp
realtimenetprots/sipfw/ProfileAgent/Group/sipprofileserver.mmp
realtimenetprots/sipfw/ProfileAgent/IETF_Agent/src/Sipietfprofilecontext.cpp
realtimenetprots/sipfw/ProfileAgent/IMS_Agent/Src/Sipimsprofilecontext.cpp
realtimenetprots/sipfw/ProfileAgent/Server/Inc/SipProfileCacheItem.h
realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileCacheItem.cpp
realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileServerCore.cpp
sipplugins/sippsipsettingsui/src/sipsettingsplugin.cpp
--- a/realtimenetprots/sipfw/ProfileAgent/ApnManager/src/sipapnconfigurationhandler.cpp	Wed Sep 01 12:27:36 2010 +0100
+++ b/realtimenetprots/sipfw/ProfileAgent/ApnManager/src/sipapnconfigurationhandler.cpp	Tue Sep 14 22:01:18 2010 +0300
@@ -312,6 +312,7 @@
 	iIsFailed = EFalse;
 	iIsFatalFailure = EFalse;
 	iCellularDataBlocked = EFalse;
+	iApnUseSecureAuthProposal = EFalse;
 	}
 
 // -----------------------------------------------------------------------------
@@ -829,7 +830,7 @@
             if ( aIsFailed )
                 {
                 TRAP( err, SetApnL( 
-                    SecondaryApn(), ETrue, ETrue) );
+                    SecondaryApn(), EFalse, ETrue) );
                 }
             else if ( !iIsFatalFailure )
                 {
--- a/realtimenetprots/sipfw/ProfileAgent/ApnManager/src/sipapnmanager.cpp	Wed Sep 01 12:27:36 2010 +0100
+++ b/realtimenetprots/sipfw/ProfileAgent/ApnManager/src/sipapnmanager.cpp	Tue Sep 14 22:01:18 2010 +0300
@@ -109,7 +109,6 @@
 void CSIPApnManager::WriteApnL( TUint32 aIapId, TBool aIsPrimaryApn, const TDesC8* aApn )
 	{
 	PROFILE_DEBUG3( "CSIPApnManager::WriteApnL isPrimary", aIsPrimaryApn )
-	TBool useSecureAuth = aIsPrimaryApn ? EFalse : ETrue;
 
 	CSIPApnConfigurationHandler* handler = FindIapIdHandler( aIapId );
 	    if (!handler)
@@ -118,7 +117,7 @@
 	        handler = FindIapIdHandler(aIapId);
 	        }
 	    
-	    handler->SetApnL( *aApn, useSecureAuth, ETrue);
+	    handler->SetApnL( *aApn, EFalse, ETrue);
 	}
 
 // ----------------------------------------------------------------------------
--- a/realtimenetprots/sipfw/ProfileAgent/Group/sipprofileserver.mmp	Wed Sep 01 12:27:36 2010 +0100
+++ b/realtimenetprots/sipfw/ProfileAgent/Group/sipprofileserver.mmp	Tue Sep 14 22:01:18 2010 +0300
@@ -94,8 +94,7 @@
 LIBRARY           commsdat.lib 
 LIBRARY           featmgr.lib
 LIBRARY 	  commdb.lib
-LIBRARY       extendedconnpref.lib  
-LIBRARY 	  netmeta.lib
+LIBRARY       extendedconnpref.lib
 
 VENDORID 0x70000001
 
--- a/realtimenetprots/sipfw/ProfileAgent/IETF_Agent/src/Sipietfprofilecontext.cpp	Wed Sep 01 12:27:36 2010 +0100
+++ b/realtimenetprots/sipfw/ProfileAgent/IETF_Agent/src/Sipietfprofilecontext.cpp	Tue Sep 14 22:01:18 2010 +0300
@@ -491,7 +491,9 @@
 //	
 TBool CSIPIetfProfileContext::ShouldRetryRegistration( TInt aError )
 	{
-	return (aError == K503ServiceUnavailable || 
+	return (iProfile && 
+	        AgentObserver().ProceedRegistration(*iProfile, aError) &&
+	        (aError == K503ServiceUnavailable || 
 	        aError == K408TimeOut ||
 	        aError == K500ServerInternalError ||
 		    aError == KErrTimedOut ||
@@ -499,7 +501,7 @@
 		      aError == KErrSIPTransportFailure ||
 		      aError == KErrSIPICMPFailure ||
 		      aError == KErrSIPOutboundProxyNotResponding ) && 
-			 iConnection.State() != CSIPConnection::ESuspended));
+			 iConnection.State() != CSIPConnection::ESuspended)));
 	}
 
 // -----------------------------------------------------------------------------
@@ -562,10 +564,12 @@
         PROFILE_DEBUG3("SIPIetfProfileContext::IncomingResponse", ProfileId())
         aHandled = ETrue;
         const CSIPResponseElements* response = aTransaction.ResponseElements();
-        TUint responseCode = response->StatusCode();
+        TInt responseCode  = KErrGeneral;
         TBool retry = EFalse;
         if (response)
             {
+                responseCode = response->StatusCode();
+                
                 retry = RetryRegister( &aTransaction,  responseCode);
                 if( !retry )
                 {
--- a/realtimenetprots/sipfw/ProfileAgent/IMS_Agent/Src/Sipimsprofilecontext.cpp	Wed Sep 01 12:27:36 2010 +0100
+++ b/realtimenetprots/sipfw/ProfileAgent/IMS_Agent/Src/Sipimsprofilecontext.cpp	Tue Sep 14 22:01:18 2010 +0300
@@ -781,7 +781,9 @@
 //	
 TBool CSIPIMSProfileContext::ShouldRetryRegistration( TInt aError )
 	{
-	return (aError == K503ServiceUnavailable ||
+	return (iProfile &&
+	        AgentObserver().ProceedRegistration(*iProfile, aError) &&
+	        (aError == K503ServiceUnavailable ||
 	        aError == K408TimeOut ||
 	        aError == K480TemporarilyUnavailable ||
 	        aError == K500ServerInternalError ||
@@ -791,7 +793,7 @@
 		      aError == KErrSIPTransportFailure ||
 		      aError == KErrSIPICMPFailure ||
 		      aError == KErrSIPOutboundProxyNotResponding ) && 
-			 iConnection.State() != CSIPConnection::ESuspended));
+			 iConnection.State() != CSIPConnection::ESuspended)));
 	}
 
 // -----------------------------------------------------------------------------
--- a/realtimenetprots/sipfw/ProfileAgent/Server/Inc/SipProfileCacheItem.h	Wed Sep 01 12:27:36 2010 +0100
+++ b/realtimenetprots/sipfw/ProfileAgent/Server/Inc/SipProfileCacheItem.h	Tue Sep 14 22:01:18 2010 +0300
@@ -571,6 +571,8 @@
 		* Function returns the Bearer ID for the Profile. 
 		*/
 		TUint32 BearerID();
+
+		TBool HasQueuedUpdate()const;
 	private:
 
 	    /**
--- a/realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileCacheItem.cpp	Wed Sep 01 12:27:36 2010 +0100
+++ b/realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileCacheItem.cpp	Tue Sep 14 22:01:18 2010 +0300
@@ -1416,3 +1416,14 @@
     LatestProfile().ExtensionParameter(KBearerType , bearerId);
     return bearerId;
 }
+
+// -----------------------------------------------------------------------------
+// CSIPProfileCacheItem::HasQueuedUpdate
+// This function will return true if profile updated and not yet processed
+// false otherwise 
+// -----------------------------------------------------------------------------
+//
+TBool CSIPProfileCacheItem::HasQueuedUpdate() const
+    {
+    return (iQueuedProfile != NULL);
+    }
--- a/realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileServerCore.cpp	Wed Sep 01 12:27:36 2010 +0100
+++ b/realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileServerCore.cpp	Tue Sep 14 22:01:18 2010 +0300
@@ -396,7 +396,14 @@
     	{
     	return EFalse;
     	}
-
+    
+      if((aError != KErrNone) && item->HasQueuedUpdate())
+        {
+        PROFILE_DEBUG4("ProfileServerCore::ProceedRegistration HasQueuedUpdate, err",
+			item->HasQueuedUpdate(), aError)
+        return EFalse;
+        }
+    
     if ( ShouldChangeIap(item->UsedProfile(), aError) && 
     	 !item->SnapRetryCountReached() )
         {
--- a/sipplugins/sippsipsettingsui/src/sipsettingsplugin.cpp	Wed Sep 01 12:27:36 2010 +0100
+++ b/sipplugins/sippsipsettingsui/src/sipsettingsplugin.cpp	Tue Sep 14 22:01:18 2010 +0300
@@ -363,6 +363,10 @@
                 iContainer->ListItemDeletedL();
                 CheckMiddleSoftkeyLabelL();          
                 }
+            else
+                {
+                AppUi()->ActivateLocalViewL( KGSSIPSettingsPluginUID );
+                }
             break;
         
         // Activate 'Connection' or 'Administrative Settings' view