mirror of git://git.sysmocom.de/ofono
534 lines
18 KiB
Plaintext
534 lines
18 KiB
Plaintext
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
|
|
|
|
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 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
|
|
Owner: Frédéric Danis <frederic.danis@linux.intel.com>
|
|
|
|
- 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 emulator. Implement the Bluetooth DUN profile with only mandatory
|
|
AT command support. Implement USB DUN as well.
|
|
|
|
Complexity: C4
|
|
Priority: Medium
|
|
Owner: Guillaume Zajac <guillaume.zajac@linux.intel.com>
|
|
|
|
Depends: PPP Server mode
|
|
|
|
- Support Bluetooth SPP profile.
|
|
|
|
Complexity: C4
|
|
Priority: Medium
|
|
|
|
|
|
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
|
|
|
|
- ACFC support. Extend GAtPPP to support packets with Address & Control Field
|
|
Compression enabled. Refer to RFC 1662 for details.
|
|
|
|
Priority: Medium
|
|
Complexity: C1
|
|
Owner: Guillaume Zajac <guillaume.zajac@linux.intel.com>
|
|
|
|
- PFC support. Extend GAtPPP to support packets with Protocol field
|
|
compression enabled. Refer to RFC 1661 for details.
|
|
|
|
Priority: Medium
|
|
Complexity: C1
|
|
Owner: Guillaume Zajac <guillaume.zajac@linux.intel.com>
|
|
|
|
|
|
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
|
|
|
|
|
|
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
|
|
=============
|
|
|
|
- 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
|
|
|
|
- PolicyKit support. Add support for PolicyKit checking of all oFono D-Bus
|
|
interfaces.
|
|
|
|
Complexity: C4
|
|
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
|
|
|
|
- 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
|
|
|
|
|
|
CDMA Voicecall
|
|
==============
|
|
|
|
- Add support for Mobile Originated and Mobile Terminated Voice Call over
|
|
a CDMA network. This includes management of call state and providing
|
|
appropriate values for the LineIdentification in each case.
|
|
|
|
Priority: High
|
|
Complexity: C2
|
|
|
|
- Add support for Three-Way Calling over a CDMA network. Three-Way Calling
|
|
provides the subscriber with the capability to add a third party to an
|
|
established two-party call, so that all three parties may communicate in a
|
|
three-way call.
|
|
|
|
In CDMA mode, the originating subscriber of a current conversation can
|
|
request for a third party to be added to a conversation by sending a Flash
|
|
With Information Message (FWIM) with dialed digits to the network. Upon
|
|
setting up a two-way conversation with the added party, the originating
|
|
subscriber can request to establish a three-way conversation by sending
|
|
another Flash With Information Message. Upon receiving the second Flash With
|
|
Information Message, the MSC reconnects the original party to the
|
|
conversation thus completing the setup of a three-way conversation.
|
|
|
|
CDMA Three-Way Calling is described by Figure B-5 in 3GPP2 C.S0005-E Version
|
|
2.0.
|
|
|
|
Priority: High
|
|
Complexity: C2
|
|
|
|
- Add support for Call Waiting over a CDMA network. Call Waiting (CW) provides
|
|
notification of an incoming call to an originating subscriber, while the
|
|
subscriber's call is in the 2-way state. Subsequently, the originating
|
|
subscriber can either answer or ignore the incoming call. If the originating
|
|
subscriber answers the second call, it may alternate between the two calls.
|
|
|
|
In CDMA mode, the originating subscriber of a current conversation will
|
|
receive either a Flash With Information Message or an Alert With Information
|
|
Message from the network if there is an additional mobile terminated voice
|
|
call incoming. The originating subscriber can change conversation parties by
|
|
sending a Flash With Information Message to the network and the MSC will
|
|
toggle the speech path between the two conversations.
|
|
|
|
CDMA Call Waiting is described by Figure B-6 in 3GPP2 C.S0005-E Version
|
|
2.0.
|
|
|
|
Priority: High
|
|
Complexity: C2
|
|
|
|
- Support sending DTMF tones over CDMA network.
|
|
|
|
Priority: High
|
|
Complexity: C2
|
|
|
|
- Support optional network-based Plus Code Dialing for international calls over
|
|
a CDMA network. An input key, e.g. the "+" key, or a functional equivalent
|
|
can be used to replace the international access prefix when dialing. When
|
|
received, transmitted or stored, an international indicator can be included
|
|
with the address digits although it is the responsibility of the network to
|
|
ignore the international indicator when attached to a national number. This
|
|
is described in Section 2.7.1.3.2.4 of 3GPP2 C.S0005-E v2.0 and Section 1.2
|
|
of 3GPP2 N.S0027 v1.0.
|
|
|
|
Priority: High
|
|
Complexity: C2
|
|
|
|
CDMA SMS
|
|
==============
|
|
|
|
- Support CDMA SMS stack in PDU mode. This includes basic support of
|
|
SMS Point-to-Point Message, SMS Broadcast Message and SMS Acknowledge
|
|
Message as per 3GPP2 C.S0015-B version 2.0.
|
|
|
|
Priority: High
|
|
Complexity: C4
|
|
|
|
- Support sending Wireless Messaging Teleservice (WMT) Submit Message and
|
|
receiving WMT Deliver Message as defined 3GPP2 C.S0015-B version 2.0.
|
|
|
|
Priority: High
|
|
Complexity: C4
|
|
|
|
- Support Delivery Acknowledgment. oFono allows requesting of CDMA SMS
|
|
Delivery Acknowledgment via the MessageManager's
|
|
UseDeliveryAcknowledgement property. If enabled, oFono's CDMA SMS stack
|
|
will encode the Reply Option subparameter in the Submit message and
|
|
process incoming SMS Delivery Acknowledgment Message. oFono will notify
|
|
UI either via DBus or history plugin API.
|
|
|
|
Priority: Medium
|
|
Complexity: C2
|
|
|
|
- Support receiving Voice Mail Notification (VMN) Teleservice Deliver
|
|
message. CDMA network uses VMN Teleservice to deliver the number of
|
|
messages stored at the Voice Mail System to the CDMA mobile subscriber.
|
|
|
|
Priority: High
|
|
Complexity: C4
|
|
|
|
- Support sending Wireless Enhanced Messaging Teleservice (WEMT) Submit
|
|
Message and receiving WEMT Deliver Messsage as defined 3GPP2 C.S0015-B
|
|
version 2.0.
|
|
|
|
WMT does not support message fragmentation thus can not be used to for
|
|
long message. WEMT is devised to support long message and Enhanced
|
|
Messaging Service (EMS). The WEMT SMS message's CHARi field of the
|
|
subparameter User Data encapsulate GSM-SMS TP-User Data as defined in
|
|
Section 9.2.3.24 of 3GPP TS 23.040.
|
|
|
|
Priority: Medium
|
|
Complexity: C4
|
|
|
|
- Support sending Wireless Application Protocol (WAP) Teleservice Submit
|
|
Message and receiving WAP Deliver Messsage as defined 3GPP2 C.S0015-B
|
|
version 2.0.
|
|
|
|
Priority: Medium
|
|
Complexity: C4
|
|
|
|
- Support Call-Back Number. The Call-Back Number subparameter indicates
|
|
the number to be dialed in reply to a received SMS message.
|
|
|
|
In transmit direction, oFono allows setting of Call-Back Number. If the
|
|
Call Back Number property is set, CDMA SMS stack will encode Call-Back
|
|
Number subparameter in the Submit Message.
|
|
|
|
In receiving direction, oFono will process the Call-Back Number
|
|
subparameter in the incoming Deliver Message and notify UI of the
|
|
Call-Back Number together with the newly received text message.
|
|
|
|
Priority: Medium
|
|
Complexity: C2
|
|
|
|
- Support immediately displayed message. oFono CDMA SMS stack will
|
|
process the optional Message Display Mode subparameter in the incoming
|
|
SMS message. If Message Display Mode subparameter indicates the
|
|
message display mode is Immediate Display, oFono will send
|
|
ImmediateMessage signal, otherwise oFono will send IncomingMessage
|
|
signal.
|
|
|
|
Priority: Medium
|
|
Complexity: C2
|
|
|
|
|
|
CDMA CMAS
|
|
==============
|
|
|
|
- Support Commercial Mobile Alert Service (CMAS) over CDMA systems. CMAS
|
|
over CDMA system is defined in TIA-1149. The CMAS message is carried in
|
|
the CHARi field of the User Data subparameter of CDMA SMS Broadcast
|
|
message.
|
|
|
|
Priority: Medium
|
|
Complexity: C4
|
|
|
|
CDMA Network Acquisition
|
|
========================
|
|
|
|
- Support reporting of the received signal strength indicator (RSSI)
|
|
measurement and of the pilot energy ratio (Ec/Io) measurement, for the
|
|
currently acquired CDMA network.
|
|
|
|
Priority: Medium
|
|
Complexity: C1
|
|
|
|
- Support reporting of the received signal strength indicator (RSSI)
|
|
measurement and of the signal to interference-plus-noise ratio (SINR)
|
|
measurement, for the currently acquired 1xEV-DO data network.
|
|
|
|
Priority: Medium
|
|
Complexity: C1
|
|
|
|
- Support reporting of the Enhanced Roaming Indicators (ERI) to indicate the
|
|
current roaming condition of the CDMA mobile device. Each indicator maps to
|
|
a unique display number within the Standard and Non-Standard service ranges,
|
|
as described in Section 8 of 3GPP2 C.R1001-C v1.0.
|
|
These numbers are stored on the device in the (Enhanced) Preferred Roaming
|
|
List (PRL) and it is the responsibility of the modem to broadcast the
|
|
relevant indicator for a currently acquired system. Further details of the
|
|
system acquisition process are described in 3GPP2 C.S0016-B v1.0.
|
|
|
|
Priority: Medium
|
|
Complexity: C2
|
|
|
|
- Support reporting of identifiers of the currently acquired CDMA network,
|
|
including the System Identifier (SID) and the Network Identifier (NID),
|
|
It is the responsibility of the modem to broadcast the relevant identifiers
|
|
for a currently acquired system, and these identifiers are provided by the
|
|
network. This is described in 3GPP2 C.S0005-E v2.0.
|
|
|
|
Priority: Medium
|
|
Complexity: C2
|
|
|
|
- Support International Roaming, including support for reporting the Mobile
|
|
Country Code (MCC) and the Mobile Network Code (MNC) for the currently
|
|
acquired network. International Roaming is provided via enhancements to the
|
|
PRL by encoding the MCC and the (two digit only) MNC in existing SID/NID
|
|
fields, as described in the CDMA Development Group standards Document "IPRL
|
|
Enhancements for International Roaming - CDG Doc #86". It is the
|
|
responsibility of the modem to broadcast the values for the currently
|
|
acquired system.
|
|
|
|
Priority: Medium
|
|
Complexity: C2
|
|
|
|
CDMA Connection Manager
|
|
=======================
|
|
|
|
- Support Packet Data Service over CDMA (1xRTT and 1xEV-DO) systems. This
|
|
includes Mobile Originated connection and disconnection features.
|
|
|
|
Priority: Medium
|
|
Complexity: C4
|
|
|
|
- Support Network Initiated disconnection of Packet Data Service over CDMA
|
|
(1xRTT and 1xEV-DO) systems.
|
|
|
|
Priority: Medium
|
|
Complexity: C2
|