SIP: add DisconnectCause.SERVER_ERROR
and fix how SipErrorCode.SERVER_ERROR is determinted from server response, not from local exceptions. http://b/issue?id=3041332 Change-Id: Idce67e29858d5c7573b98b7fa1fac074913d71d6
This commit is contained in:
@ -42,6 +42,7 @@ public abstract class Connection {
|
||||
NUMBER_UNREACHABLE, /* cannot reach the peer */
|
||||
INVALID_CREDENTIALS, /* invalid credentials */
|
||||
OUT_OF_NETWORK, /* calling from out of network is not allowed */
|
||||
SERVER_ERROR, /* server error */
|
||||
TIMED_OUT, /* client timed out */
|
||||
LOST_SIGNAL,
|
||||
LIMIT_EXCEEDED, /* eg GSM ACM limit exceeded */
|
||||
|
@ -883,8 +883,10 @@ public class SipPhone extends SipPhoneBase {
|
||||
case SipErrorCode.CROSS_DOMAIN_AUTHENTICATION:
|
||||
onError(Connection.DisconnectCause.OUT_OF_NETWORK);
|
||||
break;
|
||||
case SipErrorCode.SOCKET_ERROR:
|
||||
case SipErrorCode.SERVER_ERROR:
|
||||
onError(Connection.DisconnectCause.SERVER_ERROR);
|
||||
break;
|
||||
case SipErrorCode.SOCKET_ERROR:
|
||||
case SipErrorCode.CLIENT_ERROR:
|
||||
default:
|
||||
Log.w(LOG_TAG, "error: " + SipErrorCode.toString(errorCode)
|
||||
|
@ -82,7 +82,6 @@ class SipSessionGroup implements SipListener {
|
||||
private static final boolean DEBUG = true;
|
||||
private static final boolean DEBUG_PING = DEBUG && false;
|
||||
private static final String ANONYMOUS = "anonymous";
|
||||
private static final String SERVER_ERROR_PREFIX = "Response: ";
|
||||
private static final int EXPIRY_TIME = 3600; // in seconds
|
||||
private static final int CANCEL_CALL_TIMER = 3; // in seconds
|
||||
|
||||
@ -1099,8 +1098,8 @@ class SipSessionGroup implements SipListener {
|
||||
}
|
||||
|
||||
private String createErrorMessage(Response response) {
|
||||
return String.format(SERVER_ERROR_PREFIX + "%s (%d)",
|
||||
response.getReasonPhrase(), response.getStatusCode());
|
||||
return String.format("%s (%d)", response.getReasonPhrase(),
|
||||
response.getStatusCode());
|
||||
}
|
||||
|
||||
private void establishCall() {
|
||||
@ -1204,8 +1203,6 @@ class SipSessionGroup implements SipListener {
|
||||
return SipErrorCode.INVALID_REMOTE_URI;
|
||||
} else if (exception instanceof IOException) {
|
||||
return SipErrorCode.SOCKET_ERROR;
|
||||
} else if (message.startsWith(SERVER_ERROR_PREFIX)) {
|
||||
return SipErrorCode.SERVER_ERROR;
|
||||
} else {
|
||||
return SipErrorCode.CLIENT_ERROR;
|
||||
}
|
||||
|
Reference in New Issue
Block a user