Commit Graph

239 Commits

Author SHA1 Message Date
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
Denis Kenzior 1655cb9bd2 voicecall: CHLD call ids start at 1, not 0 2011-05-04 22:03:11 -05:00
Frédéric Dalleau 307687942a voicecall: add +CHLD=2X support for HFP emulator 2011-05-04 22:00:21 -05:00
Frédéric Dalleau aa0f93b664 voicecall: add +CHLD=1X support for HFP emulator 2011-05-04 22:00:07 -05:00
Frédéric Dalleau 6d501aa93a voicecall: add +CHLD=4 support for HFP emulator 2011-05-04 21:59:21 -05:00
Frédéric Dalleau bb02dd4070 voicecall: add +CHLD=3 support for HFP emulator 2011-05-04 21:59:18 -05:00
Frédéric Dalleau 81ccae5a97 voicecall: add +CHLD=0 support for HFP emulator 2011-05-04 21:58:23 -05:00
Frédéric Dalleau 41d54b2718 voicecall: add +CHLD support for HFP emulator 2011-05-04 21:57:30 -05:00
Frédéric Dalleau ffe11200a9 voicecall: Fix variable initialization 2011-05-04 21:51:27 -05:00
Frédéric Danis b60762e026 voicecall: fix waiting calls for HFP emulator
Fix precedence between waiting and dialing so HFP emulator is notified
of dialing/alerting even in case of a waiting call pending.
2011-04-26 14:43:42 -05:00
Denis Kenzior f8eb178b29 voicecall: Update CLCC buffer size and comment 2011-04-26 14:41:52 -05:00
Denis Kenzior 97a7a61789 voicecall: Refactor the previous commit slightly 2011-04-26 14:41:26 -05:00
Frédéric Dalleau 719fae9587 voicecall: add +CLCC support for HFP emulator 2011-04-26 14:22:11 -05:00
Denis Kenzior 5dcab7b507 voicecall: Tweak the behavior of previous commit
Use a generic void pointer to remove the need for emulator_release_done
function.

Use naming a bit more consistent with the rest of the codebase
2011-04-19 16:32:59 -05:00
Frédéric Danis 4ad9833c25 voicecall: add +CHUP support for HFP emulator
Update multirelease_callback to be used from DBus calls or HFP Emulator.
"release done" is configurable by multirelease caller.
2011-04-19 16:27:11 -05:00
Denis Kenzior f081400c98 voicecall: Don't go over 80 characters per line 2011-04-19 16:25:08 -05:00
Frédéric Danis 8600a39cce voicecall: add ATA support for HFP emulator 2011-04-19 13:53:24 -05:00
Frédéric Danis a8acaf59d3 voicecall: add API to find call by status 2011-04-19 13:53:24 -05:00
Denis Kenzior e9f12d7620 voicecall: fix to sim ecc free logic
Correct copy paste mistakes and a slight logic oversight
2011-04-11 17:48:11 -05:00
Denis Kenzior 857d2dfca8 voicecall: Fix ECC list generation for empty EFecc 2011-04-11 15:24:09 -05:00
Frédéric Danis d214427663 voicecall: add call, callsetup and callheld indicators 2011-04-11 10:34:30 -05:00
Denis Kenzior 31aca33b44 voicecall: Handle concurrent Refresh & NW ECC update
There is a potential case where the EFecc is being refreshed due to a
SIM refresh and a Network ECC list is updated.  In this case we might
report a set of numbers that is not yet complete.  Take care of this
case.
2011-04-07 22:18:06 -05:00
Denis Kenzior ad717a0f40 voicecall: Don't reverse sim_en_list
The order of the ECCs is not important as they're all unique.
2011-04-07 22:18:05 -05:00
Denis Kenzior 85dfc94016 voicecall: Fix ECC list generation
If the network list of ECC numbers is updated when we have no SIM, or
when the SIM numbers have not yet been read, or there is an error during
EFecc read, then the default_no_sim numbers are never added to the ECC
list.
2011-04-07 22:18:05 -05:00
Denis Kenzior 7608db55cb voicecall: Localize variable initialization 2011-04-07 22:18:05 -05:00
Jeevaka Badrappan 4a83571677 voicecall: network emergency number list support 2011-04-07 22:18:05 -05:00
Jeevaka Badrappan f6444d3963 voicecall: Refactor emergency number list handling 2011-04-07 22:18:05 -05:00
Jeevaka Badrappan 758826919b voicecall: Remove sim_state_watch on atom unregister 2011-04-07 22:18:05 -05:00
Denis Kenzior a002db962a voicecall: Detect emergency calls initiated by STK 2011-04-04 23:36:49 -05:00
Jeevaka Badrappan 348149ec5a voicecall: add emergency mode handling 2011-04-04 23:36:49 -05:00
Jeevaka Badrappan f117cc5abf voicecall: generalize emergency call check 2011-04-04 23:36:49 -05:00
Denis Kenzior 29df90d2b1 voicecall: set call_list to NULL 2011-03-30 13:29:47 -05:00
Mika Liljeberg 0eedf42921 core: remove redundant code 2011-03-30 12:33:54 -05:00
Frédéric Danis f7f6fd75ae voicecall: fix voicecalls_release_queue
voicecalls_release_queue uses struct ofono_call instead of
struct voicecall (which is used in "calls" list parameter and
function voicecalls_release_next)
2011-03-24 13:29:49 -05:00
Lucas De Marchi 47ee314200 voicecall: Fix pause character validation
manager_tone() converts all tone chars to uppercase. Since everywhere we
check for both 'p' and 'P' for a pause, tone_queue() should also check
both before claiming the string is invalid.
2011-03-21 14:03:28 -05:00
Denis Kenzior 4dd654ddf4 voicecall: Refactor held and mpty notify logic 2011-03-11 13:50:29 -06:00
Denis Kenzior 915d4dc4bd voicecall: Minor whitespace fix for previous commit 2011-03-11 13:18:36 -06:00
Andras Domokos 0626ff6af8 voicecall: implement SSN handling functions 2011-03-11 13:15:38 -06:00
Antoine Reversat 7f02e2feeb voicecall: Add CNAP debugging ofono voicecall 2011-02-25 14:21:14 -06:00
Andrzej Zaborowski 85644e913b voicecall: Watch for changes to relevant SIM files 2011-02-17 15:09:16 -06:00
Denis Kenzior 50f1b7e943 voicecall: Fix check for ECT pre-conditions
We must have 1 Dialing / Alerting / Active call and a single
non-multiparty held call.
2011-02-07 15:53:31 -06:00
Andrzej Zaborowski a7a0cb1ed0 simfs: implement ofono_sim_context api 2011-02-03 13:13:37 -06:00
Jeevaka Badrappan 12c3cf6969 voicecall: remove ofono_cug_option 2011-01-26 16:38:15 -06:00
Rafael Ignacio Zurita 4eda451c03 common: add function to validate long numbers
Also, adapt voicecall to use the new function for outgoing calls.
2011-01-25 14:12:24 -06:00
Marcel Holtmann 35aa581a0d voicecall: Fix some minor style issues for voicecall properties 2011-01-21 11:25:50 +01:00
Denis Kenzior fa222d810a voicecall: Handle empty EFecc properly
When EFecc is empty we should still set the calling codes to the
default_en_list, not keep the default_en_list + default_en_list_no_sim
2011-01-19 15:22:23 -06:00
Denis Kenzior f4ea5142ac voicecall: Update to the new API 2011-01-18 16:09:28 -06:00
Lucas De Marchi 2f5afc9410 voicecall: add support for cdip
Enable oFono to show the identification informed with CDIP.
2011-01-18 16:09:27 -06:00
Denis Kenzior b6facb43a1 voicecall: Minor style nitpick 2010-12-17 10:52:42 -06:00
John Mathew af086533f0 voicecall: Add emergency property 2010-12-17 10:51:14 -06:00
Denis Kenzior 28917262ed voicecall: Use cnap validity in get_properties 2010-12-16 18:40:18 -06:00
Denis Kenzior 65776a6820 voicecall: Use clip_validity in get_properties 2010-12-16 18:40:18 -06:00
Denis Kenzior ea643485ef voicecall: Minor style fixes 2010-12-16 18:40:17 -06:00
Gustavo F. Padovan c47dab9570 voicecall: add support for CNAP
Enable oFono to get a info about the Calling Name.
2010-12-16 18:40:17 -06:00
Pekka Pessi da444beb2d voicecall: fix dial result handling
The existing call will be automatically put on hold if there is an
existing active call when dialing. On some modems the dial request
returns only after the dialed call is active and the existing call has
been put on hold.

However, on isimodem driver the dial request returns immediately before
the existing call has changed its status. With isimodem driver the
dial_handle_result() selected the existing call from the list when it
should have created a new one.

The dial result handling now guards againt returning a previously dialed
active call as result.
2010-12-03 13:21:32 -06:00
Lucas De Marchi b210838e87 core: explicitly compare pointers to NULL
This patch was generated by the following semantic patch
(http://coccinelle.lip6.fr/)

// <smpl>
@fix disable is_null,isnt_null1@
expression *E;
@@

- !E
+ E == NULL
// </smpl>
2010-11-29 13:27:15 -06:00
Rémi Denis-Courmont e7c4442c69 core: Remove stray newlines in messages sent to log 2010-11-26 13:50:15 -06:00
Jeevaka Badrappan 2d0cb92155 src: coding style fixes - rule M6 2010-11-22 05:07:52 -06:00
Andrzej Zaborowski e0663bd0ed voicecall: Limit tone string length per request.
Also change to avoid memcpying into a buffer.
2010-10-25 17:20:17 -05:00
Andrzej Zaborowski 0dd1e9ed07 voicecall: __ofono_voicecall_tone_send internal api
This provides a way for other atoms to send DTMF tones during a call.
It is assumed that vc->driver->send_tone returns only after the tones
have finished being emitted.

In this version Dbus DTMF requests are in the same queue as STK
requests.
2010-10-22 21:59:11 -05:00
Pekka Pessi 7a36cbfd70 voicecall: check g_try_new0 return value 2010-10-10 06:06:54 -05:00
Pekka Pessi ea51479fcd voicecall: remove dial_request_finish() cb param
There is no need for callback param anymore.
2010-10-10 06:06:09 -05:00
Pekka Pessi e21ad3086f voicecall: Check dial requests in voicecall_is_busy
Return true if a call is being dialed by stk.

Use __ofono_voicecall_is_busy() in __ofono_voicecall_dial().
2010-10-10 06:02:15 -05:00
Denis Kenzior d70d422866 voicecall: Set single_call correctly 2010-09-28 16:59:15 -05:00
Jeevaka Badrappan 4196182770 Fix multi-line comment style issues 2010-09-21 21:16:01 -05:00
Denis Kenzior b7f1733fe4 voicecall: Simplify logic 2010-09-09 21:57:15 -05:00
Andrzej Zaborowski 52161db428 stk: Fix User Cancel response to Set Up Call
One of the clean-up commits changed the semantics of the dial request
callback's parameter (NULL if call setup failed, non-NULL if success
or user cancelled).
2010-09-09 21:45:22 -05:00
Denis Kenzior 694847377d voicecall: Remove unusued MULTI_RELEASE flag 2010-09-01 12:07:01 -05:00
Denis Kenzior 4292b2dbed sim: Turn around the order of arguments
The void *user argument was first.  It should be last instead to be
consistent with the other watch functions.
2010-08-30 14:29:34 -05:00
Denis Kenzior afd0611ff8 voicecall: Fix crash during cleanup 2010-08-30 10:34:21 -05:00
Denis Kenzior c92a31ac3a voicecall: Cleanup dial request when removing atom 2010-08-27 19:06:38 -05:00
Denis Kenzior 605d720bd4 voicecall: Refactor ofono_voicecall_busy 2010-08-27 19:06:36 -05:00
Denis Kenzior e760b59ce9 voicecall: Switch to unsigned 2010-08-27 19:01:44 -05:00
Denis Kenzior ed562ba2b0 voicecall: Cleanup dial request init / finish 2010-08-27 19:01:41 -05:00
Andrzej Zaborowski 4a9a985c9d voicecall: add __ofono_voicecall_dial internal api
The callback is only invoked when the call is CONNECTED (becomes
active).  Cancel ensures that the callback will not be called and
does nothing more in this version, it's an open question if we
want to release the call.
2010-08-27 10:41:34 -05:00
Marcel Holtmann 1130fff405 voicecall: Remove unused variable 2010-08-20 23:17:33 +02:00
Denis Kenzior f42e563c51 voicecall: Fix memory leak 2010-08-20 16:15:11 -05:00
Denis Kenzior 3edb2e90ab voicecall: Remove Calls property 2010-08-20 16:15:11 -05:00
Denis Kenzior b5b0627f7f voicecall: emit CallAdded and CallRemoved signals 2010-08-20 16:15:11 -05:00
Denis Kenzior 230236ea25 voicecall: Add GetCalls method 2010-08-20 16:15:11 -05:00
Denis Kenzior a4de14dab6 voicecall: Fix up some style issues 2010-08-20 16:15:11 -05:00
Denis Kenzior bdbf0fef99 voicecall: Break out voicecall_append_properties 2010-08-20 16:15:11 -05:00
Denis Kenzior 96f74a1c04 voicecall: Get rid of MultipartyCalls attribute
Replaced by Multiparty attribute on the Voicecall object
2010-08-20 16:15:11 -05:00
Denis Kenzior bab23b3976 voicecall: Make hangup_all work for 911 calls 2010-08-13 14:00:43 -05:00
Denis Kenzior c7b13ec2fe voicecall: Relax restriction for hangup_active
If hangup_active is present, then a single active call in a 3-way
situation is hung up using hangup_active.
2010-08-12 13:15:52 -05:00
Denis Kenzior fa2c29c84f voicecall: Move some stuff around 2010-08-12 13:13:53 -05:00