Loading services/java/com/android/server/sip/SipService.java +14 −18 Original line number Diff line number Diff line Loading @@ -476,10 +476,10 @@ public final class SipService extends ISipService.Stub { } @Override public void onError(ISipSession session, String errorClass, public void onError(ISipSession session, int errorCode, String message) { if (DEBUG) Log.d(TAG, "sip session error: " + errorClass + ": " + message); if (DEBUG) Log.d(TAG, "sip session error: " + SipErrorCode.toString(errorCode) + ": " + message); } public boolean isOpened() { Loading Loading @@ -535,7 +535,7 @@ public final class SipService extends ISipService.Stub { private int mBackoff = 1; private boolean mRegistered; private long mExpiryTime; private SipErrorCode mErrorCode; private int mErrorCode; private String mErrorMessage; private String getAction() { Loading Loading @@ -591,10 +591,9 @@ public final class SipService extends ISipService.Stub { if (mSession == null) return; try { SipSessionState state = (mSession == null) int state = (mSession == null) ? SipSessionState.READY_TO_CALL : Enum.valueOf( SipSessionState.class, mSession.getState()); : mSession.getState(); if ((state == SipSessionState.REGISTERING) || (state == SipSessionState.DEREGISTERING)) { mProxy.onRegistering(mSession); Loading @@ -602,12 +601,12 @@ public final class SipService extends ISipService.Stub { int duration = (int) (mExpiryTime - SystemClock.elapsedRealtime()); mProxy.onRegistrationDone(mSession, duration); } else if (mErrorCode != null) { } else if (mErrorCode != SipErrorCode.NO_ERROR) { if (mErrorCode == SipErrorCode.TIME_OUT) { mProxy.onRegistrationTimeout(mSession); } else { mProxy.onRegistrationFailed(mSession, mErrorCode.toString(), mErrorMessage); mProxy.onRegistrationFailed(mSession, mErrorCode, mErrorMessage); } } } catch (Throwable t) { Loading @@ -621,7 +620,7 @@ public final class SipService extends ISipService.Stub { } public void run() { mErrorCode = null; mErrorCode = SipErrorCode.NO_ERROR; mErrorMessage = null; if (DEBUG) Log.d(TAG, "~~~ registering"); synchronized (SipService.this) { Loading Loading @@ -714,18 +713,15 @@ public final class SipService extends ISipService.Stub { } @Override public void onRegistrationFailed(ISipSession session, String errorCodeString, String message) { SipErrorCode errorCode = Enum.valueOf(SipErrorCode.class, errorCodeString); public void onRegistrationFailed(ISipSession session, int errorCode, String message) { if (DEBUG) Log.d(TAG, "onRegistrationFailed(): " + session + ": " + errorCode + ": " + message); + SipErrorCode.toString(errorCode) + ": " + message); synchronized (SipService.this) { if (!isStopped() && (session != mSession)) return; mErrorCode = errorCode; mErrorMessage = message; mProxy.onRegistrationFailed(session, errorCode.toString(), message); mProxy.onRegistrationFailed(session, errorCode, message); if (errorCode == SipErrorCode.INVALID_CREDENTIALS) { if (DEBUG) Log.d(TAG, " pause auto-registration"); Loading services/java/com/android/server/sip/SipSessionGroup.java +44 −42 Original line number Diff line number Diff line Loading @@ -300,7 +300,8 @@ class SipSessionGroup implements SipListener { boolean isLoggable = isLoggable(session, event); boolean processed = (session != null) && session.process(event); if (isLoggable && processed) { Log.d(TAG, "new state after: " + session.mState); Log.d(TAG, "new state after: " + SipSessionState.toString(session.mState)); } } catch (Throwable e) { Log.w(TAG, "event process error: " + event, e); Loading Loading @@ -331,7 +332,8 @@ class SipSessionGroup implements SipListener { public boolean process(EventObject evt) throws SipException { if (isLoggable(this, evt)) Log.d(TAG, " ~~~~~ " + this + ": " + mState + ": processing " + log(evt)); + SipSessionState.toString(mState) + ": processing " + log(evt)); if (isRequestEvent(Request.INVITE, evt)) { RequestEvent event = (RequestEvent) evt; SipSessionImpl newSession = new SipSessionImpl(mProxy); Loading @@ -356,7 +358,7 @@ class SipSessionGroup implements SipListener { class SipSessionImpl extends ISipSession.Stub { SipProfile mPeerProfile; SipSessionListenerProxy mProxy = new SipSessionListenerProxy(); SipSessionState mState = SipSessionState.READY_TO_CALL; int mState = SipSessionState.READY_TO_CALL; RequestEvent mInviteReceived; Dialog mDialog; ServerTransaction mServerTransaction; Loading Loading @@ -447,8 +449,8 @@ class SipSessionGroup implements SipListener { return null; } public String getState() { return mState.toString(); public int getState() { return mState; } public void setListener(ISipSessionListener listener) { Loading Loading @@ -521,7 +523,7 @@ class SipSessionGroup implements SipListener { mState = SipSessionState.PINGING; try { processCommand(new OptionsCommand()); while (SipSessionState.PINGING.equals(mState)) { while (SipSessionState.PINGING == mState) { Thread.sleep(1000); } } catch (SipException e) { Loading @@ -547,7 +549,8 @@ class SipSessionGroup implements SipListener { public String toString() { try { String s = super.toString(); return s.substring(s.indexOf("@")) + ":" + mState; return s.substring(s.indexOf("@")) + ":" + SipSessionState.toString(mState); } catch (Throwable e) { return super.toString(); } Loading @@ -555,7 +558,8 @@ class SipSessionGroup implements SipListener { public boolean process(EventObject evt) throws SipException { if (isLoggable(this, evt)) Log.d(TAG, " ~~~~~ " + this + ": " + mState + ": processing " + log(evt)); + SipSessionState.toString(mState) + ": processing " + log(evt)); synchronized (SipSessionGroup.this) { if (isClosed()) return false; Loading @@ -570,30 +574,30 @@ class SipSessionGroup implements SipListener { boolean processed; switch (mState) { case REGISTERING: case DEREGISTERING: case SipSessionState.REGISTERING: case SipSessionState.DEREGISTERING: processed = registeringToReady(evt); break; case PINGING: case SipSessionState.PINGING: processed = keepAliveProcess(evt); break; case READY_TO_CALL: case SipSessionState.READY_TO_CALL: processed = readyForCall(evt); break; case INCOMING_CALL: case SipSessionState.INCOMING_CALL: processed = incomingCall(evt); break; case INCOMING_CALL_ANSWERING: case SipSessionState.INCOMING_CALL_ANSWERING: processed = incomingCallToInCall(evt); break; case OUTGOING_CALL: case OUTGOING_CALL_RING_BACK: case SipSessionState.OUTGOING_CALL: case SipSessionState.OUTGOING_CALL_RING_BACK: processed = outgoingCall(evt); break; case OUTGOING_CALL_CANCELING: case SipSessionState.OUTGOING_CALL_CANCELING: processed = outgoingCallToReady(evt); break; case IN_CALL: case SipSessionState.IN_CALL: processed = inCall(evt); break; default: Loading Loading @@ -640,8 +644,8 @@ class SipSessionGroup implements SipListener { private void processTransactionTerminated( TransactionTerminatedEvent event) { switch (mState) { case IN_CALL: case READY_TO_CALL: case SipSessionState.IN_CALL: case SipSessionState.READY_TO_CALL: Log.d(TAG, "Transaction terminated; do nothing"); break; default: Loading @@ -666,18 +670,18 @@ class SipSessionGroup implements SipListener { return; } switch (mState) { case REGISTERING: case DEREGISTERING: case SipSessionState.REGISTERING: case SipSessionState.DEREGISTERING: reset(); mProxy.onRegistrationTimeout(this); break; case INCOMING_CALL: case INCOMING_CALL_ANSWERING: case OUTGOING_CALL: case OUTGOING_CALL_CANCELING: case SipSessionState.INCOMING_CALL: case SipSessionState.INCOMING_CALL_ANSWERING: case SipSessionState.OUTGOING_CALL: case SipSessionState.OUTGOING_CALL_CANCELING: onError(SipErrorCode.TIME_OUT, event.toString()); break; case PINGING: case SipSessionState.PINGING: reset(); mReRegisterFlag = true; mState = SipSessionState.READY_TO_CALL; Loading Loading @@ -753,7 +757,7 @@ class SipSessionGroup implements SipListener { int statusCode = response.getStatusCode(); switch (statusCode) { case Response.OK: SipSessionState state = mState; int state = mState; onRegistrationDone((state == SipSessionState.REGISTERING) ? getExpiryTime(((ResponseEvent) evt).getResponse()) : -1); Loading Loading @@ -1062,10 +1066,9 @@ class SipSessionGroup implements SipListener { mProxy.onCallEstablished(this, mPeerSessionDescription); } private void fallbackToPreviousInCall(SipErrorCode errorCode, String message) { private void fallbackToPreviousInCall(int errorCode, String message) { mState = SipSessionState.IN_CALL; mProxy.onCallChangeFailed(this, errorCode.toString(), message); mProxy.onCallChangeFailed(this, errorCode, message); } private void endCallNormally() { Loading @@ -1073,9 +1076,9 @@ class SipSessionGroup implements SipListener { mProxy.onCallEnded(this); } private void endCallOnError(SipErrorCode errorCode, String message) { private void endCallOnError(int errorCode, String message) { reset(); mProxy.onError(this, errorCode.toString(), message); mProxy.onError(this, errorCode, message); } private void endCallOnBusy() { Loading @@ -1083,11 +1086,11 @@ class SipSessionGroup implements SipListener { mProxy.onCallBusy(this); } private void onError(SipErrorCode errorCode, String message) { private void onError(int errorCode, String message) { cancelSessionTimer(); switch (mState) { case REGISTERING: case DEREGISTERING: case SipSessionState.REGISTERING: case SipSessionState.DEREGISTERING: onRegistrationFailed(errorCode, message); break; default: Loading Loading @@ -1115,7 +1118,7 @@ class SipSessionGroup implements SipListener { } } private SipErrorCode getErrorCode(int responseStatusCode) { private int getErrorCode(int responseStatusCode) { switch (responseStatusCode) { case Response.TEMPORARILY_UNAVAILABLE: case Response.FORBIDDEN: Loading Loading @@ -1151,7 +1154,7 @@ class SipSessionGroup implements SipListener { return exception; } private SipErrorCode getErrorCode(Throwable exception) { private int getErrorCode(Throwable exception) { String message = exception.getMessage(); if (exception instanceof UnknownHostException) { return SipErrorCode.INVALID_REMOTE_URI; Loading @@ -1169,10 +1172,9 @@ class SipSessionGroup implements SipListener { mProxy.onRegistrationDone(this, duration); } private void onRegistrationFailed(SipErrorCode errorCode, String message) { private void onRegistrationFailed(int errorCode, String message) { reset(); mProxy.onRegistrationFailed(this, errorCode.toString(), message); mProxy.onRegistrationFailed(this, errorCode, message); } private void onRegistrationFailed(Throwable exception) { Loading Loading @@ -1262,7 +1264,7 @@ class SipSessionGroup implements SipListener { private static boolean isLoggable(SipSessionImpl s) { if (s != null) { switch (s.mState) { case PINGING: case SipSessionState.PINGING: return DEBUG_PING; } } Loading services/java/com/android/server/sip/SipSessionListenerProxy.java +3 −3 Original line number Diff line number Diff line Loading @@ -124,7 +124,7 @@ class SipSessionListenerProxy extends ISipSessionListener.Stub { } public void onCallChangeFailed(final ISipSession session, final String errorCode, final String message) { final int errorCode, final String message) { if (mListener == null) return; proxy(new Runnable() { public void run() { Loading @@ -137,7 +137,7 @@ class SipSessionListenerProxy extends ISipSessionListener.Stub { }); } public void onError(final ISipSession session, final String errorCode, public void onError(final ISipSession session, final int errorCode, final String message) { if (mListener == null) return; proxy(new Runnable() { Loading Loading @@ -179,7 +179,7 @@ class SipSessionListenerProxy extends ISipSessionListener.Stub { } public void onRegistrationFailed(final ISipSession session, final String errorCode, final String message) { final int errorCode, final String message) { if (mListener == null) return; proxy(new Runnable() { public void run() { Loading telephony/java/com/android/internal/telephony/sip/SipPhone.java +20 −19 Original line number Diff line number Diff line Loading @@ -802,15 +802,15 @@ public class SipPhone extends SipPhoneBase { private static Call.State getCallStateFrom(SipAudioCall sipAudioCall) { if (sipAudioCall.isOnHold()) return Call.State.HOLDING; SipSessionState sessionState = sipAudioCall.getState(); int sessionState = sipAudioCall.getState(); switch (sessionState) { case READY_TO_CALL: return Call.State.IDLE; case INCOMING_CALL: case INCOMING_CALL_ANSWERING: return Call.State.INCOMING; case OUTGOING_CALL: return Call.State.DIALING; case OUTGOING_CALL_RING_BACK: return Call.State.ALERTING; case OUTGOING_CALL_CANCELING: return Call.State.DISCONNECTING; case IN_CALL: return Call.State.ACTIVE; case SipSessionState.READY_TO_CALL: return Call.State.IDLE; case SipSessionState.INCOMING_CALL: case SipSessionState.INCOMING_CALL_ANSWERING: return Call.State.INCOMING; case SipSessionState.OUTGOING_CALL: return Call.State.DIALING; case SipSessionState.OUTGOING_CALL_RING_BACK: return Call.State.ALERTING; case SipSessionState.OUTGOING_CALL_CANCELING: return Call.State.DISCONNECTING; case SipSessionState.IN_CALL: return Call.State.ACTIVE; default: Log.w(LOG_TAG, "illegal connection state: " + sessionState); return Call.State.DISCONNECTED; Loading @@ -832,30 +832,31 @@ public class SipPhone extends SipPhoneBase { } @Override public void onError(SipAudioCall call, SipErrorCode errorCode, public void onError(SipAudioCall call, int errorCode, String errorMessage) { switch (errorCode) { case PEER_NOT_REACHABLE: case SipErrorCode.PEER_NOT_REACHABLE: onError(Connection.DisconnectCause.NUMBER_UNREACHABLE); break; case INVALID_REMOTE_URI: case SipErrorCode.INVALID_REMOTE_URI: onError(Connection.DisconnectCause.INVALID_NUMBER); break; case TIME_OUT: case TRANSACTION_TERMINTED: case SipErrorCode.TIME_OUT: case SipErrorCode.TRANSACTION_TERMINTED: onError(Connection.DisconnectCause.TIMED_OUT); break; case DATA_CONNECTION_LOST: case SipErrorCode.DATA_CONNECTION_LOST: onError(Connection.DisconnectCause.LOST_SIGNAL); break; case INVALID_CREDENTIALS: case SipErrorCode.INVALID_CREDENTIALS: onError(Connection.DisconnectCause.INVALID_CREDENTIALS); break; case SOCKET_ERROR: case SERVER_ERROR: case CLIENT_ERROR: case SipErrorCode.SOCKET_ERROR: case SipErrorCode.SERVER_ERROR: case SipErrorCode.CLIENT_ERROR: default: Log.w(LOG_TAG, "error: " + errorCode + ": " + errorMessage); Log.w(LOG_TAG, "error: " + SipErrorCode.toString(errorCode) + ": " + errorMessage); onError(Connection.DisconnectCause.ERROR_UNSPECIFIED); } } Loading voip/java/android/net/sip/ISipSession.aidl +2 −5 Original line number Diff line number Diff line Loading @@ -49,14 +49,11 @@ interface ISipSession { /** * Gets the session state. The value returned must be one of the states in * {@link SipSessionState}. One may convert it to {@link SipSessionState} by * <code> * Enum.valueOf(SipSessionState.class, session.getState()); * </code> * {@link SipSessionState}. * * @return the session state */ String getState(); int getState(); /** * Checks if the session is in a call. Loading Loading
services/java/com/android/server/sip/SipService.java +14 −18 Original line number Diff line number Diff line Loading @@ -476,10 +476,10 @@ public final class SipService extends ISipService.Stub { } @Override public void onError(ISipSession session, String errorClass, public void onError(ISipSession session, int errorCode, String message) { if (DEBUG) Log.d(TAG, "sip session error: " + errorClass + ": " + message); if (DEBUG) Log.d(TAG, "sip session error: " + SipErrorCode.toString(errorCode) + ": " + message); } public boolean isOpened() { Loading Loading @@ -535,7 +535,7 @@ public final class SipService extends ISipService.Stub { private int mBackoff = 1; private boolean mRegistered; private long mExpiryTime; private SipErrorCode mErrorCode; private int mErrorCode; private String mErrorMessage; private String getAction() { Loading Loading @@ -591,10 +591,9 @@ public final class SipService extends ISipService.Stub { if (mSession == null) return; try { SipSessionState state = (mSession == null) int state = (mSession == null) ? SipSessionState.READY_TO_CALL : Enum.valueOf( SipSessionState.class, mSession.getState()); : mSession.getState(); if ((state == SipSessionState.REGISTERING) || (state == SipSessionState.DEREGISTERING)) { mProxy.onRegistering(mSession); Loading @@ -602,12 +601,12 @@ public final class SipService extends ISipService.Stub { int duration = (int) (mExpiryTime - SystemClock.elapsedRealtime()); mProxy.onRegistrationDone(mSession, duration); } else if (mErrorCode != null) { } else if (mErrorCode != SipErrorCode.NO_ERROR) { if (mErrorCode == SipErrorCode.TIME_OUT) { mProxy.onRegistrationTimeout(mSession); } else { mProxy.onRegistrationFailed(mSession, mErrorCode.toString(), mErrorMessage); mProxy.onRegistrationFailed(mSession, mErrorCode, mErrorMessage); } } } catch (Throwable t) { Loading @@ -621,7 +620,7 @@ public final class SipService extends ISipService.Stub { } public void run() { mErrorCode = null; mErrorCode = SipErrorCode.NO_ERROR; mErrorMessage = null; if (DEBUG) Log.d(TAG, "~~~ registering"); synchronized (SipService.this) { Loading Loading @@ -714,18 +713,15 @@ public final class SipService extends ISipService.Stub { } @Override public void onRegistrationFailed(ISipSession session, String errorCodeString, String message) { SipErrorCode errorCode = Enum.valueOf(SipErrorCode.class, errorCodeString); public void onRegistrationFailed(ISipSession session, int errorCode, String message) { if (DEBUG) Log.d(TAG, "onRegistrationFailed(): " + session + ": " + errorCode + ": " + message); + SipErrorCode.toString(errorCode) + ": " + message); synchronized (SipService.this) { if (!isStopped() && (session != mSession)) return; mErrorCode = errorCode; mErrorMessage = message; mProxy.onRegistrationFailed(session, errorCode.toString(), message); mProxy.onRegistrationFailed(session, errorCode, message); if (errorCode == SipErrorCode.INVALID_CREDENTIALS) { if (DEBUG) Log.d(TAG, " pause auto-registration"); Loading
services/java/com/android/server/sip/SipSessionGroup.java +44 −42 Original line number Diff line number Diff line Loading @@ -300,7 +300,8 @@ class SipSessionGroup implements SipListener { boolean isLoggable = isLoggable(session, event); boolean processed = (session != null) && session.process(event); if (isLoggable && processed) { Log.d(TAG, "new state after: " + session.mState); Log.d(TAG, "new state after: " + SipSessionState.toString(session.mState)); } } catch (Throwable e) { Log.w(TAG, "event process error: " + event, e); Loading Loading @@ -331,7 +332,8 @@ class SipSessionGroup implements SipListener { public boolean process(EventObject evt) throws SipException { if (isLoggable(this, evt)) Log.d(TAG, " ~~~~~ " + this + ": " + mState + ": processing " + log(evt)); + SipSessionState.toString(mState) + ": processing " + log(evt)); if (isRequestEvent(Request.INVITE, evt)) { RequestEvent event = (RequestEvent) evt; SipSessionImpl newSession = new SipSessionImpl(mProxy); Loading @@ -356,7 +358,7 @@ class SipSessionGroup implements SipListener { class SipSessionImpl extends ISipSession.Stub { SipProfile mPeerProfile; SipSessionListenerProxy mProxy = new SipSessionListenerProxy(); SipSessionState mState = SipSessionState.READY_TO_CALL; int mState = SipSessionState.READY_TO_CALL; RequestEvent mInviteReceived; Dialog mDialog; ServerTransaction mServerTransaction; Loading Loading @@ -447,8 +449,8 @@ class SipSessionGroup implements SipListener { return null; } public String getState() { return mState.toString(); public int getState() { return mState; } public void setListener(ISipSessionListener listener) { Loading Loading @@ -521,7 +523,7 @@ class SipSessionGroup implements SipListener { mState = SipSessionState.PINGING; try { processCommand(new OptionsCommand()); while (SipSessionState.PINGING.equals(mState)) { while (SipSessionState.PINGING == mState) { Thread.sleep(1000); } } catch (SipException e) { Loading @@ -547,7 +549,8 @@ class SipSessionGroup implements SipListener { public String toString() { try { String s = super.toString(); return s.substring(s.indexOf("@")) + ":" + mState; return s.substring(s.indexOf("@")) + ":" + SipSessionState.toString(mState); } catch (Throwable e) { return super.toString(); } Loading @@ -555,7 +558,8 @@ class SipSessionGroup implements SipListener { public boolean process(EventObject evt) throws SipException { if (isLoggable(this, evt)) Log.d(TAG, " ~~~~~ " + this + ": " + mState + ": processing " + log(evt)); + SipSessionState.toString(mState) + ": processing " + log(evt)); synchronized (SipSessionGroup.this) { if (isClosed()) return false; Loading @@ -570,30 +574,30 @@ class SipSessionGroup implements SipListener { boolean processed; switch (mState) { case REGISTERING: case DEREGISTERING: case SipSessionState.REGISTERING: case SipSessionState.DEREGISTERING: processed = registeringToReady(evt); break; case PINGING: case SipSessionState.PINGING: processed = keepAliveProcess(evt); break; case READY_TO_CALL: case SipSessionState.READY_TO_CALL: processed = readyForCall(evt); break; case INCOMING_CALL: case SipSessionState.INCOMING_CALL: processed = incomingCall(evt); break; case INCOMING_CALL_ANSWERING: case SipSessionState.INCOMING_CALL_ANSWERING: processed = incomingCallToInCall(evt); break; case OUTGOING_CALL: case OUTGOING_CALL_RING_BACK: case SipSessionState.OUTGOING_CALL: case SipSessionState.OUTGOING_CALL_RING_BACK: processed = outgoingCall(evt); break; case OUTGOING_CALL_CANCELING: case SipSessionState.OUTGOING_CALL_CANCELING: processed = outgoingCallToReady(evt); break; case IN_CALL: case SipSessionState.IN_CALL: processed = inCall(evt); break; default: Loading Loading @@ -640,8 +644,8 @@ class SipSessionGroup implements SipListener { private void processTransactionTerminated( TransactionTerminatedEvent event) { switch (mState) { case IN_CALL: case READY_TO_CALL: case SipSessionState.IN_CALL: case SipSessionState.READY_TO_CALL: Log.d(TAG, "Transaction terminated; do nothing"); break; default: Loading @@ -666,18 +670,18 @@ class SipSessionGroup implements SipListener { return; } switch (mState) { case REGISTERING: case DEREGISTERING: case SipSessionState.REGISTERING: case SipSessionState.DEREGISTERING: reset(); mProxy.onRegistrationTimeout(this); break; case INCOMING_CALL: case INCOMING_CALL_ANSWERING: case OUTGOING_CALL: case OUTGOING_CALL_CANCELING: case SipSessionState.INCOMING_CALL: case SipSessionState.INCOMING_CALL_ANSWERING: case SipSessionState.OUTGOING_CALL: case SipSessionState.OUTGOING_CALL_CANCELING: onError(SipErrorCode.TIME_OUT, event.toString()); break; case PINGING: case SipSessionState.PINGING: reset(); mReRegisterFlag = true; mState = SipSessionState.READY_TO_CALL; Loading Loading @@ -753,7 +757,7 @@ class SipSessionGroup implements SipListener { int statusCode = response.getStatusCode(); switch (statusCode) { case Response.OK: SipSessionState state = mState; int state = mState; onRegistrationDone((state == SipSessionState.REGISTERING) ? getExpiryTime(((ResponseEvent) evt).getResponse()) : -1); Loading Loading @@ -1062,10 +1066,9 @@ class SipSessionGroup implements SipListener { mProxy.onCallEstablished(this, mPeerSessionDescription); } private void fallbackToPreviousInCall(SipErrorCode errorCode, String message) { private void fallbackToPreviousInCall(int errorCode, String message) { mState = SipSessionState.IN_CALL; mProxy.onCallChangeFailed(this, errorCode.toString(), message); mProxy.onCallChangeFailed(this, errorCode, message); } private void endCallNormally() { Loading @@ -1073,9 +1076,9 @@ class SipSessionGroup implements SipListener { mProxy.onCallEnded(this); } private void endCallOnError(SipErrorCode errorCode, String message) { private void endCallOnError(int errorCode, String message) { reset(); mProxy.onError(this, errorCode.toString(), message); mProxy.onError(this, errorCode, message); } private void endCallOnBusy() { Loading @@ -1083,11 +1086,11 @@ class SipSessionGroup implements SipListener { mProxy.onCallBusy(this); } private void onError(SipErrorCode errorCode, String message) { private void onError(int errorCode, String message) { cancelSessionTimer(); switch (mState) { case REGISTERING: case DEREGISTERING: case SipSessionState.REGISTERING: case SipSessionState.DEREGISTERING: onRegistrationFailed(errorCode, message); break; default: Loading Loading @@ -1115,7 +1118,7 @@ class SipSessionGroup implements SipListener { } } private SipErrorCode getErrorCode(int responseStatusCode) { private int getErrorCode(int responseStatusCode) { switch (responseStatusCode) { case Response.TEMPORARILY_UNAVAILABLE: case Response.FORBIDDEN: Loading Loading @@ -1151,7 +1154,7 @@ class SipSessionGroup implements SipListener { return exception; } private SipErrorCode getErrorCode(Throwable exception) { private int getErrorCode(Throwable exception) { String message = exception.getMessage(); if (exception instanceof UnknownHostException) { return SipErrorCode.INVALID_REMOTE_URI; Loading @@ -1169,10 +1172,9 @@ class SipSessionGroup implements SipListener { mProxy.onRegistrationDone(this, duration); } private void onRegistrationFailed(SipErrorCode errorCode, String message) { private void onRegistrationFailed(int errorCode, String message) { reset(); mProxy.onRegistrationFailed(this, errorCode.toString(), message); mProxy.onRegistrationFailed(this, errorCode, message); } private void onRegistrationFailed(Throwable exception) { Loading Loading @@ -1262,7 +1264,7 @@ class SipSessionGroup implements SipListener { private static boolean isLoggable(SipSessionImpl s) { if (s != null) { switch (s.mState) { case PINGING: case SipSessionState.PINGING: return DEBUG_PING; } } Loading
services/java/com/android/server/sip/SipSessionListenerProxy.java +3 −3 Original line number Diff line number Diff line Loading @@ -124,7 +124,7 @@ class SipSessionListenerProxy extends ISipSessionListener.Stub { } public void onCallChangeFailed(final ISipSession session, final String errorCode, final String message) { final int errorCode, final String message) { if (mListener == null) return; proxy(new Runnable() { public void run() { Loading @@ -137,7 +137,7 @@ class SipSessionListenerProxy extends ISipSessionListener.Stub { }); } public void onError(final ISipSession session, final String errorCode, public void onError(final ISipSession session, final int errorCode, final String message) { if (mListener == null) return; proxy(new Runnable() { Loading Loading @@ -179,7 +179,7 @@ class SipSessionListenerProxy extends ISipSessionListener.Stub { } public void onRegistrationFailed(final ISipSession session, final String errorCode, final String message) { final int errorCode, final String message) { if (mListener == null) return; proxy(new Runnable() { public void run() { Loading
telephony/java/com/android/internal/telephony/sip/SipPhone.java +20 −19 Original line number Diff line number Diff line Loading @@ -802,15 +802,15 @@ public class SipPhone extends SipPhoneBase { private static Call.State getCallStateFrom(SipAudioCall sipAudioCall) { if (sipAudioCall.isOnHold()) return Call.State.HOLDING; SipSessionState sessionState = sipAudioCall.getState(); int sessionState = sipAudioCall.getState(); switch (sessionState) { case READY_TO_CALL: return Call.State.IDLE; case INCOMING_CALL: case INCOMING_CALL_ANSWERING: return Call.State.INCOMING; case OUTGOING_CALL: return Call.State.DIALING; case OUTGOING_CALL_RING_BACK: return Call.State.ALERTING; case OUTGOING_CALL_CANCELING: return Call.State.DISCONNECTING; case IN_CALL: return Call.State.ACTIVE; case SipSessionState.READY_TO_CALL: return Call.State.IDLE; case SipSessionState.INCOMING_CALL: case SipSessionState.INCOMING_CALL_ANSWERING: return Call.State.INCOMING; case SipSessionState.OUTGOING_CALL: return Call.State.DIALING; case SipSessionState.OUTGOING_CALL_RING_BACK: return Call.State.ALERTING; case SipSessionState.OUTGOING_CALL_CANCELING: return Call.State.DISCONNECTING; case SipSessionState.IN_CALL: return Call.State.ACTIVE; default: Log.w(LOG_TAG, "illegal connection state: " + sessionState); return Call.State.DISCONNECTED; Loading @@ -832,30 +832,31 @@ public class SipPhone extends SipPhoneBase { } @Override public void onError(SipAudioCall call, SipErrorCode errorCode, public void onError(SipAudioCall call, int errorCode, String errorMessage) { switch (errorCode) { case PEER_NOT_REACHABLE: case SipErrorCode.PEER_NOT_REACHABLE: onError(Connection.DisconnectCause.NUMBER_UNREACHABLE); break; case INVALID_REMOTE_URI: case SipErrorCode.INVALID_REMOTE_URI: onError(Connection.DisconnectCause.INVALID_NUMBER); break; case TIME_OUT: case TRANSACTION_TERMINTED: case SipErrorCode.TIME_OUT: case SipErrorCode.TRANSACTION_TERMINTED: onError(Connection.DisconnectCause.TIMED_OUT); break; case DATA_CONNECTION_LOST: case SipErrorCode.DATA_CONNECTION_LOST: onError(Connection.DisconnectCause.LOST_SIGNAL); break; case INVALID_CREDENTIALS: case SipErrorCode.INVALID_CREDENTIALS: onError(Connection.DisconnectCause.INVALID_CREDENTIALS); break; case SOCKET_ERROR: case SERVER_ERROR: case CLIENT_ERROR: case SipErrorCode.SOCKET_ERROR: case SipErrorCode.SERVER_ERROR: case SipErrorCode.CLIENT_ERROR: default: Log.w(LOG_TAG, "error: " + errorCode + ": " + errorMessage); Log.w(LOG_TAG, "error: " + SipErrorCode.toString(errorCode) + ": " + errorMessage); onError(Connection.DisconnectCause.ERROR_UNSPECIFIED); } } Loading
voip/java/android/net/sip/ISipSession.aidl +2 −5 Original line number Diff line number Diff line Loading @@ -49,14 +49,11 @@ interface ISipSession { /** * Gets the session state. The value returned must be one of the states in * {@link SipSessionState}. One may convert it to {@link SipSessionState} by * <code> * Enum.valueOf(SipSessionState.class, session.getState()); * </code> * {@link SipSessionState}. * * @return the session state */ String getState(); int getState(); /** * Checks if the session is in a call. Loading