4 - Priority scale: High, Medium and Low
6 - Complexity scale: C1, C2, C4 and C8. The complexity scale is exponential,
7 with complexity 1 being the lowest complexity. Complexity is a function
8 of both task 'complexity' and task 'scope'.
10 The general rule of thumb is that a complexity 1 task should take 1-2 weeks
11 for a person very familiar with oFono codebase. Higher complexity tasks
12 require more time and have higher uncertainty.
14 Higher complexity tasks should be refined into several lower complexity tasks
15 once the task is better understood.
21 - Add support for Enhanced SMS (EMS) from 3GPP 23.040. These SMS messages
22 support a richer set of formatting elements, including bold/italic and
23 font size selection. Embedding images and sounds into the SMS is also
24 supported. This task should add support for receiving such SMS messages.
26 Proposed solution is to convert such messages to HTML and embed image /
27 sound data as embedded MIME in the generated HTML stream. The EMS messages
28 will have to be detected (by the presence of particular tags in the SMS)
29 and signaled separately from simple SMS messages.
34 - Asynchronously acknowledge SMS DELIVER messages sent by the SMS driver
35 to core using ofono_sms_deliver_notify(). This may require the struct
36 ofono_sms_driver to be extended with one more function pointer like:
37 void (*deliver_ack)(unsigned char *pdu, int len, cb_t cb, void *data)
38 because currently messages are automatically acknowledged by either the
39 modem (this is the case of some AT modems) or the driver right after
40 ofono_sms_deliver_notify() and a failure to deliver at an upper level is
41 ignored. The PDU can be an RP-ACK or RP-ERROR message with optional
42 TP-User-Content element, for example if returned from USIM Data Download.
51 - Support UMTS format for CBS messages. This might be needed by some hardware
52 which does not convert UMTS-formatted cell broadcasts to GSM-formatted cell
53 broadcasts. The UMTS CBS format can be found in 3GPP 25.324 Section 11.1.
62 - SIM Call History plugin. New UICCs support four new SIM elementary files
63 for storing call history information on the SIM: EFici, EFict, EFoci, EFoct.
64 A plugin should be developed for oFono that will write to these files.
69 - Add support for SIM 'ready' notifications from the driver to the core. Most
70 modem manufacturers initialize the SIM (e.g. cache SIM file system, STK
71 initialization, etc) internally before allowing the telephony stack to
72 access these portions. When the PIN is locked, this can lead to oFono being
73 too fast for the modem and asking it for things before the firmware is ready.
75 The proposal is to introduce a new sim function:
76 void ofono_sim_ready_notify(struct ofono_sim *sim);
78 When oFono determines the SIM PIN is READY, it checks whether
79 ofono_sim_ready_notify has been called. If it hasn't, then it stalls the
80 initialization procedure (and calling post_sim) until
81 ofono_sim_ready_notify is called.
86 - Support SIM authentication: SIM and AKA suites.
91 - Support SIM authentication: GBA_U suite.
98 ISIM is the SIM application for IP Multimedia Subsystem, specified in
99 3GPP TS 31.103. The UICCs can support multiple ISIMs for different IMS
107 Support reading of the CPHS-defined SPN field from SIMs
112 - CPHS Short SPN support
114 Support reading of the CPHS-defined short SPN field from SIMs
123 - Support HFP-specific AT commands for the HF role, providing an appropriate
124 D-Bus API when needed. Some examples are AT+BIA, AT+BINP, AT+BLDN, AT+BVRA,
134 - Support CE4A extensions to HFP AG emulator. CE4A defines additional
135 AT command extensions to the Bluetooth HFP AG standard. Refer to CE4A
136 white paper: "AT-commands for Automotive Premium Phone Integration".
137 Plugins can register additional command handlers appropriately to handle
142 Depends: HFP AG emulator
144 - Support HSP AG. Similar to HFP AG emulator but implements the much reduced
145 Bluetooth HSP AG profile.
150 - Support DUN networking over the USB transport. This might require extra
151 AT commands to be implemented in order to comply with general USB DUN
152 expectations as there is no standard for the same.
157 - Support Bluetooth SPP profile.
162 - Support new HFP 1.6 AG commands allowing to publish, select and connect audio
163 codecs (AT+BAC, AT+BCS, +BCS, AT+BCC). This will need to interact with audio
168 Depends: HFP AG emulator
170 - Integrate HFP AG emulator as a BlueZ service.
171 Replace direct access to Bluetooth library by usage of the BlueZ service
176 Depends: HFP AG emulator
178 - Add audio management to HFP AG emulator.
179 Integrate HFP AG emulator to BlueZ and Pulse Audio.
180 Add audio related AT commands support: remote audio volume control and in-band
181 ring tone management.
185 Depends: HFP AG emulator as BlueZ service
190 - IPv6 CP support. To support IPv6 based GPRS contexts via PPP, GAtPPP
191 needs to be updated to support IPv6CP from RFC 2472.
200 - Neighbor Cell Info. Add dedicated atom, D-Bus API and atom driver(s) for
201 Neighbor Cell information.
203 This feature is not discussed in 27.007, thus manufacturer specific commands
210 Supplementary Services
211 ======================
213 - Closed User Group (CUG) support.
218 - Call Completion to Busy Subscriber (CCBS) support
220 This feature is not discussed in 27.007, thus manufacturer specific commands
226 - User to User Signaling (UUS) support
231 - Multiple Subscriber Profile (MSP) support
236 - CPHS Support. This includes ALS and CPHS specific elementary files.
241 - Call forwarding state handling change
243 At the moment call forwarding states are not always correct. Any active
244 conditional call forwarding should become quiescent while unconditional call
245 forwarding is activate. If call forwarding unconditional is subsequently
246 deactivated, all the quiescent forwardings should become operative again.
247 I.e. No conditional call forwarding string should be returned while
248 unconditional call forwarding is active even if they exist.
250 If there is an successful attempt to activate/deactivate conditional call
251 forwarding while unconditional call forwarding is active the conditional cache
256 Owner: Nicolas Bertrand <nicolas.bertrand@linux.intel.com>
262 - Dial strings. Include CLIR prefixes and 2nd stage dial strings in the
263 DialString call property. Add dialstring accessor method to C API.
268 - Provide feedback of sent DTMF tones. Emit SendingTones signal if modem can
269 provide approximate starting and stopping times for DTMF tones. Signal
270 argument contains a string of DTMF tones to be sent, or empty string when
271 all tones has been sent.
276 - Blacklisting. According to 3GPP TS 22.001 annex E, the TE must provide
277 automatic calling repeat call attempt restrictions.
279 There should be a method to manually reset blacklisting.
288 - Support of the BIP (Bearer Independent Protocol) proactive commands.
289 The specification defines several bearer types. For now, only the packet data
290 service bearer is considered.
292 - OPEN CHANNEL: requests the terminal to open a data channel with
293 parameters indicated in the command. A user confirmation may be
294 requested by the SimToolkitAgent.
295 - CLOSE CHANNEL:requests the terminal to close the specified data
297 - RECEIVE DATA:requests the terminal to return to the UICC data
298 received on the specified channel.
299 - SEND DATA:requests the terminal to send on the specified channel data
300 provided by the UICC.
301 - GET CHANNEL STATUS: requests the terminal to return the current
302 status of all available data channels.
306 Owner: Philippe Nunes <philippe.nunes@linux.intel.com>
308 - Support Setup Event List proactive command.
309 To fully support the class 'e', the following events
310 -Data Available event
311 -Channel status event
312 shall be monitored by oFono if part of the current event list.
313 This list is supplied by the last SETUP EVENT LIST command.
317 Owner: Philippe Nunes <philippe.nunes@linux.intel.com>
322 - Bluetooth SAP Client support. The Telit UC864-G devices support Bluetooth
323 SAP client mode. This requires the use of a modem side-channel to read the
324 APDU & CPDU data and send it to the remote phone device over Bluetooth RFCOMM
330 - PolicyKit support. Add support for PolicyKit checking of all oFono D-Bus
336 - Internet Access Provider database. Have oFono automatically configure
337 GPRS contexts based on an internal database. Database format to be decided.
338 If there are multiple matches in the database, then some user intervention
344 - Add Location Service API for providing basic E911 support.
345 This will be based on the 27.007 defined AT commands using
346 XML for transport of positioning request and responses.
355 - Add support for Mobile Originated and Mobile Terminated Voice Call over
356 a CDMA network. This includes management of call state and providing
357 appropriate values for the LineIdentification in each case.
362 - Add support for Three-Way Calling over a CDMA network. Three-Way Calling
363 provides the subscriber with the capability to add a third party to an
364 established two-party call, so that all three parties may communicate in a
367 In CDMA mode, the originating subscriber of a current conversation can
368 request for a third party to be added to a conversation by sending a Flash
369 With Information Message (FWIM) with dialed digits to the network. Upon
370 setting up a two-way conversation with the added party, the originating
371 subscriber can request to establish a three-way conversation by sending
372 another Flash With Information Message. Upon receiving the second Flash With
373 Information Message, the MSC reconnects the original party to the
374 conversation thus completing the setup of a three-way conversation.
376 CDMA Three-Way Calling is described by Figure B-5 in 3GPP2 C.S0005-E Version
382 - Add support for Call Waiting over a CDMA network. Call Waiting (CW) provides
383 notification of an incoming call to an originating subscriber, while the
384 subscriber's call is in the 2-way state. Subsequently, the originating
385 subscriber can either answer or ignore the incoming call. If the originating
386 subscriber answers the second call, it may alternate between the two calls.
388 In CDMA mode, the originating subscriber of a current conversation will
389 receive either a Flash With Information Message or an Alert With Information
390 Message from the network if there is an additional mobile terminated voice
391 call incoming. The originating subscriber can change conversation parties by
392 sending a Flash With Information Message to the network and the MSC will
393 toggle the speech path between the two conversations.
395 CDMA Call Waiting is described by Figure B-6 in 3GPP2 C.S0005-E Version
401 - Support sending DTMF tones over CDMA network.
406 - Support optional network-based Plus Code Dialing for international calls over
407 a CDMA network. An input key, e.g. the "+" key, or a functional equivalent
408 can be used to replace the international access prefix when dialing. When
409 received, transmitted or stored, an international indicator can be included
410 with the address digits although it is the responsibility of the network to
411 ignore the international indicator when attached to a national number. This
412 is described in Section 2.7.1.3.2.4 of 3GPP2 C.S0005-E v2.0 and Section 1.2
413 of 3GPP2 N.S0027 v1.0.
421 - Support CDMA SMS stack in PDU mode. This includes basic support of
422 SMS Point-to-Point Message, SMS Broadcast Message and SMS Acknowledge
423 Message as per 3GPP2 C.S0015-B version 2.0.
428 - Support sending Wireless Messaging Teleservice (WMT) Submit Message and
429 receiving WMT Deliver Message as defined 3GPP2 C.S0015-B version 2.0.
434 - Support Delivery Acknowledgment. oFono allows requesting of CDMA SMS
435 Delivery Acknowledgment via the MessageManager's
436 UseDeliveryAcknowledgement property. If enabled, oFono's CDMA SMS stack
437 will encode the Reply Option subparameter in the Submit message and
438 process incoming SMS Delivery Acknowledgment Message. oFono will notify
439 UI either via DBus or history plugin API.
444 - Support receiving Voice Mail Notification (VMN) Teleservice Deliver
445 message. CDMA network uses VMN Teleservice to deliver the number of
446 messages stored at the Voice Mail System to the CDMA mobile subscriber.
451 - Support sending Wireless Enhanced Messaging Teleservice (WEMT) Submit
452 Message and receiving WEMT Deliver Messsage as defined 3GPP2 C.S0015-B
455 WMT does not support message fragmentation thus can not be used to for
456 long message. WEMT is devised to support long message and Enhanced
457 Messaging Service (EMS). The WEMT SMS message's CHARi field of the
458 subparameter User Data encapsulate GSM-SMS TP-User Data as defined in
459 Section 9.2.3.24 of 3GPP TS 23.040.
464 - Support sending Wireless Application Protocol (WAP) Teleservice Submit
465 Message and receiving WAP Deliver Messsage as defined 3GPP2 C.S0015-B
471 - Support Call-Back Number. The Call-Back Number subparameter indicates
472 the number to be dialed in reply to a received SMS message.
474 In transmit direction, oFono allows setting of Call-Back Number. If the
475 Call Back Number property is set, CDMA SMS stack will encode Call-Back
476 Number subparameter in the Submit Message.
478 In receiving direction, oFono will process the Call-Back Number
479 subparameter in the incoming Deliver Message and notify UI of the
480 Call-Back Number together with the newly received text message.
485 - Support immediately displayed message. oFono CDMA SMS stack will
486 process the optional Message Display Mode subparameter in the incoming
487 SMS message. If Message Display Mode subparameter indicates the
488 message display mode is Immediate Display, oFono will send
489 ImmediateMessage signal, otherwise oFono will send IncomingMessage
499 - Support Commercial Mobile Alert Service (CMAS) over CDMA systems. CMAS
500 over CDMA system is defined in TIA-1149. The CMAS message is carried in
501 the CHARi field of the User Data subparameter of CDMA SMS Broadcast
507 CDMA Network Acquisition
508 ========================
510 - Support reporting of the pilot energy ratio (Ec/Io) measurement for the
511 currently acquired CDMA network.
516 - Support of the signal to interference-plus-noise ratio (SINR)
517 measurement for the currently acquired 1xEV-DO data network.
522 - Support reporting of the Enhanced Roaming Indicators (ERI) to indicate the
523 current roaming condition of the CDMA mobile device. Each indicator maps to
524 a unique display number within the Standard and Non-Standard service ranges,
525 as described in Section 8 of 3GPP2 C.R1001-C v1.0.
526 These numbers are stored on the device in the (Enhanced) Preferred Roaming
527 List (PRL) and it is the responsibility of the modem to broadcast the
528 relevant indicator for a currently acquired system. Further details of the
529 system acquisition process are described in 3GPP2 C.S0016-B v1.0.
534 - Support reporting of identifiers of the currently acquired CDMA network,
535 including the System Identifier (SID) and the Network Identifier (NID),
536 It is the responsibility of the modem to broadcast the relevant identifiers
537 for a currently acquired system, and these identifiers are provided by the
538 network. This is described in 3GPP2 C.S0005-E v2.0.
543 - Support International Roaming, including support for reporting the Mobile
544 Country Code (MCC) and the Mobile Network Code (MNC) for the currently
545 acquired network. International Roaming is provided via enhancements to the
546 PRL by encoding the MCC and the (two digit only) MNC in existing SID/NID
547 fields, as described in the CDMA Development Group standards Document "IPRL
548 Enhancements for International Roaming - CDG Doc #86". It is the
549 responsibility of the modem to broadcast the values for the currently
555 - Support reporting of the current registered operator name in long alphanumeric
556 format. Based on the System Identifier (SID) broadcasted by the modem, the
557 CDMA network name is retrieved from a look-up table (aka the 'mobile
558 broadband provider info' database).
563 CDMA Connection Manager
564 =======================
566 - Support Packet Data Service over CDMA (1xRTT and 1xEV-DO) systems. This
567 includes Mobile Originated connection and disconnection features.