• Home
  • History
  • Annotate
  • only in /frameworks/base/voip/java/com/android/server/sip/
History log of /frameworks/base/voip/java/com/android/server/sip/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
2dd9134c6b2da47f4816bc0f72a0e4924aca4f84 04-Apr-2012 Chia-chi Yeh <chiachi@android.com> SIP: push the logic of finding local address down to SipSessionGroup.

This allows different accounts binding on different IP addresses,
such as one on IPv4 and another on IPv6.

Bug: 4169057
Change-Id: I0bb36669394c281330091673fa338adea8f782cd
ipService.java
ipSessionGroup.java
c2bd6162eddad0cdfdafc037142e043680ffa705 28-Dec-2011 Chia-chi Yeh <chiachi@android.com> SipService: grab Wi-Fi lock only when necessary.

Change-Id: Ie432049156e70b6748426b959b653f21bfc504a1
ipService.java
cb6ee06f62c20ae036a206667097f20b837b11ab 19-Nov-2011 Chia-chi Yeh <chiachi@android.com> SIP: turn off verbose logs.

Bug: 5616713
Change-Id: Iaf2e6878731d10d7f4f2a7cd8af71f4517780642
ipHelper.java
ipService.java
ipSessionGroup.java
ipWakeLock.java
ee59e6a9fc69241b286acb7b55a22b8393c81222 28-Sep-2011 Chia-chi Yeh <chiachi@android.com> SipService: handle connectivity changes correctly.

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
ipService.java
d17b6d526648c372be761097e55c19767d5dba7d 09-Sep-2011 Chia-chi Yeh <chiachi@android.com> SIP: fix keep-alive measurement and increase the timeout.

Bug: 5226511
Change-Id: I1283790581496b1ff4e583a8d9379cdc39f78c20
ipService.java
ipSessionGroup.java
54eabd6c929c6f56da28421839b0ef2945cda876 06-Sep-2011 Chia-chi Yeh <chiachi@android.com> SIP: avoid extreme small values in Min-Expires headers.

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
ipSessionGroup.java
5f760064e1975a50e4abb63e560731c8b2c7b56c 30-Aug-2011 Chia-chi Yeh <chiachi@android.com> SIP: add the check for expiry time in Contact header.

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
ipSessionGroup.java
dc5bbe965f7a66238c3f9a6694f4410b3d52af3b 14-Aug-2011 Hung-ying Tyan <tyanh@google.com> Handle SIP authentication response for BYE.

Bug: 5159669
Change-Id: I029684334500d4d0db176783084c9b7d1db87e40
ipSessionGroup.java
307f15faafa5a38d9b3b314df22778cd11685d7b 12-Jul-2011 repo sync <cywang@google.com> Add REFER handling.

Handle REFER requests including REFER with Replaces header.

bug:4958680
Change-Id: I96df95097b78bed67ab8abd309a1e57a45c6bc2f
ipHelper.java
ipSessionGroup.java
3eeb1a98f91dff53eaf00cfb6b6ee8f25917b232 05-Jul-2011 Hung-ying Tyan <tyanh@google.com> Merge "Keep last known keepalive interval to avoid duplicate effort."
9324e04dcf4d5dd4dd08b1a4d7d981e259df3fe0 04-Jul-2011 Hung-ying Tyan <tyanh@google.com> Merge "Do not hold wifi lock when SIP is also available over mobile network."
f8c34ad3efd82974f166419b174431564658a7d0 04-Jul-2011 Hung-ying Tyan <tyanh@google.com> Merge "Do not keep alive for re-established call."
9edfa107575b5905c9ae0a2fa0d6f0cc19595300 01-Jul-2011 Hung-ying Tyan <tyanh@google.com> Keep last known keepalive interval to avoid duplicate effort.

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
ipService.java
8ba4566c01c5848b378d1d86e9041730f5b5a13f 01-Jul-2011 Hung-ying Tyan <tyanh@google.com> Do not keep alive for re-established call.

Only need to keep alive for caller in a newly established call.

Change-Id: I36f9d9499c806c8701e3b78555de399b00593be8
ipSessionGroup.java
f89654dd2847cc574dfa6a44806289f7e69e17b7 01-Jul-2011 Hung-ying Tyan <tyanh@google.com> Do not hold wifi lock when SIP is also available over mobile network.

Bug: 3111564
Change-Id: Ifc76e5c378d620e40ce4adf6ffa20807e9750fdb
ipService.java
a6cec8feed5c135bb5f4d6193012d13258a067c4 30-Jun-2011 Hung-ying Tyan <tyanh@google.com> Synchronize SipWakeupTimer.onReceive()

to fix the race of two threads that change mPendingIntent; one assigns a new one
and the other nullifies it.

Change-Id: I5e01f83ea1ac437811d2073839adef9bd0a30ec9
ipWakeupTimer.java
129d0b08fdf9588f7c8feeb9db3def30973c092e 29-Jun-2011 Hung-ying Tyan <tyanh@google.com> Make NAT port timeout measurement more flexible.

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
ipService.java
99705b52ec952012bedc4aa8e1f62caff80a6a2f 28-Jun-2011 Hung-ying Tyan <tyanh@google.com> Record external IP and port from SIP responses

and use them to create the contact header when sending OK response for INVITE.

Bug: 3461707
Change-Id: I5b254618f4920cf10a1460631bcd336778f344ec
ipHelper.java
ipSessionGroup.java
2093561a58e602450f6e4f2aae4831edd1b840f4 28-Jun-2011 repo sync <cywang@google.com> Support INVITE w/o SDP.

bug:3326873

Change-Id: Ie29d2c61b237fee2d8637f4ba3d293a22469cced
ipSessionGroup.java
233718c3c5a4f5b4f564af93cb2e42d80a900904 27-Jun-2011 Hung-ying Tyan <tyanh@google.com> Start keepalive process for the caller of a SIP call

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
ipSessionGroup.java
1aceda35cc607856ec2e960e0c6cfc6aea87ab8e 23-Jun-2011 repo sync <cywang@google.com> Support Invite w/ Replaces request.

bug:3326870
Change-Id: Idbfbe7e3cc6ba83874d42bfb7d149866f454e70a
ipHelper.java
ipSessionGroup.java
ipSessionListenerProxy.java
e65f3a896f03bba5327ce4f3989c0422855450ca 24-Jun-2011 Hung-ying Tyan <tyanh@google.com> Restart NAT port timeout measurement when keepalive fails and other fixes

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
ipService.java
ipSessionGroup.java
4af085ff26fbe9e13f7002496fd505dbdb36b282 23-Jun-2011 Hung-ying Tyan <tyanh@google.com> Execute all the due wakeup events in SipWakeupTimer.

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
ipWakeupTimer.java
12750701d0f90ed0166f5ddcf588c1235efe830a 23-Jun-2011 Hung-ying Tyan <tyanh@google.com> Keep the keepalive process going after NAT port is changed.

This is a regression from the CL that makes the keep-alive process a reusable
component.

Change-Id: I1d580588e9e303c532bf620056fc0fe88a2fdcda
ipService.java
4a267a9158a62010cd76ab93681586ea8e3d6015 22-Jun-2011 Hung-ying Tyan <tyanh@google.com> Move the keepalive process to SipSessionImpl and make it reusable.

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
ipHelper.java
ipService.java
ipSessionGroup.java
ac320b224590c8cdea93a50338aaef5faa1f2466 15-Jun-2011 Hung-ying Tyan <tyanh@google.com> Merge "Move WakeupTimer out of SipService."
5621554033089d1c07d53f56e8cd9787125d6e28 14-Jun-2011 Hung-ying Tyan <tyanh@google.com> Move WakeupTimer out of SipService.

This is to prepare to move keepalive process to SipSessionGroup before fixing
the following bug.
Bug: 3464181

Change-Id: I57d8f6effad76706b5a76e1269c53d558db88ae4
ipService.java
ipWakeupTimer.java
c133781723f64d1321685d02ad6a208286bf0a42 13-Jun-2011 repo sync <cywang@google.com> Fix the issue of onNetwork in UI thread.

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
ipSessionGroup.java
bb0a989c17cd6135c8d9c8566507521d4d927fe0 10-Mar-2011 Chung-yih Wang <cywang@google.com> Add KeepAlive Interval Measurement.

Change-Id: Id5ea2fcfa0bcd45198e773a5842d39eacc8ae400
ipService.java
ipSessionGroup.java
fae5e2894ff3c09f27efac2a7ee6b9cfd4ed14b0 29-Mar-2011 Brad Fitzpatrick <bradfitz@android.com> am 6f67e7bf: am 2e383bc6: Merge "Making it possible to call SIP calls with special allowed chars."

* commit '6f67e7bf831147257e078dd72a22f2e43e009122':
Making it possible to call SIP calls with special allowed chars.
b5c72ead014a509c0f84884d1f2dac1ff9deec8e 22-Mar-2011 Magnus Strandberg <magnus.strandberg@sonyericsson.com> Making it possible to call SIP calls with special allowed chars.

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
ipHelper.java
fcd0e50da51074703929e9f7b700a2cd11bd67e0 21-Feb-2011 Chung-yih Wang <cywang@google.com> Add rport argument for a reinvite request.

bug:3461707
Change-Id: I69a4f84dde3929c754c838fd12e624b774f44826
ipHelper.java
14b6d0620b42d1bb3a55778ba452d838a0d89223 25-Jan-2011 Hung-ying Tyan <tyanh@google.com> Merge changes Ib70e0cf2,I0691cd70 into gingerbread

* changes:
SipService: registers broadcast receivers on demand.
SipService: release wake lock for cancelled tasks.
f46013b67219b0b2e95fcebb0e51e9816ab0ce94 18-Jan-2011 Hung-ying Tyan <tyanh@google.com> Merge "Merge "SipService: registers broadcast receivers on demand."" into honeycomb
e9b54077274d0c4066093cd90dabca59b3d9a157 07-Jan-2011 Hung-ying Tyan <tyanh@google.com> Merge "SipService: registers broadcast receivers on demand."

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
ipService.java
40f2cacbc9ab00d34c2a4f49519921bbf6b5293a 06-Jan-2011 Hung-ying Tyan <tyanh@google.com> Merge "SipService: release wake lock for cancelled tasks."

Bug: 3327004
Change-Id: Ice47f973b5f2969f26eaa83a3e4795b2e153ba8b
ipService.java
0f7de88cb9eef781117fa2f2b69ba2698237637e 06-Jan-2011 Chung-yih Wang <cywang@google.com> Merge "Add auth. username in SipProfile." from gingerbread.

bug:3326867
Change-Id: Ic67dd7d4858f28224e4f01ad8b65bcd3a3c15f10
ipSessionGroup.java
f268a2f8488b6b111126a7043a5f1f559a566fa7 06-Jan-2011 Chung-yih Wang <cywang@google.com> Add auth. username in SipProfile.

bug:3326867
Change-Id: I2a62c75fb3f5e9c6ec2e00b29396e93b0c183d9b
ipSessionGroup.java
f0bb1ce70f8d5f19f0d63be070997ef237a15fe6 07-Jan-2011 Hung-ying Tyan <tyanh@google.com> SipService: registers broadcast receivers on demand.

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
ipService.java
0c01e6e060d079b0a25a44c1159db63944afce17 06-Jan-2011 Hung-ying Tyan <tyanh@google.com> SipService: release wake lock for cancelled tasks.

Bug: 3327004
Change-Id: I0691cd70edf61f815ecb0613aca85babd89f6cc4
ipService.java
a936b256eb1611b5d8b88d0cd61f21225152cc82 16-Dec-2010 Hung-ying Tyan <tyanh@google.com> Remove SIP realm/domain check

as the realm may be different from the domain.

Bug: 3283834
Change-Id: I64c9f0d6d626afdb397c5d378d30afa9d6a64ca9
ipSessionGroup.java
58ee2acba8953814cc4bf65d2f28f7dd498b5779 16-Dec-2010 Hung-ying Tyan <tyanh@google.com> Check port in create peer's SIP profile.

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
ipSessionGroup.java
f053292d7a46c30abbe6f12ca04dbc03ec964d80 03-Nov-2010 Chung-yih Wang <cywang@google.com> Fix SIP bug of different transport/port used for requests.

bug: http://b/3156148
Change-Id: I4fa5b274d2e90ebde12d9e99822dc193a65bad32
ipHelper.java
06e8cdc0f81ead604d5adf9d7b3f982e10226fd2 25-Oct-2010 Hung-ying Tyan <tyanh@google.com> Fix race between ending and answering a SIP call.

+ Also fix race between ending and changing (holding/unholding) a SIP call.
+ Remove an unused method.

Bug : 3128233

Change-Id: Ie18d8333a88f0d9906d54988243d909b58e07e4b
ipSessionGroup.java
4189d99b6e4877352049b7447b7f0734ef99b9e8 24-Oct-2010 Hung-ying Tyan <tyanh@google.com> Do not suppress error feedback during a SIP call.

Bug: 3124788
Change-Id: Ia0a06f72336d1795515428eba0c9f875c32d13d1
ipSessionGroup.java
349f3509f7335bbdef443a75afa36fb3c2d9552c 30-Nov-2010 Hung-ying Tyan <tyanh@google.com> Merge "Correct SipService.isOpened() implementation." into gingerbread
262cdfca7a0940735d3a08779e2d01bfdf639294 02-Nov-2010 Hung-ying Tyan <tyanh@google.com> Correct SipService.isOpened() implementation.

Make it return true for all existing accounts.
Rename mOpened to mOpenedToReceiveCalls to make it less confusing.

Bug: 3155849
Change-Id: I327f411bf76afd73434ad1fa2ffef3db1e35d778
ipService.java
5d0c5cf2d6c6e82bcdce95d72d9000a934b2f354 22-Oct-2010 Hung-ying Tyan <tyanh@google.com> Notify SipSessions before closing SIP stack.

Bug: 3116480
Change-Id: I748d63382ade250aed27ccb09ea68c76a433fd27
ipSessionGroup.java
60c45d026907edbe340c8cf9e1723b3dd34f8b6a 22-Oct-2010 Hung-ying Tyan <tyanh@google.com> Clean up pending sessions on incoming call in SipService

Bug: 3122186
Change-Id: I25c9aa19d138f6940a29025d54e7bc2ffb7daa29
ipService.java
4944fdd771d2a629b3c1af8097df5eb2de02d9ee 19-Oct-2010 Chung-yih Wang <cywang@google.com> Periodically scan wifi when wifi is not connected and wifi lock is
grabbed in SipService.

bug: http://b/3077454
Change-Id: I153974325c29e0f927c8eb7fdbc4725aaf10087d
ipService.java
0a6e717fb6846f66b8dc853e079f2166307bfc60 18-Oct-2010 Hung-ying Tyan <tyanh@google.com> Handle dialing a SIP call to self.

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
ipHelper.java
ipService.java
ipSessionGroup.java
431bb2269532f2514861b908d5fafda8fa64da79 19-Oct-2010 Joe Onorato <joeo@google.com> Reduce logging.

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
ipService.java
b4116c09fb9784551911ea0a10b4dd321ff9aa7d 19-Oct-2010 Chung-yih Wang <cywang@google.com> Fix the incorrect environment variable name for the thread pool size.

bug: http://b/3099715
Change-Id: I531048414f22c8edcd9c4f815c12a0bdd6347640
ipSessionGroup.java
66cc5355a137e291cc1e3c5d871e1d9cd35ee0ab 18-Oct-2010 Chung-yih Wang <cywang@google.com> 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
ipSessionGroup.java
28f63c06894b9ca9252f43bc54a098c0a785d4b4 14-Oct-2010 Hung-ying Tyan <tyanh@google.com> SipService: add wake lock for incoming INVITE packets.

+ 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
ipService.java
ipSessionGroup.java
ipWakeLock.java
bd57eeafe034cf850225db403700b5dc5db5ebcc 13-Oct-2010 Hung-ying Tyan <tyanh@google.com> SipService: add wake lock for multiple components.

+ 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
ipService.java
ipSessionGroup.java
4f8fd10f761d562ad3a4e01e78fc7046d3c9936c 13-Oct-2010 Hung-ying Tyan <tyanh@google.com> Make SipService listen to WIFI state change events.

+ 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
ipService.java
f1b1eec9de1ca27b660f6c00487de07a30eecf64 13-Oct-2010 Hung-ying Tyan <tyanh@google.com> Merge "SipService: mScreenOn is flipped to wrong value." into gingerbread
d6fc979edbba6c65cac1085fb5f2b8b972713758 13-Oct-2010 Hung-ying Tyan <tyanh@google.com> SipService: mScreenOn is flipped to wrong value.

http://b/issue?id=3077454

Change-Id: I23b6f70730074689b939e449c2c202ce8ffb586f
ipService.java
ebc886c857a702d788c2bdfb9e0b3d20746ad745 12-Oct-2010 Hung-ying Tyan <tyanh@google.com> Fix SipSessionGroup from throwing ConcurrentModificationException

http://b/issue?id=3087256

Change-Id: I67df64105db7c1295649f1f3ce77f99025ce3d44
ipSessionGroup.java
685b61b7117dbae94c5ceb5de4546ad23a4d3d0f 12-Oct-2010 Hung-ying Tyan <tyanh@google.com> SipService: fix a missing switch-case break.

Change-Id: I638eecd8000293d4cb37b3595c02ca33df4924eb
ipService.java
692cac9fdd7b179ba807351772fdf2339c000dfe 10-Oct-2010 Hung-ying Tyan <tyanh@google.com> SipHelper: add debug log for challenge responses.

Change-Id: If0143a0f076ef30b1b8998e477df933923bfa7b1
ipHelper.java
c7fda188aee215f1842111f5b9f711f7b844b4d4 09-Oct-2010 Chung-yih Wang <cywang@google.com> Do not release the wifi lock if the screen is off.

We need to be able to receive calls if the device is able to
reassociate with any AP later on.

Change-Id: Ib7aafb98386bf250ed9b5ec0a5b519594efa1649
ipService.java
aa562ffdb8f728569e6957b742f271eb7303f878 08-Oct-2010 Hung-ying Tyan <tyanh@google.com> SipService: add permission check for using API

Change-Id: Ifd85ba07f1b913011cb3e80e5027c67bfe3db280
ipService.java
9db99a4dc10ac0d5d3751f03ea51c0fed217d2f8 07-Oct-2010 Hung-ying Tyan <tyanh@google.com> Make SipService broadcast SIP_SERVICE_UP when it's up.

http://b/issue?id=3062010

Change-Id: I13419fa3a8fdfba1977260f703e4dcaa42a6606c
ipService.java
ee8a884f3504c981be8a1d6888b4590a0a394e05 06-Oct-2010 Hung-ying Tyan <tyanh@google.com> SIP: Fix busy authentication loop.

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
ipService.java
ipSessionGroup.java
718e0033e69fa7d1db12242324ab9098ac430bf5 05-Oct-2010 Hung-ying Tyan <tyanh@google.com> Merge "SIP: add SERVER_UNREACHABLE error code." into gingerbread
c6548fd9eda7b58f5a2e2a9c01e3c7cafd42fafb 05-Oct-2010 Hung-ying Tyan <tyanh@google.com> SIP: add SERVER_UNREACHABLE error code.

Let SipSession return it when UnknownHostException is caught.
Add DisconnectCause.SERVER_UNREACHABLE in Connection and have SipPhone report
it when receiving SERVER_UNREACHABLE from SipSession.

http://b/issue?id=3061691

Change-Id: I944328ba3ee30c0a9386e89b5c4696d4d9bde000
ipSessionGroup.java
323d3671ac813df8dd173f3f4d6cb681ee29f740 05-Oct-2010 Hung-ying Tyan <tyanh@google.com> SipService: supply PendingIntent when open a profile.

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
ipService.java
9ea96c6cade1f25d4d77dcbd24854df431548b36 03-Oct-2010 Hung-ying Tyan <tyanh@google.com> SIP: minor fixes.

+ Log error instead of crashing app process in SipManager's ListenerRelay.
+ Terminate dialog and transaction in SipSessionGroup.reset().
+ Remove redundant reset() in SipSessionGroup.

Change-Id: Ifbf29d2c9607ffe1a1a50b0c131ee3a4e81a0d0e
ipSessionGroup.java
b031957d528840df0ccbd28651ecbf3c64d42718 01-Oct-2010 Hung-ying Tyan <tyanh@google.com> SipService: turn off verbose logging

Change-Id: I264662ba17d215d532f58b6ee793e569fe67c334
ipService.java
6a53489ae594d7cc373a00687d6ea2f23d0634df 13-Sep-2010 Hung-ying Tyan <tyanh@google.com> SipService: add UID check.

Only allow creator or radio user to access profiles.

Change-Id: I548938f117926bcc878419142d1b5d818a4e70df
ipService.java
fb3a98b1d8d0ad040980d509c4c5341928b9460b 30-Sep-2010 Hung-ying Tyan <tyanh@google.com> SIP: misc fixes.

+ 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
ipService.java
ipSessionGroup.java
6057cd00d95c756b78f22c67279cb982bc0674ef 28-Sep-2010 Hung-ying Tyan <tyanh@google.com> SIP: Feedback any provisional responses in addition to RING

The only exception is TRYING.
Also remove an unused import in SipSessionGroup.

http://b/issue?id=3021865

Change-Id: I160982b0c4b417362f1fb961217db90c3a585ce5
ipSessionGroup.java
624d5b4e8c20516516d0bff74479b9f5abdfe61c 28-Sep-2010 Hung-ying Tyan <tyanh@google.com> SIP: add DisconnectCause.SERVER_ERROR

and fix how SipErrorCode.SERVER_ERROR is determinted from server response, not
from local exceptions.

http://b/issue?id=3041332

Change-Id: Idce67e29858d5c7573b98b7fa1fac074913d71d6
ipSessionGroup.java
7e54ef71db3320a751571bba5259fba816399421 25-Sep-2010 Hung-ying Tyan <tyanh@google.com> Move SipService out of SystemServer to phone process.

Companion CL: https://android-git/g/#change,70187
http://b/issue?id=2998069

Change-Id: I90923ac522ef363a4e04292f652d413c5a1526ad
ipHelper.java
ipService.java
ipSessionGroup.java
ipSessionListenerProxy.java