1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
|
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
|