summaryrefslogtreecommitdiff
path: root/voip/java/com/android/server/sip/SipService.java
AgeCommit message (Collapse)Author
2013-01-28Delete frameworks/base/voip use voip-common from frameworks/opt/net/voipWink Saville
Change-Id: Ieaba759a0f69b45c4b8839cbed1fe757cdf190c5
2013-01-22Add debug and some cleanupWink Saville
Change-Id: I866676a1ec4a338dcfe089cbf0483e5e546ded85
2012-04-04SIP: push the logic of finding local address down to SipSessionGroup.Chia-chi Yeh
This allows different accounts binding on different IP addresses, such as one on IPv4 and another on IPv6. Bug: 4169057 Change-Id: I0bb36669394c281330091673fa338adea8f782cd
2011-12-28SipService: grab Wi-Fi lock only when necessary.Chia-chi Yeh
Change-Id: Ie432049156e70b6748426b959b653f21bfc504a1
2011-11-18SIP: turn off verbose logs.Chia-chi Yeh
Bug: 5616713 Change-Id: Iaf2e6878731d10d7f4f2a7cd8af71f4517780642
2011-09-30SipService: handle connectivity changes correctly.Chia-chi Yeh
This patch assumes that for the same network type, there MUST be a DISCONNECTED between two CONNECTEDs. Also removes the Wi-Fi scanning since the framework already handles this when a WifiLock is held. Bug: 4283795 Change-Id: I08481e70c651cffcbb516c8cc6584c919078fa4f
2011-09-13SIP: fix keep-alive measurement and increase the timeout.Chia-chi Yeh
Bug: 5226511 Change-Id: I1283790581496b1ff4e583a8d9379cdc39f78c20
2011-07-01Keep last known keepalive interval to avoid duplicate effort.Hung-ying Tyan
The current implementation always starts with default minimum interval when the measurement process starts. By keeping last known good interval, we can save the time in re-measurement. Change-Id: I8f1720acafaa7e101855fe0c66d5c7b0e578e0d7
2011-07-01Do not hold wifi lock when SIP is also available over mobile network.Hung-ying Tyan
Bug: 3111564 Change-Id: Ifc76e5c378d620e40ce4adf6ffa20807e9750fdb
2011-06-30Make NAT port timeout measurement more flexible.Hung-ying Tyan
In two ways: (1) When there's a session timeout, restart the measurement at a later time instead of just stalling. (2) When there's a port change, do not re-measure the interval if the current interval works well in the past. We keep success count and decrement it by half when there's a port change. When the count is below a threshold, we restart the measurement process. Change-Id: I7256464435a5e2d2a239bfccaa004e9ceb1d9ce5
2011-06-24Restart NAT port timeout measurement when keepalive fails and other fixesHung-ying Tyan
Misc keepalive fixes including: + Restart NAT port timeout measurement when keepalive fails. The max interval is set to the current keepalive interval. + When exception occurs during sending a keepalive, restarts registration. + When exception occurs during measurement, retry for a limited times before giving up. Change-Id: I7aa787a5ec7c4c9b4334aa1017371d9049b3520c
2011-06-23Keep the keepalive process going after NAT port is changed.Hung-ying Tyan
This is a regression from the CL that makes the keep-alive process a reusable component. Change-Id: I1d580588e9e303c532bf620056fc0fe88a2fdcda
2011-06-23Move the keepalive process to SipSessionImpl and make it reusable.Hung-ying Tyan
Reuse the new component in the original keepalive process and the NAT port mapping timeout measurement process. This is the foundation for fixing the following bug. Bug: 3464181 Change-Id: If7e951c000503fa64843942ad062c4d853e20c8d
2011-06-14Move WakeupTimer out of SipService.Hung-ying Tyan
This is to prepare to move keepalive process to SipSessionGroup before fixing the following bug. Bug: 3464181 Change-Id: I57d8f6effad76706b5a76e1269c53d558db88ae4
2011-06-09Add KeepAlive Interval Measurement.Chung-yih Wang
Change-Id: Id5ea2fcfa0bcd45198e773a5842d39eacc8ae400
2011-01-18Merge "Merge "SipService: registers broadcast receivers on demand."" into ↵Hung-ying Tyan
honeycomb
2011-01-18Merge "SipService: registers broadcast receivers on demand."Hung-ying Tyan
The previous implementation registers receivers when SipService starts up. If the user doesn't use SIP at all, SipService will still process connecivity and wifi state change events, which involves holding wake lock and thus consumes power unnecessarily. With this CL, SipService is completely idle if the user doesn't use SIP at all. It registers receivers only when at least one account is opened. Bug: 3326998 Change-Id: Idea43747f8204b0ccad3fc05a1b1c0b29c9b2557
2011-01-18Merge "SipService: release wake lock for cancelled tasks."Hung-ying Tyan
Bug: 3327004 Change-Id: Ice47f973b5f2969f26eaa83a3e4795b2e153ba8b
2010-11-02Correct SipService.isOpened() implementation.Hung-ying Tyan
Make it return true for all existing accounts. Rename mOpened to mOpenedToReceiveCalls to make it less confusing. Bug: 3155849 Change-Id: I327f411bf76afd73434ad1fa2ffef3db1e35d778
2010-10-22Clean up pending sessions on incoming call in SipServiceHung-ying Tyan
Bug: 3122186 Change-Id: I25c9aa19d138f6940a29025d54e7bc2ffb7daa29
2010-10-19Periodically scan wifi when wifi is not connected and wifi lock isChung-yih Wang
grabbed in SipService. bug: http://b/3077454 Change-Id: I153974325c29e0f927c8eb7fdbc4725aaf10087d
2010-10-19Handle dialing a SIP call to self.Hung-ying Tyan
Reply BUSY HERE response so server may redirect the call to the voice mailbox. http://b/issue?id=3103072 http://b/issue?id=3109479 Change-Id: I81f5dd59ad87298dd9dda87084538ee460eabba8
2010-10-19Reduce logging.Joe Onorato
Remember, the system and main logs are - Shared resources - Primarily for recording problems - To be used only for large grained events during normal operation Bug: 3104855 Change-Id: I136fbd101917dcbc8ebc3f96f276426b48bde7b7
2010-10-15SipService: add wake lock for incoming INVITE packets.Hung-ying Tyan
+ Keep the wake lock for 500ms. (Some measurements on N1 indicate 160~180ms needed to bring up InCallScreen but since INVITE doesn't come in frequently we can be more generous just to be safe.) + Move MyWakeupLock out of SipService so SipSessionGroup can use it without awkward inter-dependency with SipService. + Add acquire(int timeout) to be used to create the "timed" wake lock. http://b/issue?id=3081828 Change-Id: Iffd1d78d1a5cae9f795252ada75310917095204d
2010-10-14SipService: add wake lock for multiple components.Hung-ying Tyan
+ Add MyWakeLock to maintain a global wake lock for multiple components. + Use a Set to store components that want to hold the lock. + When the first component enters the set, we grab the global wake lock. + When the set becomes empty, we release the global lock. + In places like no account being opened to receive calls, we reset the wake lock just to be safe from possible leakage. + Make MyExecutor aware of the wake lock. It will grab the wake lock on behalf of the task so that tasks don't need to worry about the lock. + Connectivity receiver is modified to be executed in MyExecutor. + WakeupTimer handler is already protected by AlarmManager's wake lock but all the timeout handlers that register themselves to the WakeupTimer are to be executed in MyExecutor to be protected by the wake lock. + Remove unnecessary code in the Keepalive and registration processes. Since both processes are executed in MyExecutor submitted by the WakeupTimer (as they are timeout handlers registered to the WakeupTimer), they don't need to add themselves to MyExecutor explicitly in their run() callbacks. + Make the keepalive process wait for at most 3 seconds instead of forever for server response. It could cause the wake lock to be held longer than necessary and is a potential cause for ANR. http://b/issue?id=3081828 Related bug: http://b/issue?id=3087153 Change-Id: Idee0ddb837e67daa0d5092c012bb242bd7c18431
2010-10-13Make SipService listen to WIFI state change events.Hung-ying Tyan
+ Grab a WIFI lock if any account is opened to receive calls and WIFI is enabled + Release the WIFI lock if no account is opened to receive calls or WIFI is disabled + Remove screen on/off event receiver http://b/issue?id=3077454 Change-Id: Ifdf60a850bcf4106c75ec1e7563b26d8b33d7e92
2010-10-13SipService: mScreenOn is flipped to wrong value.Hung-ying Tyan
http://b/issue?id=3077454 Change-Id: I23b6f70730074689b939e449c2c202ce8ffb586f
2010-10-12SipService: fix a missing switch-case break.Hung-ying Tyan
Change-Id: I638eecd8000293d4cb37b3595c02ca33df4924eb
2010-10-09Do not release the wifi lock if the screen is off.Chung-yih Wang
We need to be able to receive calls if the device is able to reassociate with any AP later on. Change-Id: Ib7aafb98386bf250ed9b5ec0a5b519594efa1649
2010-10-08SipService: add permission check for using APIHung-ying Tyan
Change-Id: Ifd85ba07f1b913011cb3e80e5027c67bfe3db280
2010-10-07Make SipService broadcast SIP_SERVICE_UP when it's up.Hung-ying Tyan
http://b/issue?id=3062010 Change-Id: I13419fa3a8fdfba1977260f703e4dcaa42a6606c
2010-10-07SIP: Fix busy authentication loop.Hung-ying Tyan
Add a retry count and give up after two attempts. Also stop auto registration when server is unreachable. And rename onError() to restartLater() for better readability. http://b/issue?id=3066573 Change-Id: Icfa65c58546a1e2bf8e59e29584a3926c53c479b
2010-10-05SipService: supply PendingIntent when open a profile.Hung-ying Tyan
The SipService used to take an action string and broadcasts an intent with that action string when an incoming call is received. The design is not safe (as the intent may be sniffed) and inflexible (can only received by BroadcastReceiver). Now we use PendingIntent to fix all these. Companion CL: https://android-git.corp.google.com/g/#change,71800 Change-Id: Id12e5c1cf9321edafb171494932cd936eae10b6e
2010-10-01SipService: turn off verbose loggingHung-ying Tyan
Change-Id: I264662ba17d215d532f58b6ee793e569fe67c334
2010-09-30SipService: add UID check.Hung-ying Tyan
Only allow creator or radio user to access profiles. Change-Id: I548938f117926bcc878419142d1b5d818a4e70df
2010-09-30SIP: misc fixes.Hung-ying Tyan
+ Fix keepalive timer event leak due to the race between stopping timer and the async'ed timeout handler + SipSessionImpl: set state before handling an event to ensure we get correct state when some error occurs during handling the event. + Fix potential NPE in SipManager.ListenerRelay.getUri(). Change-Id: I021ee34f83059fd4fbb64b30bea427a5462aa51b
2010-09-28Move SipService out of SystemServer to phone process.Hung-ying Tyan
Companion CL: https://android-git/g/#change,70187 http://b/issue?id=2998069 Change-Id: I90923ac522ef363a4e04292f652d413c5a1526ad