summaryrefslogtreecommitdiff
path: root/voip/java/com/android/server/sip
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-09-06SIP: avoid extreme small values in Min-Expires headers.Chia-chi Yeh
If the expiry time cannot be found in Contact header or Expires header, use the default value of 3600 seconds, which is specified in RFC 3261. Change-Id: I2607a398b96743614b01713cfd9b28f40386fac1
2011-08-30SIP: add the check for expiry time in Contact header.Chia-chi Yeh
There can be three expiry times in the same message header. We choose the smaller value in Expires header and Contact header, and then we obey the value defined in Min-Expires header. If none of them is set, the default value is used. Bug: 5178284 Change-Id: Ie9d4a48c93863e82e5197bb4a0db3f4fec56857c
2011-08-15Handle SIP authentication response for BYE.Hung-ying Tyan
Bug: 5159669 Change-Id: I029684334500d4d0db176783084c9b7d1db87e40
2011-07-13Add REFER handling.repo sync
Handle REFER requests including REFER with Replaces header. bug:4958680 Change-Id: I96df95097b78bed67ab8abd309a1e57a45c6bc2f
2011-07-04Merge "Keep last known keepalive interval to avoid duplicate effort."Hung-ying Tyan
2011-07-03Merge "Do not hold wifi lock when SIP is also available over mobile network."Hung-ying Tyan
2011-07-03Merge "Do not keep alive for re-established call."Hung-ying Tyan
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 keep alive for re-established call.Hung-ying Tyan
Only need to keep alive for caller in a newly established call. Change-Id: I36f9d9499c806c8701e3b78555de399b00593be8
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-30Synchronize SipWakeupTimer.onReceive()Hung-ying Tyan
to fix the race of two threads that change mPendingIntent; one assigns a new one and the other nullifies it. Change-Id: I5e01f83ea1ac437811d2073839adef9bd0a30ec9
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-28Record external IP and port from SIP responsesHung-ying Tyan
and use them to create the contact header when sending OK response for INVITE. Bug: 3461707 Change-Id: I5b254618f4920cf10a1460631bcd336778f344ec
2011-06-28Support INVITE w/o SDP.repo sync
bug:3326873 Change-Id: Ie29d2c61b237fee2d8637f4ba3d293a22469cced
2011-06-27Start keepalive process for the caller of a SIP callHung-ying Tyan
so that the callee can send signals (on-hold or bye) back to the caller. Without the keepalive, the NAT port for the caller will be timed out during the call. And the signals will be dropped by the NAT device. Change-Id: I21848d73469045b2ed9e7281556ab184c594c362
2011-06-27Support Invite w/ Replaces request.repo sync
bug:3326870 Change-Id: Idbfbe7e3cc6ba83874d42bfb7d149866f454e70a
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-23Execute all the due wakeup events in SipWakeupTimer.Hung-ying Tyan
Events are sorted by periods. So events of larger periods may have trigger time (i.e., when the event should be processed) earlier than the ones of smaller periods. So need to scan the whole queue looking for due events. The scan takes O(n) time but we expect the queue size to be small. Change-Id: I08bd3bd9d4bb8decb78f3c91c943396463ca023a
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-15Merge "Move WakeupTimer out of SipService."Hung-ying Tyan
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-13Fix the issue of onNetwork in UI thread.repo sync
bug:458435 This will temporarily start a thread for answering calls, we are going to add a handler thread to handle this soon. Change-Id: I9079038d671e1b1631c6e663fc2c3de297d97428
2011-06-09Add KeepAlive Interval Measurement.Chung-yih Wang
Change-Id: Id5ea2fcfa0bcd45198e773a5842d39eacc8ae400
2011-03-29am 6f67e7bf: am 2e383bc6: Merge "Making it possible to call SIP calls with ↵Brad Fitzpatrick
special allowed chars." * commit '6f67e7bf831147257e078dd72a22f2e43e009122': Making it possible to call SIP calls with special allowed chars.
2011-03-22Making it possible to call SIP calls with special allowed chars.Magnus Strandberg
Since String.replaceFirst uses regex and since SIP user names are allowed to include regex charaters such as '+', the code must fist convert the string to a literal pattern String before using replaceFirst method. Change-Id: I25eac852bd620724ca1c5b2befc023af9dae3c1a
2011-02-21Add rport argument for a reinvite request.Chung-yih Wang
bug:3461707 Change-Id: I69a4f84dde3929c754c838fd12e624b774f44826
2011-01-24Merge changes Ib70e0cf2,I0691cd70 into gingerbreadHung-ying Tyan
* changes: SipService: registers broadcast receivers on demand. SipService: release wake lock for cancelled tasks.
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
2011-01-12Merge "Add auth. username in SipProfile." from gingerbread.Chung-yih Wang
bug:3326867 Change-Id: Ic67dd7d4858f28224e4f01ad8b65bcd3a3c15f10
2011-01-07Add auth. username in SipProfile.Chung-yih Wang
bug:3326867 Change-Id: I2a62c75fb3f5e9c6ec2e00b29396e93b0c183d9b
2011-01-07SipService: 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: Ib70e0cf2c808e0ebab4c3c43dcab5532d24e5eeb
2011-01-06SipService: release wake lock for cancelled tasks.Hung-ying Tyan
Bug: 3327004 Change-Id: I0691cd70edf61f815ecb0613aca85babd89f6cc4
2010-12-17Remove SIP realm/domain checkHung-ying Tyan
as the realm may be different from the domain. Bug: 3283834 Change-Id: I64c9f0d6d626afdb397c5d378d30afa9d6a64ca9
2010-12-16Check port in create peer's SIP profile.Hung-ying Tyan
SipURI returns port -1 when port is not present in the URI. Don't call SipProfile.Builder.setPort() when that happens. Bug: 3291248 Change-Id: I8e608cbc56ea82862df55fdba885f6a864db83ab
2010-12-07Fix SIP bug of different transport/port used for requests.Chung-yih Wang
bug: http://b/3156148 Change-Id: I4fa5b274d2e90ebde12d9e99822dc193a65bad32
2010-12-01Fix race between ending and answering a SIP call.Hung-ying Tyan
+ Also fix race between ending and changing (holding/unholding) a SIP call. + Remove an unused method. Bug : 3128233 Change-Id: Ie18d8333a88f0d9906d54988243d909b58e07e4b
2010-11-30Do not suppress error feedback during a SIP call.Hung-ying Tyan
Bug: 3124788 Change-Id: Ia0a06f72336d1795515428eba0c9f875c32d13d1
2010-11-30Merge "Correct SipService.isOpened() implementation." into gingerbreadHung-ying Tyan
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-25Notify SipSessions before closing SIP stack.Hung-ying Tyan
Bug: 3116480 Change-Id: I748d63382ade250aed27ccb09ea68c76a433fd27