489 // CSIPIetfProfileContext::ShouldRetryRegistration |
489 // CSIPIetfProfileContext::ShouldRetryRegistration |
490 // ----------------------------------------------------------------------------- |
490 // ----------------------------------------------------------------------------- |
491 // |
491 // |
492 TBool CSIPIetfProfileContext::ShouldRetryRegistration( TInt aError ) |
492 TBool CSIPIetfProfileContext::ShouldRetryRegistration( TInt aError ) |
493 { |
493 { |
494 return (aError == K503ServiceUnavailable || |
494 return (iProfile && |
|
495 AgentObserver().ProceedRegistration(*iProfile, aError) && |
|
496 (aError == K503ServiceUnavailable || |
495 aError == K408TimeOut || |
497 aError == K408TimeOut || |
496 aError == K500ServerInternalError || |
498 aError == K500ServerInternalError || |
497 aError == KErrTimedOut || |
499 aError == KErrTimedOut || |
498 ((aError == KErrSIPResolvingFailure || |
500 ((aError == KErrSIPResolvingFailure || |
499 aError == KErrSIPTransportFailure || |
501 aError == KErrSIPTransportFailure || |
500 aError == KErrSIPICMPFailure || |
502 aError == KErrSIPICMPFailure || |
501 aError == KErrSIPOutboundProxyNotResponding ) && |
503 aError == KErrSIPOutboundProxyNotResponding ) && |
502 iConnection.State() != CSIPConnection::ESuspended)); |
504 iConnection.State() != CSIPConnection::ESuspended))); |
503 } |
505 } |
504 |
506 |
505 // ----------------------------------------------------------------------------- |
507 // ----------------------------------------------------------------------------- |
506 // CSIPIetfProfileContext::InitializeRetryTimerValue |
508 // CSIPIetfProfileContext::InitializeRetryTimerValue |
507 // ----------------------------------------------------------------------------- |
509 // ----------------------------------------------------------------------------- |