SipService: send SERVER_ERROR if server doesn't provide nonce

in authentication response.

Change-Id: I93e8c0d6754399ca2f382033085e40fc4c6ccb19
This commit is contained in:
Hung-ying Tyan
2010-09-15 03:00:19 +08:00
parent 89a7180a24
commit 88203cb111

View File

@@ -712,9 +712,15 @@ class SipSessionGroup implements SipListener {
case Response.UNAUTHORIZED:
case Response.PROXY_AUTHENTICATION_REQUIRED:
if (!handleAuthentication(event)) {
Log.v(TAG, "Incorrect username/password");
onRegistrationFailed(SipErrorCode.INVALID_CREDENTIALS,
"incorrect username or password");
if (mLastNonce == null) {
onRegistrationFailed(SipErrorCode.SERVER_ERROR,
"server does not provide challenge");
} else {
Log.v(TAG, "Incorrect username/password");
onRegistrationFailed(
SipErrorCode.INVALID_CREDENTIALS,
"incorrect username or password");
}
}
return true;
default:
@@ -869,6 +875,9 @@ class SipSessionGroup implements SipListener {
case Response.PROXY_AUTHENTICATION_REQUIRED:
if (handleAuthentication(event)) {
addSipSession(this);
} else if (mLastNonce == null) {
endCallOnError(SipErrorCode.SERVER_ERROR,
"server does not provide challenge");
} else {
endCallOnError(SipErrorCode.INVALID_CREDENTIALS,
"incorrect username or password");