27 Commits

Author SHA1 Message Date
Hung-ying Tyan
5bd3782f24 Check if VoIP API is supported in SipManager.
This is to make SipManager.isVoipSupported() effective.
Also add NPE check now that we may return null SipAudioCall when VOIP is not
supported.

Bug: 3251016

Change-Id: Icd551123499f55eef190743b90980922893c4a13
2010-12-21 11:51:03 +08:00
Hung-ying Tyan
8d1b2a17d9 Throw proper exceptions in SipManager
instead of silently returning null and causing NPE in applications as returning
null is not documented in the javadoc.

Add connection to the connection list in SipCall after dial() succeeds so that
we don't need to clean up if it fails. The original code will cause the failed
connection to continue to live in the SipCall and in next dial() attempt, a new
connection is created and the in-call screen sees two connections in the call
and thus shows conference call UI.

Bug: 3157234, 3157387
Change-Id: Iabc3235f781c4f1e09384a67ad56b09ad2c12e5e
2010-11-03 18:09:31 +08:00
Scott Main
02b1d685cc docs: revise javadocs for sip
add a package description, revise class descriptions and edit some method docs

Change-Id: Ice969a99c830349674c65d99e4b7a6f1d2f24a7e
2010-10-28 16:37:43 -07:00
Hung-ying Tyan
e87b644402 Add permission requirements to SipAudioCall and SipManager javadoc.
Bug: 3116259

Change-Id: I00a033794e9d3e1c2d2ccfe4e612cd50003ec2ee
2010-10-21 03:27:20 +08:00
Hung-ying Tyan
9b449e5606 Remove ringtone API from SipAudioCall.
(watch out auto-merge conflict for SipAudioCall).

Bug: 3113033, related CL: https://android-git/g/#change,75185

Change-Id: Ib48d3b990e229e0b341e47e10e76934e1a50d10f
2010-10-20 22:51:22 +08:00
Hung-ying Tyan
a0cdfbf5b7 Uncomment SIP/VOIP feature check in SipManager.
http://b/issue?id=2971947

Change-Id: I3afa8eb03c4e347b382213dd388354365f766b2f
2010-10-18 19:48:04 +08:00
Hung-ying Tyan
08faac3c26 Unhide SIP API.
Change-Id: I09468e3149a242a3b1e085ad220eb74f84ac6c68
2010-10-08 08:31:42 +08:00
Hung-ying Tyan
9db99a4dc1 Make SipService broadcast SIP_SERVICE_UP when it's up.
http://b/issue?id=3062010

Change-Id: I13419fa3a8fdfba1977260f703e4dcaa42a6606c
2010-10-07 09:15:25 +08:00
Hung-ying Tyan
323d3671ac 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
2010-10-05 10:13:25 +08:00
Hung-ying Tyan
9ea96c6cad 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
2010-10-04 08:07:42 +08:00
Hung-ying Tyan
9e1d308e99 Add uri field to SipManager.ListenerRelay
in case mSession is not available.

Change-Id: Ifee2c129e48aa1177f648f176413ab6aa5606770
2010-09-30 15:00:34 +08:00
Hung-ying Tyan
fb3a98b1d8 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
2010-09-30 08:10:17 +08:00
Hung-ying Tyan
3a4197e642 SipAudioCall: remove SipManager dependency.
Change-Id: I2dc8bf427e52f64529ee0e0261362b975a8917c6
2010-09-24 23:27:40 +08:00
Hung-ying Tyan
84a357bb6a Refactoring SIP classes to get ready for API review.
+ replace SipAudioCall and its Listener interfaces with real implementations,
  + remove SipAudioCallImpl.java, most of it is has become part of SipAudioCall,
+ add SipSession and its Listener classes to wrap ISipSession and ISipSessionListener,
+ move SipSessionState to SipSession.State,
+ make SipManager keep context and remove the context argument from many methods of its,
+ rename SipManager.getInstance() to newInstance(),
+ rename constant names for action strings and extra keys to follow conventions,
+ set thread names for debugging purpose.

Change-Id: Ie1790dc0e8f49c06c7fc80d33fec0f673a9c3044
2010-09-24 10:06:59 +08:00
Hung-ying Tyan
97963794af SIP: convert enum to static final int.
Converts SipErrorCode and SipSessionState.

Change-Id: Iee3a465649ea89d395b2336bbd673c25113e5f93
2010-09-20 09:51:31 +08:00
Hung-ying Tyan
c4b87477c0 SIP: add config flag for wifi-only configuration.
http://b/issue?id=2994029

Change-Id: I328da9b0f8b70d660dbcefffdac8250341792101
2010-09-20 08:03:20 +08:00
Hung-ying Tyan
9352cf1a4d Add timer to SIP session creation process.
+ add timer parameter to ISipSession.make/changeCall(),
+ add timer paramter to SipAudioCall.make/answer/hold/continueCall()'s,
+ add timer parameter to SipManager.makeAudioCall(),
+ modify implementation in SipSessionGroup, SipAudioCallImpl accordingly,
+ make SipPhone to use it with 8-second timeout.

http://b/issue?id=2994748

Change-Id: I661a887e5810087ddc5e2318335e2fa427f80ec6
2010-09-17 13:31:05 +08:00
Hung-ying Tyan
286bb5a00b Fix links in SIP API javadoc.
Change-Id: I839280fe18502bb576f6e9c9a7948077c02fa570
2010-09-16 03:52:10 +08:00
Hung-ying Tyan
99bf4e45c4 SIP: remove dependency on javax.sip
and change errorCodeString to errorCode in
SipRegistrationListener.onRegistrationFailed().

Change-Id: Id9618f5a4b0effaed04f8b0dc60347499d9e4501
2010-09-14 20:29:02 +08:00
Hung-ying Tyan
25b52a2f97 SIP: remove dependency on javax.sip.SipException.
Change-Id: I77d289bef1b5e7f1ec0c0408d0bbf96c21085cd7
2010-09-13 16:50:12 +08:00
Hung-ying Tyan
643fce9781 SipManager: always return true for SIP API and VOIP support query.
Change-Id: I397a804e0aa598aee77a8ce28ada1b11e10fbaea
http://b/issue?id=2972054
2010-09-03 10:19:23 +08:00
Chia-chi Yeh
95b15c3560 SipService: reduce the usage of javax.sdp.*.
After this change, SipAudioCallImpl is the only place still using it.

Change-Id: I5693bffa54f9e19cbfa70b45dfcf40fba04dedbb
2010-09-02 22:15:26 +08:00
Hung-ying Tyan
3424c02e6b Add software features for SIP and VOIP
and block SipService creation and SIP API if the feature is not available.

Change-Id: Icf780af1ac20dda4d8180cea3e5b20e21a8350bc
2010-09-02 08:10:13 +08:00
Hung-ying Tyan
8e63ddb4c7 SIP: clean up unused class and fields.
Change-Id: I79ed7fb324fea9a52946340055b5ea1d389a926a
2010-08-10 12:00:45 +08:00
Chung-yih Wang
cde66df442 Revert "Move SIP telephony related codes to framework."
This reverts commit b631dcf3eb449ddec756bea330f4e70b996ffb9e.
2010-08-05 13:25:38 +08:00
Chung-yih Wang
b631dcf3eb Move SIP telephony related codes to framework.
+ hardcode the sip service for build dependency.

Change-Id: Ib0e9717c9b87eb6e06ffa3a7b01ae31184de61bb
2010-08-05 11:11:58 +08:00
Chung-yih Wang
363c2ab82c Move the sip related codes to framework.
Change-Id: Ib81dadc39b73325c8438f078c7251857a83834fe
2010-08-05 10:25:53 +08:00