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
Denis Kenzior
2c9a2b8a99
voicecall: Don't hangup waiting calls
...
During hangup_all operation. For multiparty hangups, waiting calls are
not part of the mpty call.
2010-08-12 11:32:12 -05:00
Denis Kenzior
dcf1c32f4c
voicecall: Make logic bit cleaner
2010-08-12 11:32:12 -05:00
Denis Kenzior
516d1545a1
voicecall: Minor style issues
2010-08-12 11:32:12 -05:00
Denis Kenzior
10e9bdf4c1
voicecall: Reflow the logic of voicecall_hangup
2010-08-12 11:32:12 -05:00
Sjur Brændeland
9a24ece0fb
voicecall: Add support for function hangup_all
...
This patch fixes problem for modems that cannot terminate
DIALING/ALERTING calls with CHUP=1X. The main change is that
voicecall driver's hangup function is split into the functions
hangup_all and hangup_active.
Changes:
- In cases where hangup previously was used, hangup_all is used
if implemented otherwise hangup_active is used.
- Call in state DIALING/ALERTING is released with hangup_active if
implemented.
- manager_hangup_all will simply call hangup_all if implemented.
- manager_hangup_all will release calls in state
ALERTING/DIALING/INCOMING using hangup_active otherwise
release_specific.
2010-08-12 11:32:12 -05:00
Denis Kenzior
ab9d7cd2cb
style: No initialization needed here
2010-07-08 14:27:34 -05:00
Denis Kenzior
1786c17c3f
Refactor: Store the sim object inside voicecalls
...
Makes the logic a bit easier to follow. Also use a switch/case inside
the sim state watcher.
2010-04-15 16:49:42 -05:00
Denis Kenzior
fa37f158d1
Style: Proper indentation
2010-04-15 16:49:42 -05:00
Andrzej Zaborowski
1ca8671d11
Handle EFen list when SIM inserted / removed
2010-04-15 16:49:41 -05:00
Denis Kenzior
e1e036b5df
Move voicecall interface definitions to dbus.h
2010-03-22 15:27:08 -05:00
Denis Kenzior
4b81513d95
Style: if statement
2010-02-10 16:41:31 -06:00
Denis Kenzior
87ca1b0c8f
Fix: Don't use ofono_debug directly in the core
...
Use DBG macro which is integrated with the new debug framework.
2010-02-08 11:54:03 -06:00
Marcel Holtmann
144080e749
Update copyright information
2010-01-01 17:00:10 -08:00
Marcel Holtmann
0b359e89db
Use error label instead of err or err_out
2009-12-24 07:09:09 -08:00
Denis Kenzior
955e6a61ee
Style: Fix a few more occurences of if/else
...
See Linux coding style document for details
2009-12-17 21:45:39 -06:00
Andrzej Zaborowski
50d855d91f
Support 51.011 EFecc format.
...
EFecc has different formats in G2 and G3 UICC specs.
2009-12-16 11:10:33 -06:00
Denis Kenzior
e1ceeafe5f
Optimize: call list signal emission
2009-12-04 16:52:31 -06:00
Denis Kenzior
752c5af2f0
Update voicecall atom to use new callid api
2009-12-04 16:52:31 -06:00
Denis Kenzior
0b754835f5
Add utility to get the next free call id
2009-12-04 16:52:30 -06:00
Denis Kenzior
d2bcc0921d
Fix: Simplify logic to use g_memdup
2009-12-01 12:45:40 -06:00
Denis Kenzior
e8ac4e5368
Fix: Be more signed/unsigned correct
2009-12-01 12:42:23 -06:00
Denis Kenzior
6b223870bd
Fix: Make sure we don't dial with an incoming call
2009-11-13 16:04:45 -06:00
Denis Kenzior
27cb260d07
Refactor: Simplify code and add have_incoming
2009-11-13 16:03:33 -06:00
Denis Kenzior
f9580e7b3e
Revert: Go back to the old dial behavior
...
The driver has a better idea of how to handle ATD being invoked when
a waiting/held/active call(s) is/are already present. Generally most
modems will swap the call automatically preserving the state of the
waiting call.
We do block dialing another call while a dial is still in progress.
2009-11-13 15:29:30 -06:00
Denis Kenzior
9a703cd378
Use release_all_held to release a single held call
2009-11-12 19:16:32 -06:00
Denis Kenzior
e9341c5203
Remove Voicecall.Busy method
...
According to 22.030, UDUB or CHLD=0 can only be invoked on waiting
calls. Most AT command based modems do not support using CHLD=0 on an
incoming call. So we remove the Busy method and invoke set_udub on
a call that is in the waiting state.
2009-11-12 19:16:31 -06:00
Denis Kenzior
1cabf97fe8
Use localtime_r instead of localtime
2009-11-05 16:00:34 -06:00
Denis Kenzior
c5600c1be2
Fix: Refine the logic for CHLD=1 and CHLD=2
2009-10-30 12:02:43 -05:00
Denis Kenzior
8f499841cf
Fix: Refine logic for hangup
2009-10-29 00:10:03 -05:00
Denis Kenzior
d3778dde97
In the simple single active call case, use hangup
2009-10-28 23:39:15 -05:00
Denis Kenzior
ba9f38b09e
Fix: Take care of the logic for Dialing
...
The logic for dialing a call while other calls are in the system is a
bit more complicated than what was implemented.
There are several cases to consider:
- Active Call and Held Call
In this situation we cannot dial, the user must drop one of the
calls.
- Active Call and Waiting Call -> We have to put the active call on
hold, unfortunately there is no standard command to do so without
affecting the waiting call. If the modem has a vendor specific
implementation, then try to use that.
- Active Call only -> Put the active call on hold. We use the
swap_without_accept implementation (if exists) to be safe, otherwise
we fall back to hold active calls.
- No Active calls -> Simply dial
2009-10-28 14:36:14 -05:00
Denis Kenzior
3ad86847ec
Refactor: Avoid unnecessary forward declarations
2009-10-28 14:28:51 -05:00
Denis Kenzior
32f013f386
Refactor: Move more code around
...
Avoid unnecessary forward declarations
2009-10-28 14:27:39 -05:00
Denis Kenzior
efd4f4b361
Refactor: Move code to avoid forward declaration
2009-10-28 14:23:51 -05:00
Denis Kenzior
466d70797f
Refactor: Get rid of PENDING_FLAG in voicecalls
...
the pending variable was enough already. Also refactor to use
__ofono_dbus_pending_reply to make the code much more readable.
2009-10-28 14:12:21 -05:00
Denis Kenzior
db44cc0e1c
Add utility to parse CLIR option
2009-10-28 13:06:34 -05:00
Denis Kenzior
ed1d8a6fab
Fix: Skip empty emergency numbers
2009-10-27 12:47:42 -05:00
Olivier Le Thanh Duong
6d9bd02480
Migrate from RFC2822 to ISO8601
2009-10-21 19:04:47 -05:00
Denis Kenzior
1a6f392d8f
Rename function to express its purpose better
2009-10-08 12:57:26 -05:00
Pekka Pessi
0063db3a74
Allow sending DTMF tones in alerting state
...
2nd stage dialing may be done before call gets connected.
2009-10-08 12:55:41 -05:00
Pekka Pessi
72d68e5001
Use swap_without_accept method, if present
2009-10-08 12:55:17 -05:00
Denis Kenzior
be55ba4ab3
Refactor: Move elementary file type checking
...
Every single EF read callback checks the file type reported out of the
SIM is what it expects. Instead this should be done in one place and
the errors reported accordingly
2009-10-02 18:25:56 -05:00
Denis Kenzior
8e449d6184
Some modems don't return from ATD until connected
...
Yet they send progress indications all the way up to connected, which
breaks the current logic.
2009-09-04 20:37:50 -05:00
Denis Kenzior
88ebea5aca
Don't emit disconnect reason if unknown
2009-09-04 20:37:50 -05:00
Denis Kenzior
adaa72533a
For incoming call case, send hangup
...
CHLD=1X doesn't work for incoming calls on some devices. This is
more portable
2009-09-04 20:37:49 -05:00
Denis Kenzior
422df0edfb
change int vendor to unsigned int vendor
2009-09-01 21:39:02 -05:00
Denis Kenzior
4064f4ba73
Add vendor flag capability to voicecalls
2009-09-01 18:14:59 -05:00
Denis Kenzior
aa9a0f6072
Remove unused function
2009-08-20 15:39:12 -05:00
Denis Kenzior
ec3e0f5ce5
Fix implicit declaration of extract_bcd_number
2009-08-20 15:39:12 -05:00
Denis Kenzior
552351e252
Fix unused variable path
2009-08-20 15:39:12 -05:00
Denis Kenzior
191c521f9d
Fix unused variable l
2009-08-20 15:39:12 -05:00
Denis Kenzior
3f76bbf782
Emit the DisconnectReason signal
2009-08-19 18:35:08 -05:00
Denis Kenzior
d704ba7fc2
Make sure call history handles waiting calls
...
Missed waiting calls were not being handled properly
2009-08-19 18:35:08 -05:00
Denis Kenzior
04c12038ba
Evolve the voicecall driver
2009-08-19 18:35:08 -05:00
Denis Kenzior
2b7cd7dede
Update voicecalls to the new SIM API
2009-08-19 18:35:07 -05:00
Denis Kenzior
56e97cb406
Refactor ECC: Free the new_en_list
...
Avoid a potential memory leak in case the interface is removed during
the SIM read operation.
2009-08-19 18:35:06 -05:00
Denis Kenzior
a3d9123ca0
Refactor ECC Support: Update when EFecc is read
...
We should start with a default set of ECC numbers which are always
available according to 22.101, even if no SIM present. Then when
EFecc is read, we update the EmergencyNumbers property. According to
22.101 the 112 and 911 numbers must always be available. Since these
numbers can also be stored on the SIM itself, we must avoid duplication.
2009-08-17 17:06:38 -05:00
Denis Kenzior
2ebef58855
Refactor ECC Support: Don't bother with g_source
...
Don't bother playing the g_source tricks for EmergencyNumbers property
changed signal emission. The list is not bound to change more than
once.
2009-08-17 16:03:01 -05:00
Denis Kenzior
2e432b6ca0
Refactor ECC Support: Free in right spot
...
The freeing of the emergency list should be in voicecalls_destroy
function, where the rest of the datastructure is being freed
2009-08-17 16:02:53 -05:00
Yang Gu
5a0d8709af
Support emergency numbers
2009-08-17 15:51:40 -05:00
Denis Kenzior
314c0facc3
Refactor cssn into ofono_ssn
...
Make this into a fully fledged entity, with a driver instead of the
current kludge. This means modem drivers can actually choose whether
to instantiate a CSSN atom or not
Move the notification functions from voicecall.c into ssn.c.
Move the cssn.h header into include/ssn.h and refactor
Update call barring to utilize ofono_ssn and use the new atom_watch
functionality to detect when ssn has been added or removed
2009-08-14 18:49:01 -05:00
Yang Gu
3c6b6b908f
Remove trailing whitespace
2009-08-14 16:35:34 -05:00
Denis Kenzior
44e56bf752
Use g_source instead of flag for mpty list changes
2009-08-07 16:14:46 -05:00
Denis Kenzior
eae2f2b3fb
Use g_source instead of flag for call list changes
2009-08-07 16:14:40 -05:00
Andrzej Zaborowski
cfce4413c6
Don't use g_slist_length to check for empty lists.
...
A glib Anti-pattern according to http://www.burtonini.com/blog
2009-07-31 09:56:21 -05:00
Denis Kenzior
3e6d4237cb
Remove all uses of modem.h
2009-07-29 16:53:19 -05:00
Denis Kenzior
19eeb7f1ba
Rename modem_add_interface / modem_remove_interface
...
Move to ofono_modem_add_interface, ofono_modem_remove_interface
and put in ofono/modem.h
2009-07-29 16:44:16 -05:00
Denis Kenzior
be064f92a5
Rename modem_alloc_callid, modem_release_callid
2009-07-29 16:44:16 -05:00
Denis Kenzior
35a43b8367
Rename internal ofono history funcs to __ofono
2009-07-29 16:44:16 -05:00
Denis Kenzior
54816de04d
Get rid of dbus-gsm.h
2009-07-29 12:26:06 -05:00
Denis Kenzior
9cd9338ba1
Rename dbus_gsm_dict_append_array
2009-07-29 12:26:05 -05:00
Denis Kenzior
6728542a01
Rename dbus_gsm_dict_append
2009-07-29 12:26:05 -05:00
Denis Kenzior
d9025e13e1
Move & Rename PROPERTIES_ARRAY_SIGNATURE
2009-07-29 12:26:05 -05:00
Denis Kenzior
55787fe876
Rename dbus_gsm_signal_array_property_changed
2009-07-29 12:26:05 -05:00
Denis Kenzior
684b5be1fc
Rename dbus_gsm_signal_property_changed
2009-07-29 12:26:05 -05:00
Denis Kenzior
00fb6cce62
Rename dbus_gsm error functions to __ofono_error
2009-07-29 12:26:05 -05:00
Denis Kenzior
1426d84ad7
Get rid of dbus_gsm_free_string_array
...
Use g_strfreev instead.
2009-07-29 12:26:04 -05:00
Denis Kenzior
99c1c92708
Move & Rename dbus_gsm_connection
...
Move to ofono/dbus.h ofono_dbus_get_connection
2009-07-29 12:26:04 -05:00
Denis Kenzior
1dbfc02d6c
Add call-history driver type
2009-06-17 18:20:20 -05:00
Denis Kenzior
9b9365ffae
Can't implement Multiparty Hangup without chld
2009-06-12 21:39:09 -05:00
Denis Kenzior
46ac5c564c
Do not use chld=1 on mpty when another held
...
If we're trying to hangup an active MPTY call, and we have
calls on hold we shouldn't use CHLD=1 (release_all_active)
since this will have the side-effect of activating the held
calls
2009-06-12 21:39:07 -05:00
Denis Kenzior
50b9a3f375
Fix for multiparty_hangup
...
Due to the use of an invalid structure, release_all_active was being
called instead of release_all_held
2009-06-11 10:44:53 -05:00
Denis Kenzior
b7b890fdb2
Squash gcc warning about uninitialized use of v
2009-05-28 10:03:44 -05:00
Minjun Li
2c73893d0a
Delete the repeated calling of voicecall_create
2009-05-27 10:01:47 -05:00
Minjun Li
e7fe2273d9
Fix erroneous check in voicecall_busy to set_udub
...
The not implemented check should be checking for the presence of the
set_udub function, not the presence of the release_specific function
2009-05-27 10:00:59 -05:00
Denis Kenzior
ab68cd8e7e
Create ofono_phone_number struct
...
Creates a new structure in driver.h called ofono_phone_number.
This is meant to replace const char *number, int number_type
arguments everywhere.
Fix up all existing code to use this structure instead.
2009-05-26 18:18:12 -05:00
Andrzej Zaborowski
e63c82e648
Add an API for a CSSI/CSSU notifications.
2009-05-12 19:09:57 -07:00
Denis Kenzior
95e9c0dcf2
Remove some other unused variables
2009-05-12 19:09:57 -07:00
Denis Kenzior
a78b36290b
Add implementation of telephony daemon
2009-05-05 21:14:19 -07:00