Commit Graph

224 Commits

Author SHA1 Message Date
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