diff -r 0a1ad22c7bdc -r 2c7192069824 realtimenetprots/sipfw/ProfileAgent/IETF_Agent/src/Sipietfprofilecontext.cpp --- a/realtimenetprots/sipfw/ProfileAgent/IETF_Agent/src/Sipietfprofilecontext.cpp Wed Sep 15 12:36:02 2010 +0300 +++ b/realtimenetprots/sipfw/ProfileAgent/IETF_Agent/src/Sipietfprofilecontext.cpp Wed Oct 13 14:57:13 2010 +0300 @@ -491,9 +491,7 @@ // TBool CSIPIetfProfileContext::ShouldRetryRegistration( TInt aError ) { - return (iProfile && - AgentObserver().ProceedRegistration(*iProfile, aError) && - (aError == K503ServiceUnavailable || + return (aError == K503ServiceUnavailable || aError == K408TimeOut || aError == K500ServerInternalError || aError == KErrTimedOut || @@ -501,7 +499,7 @@ aError == KErrSIPTransportFailure || aError == KErrSIPICMPFailure || aError == KErrSIPOutboundProxyNotResponding ) && - iConnection.State() != CSIPConnection::ESuspended))); + iConnection.State() != CSIPConnection::ESuspended)); } // ----------------------------------------------------------------------------- @@ -564,12 +562,10 @@ PROFILE_DEBUG3("SIPIetfProfileContext::IncomingResponse", ProfileId()) aHandled = ETrue; const CSIPResponseElements* response = aTransaction.ResponseElements(); - TInt responseCode = KErrGeneral; + TUint responseCode = response->StatusCode(); TBool retry = EFalse; if (response) { - responseCode = response->StatusCode(); - retry = RetryRegister( &aTransaction, responseCode); if( !retry ) {