779 // CSIPIMSProfileContext::ShouldRetryRegistration |
779 // CSIPIMSProfileContext::ShouldRetryRegistration |
780 // ----------------------------------------------------------------------------- |
780 // ----------------------------------------------------------------------------- |
781 // |
781 // |
782 TBool CSIPIMSProfileContext::ShouldRetryRegistration( TInt aError ) |
782 TBool CSIPIMSProfileContext::ShouldRetryRegistration( TInt aError ) |
783 { |
783 { |
784 return (aError == K503ServiceUnavailable || |
784 return (iProfile && |
|
785 AgentObserver().ProceedRegistration(*iProfile, aError) && |
|
786 (aError == K503ServiceUnavailable || |
785 aError == K408TimeOut || |
787 aError == K408TimeOut || |
786 aError == K480TemporarilyUnavailable || |
788 aError == K480TemporarilyUnavailable || |
787 aError == K500ServerInternalError || |
789 aError == K500ServerInternalError || |
788 aError == K504ServerTimeOut || |
790 aError == K504ServerTimeOut || |
789 aError == KErrTimedOut || |
791 aError == KErrTimedOut || |
790 ((aError == KErrSIPResolvingFailure || |
792 ((aError == KErrSIPResolvingFailure || |
791 aError == KErrSIPTransportFailure || |
793 aError == KErrSIPTransportFailure || |
792 aError == KErrSIPICMPFailure || |
794 aError == KErrSIPICMPFailure || |
793 aError == KErrSIPOutboundProxyNotResponding ) && |
795 aError == KErrSIPOutboundProxyNotResponding ) && |
794 iConnection.State() != CSIPConnection::ESuspended)); |
796 iConnection.State() != CSIPConnection::ESuspended))); |
795 } |
797 } |
796 |
798 |
797 // ----------------------------------------------------------------------------- |
799 // ----------------------------------------------------------------------------- |
798 // CSIPIMSProfileContext::RetryAfterTimer |
800 // CSIPIMSProfileContext::RetryAfterTimer |
799 // ----------------------------------------------------------------------------- |
801 // ----------------------------------------------------------------------------- |