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