summaryrefslogtreecommitdiffstats
path: root/TODO
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2010-05-19 05:25:06 -0500
committerDenis Kenzior <denkenz@gmail.com>2010-05-19 05:25:06 -0500
commite7a590acfcb0b48c937ba72c7f12452da743ad82 (patch)
tree028bcaf419b9ad567834cd3b9dc3c8bd5d07ef01 /TODO
parent3fff4c49c8de500a6355e012c7246890368b2cb7 (diff)
downloadofono-e7a590acfcb0b48c937ba72c7f12452da743ad82.tar.bz2
Add initial TODO file
Diffstat (limited to 'TODO')
-rw-r--r--TODO305
1 files changed, 305 insertions, 0 deletions
diff --git a/TODO b/TODO
new file mode 100644
index 00000000..bdd69766
--- /dev/null
+++ b/TODO
@@ -0,0 +1,305 @@
+Background
+
+- Priority scale: High, Medium and Low
+
+- Complexity scale: C1, C2, C4 and C8. The complexity scale is exponential,
+ with complexity 1 being the lowest complexity. Complexity is a function
+ of both task 'complexity' and task 'scope'.
+
+ The general rule of thumb is that a complexity 1 task should take 1-2 weeks
+ for a person very familiar with oFono codebase. Higher complexity tasks
+ require more time and have higher uncertainty.
+
+ Higher complexity tasks should be refined into several lower complexity tasks
+ once the task is better understood.
+
+SMS
+
+- SMS CS/PS bearer selection per 3GPP 27.007 +CGSMS command. Several
+ operators mandate a particular setting for the SMS bearer. The question
+ to figure out is whether this should be exposed as a property or a global
+ setting in e.g. /etc/ofono/main.conf.
+
+ Priority: Low
+ Complexity: C1
+
+- Add support for Enhanced SMS (EMS) from 3GPP 23.040. These SMS messages
+ support a richer set of formatting elements, including bold/italic and
+ font size selection. Embedding images and sounds into the SMS is also
+ supported. This task should add support for receiving such SMS messages.
+
+ Proposed solution is to convert such messages to HTML and embed image /
+ sound data as embedded MIME in the generated HTML stream. The EMS messages
+ will have to be detected (by the presence of particular tags in the SMS)
+ and signaled seperately from simple SMS messages.
+
+ Priority: Low
+ Complexity: C8
+
+- Source / Destination port addressing scheme from 3GPP 23.040. A special
+ header is used to indicate the source / destination port of the application
+ this SMS message belongs to. Such messages which are encoded in 8-bit should
+ be decoded by oFono automatically. The handler associated with this source /
+ destination port is called with the decoded stream.
+
+ Proposed solution involves a registration / callback framework in the SMS
+ atom for plugins to register handlers. Default (wildcard) handler is also
+ desired.
+
+ Priority: High
+ Complexity: C2
+
+- Smart Messaging Service. This is a separate standard from Nokia and uses
+ the 3GPP 23.040 source / destination addressing scheme. The main aim of
+ this task is to support vCards and vCalendar objects over SMS.
+
+ Proposed solution is to add a plugin with an extension API to send / receive
+ such messages.
+
+ Priority: Medium
+ Complexity: C2
+ Depends: Source / Destination port scheme
+
+- WAP PUSH notification support for MMS. oFono should be able to receive
+ WAP PUSH messages over SMS, parse them and report them to the upper level
+ MMS stack.
+
+ Priority: Low
+ Complexity: C8
+
+- See / Cancel pending SMS messages over DBus. When oFono sends SMS messages
+ the method call is only returned when the message has been submitted to the
+ network. Instead we should return an object path and allow cancellation of
+ pending messages.
+
+ Priority: High
+ Complexity: C2
+
+- Persist outgoing SMS messages. Currently oFono persists incoming messages
+ that are fragmented. However oFono does not persist queued outgoing
+ messages. oFono should persist such messages and restore / requeue them
+ on the next oFono startup.
+
+ Priority: High
+ Complexity: C1
+
+- Better unique ID for incoming / outgoing messages. Currently oFono uses
+ a simple incremental counter stored in the settings store (NextMessageId).
+ This tends to break quite easily in strange situations (e.g. forced battery
+ removal, unexpected crashes). This makes the uniqueness of this ID not
+ always guaranteed.
+
+ Proposed solution is to base the ID on SHA1 or MD5 hash. Hash the contents
+ of the message + reception / sent time and the sender / originator address.
+
+ Priority: High
+ Complexity: C1
+
+- SMS Status Report support support according to 3GPP 23.040. oFono should
+ support SMS start reports. For fragmented SMS messages oFono should take
+ care of collating the status reports for each fragment and notifying once
+ all fragments are received.
+
+ SMS call history should be updated with support of SMS 'delivered' or
+ 'undeliverable' status.
+
+ Priority: Medium
+ Complexity: C4
+
+SIM / SIM File system
+
+- Fixed Dialing support. oFono should support Fixed Dialing Numbers. This
+ requires being able to edit the FD phonebook or assume that the FD phonebook
+ has been appropriately bootstrapped.
+
+ Priority: Low
+ Complexity: C2
+
+- Barred Numbers. oFono should support Barred Numbers capability. This
+ requires ability to read & write EFadn entries on the SIM.
+
+ Priority: Low
+ Complexity: C4
+
+- Read / Write EFcfis. Call forwarding settings can be bootstrapped on the
+ SIM for faster notification of the user that call forwarding is active.
+ These settings are stored in EFcfis. oFono should read these settings and
+ update the call history atom appropriately.
+
+ Priority: Low
+ Complexity: C2
+
+- SIM Call History plugin. New UICCs support four new SIM elementary files
+ for storing call history information on the SIM: EFici, EFict, EFoci, EFoct.
+ A plugin should be developed for oFono that will write to these files.
+
+ Priority: Low
+ Complexity: C2
+
+Modem Emulator
+
+- Support HFP AG emulator. We should provide a new HFP_AG_EMULATOR atom type
+ that will implement the Bluetooth HFP AG profile. Voicecall atom, netreg
+ atoms can register command handlers for this atom appropriately.
+
+ Complexity: C4
+ Priority: Medium
+
+- Support extensions to HFP AG emulator. Some carkits support additional
+ AT command extensions to the Bluetooth HFP AG standard. Refer to CE4A
+ white paper: "AT-commands for Automotive Premium Phone Integration".
+ Plugins can register additional command handlers appropriately to handle
+ such commands.
+
+ Complexity: C4
+ Priority: Medium
+ Depends: HFP AG emulator
+
+- Support HSP AG. Similar to HFP AG emulator but implements the much reduced
+ Bluetooth HSP AG profile.
+
+ Priority: Low
+ Complexity: C1
+
+- Support DUN emulator. Implement the Bluetooth DUN profile with only mandatory
+ AT command support.
+
+ Complexity: C4
+ Priority: Medium
+
+ Depends: PPP Server mode
+
+- Support Bluetooth SPP profile.
+
+ Complexity: C4
+ Priority: Medium
+
+Flight Mode
+
+- Flight Mode support. Add an 'Online' property to the Modem interface that
+ will control the online state of the modem. When Online state is True all
+ atoms are available. When Online state is False, all network related items
+ are removed (e.g. CallSettings) or enter into reduced functionality set
+ where only the SIM is available (e.g. DataConnectionManager, SimManager, etc)
+
+ Complexity: C4
+ Priority: High
+
+GPRS
+
+- PPP gprs-context driver support. Add an implementation for 'atmodem' that
+ will use the GAtPPP stack to drive a GPRS context interface. Nicely support
+ existing PPP based modems like Huawei, Novatel and Sierra.
+
+ Priority: High
+ Complexity: C2
+
+- PPP Server support. Extend GAtPPP to support PPP Server role, similarly to
+ how existing GSM modems support PPP GPRS contexts.
+
+ Priority: High
+ Complexity: C2
+
+- On-demand SOCKS5 proxy support for MMS contexts. When an MMS context type
+ is created, oFono should create a SOCKS5 proxy. When a client connects to
+ the proxy, oFono can activate the GPRS context on-demand.
+
+ Priority: High
+ Complexity: C2
+
+Location Services
+- Neighbor Cell Info. Add dedicated atom, D-Bus API and atom driver(s) for
+ Neighbor Cell information.
+
+ Complexity: C4
+ Priority: Medium
+
+Supplementary Services
+
+- Closed User Group (CUG) support.
+
+ Priority: Low
+ Complexity: C8
+
+- Call Completion to Busy Subscriber (CCBS) support
+
+ Priority: Low
+ Complexity: C8
+
+- Calling Name Presentation (CNAP) support
+
+ Priority: Low
+ Complexity: C2
+
+- User to User Signaling (UUS) support
+
+ Priority: Low
+ Complexity: C8
+
+Miscellaneous
+- Country Specific emergency numbers. Figure out how to support countries with
+ specific mandated emergency numbers which are not part of the standard
+ emergency number list.
+
+ Complexity: C2
+ Priority: Low
+
+- Bluetooth SAP Client support. The Telit UC864-G devices support Bluetooth
+ SAP client mode. This requires the use of a modem side-channel to read the
+ APDU & CPDU data and send it to the remote phone device over Bluetooth RFCOMM
+ channel.
+
+ Complexity: C4
+ Priority: Low
+
+- Frequency Band Selection. Add frequency band selection capability to the
+ RadioSettings atom.
+
+ Complexity: C2
+ Priority: Low
+
+- PolicyKit support. Add support for PolicyKit checking of all oFono D-Bus
+ interfaces.
+
+ Complexity: C4
+ Priority: Low
+
+- Network Time (NITZ) support
+
+ Complexity: C1
+ Priority: Low
+
+- Internet Access Provider database. Have oFono automatically configure
+ GPRS contexts based on an internal database. Database format to be decided.
+ If there are multiple matches in the database, then some user intervention
+ might be required.
+
+ Priority: Medium
+ Complexity: C8
+
+- Support for modem 'silent' reset notifications. oFono will remove all atoms
+ and re-initialize.
+
+ Priority: Medium
+ Complexity: C2
+
+- Add support for Modem 'power down & lock' and 'unlock & power up'. When the
+ 'power down & lock' is given, the calling application is noted and all
+ other applications are blocked from powering up the modem. Only the calling
+ application can lift the lock. Alternatively, if the calling application
+ exits prematurely the lock is lifted as well.
+
+ Priority: Medium
+ Complexity: C2
+
+- Add a property for Automatic Idle (sometimes referred to as Fast Dormancy)
+ in the RadioSettings atom. This property will enable or disable the use of
+ automatic connection release by the modem for power consumption reasons.
+ This is a major power-saving feature for phones, but can be ignored for USB
+ sticks or PCI devices.
+
+ If the modem does not support such a feature the property should never be
+ exposed to the user.
+
+ Priority: High
+ Complexity: C1