History log of /frameworks/base/voip/java/com/android/server/sip/SipSessionGroup.java
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
/frameworks/base/voip/java/com/android/server/sip/SipSessionGroup.java
cb6ee06f62c20ae036a206667097f20b837b11ab 19-Nov-2011 Chia-chi Yeh <chiachi@android.com> SIP: turn off verbose logs.

Bug: 5616713
Change-Id: Iaf2e6878731d10d7f4f2a7cd8af71f4517780642
/frameworks/base/voip/java/com/android/server/sip/SipSessionGroup.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
/frameworks/base/voip/java/com/android/server/sip/SipSessionGroup.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
/frameworks/base/voip/java/com/android/server/sip/SipSessionGroup.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
/frameworks/base/voip/java/com/android/server/sip/SipSessionGroup.java
dc5bbe965f7a66238c3f9a6694f4410b3d52af3b 14-Aug-2011 Hung-ying Tyan <tyanh@google.com> Handle SIP authentication response for BYE.

Bug: 5159669
Change-Id: I029684334500d4d0db176783084c9b7d1db87e40
/frameworks/base/voip/java/com/android/server/sip/SipSessionGroup.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
/frameworks/base/voip/java/com/android/server/sip/SipSessionGroup.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
/frameworks/base/voip/java/com/android/server/sip/SipSessionGroup.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
/frameworks/base/voip/java/com/android/server/sip/SipSessionGroup.java
2093561a58e602450f6e4f2aae4831edd1b840f4 28-Jun-2011 repo sync <cywang@google.com> Support INVITE w/o SDP.

bug:3326873

Change-Id: Ie29d2c61b237fee2d8637f4ba3d293a22469cced
/frameworks/base/voip/java/com/android/server/sip/SipSessionGroup.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
/frameworks/base/voip/java/com/android/server/sip/SipSessionGroup.java
1aceda35cc607856ec2e960e0c6cfc6aea87ab8e 23-Jun-2011 repo sync <cywang@google.com> Support Invite w/ Replaces request.

bug:3326870
Change-Id: Idbfbe7e3cc6ba83874d42bfb7d149866f454e70a
/frameworks/base/voip/java/com/android/server/sip/SipSessionGroup.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
/frameworks/base/voip/java/com/android/server/sip/SipSessionGroup.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
/frameworks/base/voip/java/com/android/server/sip/SipSessionGroup.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
/frameworks/base/voip/java/com/android/server/sip/SipSessionGroup.java
bb0a989c17cd6135c8d9c8566507521d4d927fe0 10-Mar-2011 Chung-yih Wang <cywang@google.com> Add KeepAlive Interval Measurement.

Change-Id: Id5ea2fcfa0bcd45198e773a5842d39eacc8ae400
/frameworks/base/voip/java/com/android/server/sip/SipSessionGroup.java
0f7de88cb9eef781117fa2f2b69ba2698237637e 06-Jan-2011 Chung-yih Wang <cywang@google.com> Merge "Add auth. username in SipProfile." from gingerbread.

bug:3326867
Change-Id: Ic67dd7d4858f28224e4f01ad8b65bcd3a3c15f10
/frameworks/base/voip/java/com/android/server/sip/SipSessionGroup.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
/frameworks/base/voip/java/com/android/server/sip/SipSessionGroup.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
/frameworks/base/voip/java/com/android/server/sip/SipSessionGroup.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
/frameworks/base/voip/java/com/android/server/sip/SipSessionGroup.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
/frameworks/base/voip/java/com/android/server/sip/SipSessionGroup.java
5d0c5cf2d6c6e82bcdce95d72d9000a934b2f354 22-Oct-2010 Hung-ying Tyan <tyanh@google.com> Notify SipSessions before closing SIP stack.

Bug: 3116480
Change-Id: I748d63382ade250aed27ccb09ea68c76a433fd27
/frameworks/base/voip/java/com/android/server/sip/SipSessionGroup.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
/frameworks/base/voip/java/com/android/server/sip/SipSessionGroup.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
/frameworks/base/voip/java/com/android/server/sip/SipSessionGroup.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
/frameworks/base/voip/java/com/android/server/sip/SipSessionGroup.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
/frameworks/base/voip/java/com/android/server/sip/SipSessionGroup.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
/frameworks/base/voip/java/com/android/server/sip/SipSessionGroup.java
ebc886c857a702d788c2bdfb9e0b3d20746ad745 12-Oct-2010 Hung-ying Tyan <tyanh@google.com> Fix SipSessionGroup from throwing ConcurrentModificationException

http://b/issue?id=3087256

Change-Id: I67df64105db7c1295649f1f3ce77f99025ce3d44
/frameworks/base/voip/java/com/android/server/sip/SipSessionGroup.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
/frameworks/base/voip/java/com/android/server/sip/SipSessionGroup.java
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
/frameworks/base/voip/java/com/android/server/sip/SipSessionGroup.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
/frameworks/base/voip/java/com/android/server/sip/SipSessionGroup.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
/frameworks/base/voip/java/com/android/server/sip/SipSessionGroup.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
/frameworks/base/voip/java/com/android/server/sip/SipSessionGroup.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
/frameworks/base/voip/java/com/android/server/sip/SipSessionGroup.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
/frameworks/base/voip/java/com/android/server/sip/SipSessionGroup.java