summaryrefslogtreecommitdiff
path: root/voip/java/com/android/server/sip/SipSessionGroup.java
diff options
context:
space:
mode:
Diffstat (limited to 'voip/java/com/android/server/sip/SipSessionGroup.java')
-rw-r--r--voip/java/com/android/server/sip/SipSessionGroup.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/voip/java/com/android/server/sip/SipSessionGroup.java b/voip/java/com/android/server/sip/SipSessionGroup.java
index b5f8d39c6edb..2b8058feda43 100644
--- a/voip/java/com/android/server/sip/SipSessionGroup.java
+++ b/voip/java/com/android/server/sip/SipSessionGroup.java
@@ -547,8 +547,14 @@ class SipSessionGroup implements SipListener {
mState = SipSession.State.PINGING;
try {
processCommand(new OptionsCommand());
- while (SipSession.State.PINGING == mState) {
- Thread.sleep(1000);
+ for (int i = 0; i < 15; i++) {
+ if (SipSession.State.PINGING != mState) break;
+ Thread.sleep(200);
+ }
+ if (SipSession.State.PINGING == mState) {
+ // FIXME: what to do if server doesn't respond
+ reset();
+ if (DEBUG) Log.w(TAG, "no response from ping");
}
} catch (SipException e) {
Log.e(TAG, "sendKeepAlive failed", e);