56 Commits

Author SHA1 Message Date
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
b031957d52 SipService: turn off verbose logging
Change-Id: I264662ba17d215d532f58b6ee793e569fe67c334
2010-10-01 07:09:30 +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
6a53489ae5 SipService: add UID check.
Only allow creator or radio user to access profiles.

Change-Id: I548938f117926bcc878419142d1b5d818a4e70df
2010-09-30 12:40:11 +08:00
Chia-chi Yeh
0a537b78d3 Merge "RTP: Enable AMR codec." into gingerbread 2010-09-29 18:32:24 -07:00
Hung-ying Tyan
2365b78e64 Merge "SIP: misc fixes." into gingerbread 2010-09-29 18:12:12 -07:00
Chia-chi Yeh
f88fc1fa90 RTP: Enable AMR codec.
Change-Id: I49e6bdc1b67306b44173f2f346f8372a50264870
2010-09-30 08:55:12 +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
Chia-chi Yeh
f4ae94229d RTP: Enable GSM-EFR codec.
Change-Id: I9d84009e4557a0a82c1f9d7d543922741be97c77
2010-09-30 03:07:57 +08:00
Chia-chi Yeh
e006e4d2c9 Merge changes Iae1913fb,I38dbefef into gingerbread
* changes:
  RTP: Enable GSM codec.
  RTP: Refactor out G711 codecs into another file.
2010-09-28 19:40:59 -07:00
Chia-chi Yeh
a6f950c968 RTP: Enable GSM codec.
Change-Id: Iae1913fb0643f1c66b5d16f24d51924d363e5ef5
2010-09-29 10:36:52 +08:00
Hung-ying Tyan
6057cd00d9 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
2010-09-29 02:26:47 +08:00
Hung-ying Tyan
624d5b4e8c 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
2010-09-28 14:54:13 +08:00
Hung-ying Tyan
7e54ef71db Move SipService out of SystemServer to phone process.
Companion CL: https://android-git/g/#change,70187
http://b/issue?id=2998069

Change-Id: I90923ac522ef363a4e04292f652d413c5a1526ad
2010-09-28 05:19:35 +08:00
Hung-ying Tyan
fd144d7667 Merge "SipAudioCall: remove SipManager dependency." into gingerbread 2010-09-27 10:54:27 -07:00
Hung-ying Tyan
00a22064ef SipService: handle cross-domain authentication error
and add new CROSS_DOMAIN_AUTHENTICATION error code and OUT_OF_NETWORK
DisconnectCause.

http://b/issue?id=3020185

Change-Id: Icc0a341599d5a72b7cb2d43675fbddc516544978
2010-09-27 10:45:24 -07:00
Hung-ying Tyan
3a4197e642 SipAudioCall: remove SipManager dependency.
Change-Id: I2dc8bf427e52f64529ee0e0261362b975a8917c6
2010-09-24 23:27:40 +08:00
Chia-chi Yeh
658bec9567 SDP: remove dead code.
Change-Id: I2a5764a2b9cabc54b0ac18666e494c1cb39c4e9b
2010-09-24 10:17:42 +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
repo sync
0b7d6de155 Fix the build.
Change-Id: I82210cb2d41f532583f83ea17e6f2d8d49280a30
2010-09-23 14:52:24 +08:00
repo sync
84f7f6ba39 SIP: Make SipAudioCallImpl use SimpleSessionDescription instead of javax.sdp.
Change-Id: I7efff4f29ca84c3e7c17ef066b7186b514a777b2
2010-09-23 14:07:45 +08:00
Chia-chi Yeh
e6c0c10958 SDP: Add a simple class to help manipulate session descriptions.
Change-Id: I1631ee20e8b4a9ad8e2184356b5d13de66e03db1
2010-09-23 13:31:01 +08:00
Chia-chi Yeh
37adc522f6 RTP: Add two getters to retrieve the current configuration from AudioStream.
Change-Id: Iff588130653242f6ddd6a6b663df775ecb276768
2010-09-23 03:34:14 +08:00
Chia-chi Yeh
32e106b7bd RTP: Extend codec capability and update the APIs.
Change-Id: I37ba9d83c2de3c5dae2bfc1b7513df7f6fee3c5c
2010-09-23 03:32:04 +08:00
Hung-ying Tyan
8544560ccc SipPhone: fix missing-call DisconnectCause feedback
also fix delivering bad news before closing a SipAudioCallImpl object so that
apps can get the current audio-call object state before it's closed:

http://b/issue?id=3009262

Change-Id: I94c19dae8b4f252de869e614ec462b19b4ff2077
2010-09-20 13:06:30 +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
afa583e655 SipAudioCall: expose startAudio()
so that apps can start audio when time is right.

Change-Id: I7ae96689d3a8006b34097533bc2434bc3814b82a
2010-09-17 15:58:18 +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
ae076d3981 SIP: add PEER_NOT_REACHABLE error feedback.
http://b/issue?id=3002033

Change-Id: Ib64b08919d214acbab89945ac19dc113a68e62ad
2010-09-15 11:30:45 +08:00
Hung-ying Tyan
12bec5ddf5 SipService: ignore connect event for non-active networks.
+ sanity check and remove redundant code.

Change-Id: I4d3e226851ad7fc4d88ddcd0a5c58f7e33b6c14a
2010-09-15 00:49:02 +08:00
Hung-ying Tyan
13f6270eb1 SipAudioCall: use SipErrorCode instead of string in onError()
and fix callback in setListener().

Change-Id: Ic2622df992a2ad45cb1e3f71736f320897ae8fb3
2010-09-14 21:36: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
d231aa880a SipService: deliver connectivity change to all sessions.
+ add DATA_CONNECTION_LOST to SipErrorCode
+ convert it to Connection.DisconnectCause.LOST_SIGNAL in SipPhone

http://b/issue?id=2992548

Change-Id: Ie8983c1b81077b21f46304cf60b8e61df1ffd241
2010-09-14 08:00:09 +08:00
Hung-ying Tyan
3d7606aa60 SIP: enhance timeout and registration status feedback.
http://b/issue?id=2984419
http://b/issue?id=2991065

Change-Id: I2d3b1dd3a70079ff347f7256f4684aea07847f4e
2010-09-13 17:45:39 +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
903e103160 SIP: add SipErrorCode for error feedback.
Change-Id: I8b071d4933479b780a403d0bfa30511f4c23ca8f
2010-09-10 17:15:06 +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
dc296b0d4b Merge "SipService: reduce the usage of javax.sdp.*." into gingerbread 2010-09-02 08:13:01 -07: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
60264b3064 SipProfile: remove outgoingCallAllowed flag.
Change-Id: I37a215bafce57adf6911c81fd38db324bac686ec
2010-09-02 20:34:17 +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
Chung-yih Wang
0858806ffc Add Wifi High Perf. mode during a call.
To prevent the wifi from entering low-power mode due to the screen off
triggered by the proximity sensor.

Change-Id: I490bc594d800bc30c256e52ef3bce08bf86bc7b1
2010-08-26 15:05:48 +08:00
Chung-yih Wang
5424c8dcac Add dynamic uid info for tracking the sip service usage.
Change-Id: Ibc340401b63799326b08aee6eba602a3e753b13f
2010-08-26 10:12:05 +08:00
Hung-ying Tyan
37f709aeb0 Merge "SipProfile: add isOutgoingCallAllowed() and new builder constructor" into gingerbread 2010-08-24 23:57:50 -07:00
Hung-ying Tyan
cf95f5d263 SipProfile: add isOutgoingCallAllowed() and new builder constructor
Change-Id: I7ced47079fd2b00c7160b152eb4c1d34399e39dc
2010-08-24 21:32:10 +08:00
Hung-ying Tyan
3294d44b96 Add confcall management to SIP calls
and fix the bug of re-assigning connectTime's in SipConnection,
and adding synchronization for SipPhone to be thread-safe,
and set normal audio mode when call not on hold instead of on hold in SipAudioCallImpl,
and fix re-entrance problem in CallManager.setAudioMode() for in-call mode.

Change-Id: I54f39dab052062de1ce141e5358d892d30453a3a
2010-08-24 17:54:47 +08:00
Chia-chi Yeh
b879032347 RTP: fix few leaks when fail to add streams into a group.
Change-Id: Iefb3fe219ad48641da37a83c8d14e9ebf1d3086c
2010-08-19 18:26:53 +08:00