From 66cc5355a137e291cc1e3c5d871e1d9cd35ee0ab Mon Sep 17 00:00:00 2001 From: Chung-yih Wang Date: Mon, 18 Oct 2010 15:57:24 +0800 Subject: Set the thread pool size of NIST sip stack to one. Set the thread pool size to one to fix the out-of-order packets seen in sip service when the device is waken up from sleep. bug:http://b/3099715 Change-Id: Ia169e3fde77488068c369e3345ecf6a6d8ddf792 --- voip/java/com/android/server/sip/SipSessionGroup.java | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'voip/java') diff --git a/voip/java/com/android/server/sip/SipSessionGroup.java b/voip/java/com/android/server/sip/SipSessionGroup.java index d861fa5..578bd9b 100644 --- a/voip/java/com/android/server/sip/SipSessionGroup.java +++ b/voip/java/com/android/server/sip/SipSessionGroup.java @@ -82,6 +82,11 @@ class SipSessionGroup implements SipListener { private static final boolean DEBUG = true; private static final boolean DEBUG_PING = DEBUG && false; private static final String ANONYMOUS = "anonymous"; + // Limit the size of thread pool to 1 for the order issue when the phone is + // waken up from sleep and there are many packets to be processed in the SIP + // stack. Note: The default thread pool size in NIST SIP stack is -1 which is + // unlimited. + private static final String THREAD_POOL_SIZE = "1"; private static final int EXPIRY_TIME = 3600; // in seconds private static final int CANCEL_CALL_TIMER = 3; // in seconds private static final long WAKE_LOCK_HOLDING_TIME = 500; // in milliseconds @@ -129,6 +134,7 @@ class SipSessionGroup implements SipListener { SipFactory sipFactory = SipFactory.getInstance(); Properties properties = new Properties(); properties.setProperty("javax.sip.STACK_NAME", getStackName()); + properties.setProperty("javax.sip.THREAD_POOL_SIZE", THREAD_POOL_SIZE); String outboundProxy = myself.getProxyAddress(); if (!TextUtils.isEmpty(outboundProxy)) { Log.v(TAG, "outboundProxy is " + outboundProxy); -- cgit v1.1