diff options
Diffstat (limited to 'voip')
| -rw-r--r-- | voip/java/android/net/sip/SipErrorCode.java | 5 | ||||
| -rw-r--r-- | voip/java/com/android/server/sip/SipSessionGroup.java | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/voip/java/android/net/sip/SipErrorCode.java b/voip/java/android/net/sip/SipErrorCode.java index eb7a1ae..a55ab25 100644 --- a/voip/java/android/net/sip/SipErrorCode.java +++ b/voip/java/android/net/sip/SipErrorCode.java @@ -61,6 +61,9 @@ public class SipErrorCode { /** Cross-domain authentication required. */ public static final int CROSS_DOMAIN_AUTHENTICATION = -11; + /** When the server is not reachable. */ + public static final int SERVER_UNREACHABLE = -12; + public static String toString(int errorCode) { switch (errorCode) { case NO_ERROR: @@ -87,6 +90,8 @@ public class SipErrorCode { return "DATA_CONNECTION_LOST"; case CROSS_DOMAIN_AUTHENTICATION: return "CROSS_DOMAIN_AUTHENTICATION"; + case SERVER_UNREACHABLE: + return "SERVER_UNREACHABLE"; default: return "UNKNOWN"; } diff --git a/voip/java/com/android/server/sip/SipSessionGroup.java b/voip/java/com/android/server/sip/SipSessionGroup.java index bc377cf..37fffa8 100644 --- a/voip/java/com/android/server/sip/SipSessionGroup.java +++ b/voip/java/com/android/server/sip/SipSessionGroup.java @@ -480,7 +480,7 @@ class SipSessionGroup implements SipListener { public void run() { try { processCommand(command); - } catch (SipException e) { + } catch (Throwable e) { Log.w(TAG, "command error: " + command, e); onError(e); } @@ -1218,7 +1218,7 @@ class SipSessionGroup implements SipListener { private int getErrorCode(Throwable exception) { String message = exception.getMessage(); if (exception instanceof UnknownHostException) { - return SipErrorCode.INVALID_REMOTE_URI; + return SipErrorCode.SERVER_UNREACHABLE; } else if (exception instanceof IOException) { return SipErrorCode.SOCKET_ERROR; } else { |
