# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1284490878 -10800 # Node ID 346e49b9ce144d3a2cdbc6c80bf7809a3f9fbe53 # Parent 0dcb073356a54c19c24ae17903badd3fde818556 Revision: 201033 Kit: 201035 diff -r 0dcb073356a5 -r 346e49b9ce14 realtimenetprots/sipfw/ProfileAgent/ApnManager/src/sipapnconfigurationhandler.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 ) { diff -r 0dcb073356a5 -r 346e49b9ce14 realtimenetprots/sipfw/ProfileAgent/ApnManager/src/sipapnmanager.cpp --- 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); } // ---------------------------------------------------------------------------- diff -r 0dcb073356a5 -r 346e49b9ce14 realtimenetprots/sipfw/ProfileAgent/Group/sipprofileserver.mmp --- 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 diff -r 0dcb073356a5 -r 346e49b9ce14 realtimenetprots/sipfw/ProfileAgent/IETF_Agent/src/Sipietfprofilecontext.cpp --- 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 ) { diff -r 0dcb073356a5 -r 346e49b9ce14 realtimenetprots/sipfw/ProfileAgent/IMS_Agent/Src/Sipimsprofilecontext.cpp --- 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))); } // ----------------------------------------------------------------------------- diff -r 0dcb073356a5 -r 346e49b9ce14 realtimenetprots/sipfw/ProfileAgent/Server/Inc/SipProfileCacheItem.h --- 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: /** diff -r 0dcb073356a5 -r 346e49b9ce14 realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileCacheItem.cpp --- 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); + } diff -r 0dcb073356a5 -r 346e49b9ce14 realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileServerCore.cpp --- 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() ) { diff -r 0dcb073356a5 -r 346e49b9ce14 sipplugins/sippsipsettingsui/src/sipsettingsplugin.cpp --- 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