diff options
Diffstat (limited to 'voip/java')
-rw-r--r-- | voip/java/com/android/server/sip/SipSessionGroup.java | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/voip/java/com/android/server/sip/SipSessionGroup.java b/voip/java/com/android/server/sip/SipSessionGroup.java index edf8b52..3275317 100644 --- a/voip/java/com/android/server/sip/SipSessionGroup.java +++ b/voip/java/com/android/server/sip/SipSessionGroup.java @@ -872,8 +872,13 @@ class SipSessionGroup implements SipListener { } return true; } else { - onError(SipErrorCode.INVALID_CREDENTIALS, - "incorrect username or password"); + if (crossDomainAuthenticationRequired(response)) { + onError(SipErrorCode.CROSS_DOMAIN_AUTHENTICATION, + getRealmFromResponse(response)); + } else { + onError(SipErrorCode.INVALID_CREDENTIALS, + "incorrect username or password"); + } return false; } } @@ -1025,10 +1030,7 @@ class SipSessionGroup implements SipListener { return true; case Response.UNAUTHORIZED: case Response.PROXY_AUTHENTICATION_REQUIRED: - if (crossDomainAuthenticationRequired(response)) { - onError(SipErrorCode.CROSS_DOMAIN_AUTHENTICATION, - getRealmFromResponse(response)); - } else if (handleAuthentication(event)) { + if (handleAuthentication(event)) { addSipSession(this); } return true; |