diff -r 0295359a7673 -r 69df6ed78a6a realtimenetprots/sipfw/ProfileAgent/IMS_Agent/Src/Sipimsprofilecontext.cpp --- a/realtimenetprots/sipfw/ProfileAgent/IMS_Agent/Src/Sipimsprofilecontext.cpp Fri Aug 06 15:14:04 2010 +0300 +++ b/realtimenetprots/sipfw/ProfileAgent/IMS_Agent/Src/Sipimsprofilecontext.cpp Mon Aug 23 17:50:26 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))); } // -----------------------------------------------------------------------------