Commit Graph

933 Commits

Author SHA1 Message Date
Denis Kenzior 555e2e689d Refactor SIM file access code
SIM File Access conditions would be reported similarly between various
stacks, so it seems like the core logic of figuring out the access
conditions belongs up in the daemon.

This also fixes various problems, including:
  - access conditions read from bytes 10-12, instead of 9-11.
  - read/update, invalidate/rehabilitate and increase conditions
    read from the wrong bits (0-3 instead of 4-7 and vice versa)
2009-07-27 17:09:56 -05:00
Andrzej Zaborowski 5c981d421e Return SIM file access conditions from read_file_info. 2009-07-27 17:09:46 -05:00
Denis Kenzior 4dae83636c Use int for MoreMessagestoSend (mms) 2009-07-27 17:09:35 -05:00
Denis Kenzior 8d47b8f36d Refactor phonebook code 2009-07-16 17:22:04 -05:00
Denis Kenzior fdab3735db Fix style issue 2009-07-16 17:22:04 -05:00
Yang Gu 1a4e3630da Add character set support in phonebook 2009-07-16 17:22:04 -05:00
Denis Kenzior a3a2190f03 Add experimental support for MT incoming sms store
Some Nokia modems only support "MT" as the incoming sms store.
Presumably the modem has some intelligence to pick the right store
depending on the SMS class.  This means that oFono must now track
what the current store is, and issue a CPMS, CMGR & CMGD when a
CMTI notification arrives.
2009-07-16 11:44:48 -05:00
Denis Kenzior 958bf1c239 Add CFUN=1 for the ti_calypso driver 2009-07-16 11:44:48 -05:00
Denis Kenzior 81d382aea2 Add extra_pdu_crlf quirk to ti_calypso driver 2009-07-15 15:51:36 -05:00
Denis Kenzior a90d89e8c1 Remove from pending list if create fails 2009-07-15 15:51:31 -05:00
Denis Kenzior 7104169eb2 Fix printing binary version of the pdu 2009-07-15 15:51:29 -05:00
Denis Kenzior 2effe63667 Fix CNMI parsing, it uses ranges not just a list 2009-07-15 11:49:06 -05:00
Denis Kenzior 4fa4f491a4 Add some more debugging to SMS driver 2009-07-15 11:49:06 -05:00
Denis Kenzior 14436de30f Fix sms looking for text mode instead of pdu mode 2009-07-15 11:49:06 -05:00
Denis Kenzior 2289298615 Style fixes 2009-07-14 15:45:04 -05:00
Denis Kenzior 38a23eb108 Make oFono use proper record ids, don't use tricks 2009-07-14 15:45:04 -05:00
Denis Kenzior 3d1dd9d452 Fix unused variable warning 2009-07-13 22:33:48 -05:00
Marcel Holtmann 6b7fb7c9f9 Fix printf compiler warning with size_t data type 2009-07-14 05:03:39 +02:00
Aki Niemi e56d92ce30 Fix isimodem segfault on modem removal
This fixes segfaults resulting either from destroying a NULL ISI
client, or when multiple ISI modems become available, and get removed
in the wrong order. To support multiple ISI modems concurrently, a
modem object needs to be exposed via the gisi API, and tracked by the
ISI driver. This is a TODO item to add.
2009-07-09 16:15:56 +03:00
Aki Niemi b3a166abea Fix error value to no error in success 2009-07-07 14:29:42 +03:00
Aki Niemi 5a09379263 Initialize to NULL 2009-07-07 14:18:11 +03:00
Aki Niemi 8411088d0c Add modem attribute retrieval
Refactor isimodem.c to add support for querying modem attributes over
the ISI protocol.
2009-07-07 13:24:40 +03:00
Rémi Denis-Courmont 1206287664 Do not include <config.h> from headers
It should be included _first_ in all modules, and it is not proof
against multiple inclusions.
2009-07-03 07:54:25 -07:00
Santtu Lakkala 5f87902443 Add support for tty on character device.
Adds support for using ttys through a serial device directly.
2009-07-01 21:59:27 +03:00
Denis Kenzior 74bbdea02d Preserve clip_validity
CLCC does not report clip_validity.  So if clip_validity of witheld
has been reported in CLIP, but we're still somehow polling CLCC,
which happens if CRING is not supported, and RING is used instead,
this fact can be lost.  Make sure we preserve clip_validity if
possible
2009-06-25 11:45:29 -05:00
Denis Kenzior 4357f33d25 Number and Number Type are optional in CLCC
According to 27.007, the number and number type are optional.  We must
take care not to do anything unexpected in this case.
2009-06-25 11:45:29 -05:00
Aki Niemi 21389a1e05 Delete old placeholder 2009-06-25 10:04:02 +03:00
Aki Niemi 66604021bd Add new ISI modem driver to build 2009-06-25 10:03:47 +03:00
Aki Niemi 7d31520831 Add baseline for ISI modem driver 2009-06-25 10:03:27 +03:00
Andrzej Zaborowski fde5fc5a83 Add write/read operations for cyclic files in SIM. 2009-06-22 13:22:14 -05:00
Yang Gu 95ec7c126f Merge phonebook entries belong to one person 2009-06-22 13:22:13 -05:00
Denis Kenzior 3d24c2654d SMS sending in AT backend 2009-06-19 21:15:05 -05:00
Andrzej Zaborowski 3fa13d4d25 Implement CallBarring::ChangePassword in AT driver 2009-06-18 16:58:02 -05:00
Denis Kenzior 6fdf580a5d Cleanup EFmsisdn reading patch 2009-06-18 04:02:13 -05:00
Andrzej Zaborowski 1c6d44d9c0 Read own numbers from EFmsisdn instead of AT+CNUM. 2009-06-18 04:02:08 -05:00
Denis Kenzior c3e3750ebb Minor style fixes 2009-06-18 04:02:06 -05:00
Andrzej Zaborowski 2b451eaeab Add record based file capability to sim_ops
Add capability to read / write / stat files on the SIM.  This now
supports cyclic, linear fixed and transparent SIM files.

Parse GET RESPONSE result to find structure of the file (cyclic, linear
fixed, or transparent), the file size and the record length.

Add both read and update capability for binary and record-based files.

Implement writing sim files through AT.
2009-06-18 04:02:05 -05:00
Andrzej Zaborowski 498759f2b6 Use GET RESPONSE sim command to retrieve EF length
Also accept 0x9f as a success status word 1 for READ BINARY (GSM specific).
2009-06-18 04:02:03 -05:00
Denis Kenzior 5fa4cd895c Refactor phonebook code
Use immediate mode reporting, which means that the individual CPBR
lines are reported up to the core immediately.  This has a couple
advantages:
  - We do not need to malloc/free a bunch of single variables
    and copy them over.  Helps performance.
  - The lines are not buffered up and given to the plugin in one
    shot, instead processing is performed piecemeal.  This helps
    with keeping memory consumption down to a minimum
2009-06-16 16:42:02 -05:00
Denis Kenzior fc98cf91a8 Use library functions appropriately
Instead of using custom parsing, use the existing library
functionality in result iter open_list, next_range and close_list
2009-06-16 16:42:00 -05:00
Denis Kenzior 9a2ab0de83 Don't use spaces and use tabs instead 2009-06-16 16:38:32 -05:00
Denis Kenzior 6acfa4e046 Re-arrange destruction order 2009-06-16 16:38:27 -05:00
Denis Kenzior be4a4691aa Make const-correct 2009-06-16 16:38:26 -05:00
Yang Gu f00af45270 Export phonebook as vCard 3.0 format 2009-06-16 16:38:17 -05:00
Denis Kenzior ac4aeac3d6 Rework CMGR as an unsolicited notification
Since the PDU line doesn't have a prefix, the parser can get confused
if other unsolicited notifications arrive.  There is already explicit
support for unsolicited notifications with PDU, so we use that
instead
2009-06-16 16:38:15 -05:00
Denis Kenzior 3a28213072 Add Basic SMS reception capabilities
- Can receive 7Bit, 8Bit and UCS2 encoded messages
- 8Bit is assumed to be a datagram to a certain port
- Messages with Invalid format are ignored
- Concatenation not yet supported
2009-06-12 21:43:26 -05:00
Denis Kenzior 3a7164c0e7 Fix memory leak 2009-06-12 19:40:51 -05:00
Denis Kenzior 3c27dae5e8 Fixup style issues with previous MCC/MNC patch
- Breakup MCC/MNC LENGTH constant
- Don't hardcode numbers
- Fix >80 column length
- Fix test case to expect strings instead of shorts
2009-06-12 19:33:55 -05:00
Aki Niemi ba8828c095 Change MNC and MCC variable types to string
This is to make sure both 2 and 3-digit MNC values are correctly
handled. Both the modem plugin API as well as the D-Bus API are
affected.
2009-06-12 11:01:19 -05:00
Denis Kenzior 683b00de1b Fix another pointer cast to use GINT_TO_POINTER 2009-06-11 23:45:04 -05:00
Denis Kenzior 5846688988 Rename sms utilities properly
Rename encode_sms to sms_encode
Rename decode_sms to sms_decode
2009-06-05 19:58:09 -05:00
Denis Kenzior b149dc166c Add proper handling for various messages
Handle Deliver / Status Report / Cell Broadcast messages and send the
appropriate acknowledgement PDUs (+CNMA) if required
2009-06-05 19:57:37 -05:00
Denis Kenzior 973b33f47e Add colons to SMS prefixes 2009-06-05 19:57:01 -05:00
Denis Kenzior 3dcd15a4d8 Add SMS interface initialization code for atmodem 2009-06-03 21:08:47 -05:00
Denis Kenzior 6093b9b438 Add check for error path 2009-06-03 21:08:44 -05:00
Denis Kenzior 44bed555a5 Add check for error path 2009-06-03 21:08:41 -05:00
Minjun Li e387488f02 Adding common unregister code in atmodem driver
Modem cleanup happens in two places: manager_free (ofono exit) and
manager_destroy (manually removing a specific modem).  Both need
to unregister the entire set of registered interfaces.

manager_destroy function did not unregister all interfaces.  Fixed
by adding a common function for both code paths.
2009-06-02 21:36:20 -05:00
Denis Kenzior 373bf7e6bf Forgot this for SMS driver 2009-06-01 14:05:36 -05:00
Denis Kenzior e8421eea63 Add atmodem driver implementation for SMS 2009-05-29 18:37:44 -05:00
Denis Kenzior 5a4d750414 Do not use empty prefixes 2009-05-29 18:37:39 -05:00
Denis Kenzior a4a172d42d Remove unused function 2009-05-28 20:45:25 -05:00
Denis Kenzior 5bffbb8985 Free voicecalls when exiting 2009-05-28 20:45:23 -05:00
Denis Kenzior 699752eaf1 Squash CallWaiting onto CallSettings interface
The CallWaiting interface had one settable attribute after the latest
set of refactoring.  Squash it onto the CallSettings interface where
it belonged in the first place
2009-05-28 18:28:40 -05:00
Denis Kenzior 99b01eba7f Simplify CallWaiting plugin interface
The use of a struct with status & cls seemed pointless when only
a single integer can work just as well.

Also the Fax & Data attributes have been squished.  oFono does
not yet support those call types.
2009-05-28 18:25:45 -05:00
Denis Kenzior 0755110ccc Add plus sign for ATD when dialing international 2009-05-26 18:20:08 -05:00
Denis Kenzior 53c55abd44 Ignore cls for call barring queries 2009-05-26 18:20:06 -05:00
Denis Kenzior db2a98ae5a Cleanup SimManager interface
Future-Proof own numbers support.  For now we only report voice numbers
Rename attributes to be a bit better
2009-05-26 18:20:03 -05:00
Denis Kenzior 1d56ce51df Fixup the initialization / destruction order 2009-05-26 18:18:16 -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 17fd4588fe Add atmodem SIM-related operations 2009-05-26 18:15:56 -05:00
Denis Kenzior 6fb0d8dbfe Make the Call Forwarding atmodem driver work 2009-05-21 17:05:27 -05:00
Andrzej Zaborowski 64bde63431 Remove yet more unused variables. 2009-05-20 13:10:07 -05:00
Denis Kenzior 80828c5ee3 Add class parameter to the query function for CB 2009-05-20 13:06:51 -05:00
Denis Kenzior e220d45b86 Fix some minor style issues 2009-05-20 13:03:40 -05:00
Denis Kenzior b082f87354 Minor build system fix 2009-05-20 13:03:36 -05:00
Andrzej Zaborowski 511d4f2ce5 drivers/atmodem implementation for CallBarring. 2009-05-20 12:51:17 -05:00
Marcel Holtmann c427cdfdfa Fix a potential build name clash 2009-05-13 11:23:16 -07:00
Marcel Holtmann 36eeffeede Add skeleton for PhoNet modem driver 2009-05-13 11:21:13 -07:00
Andrzej Zaborowski 3bde117026 Replace "aofono_" back with "atd_". 2009-05-12 19:09:57 -07:00
Andrzej Zaborowski d0066bed96 Implement AT plugin hooks for +CSSN API. 2009-05-12 19:09:57 -07:00
Denis Kenzior 6d486b7fe1 Add initial implementation of AT modem driver 2009-05-10 23:40:24 -07:00
Marcel Holtmann 4f54515209 Add skeleton for AT modem driver plugin 2009-05-10 22:55:11 -07:00
Marcel Holtmann 0acaee5e1e Add directory for driver plugins 2009-05-10 22:44:37 -07:00