SIP/phone: show out-of-network error

when cross-domain authentication is required.
Also show proper message when credentials are invalid.

http://b/issue?id=3020185

Change-Id: I60de06f1c341ad5fcb3398e353cf899a83f52a89
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 1a58fac..266c31d 100755
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -51,6 +51,10 @@
     <string name="callFailed_timedOut">No response, timed out</string>
     <!-- In-call screen: call failure reason (peer unreachable) -->
     <string name="callFailed_unreachable">Number unreachable</string>
+    <!-- In-call screen: call failure reason (incorrect username or password) -->
+    <string name="callFailed_invalid_credentials">Incorrect username or password</string>
+    <!-- In-call screen: call failure reason (calling from out of network is not allowed) -->
+    <string name="callFailed_out_of_network">Called from out of network</string>
     <!-- In-call screen: call failure reason (no signal) -->
     <string name="callFailed_noSignal">No signal</string>
     <!-- In-call screen: call failure reason (GSM ACM limit exceeded) -->
diff --git a/src/com/android/phone/CallCard.java b/src/com/android/phone/CallCard.java
index 4bfb862..6853849 100755
--- a/src/com/android/phone/CallCard.java
+++ b/src/com/android/phone/CallCard.java
@@ -983,6 +983,14 @@
                     resID = R.string.callFailed_unreachable;
                     break;
 
+                case INVALID_CREDENTIALS:
+                    resID = R.string.callFailed_invalid_credentials;
+                    break;
+
+                case OUT_OF_NETWORK:
+                    resID = R.string.callFailed_out_of_network;
+                    break;
+
                 case LOST_SIGNAL:
                 case CDMA_DROP:
                     resID = R.string.callFailed_noSignal;