OSDN Git Service

SIP: longer timeout for making call, shorter for cancelling
authorHung-ying Tyan <tyanh@google.com>
Thu, 23 Sep 2010 19:01:25 +0000 (03:01 +0800)
committerHung-ying Tyan <tyanh@google.com>
Fri, 24 Sep 2010 22:09:00 +0000 (06:09 +0800)
http://b/3021865

Change-Id: I354ebcc00f1ac68e4b7b466745c36aeb314f9138

services/java/com/android/server/sip/SipSessionGroup.java
telephony/java/com/android/internal/telephony/sip/SipPhone.java

index 66a2c05..fa3f64a 100644 (file)
@@ -84,7 +84,7 @@ class SipSessionGroup implements SipListener {
     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 = 5; // in seconds
+    private static final int CANCEL_CALL_TIMER = 3; // in seconds
 
     private static final EventObject DEREGISTER = new EventObject("Deregister");
     private static final EventObject END_CALL = new EventObject("End call");
index 372acc2..45e6ccd 100755 (executable)
@@ -74,7 +74,9 @@ import java.util.List;
 public class SipPhone extends SipPhoneBase {
     private static final String LOG_TAG = "SipPhone";
     private static final boolean LOCAL_DEBUG = true;
-    private static final int SESSION_TIMEOUT = 8; // in seconds
+    private static final int TIMEOUT_MAKE_CALL = 15; // in seconds
+    private static final int TIMEOUT_ANSWER_CALL = 8; // in seconds
+    private static final int TIMEOUT_HOLD_CALL = 15; // in seconds
 
     // A call that is ringing or (call) waiting
     private SipCall ringingCall = new SipCall();
@@ -690,7 +692,7 @@ public class SipPhone extends SipPhoneBase {
 
         void acceptCall() throws CallStateException {
             try {
-                mSipAudioCall.answerCall(SESSION_TIMEOUT);
+                mSipAudioCall.answerCall(TIMEOUT_ANSWER_CALL);
             } catch (SipException e) {
                 throw new CallStateException("acceptCall(): " + e);
             }
@@ -708,7 +710,7 @@ public class SipPhone extends SipPhoneBase {
         void dial() throws SipException {
             setState(Call.State.DIALING);
             mSipAudioCall = mSipManager.makeAudioCall(mProfile, mPeer, null,
-                    SESSION_TIMEOUT);
+                    TIMEOUT_MAKE_CALL);
             mSipAudioCall.setRingbackToneEnabled(false);
             mSipAudioCall.setListener(mAdapter);
         }
@@ -716,7 +718,7 @@ public class SipPhone extends SipPhoneBase {
         void hold() throws CallStateException {
             setState(Call.State.HOLDING);
             try {
-                mSipAudioCall.holdCall(SESSION_TIMEOUT);
+                mSipAudioCall.holdCall(TIMEOUT_HOLD_CALL);
             } catch (SipException e) {
                 throw new CallStateException("hold(): " + e);
             }
@@ -726,7 +728,7 @@ public class SipPhone extends SipPhoneBase {
             mSipAudioCall.setAudioGroup(audioGroup);
             setState(Call.State.ACTIVE);
             try {
-                mSipAudioCall.continueCall(SESSION_TIMEOUT);
+                mSipAudioCall.continueCall(TIMEOUT_HOLD_CALL);
             } catch (SipException e) {
                 throw new CallStateException("unhold(): " + e);
             }