blob: 712dc4112b3202b8c523881737dce580b983a413 [file] [log] [blame]
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
===
- 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 separately from simple SMS messages.
Priority: Low
Complexity: C8
- Asynchronously acknowledge SMS DELIVER messages sent by the SMS driver
to core using ofono_sms_deliver_notify(). This may require the struct
ofono_sms_driver to be extended with one more function pointer like:
void (*deliver_ack)(unsigned char *pdu, int len, cb_t cb, void *data)
because currently messages are automatically acknowledged by either the
modem (this is the case of some AT modems) or the driver right after
ofono_sms_deliver_notify() and a failure to deliver at an upper level is
ignored. The PDU can be an RP-ACK or RP-ERROR message with optional
TP-User-Content element, for example if returned from USIM Data Download.
Priority: Low
Complexity: C2
CBS
===
- Support UMTS format for CBS messages. This might be needed by some hardware
which does not convert UMTS-formatted cell broadcasts to GSM-formatted cell
broadcasts. The UMTS CBS format can be found in 3GPP 25.324 Section 11.1.
Priority: Low
Complexity: C2
SIM / SIM File system
=====================
- 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
- Add support for SIM 'ready' notifications from the driver to the core. Most
modem manufacturers initialize the SIM (e.g. cache SIM file system, STK
initialization, etc) internally before allowing the telephony stack to
access these portions. When the PIN is locked, this can lead to oFono being
too fast for the modem and asking it for things before the firmware is ready.
The proposal is to introduce a new sim function:
void ofono_sim_ready_notify(struct ofono_sim *sim);
When oFono determines the SIM PIN is READY, it checks whether
ofono_sim_ready_notify has been called. If it hasn't, then it stalls the
initialization procedure (and calling post_sim) until
ofono_sim_ready_notify is called.
Priority: High
Complexity: C2
- Support SIM authentication: SIM and AKA suites.
Priority: Medium
Complexity: C4
- Support SIM authentication: GBA_U suite.
Priority: Low
Complexity: C4
- ISIM support
ISIM is the SIM application for IP Multimedia Subsystem, specified in
3GPP TS 31.103. The UICCs can support multiple ISIMs for different IMS
identities.
Priority: Low
Complexity: C4
Modem Emulator
==============
- Support CE4A extensions to HFP AG emulator. CE4A defines 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: Low
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 networking over the USB transport. This might require extra
AT commands to be implemented in order to comply with general USB DUN
expectations as there is no standard for the same.
Complexity: C4
Priority: Low
- Support Bluetooth SPP profile.
Complexity: C4
Priority: Medium
- Support new HFP 1.6 AG commands allowing to publish, select and connect audio
codecs (AT+BAC, AT+BCS, +BCS, AT+BCC). This will need to interact with audio
framework.
Complexity: C4
Priority: Low
Depends: HFP AG emulator
- Integrate HFP AG emulator as a BlueZ service.
Replace direct access to Bluetooth library by usage of the BlueZ service
architecture.
Complexity: C2
Priority: Medium
Depends: HFP AG emulator
- Add audio management to HFP AG emulator.
Integrate HFP AG emulator to BlueZ and Pulse Audio.
Add audio related AT commands support: remote audio volume control and in-band
ring tone management.
Complexity: C4
Priority: Medium
Depends: HFP AG emulator as BlueZ service
PPP
===
- IPv6 CP support. To support IPv6 based GPRS contexts via PPP, GAtPPP
needs to be updated to support IPv6CP from RFC 2472.
Priority: Low
Complexity: C4
Location Services
=================
- Neighbor Cell Info. Add dedicated atom, D-Bus API and atom driver(s) for
Neighbor Cell information.
This feature is not discussed in 27.007, thus manufacturer specific commands
are required.
Complexity: C4
Priority: Medium
Supplementary Services
======================
- Closed User Group (CUG) support.
Priority: Low
Complexity: C8
- Call Completion to Busy Subscriber (CCBS) support
This feature is not discussed in 27.007, thus manufacturer specific commands
are required.
Priority: Low
Complexity: C8
- User to User Signaling (UUS) support
Priority: Low
Complexity: C8
- Multiple Subscriber Profile (MSP) support
Priority: Low
Complexity: C2
- CPHS Support. This includes ALS and CPHS specific elementary files.
Priority: Low
Complexity: C8
- Call forwarding state handling change
At the moment call forwarding states are not always correct. Any active
conditional call forwarding should become quiescent while unconditional call
forwarding is activate. If call forwarding unconditional is subsequently
deactivated, all the quiescent forwardings should become operative again.
I.e. No conditional call forwarding string should be returned while
unconditional call forwarding is active even if they exist.
If there is an successful attempt to activate/deactivate conditional call
forwarding while unconditional call forwarding is active the conditional cache
flag should cleared.
Priority: High
Complexity: C1
Owner: Nicolas Bertrand <nicolas.bertrand@linux.intel.com>
Voicecall
=========
- Dial strings. Include CLIR prefixes and 2nd stage dial strings in the
DialString call property. Add dialstring accessor method to C API.
Priority: Medium
Complexity: C4
- Provide feedback of sent DTMF tones. Emit SendingTones signal if modem can
provide approximate starting and stopping times for DTMF tones. Signal
argument contains a string of DTMF tones to be sent, or empty string when
all tones has been sent.
Priority: Medium
Complexity: C2
- Blacklisting. According to 3GPP TS 22.001 annex E, the TE must provide
automatic calling repeat call attempt restrictions.
There should be a method to manually reset blacklisting.
Priority: Medium
Complexity: C1
- DTMF Driver hints
Currently multiple DTMF tones are sent to the driver in batches of up to 8
characters. For those drivers that can only accept a limited set of DTMF
characters at a time (e.g. one), add a setting to the core that will change
this batch size limit.
Priority: Medium
Complexity: C1
Sim Toolkit
===========
- Support of the BIP (Bearer Independent Protocol) proactive commands.
The specification defines several bearer types. For now, only the packet data
service bearer is considered.
- OPEN CHANNEL: requests the terminal to open a data channel with
parameters indicated in the command. A user confirmation may be
requested by the SimToolkitAgent.
- CLOSE CHANNEL:requests the terminal to close the specified data
channel.
- RECEIVE DATA:requests the terminal to return to the UICC data
received on the specified channel.
- SEND DATA:requests the terminal to send on the specified channel data
provided by the UICC.
- GET CHANNEL STATUS: requests the terminal to return the current
status of all available data channels.
Priority: Medium
Complexity: C4
Owner: Philippe Nunes <philippe.nunes@linux.intel.com>
- Support Setup Event List proactive command.
To fully support the class 'e', the following events
-Data Available event
-Channel status event
shall be monitored by oFono if part of the current event list.
This list is supplied by the last SETUP EVENT LIST command.
Priority: Medium
Complexity: C2
Owner: Philippe Nunes <philippe.nunes@linux.intel.com>
Miscellaneous
=============
- PolicyKit support. Add support for PolicyKit checking of all oFono D-Bus
interfaces.
Complexity: C4
Priority: Low
- Add Location Service API for providing basic E911 support.
This will be based on the 27.007 defined AT commands using
XML for transport of positioning request and responses.
Priority: Medium
Complexity: C2