Commit Graph

224 Commits

Author SHA1 Message Date
Denis Kenzior 0727da1d5b emulator: Improve SLC establishment logic 2014-10-20 13:40:27 -05:00
Denis Kenzior 394069cb59 voicecall: Implement ofono_voicecall_mpty_hint 2013-09-12 13:17:39 -05:00
Denis Kenzior d8a9e88705 voicecall: Add extra debug info 2012-11-28 10:31:14 -06:00
Denis Kenzior 7ee8d3a16a voicecall: Fix crash 2012-11-28 10:31:14 -06:00
Denis Kenzior 1f986ebdad voicecall: Handle RESETTING sim state 2012-11-22 06:57:04 -06:00
Philippe Nunes 20138aed75 voicecall: Accept long phone number format for STK 2012-09-05 14:25:57 -05:00
Denis Kenzior 3d57bf37d0 voicecall: Implement ReleaseAndSwap 2012-08-05 23:34:16 -05:00
Marcel Holtmann c1490c6751 voicecall: Avoid shadowing of number variable 2012-07-15 20:35:42 -03:00
Marcel Holtmann 8cdc453b2b voicecall: Remove shadowing modem variable 2012-07-15 20:32:17 -03:00
Lucas De Marchi e0d6f9f0ce Do not set signature and reply in GDBus tables
Use GDBUS_* macros, so signature and reply fields are not set in each
method/signal.
2012-05-20 02:47:57 -07:00
Lucas De Marchi b3489f2ee8 Convert GDBus methods to use macro helpers
With these macro helpers we can separate in/out arguments and use their
own vector.
2012-05-20 02:47:57 -07:00
Henrique Dante de Almeida 924ee02ff7 Constify GDBus signal tables
Constify signal tables with the following command:

    find . -name '*.[ch]' -exec \
             sed -i 's/\(GDBusSignalTable .* =\)/const \1/g' {} \;
2012-05-20 02:47:56 -07:00
Henrique Dante de Almeida 63bbdebdf2 Constify GDBus method tables
Constify method tables with the following command:

find . -name '*.[ch]' -exec \
             sed -i 's/\(GDBusMethodTable .* =\)/const \1/g' {} \;
2012-05-20 02:47:56 -07:00
Frédéric Danis 004c8200aa voicecall: Force callheld update after calls swap
In HFP spec, a callheld indicator update should be sent after swapping
calls, even if it stays to 1 (AG has both active and held calls).
2012-03-20 19:26:24 -05:00
Frédéric Danis 0efaa9975a voicecall: Improve transitions check
Indicators should not be updated if:
- multiple separate calls are active at same time
- a conf call and a call are active at same time
- multiple separate calls are held at same time
- a conf call and a call are held at same time
- a conf call has call in active and held state
2012-03-13 21:44:15 -05:00
Denis Kenzior f8812ceb23 voicecall: Don't set indicators during transitions 2012-03-07 06:17:06 -06:00
Frédéric Danis a035f8b0e2 voicecall: Fix emulator AT+CHUP for HFP
AT+CHUP should be able to hang-up active or incoming calls
2012-02-09 14:21:51 -06:00
Denis Kenzior 15ef5861c5 voicecall: Use __ofono_atom_find 2012-01-18 12:21:36 -06:00
Denis Kenzior f5d84faf22 voicecall: Make emulator use release_queue 2011-10-12 16:14:06 -05:00
Denis Kenzior 4ced8116a9 voicecall: Fix HangupAll for HFP
HFP does not implement HangupAll natively and most AGs do not support
releasing held calls by id.  Work around this by using hangup active and
then dropping all held calls if no waiting calls exist.  Otherwise
fall back to releasing calls by id.
2011-10-12 16:00:00 -05:00
Marcel Holtmann 7e6afe37bf core: Update copyright information 2011-10-10 13:39:42 -07:00
Denis Kenzior cb21b7f442 voicecall: Relax reqs for hangup of held calls
If we have a single held call, then it should be possible to hang it up
with 'Hangup' even if active calls exist.  Only if multiple held calls
or a waiting call exists should we disallow the request due to possible
side-effects.
2011-08-18 19:28:40 -05:00
Denis Kenzior 236f1ffb36 voicecall: Move stuff around 2011-08-18 19:28:20 -05:00
Frédéric Danis 0001866186 emulator: fix indicator notification 2011-08-15 00:25:27 -05:00
Denis Kenzior fe757a5b83 voicecall: Be more paranoid and null terminate 2011-07-25 22:57:08 -05:00
Denis Kenzior 625045dcb1 voicecall: Use defined constants 2011-07-25 22:55:30 -05:00
Jeevaka Badrappan 14b003c7d9 voicecall: api for set/clear alpha and icon id 2011-07-25 21:43:04 -05:00
Frédéric Danis c7610c44af voicecall: remove usage of em_atd_number
as emulator atom can only run with a 'ready' SIM,
use saved number instead of em_atd_number
2011-07-21 20:26:43 -05:00
Denis Kenzior aa58348bbc voicecall: Free settings when sim gets locked out 2011-07-19 15:07:02 -05:00
Frédéric Danis 9751914274 voicecall: close settings when SIM is removed
This also fixes the case where +BLDN uses an invalid number when the SIM
is removed.
2011-07-19 12:09:22 -05:00
Frédéric Danis d3f8eae1ff voicecall: fix callheld indicator for PTS
Fix PTS test TP/TWC/BV-03-I [Call Waiting- Hold Active/Retrieve
Waiting Call or Held].

PTS test fails after receiving intermediate update of callheld indicator
with value 0 (no held call) before it receives update to value 1
(active and held calls). This is due to the non-atomic update of calls
status after call swap (moving first call to active state before moving
second one to hold state).

HFP 1.5 spec specifies that an update of callheld indicator to 1 should
be sent after AT+CHLD=2 command.
As oFono emulator sends +CIEV only if the indicator value changes, we
need to use an intermediate state for callheld indicator (2, all calls on
hold).

So, in case of multiple active calls, or an active call with an active
mutiparty call, force update of callheld indicator to 2.
2011-07-19 11:18:22 -05:00
Denis Kenzior fd47c3a502 voicecall: Minor style fix 2011-07-14 19:58:32 -05:00
Denis Kenzior e825cf3ee4 voicecall: dial_request_user_cancel is not safe
It is not safe to call dial_request_user_cancel directly.  This is
because there might be a situation where the SIM requested the calls to
be dropped first.  If we're still executing the release_all_active
request and someone calls hangup -> crash.

Instead it is safer to throttle the hangup requests until the call is
actually dialing.

In similar fashion, we should not allow hanging up a specific call if a
dial request is active, unless that call is part of the SIM dial
request.  Note that by default this is not known until the driver's dial
implementation returns and the call is in the dialing (or alerting /
connected) state.
2011-07-14 19:15:53 -05:00
Denis Kenzior 70df9939db voicecall: Send busy to DBus if emulator is pending 2011-07-14 18:28:37 -05:00
Denis Kenzior 688258a7c6 voicecall: Don't send response to defunct emulator 2011-07-14 18:28:37 -05:00
Denis Kenzior b0566f0bb7 voicecall: Throttle emulators
Make sure that only a single request from (possibly multiple) emulators
is ever sent to the voicecall driver.  In the beginning it wasn't clear
whether this will be necessary, however several command implementations
already implemented basic throttling (+CHUP, ATD, CHLD=3, CHLD=2x) and
it made sense to make this more formal.

The other constraint is the abrupt removal of the emulator atom while an
operation is pending.  This case must be handled gracefully.  See next
commit.
2011-07-14 18:28:33 -05:00
Denis Kenzior 2ff685ac54 voicecall: Minor style fixes 2011-07-14 18:25:31 -05:00
Frédéric Dalleau f403f71573 voicecall: manage multiparty list in AT+CHLD=2X 2011-07-14 18:25:31 -05:00
Frédéric Dalleau 90311a6313 voicecall: manage multiparty list in AT+CHLD=3 2011-07-14 18:25:31 -05:00
Denis Kenzior 5179489b11 voicecall: Minor style fix 2011-07-14 18:25:31 -05:00
Frédéric Danis ba81abed67 voicecall: add ATD> support for HFP emulator 2011-06-21 12:08:25 -05:00
Frédéric Danis 3bcaa862f8 voicecall: add +BLDN support for HFP emulator 2011-06-16 06:23:14 -05:00
Frédéric Danis d3322b3510 voicecall: add ATD support for HFP emulator 2011-06-16 06:22:20 -05:00
Frédéric Danis b230549b43 voicecall: save last dialed number 2011-06-01 20:26:41 -05:00
Frédéric Danis 3b12d765bb voicecall: create generic dial function
split manager_dial between generic and dbus parts
2011-06-01 19:34:07 -05:00
Frédéric Dalleau 871dd70833 voicecall: remove unnecessary local var 2011-05-24 11:47:47 -05:00
Frédéric Dalleau a3998f46e2 voicecall: add +VTS support for HFP emulator 2011-05-22 06:06:39 -05:00
Frédéric Dalleau de2b26c906 voicecall: fix CHLD support reply 2011-05-16 23:37:59 -05:00
Denis Kenzior 5c9d59bad1 voicecall: CHLD support must be enclosed in a list 2011-05-04 22:29:08 -05:00
Denis Kenzior 2a5f5fe6be voicecall: Simplify CHLD support generator
In addition, fix ordering and make sure that lower case 'x' is used
2011-05-04 22:27:03 -05:00