~awe/phablet-extras/ofono-unittest-gprs-context

1.4.1 by Jonny Lamb
Import upstream version 0.53
1
Background
1.2.5 by Sebastien Bacher
Import upstream version 0.23
2
==========
3
4
- Priority scale: High, Medium and Low
5
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'.
9
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.
13
14
  Higher complexity tasks should be refined into several lower complexity tasks
15
  once the task is better understood.
16
17
18
SMS
19
===
20
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.
25
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)
1.3.1 by Jonny Lamb
Import upstream version 0.36
29
  and signaled separately from simple SMS messages.
1.2.5 by Sebastien Bacher
Import upstream version 0.23
30
31
  Priority: Low
32
  Complexity: C8
33
1.3.1 by Jonny Lamb
Import upstream version 0.36
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.
43
44
  Priority: Low
45
  Complexity: C2
1.2.5 by Sebastien Bacher
Import upstream version 0.23
46
1.4.2 by Hector Oron
Import upstream version 1.6
47
48
CBS
49
===
50
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.
54
55
  Priority: Low
56
  Complexity: C2
57
58
1.2.5 by Sebastien Bacher
Import upstream version 0.23
59
SIM / SIM File system
60
=====================
61
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.
65
66
  Priority: Low
67
  Complexity: C2
68
1.3.1 by Jonny Lamb
Import upstream version 0.36
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.
74
75
  The proposal is to introduce a new sim function:
76
    void ofono_sim_ready_notify(struct ofono_sim *sim);
77
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.
82
83
  Priority: High
84
  Complexity: C2
1.3.2 by Mathieu Trudel-Lapierre
Import upstream version 0.41
85
1.4.1 by Jonny Lamb
Import upstream version 0.53
86
- Support SIM authentication: SIM and AKA suites.
1.3.2 by Mathieu Trudel-Lapierre
Import upstream version 0.41
87
88
  Priority: Medium
1.4.1 by Jonny Lamb
Import upstream version 0.53
89
  Complexity: C4
90
91
- Support SIM authentication: GBA_U suite.
92
93
  Priority: Low
94
  Complexity: C4
95
96
- ISIM support
97
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
100
  identities.
101
102
  Priority: Low
103
  Complexity: C4
104
1.3.2 by Mathieu Trudel-Lapierre
Import upstream version 0.41
105
1.2.5 by Sebastien Bacher
Import upstream version 0.23
106
Modem Emulator
107
==============
108
1.4.1 by Jonny Lamb
Import upstream version 0.53
109
- Support CE4A extensions to HFP AG emulator. CE4A defines additional
110
  AT command extensions to the Bluetooth HFP AG standard. Refer to CE4A
1.2.5 by Sebastien Bacher
Import upstream version 0.23
111
  white paper: "AT-commands for Automotive Premium Phone Integration".
112
  Plugins can register additional command handlers appropriately to handle
113
  such commands.
114
115
  Complexity: C4
1.4.1 by Jonny Lamb
Import upstream version 0.53
116
  Priority: Low
1.2.5 by Sebastien Bacher
Import upstream version 0.23
117
  Depends: HFP AG emulator
118
119
- Support HSP AG.  Similar to HFP AG emulator but implements the much reduced
120
  Bluetooth HSP AG profile.
121
122
  Priority: Low
123
  Complexity: C1
124
1.4.2 by Hector Oron
Import upstream version 1.6
125
- Support DUN networking over the USB transport.  This might require extra
126
  AT commands to be implemented in order to comply with general USB DUN
127
  expectations as there is no standard for the same.
1.2.5 by Sebastien Bacher
Import upstream version 0.23
128
129
  Complexity: C4
1.4.2 by Hector Oron
Import upstream version 1.6
130
  Priority: Low
1.2.5 by Sebastien Bacher
Import upstream version 0.23
131
132
- Support Bluetooth SPP profile.
133
134
  Complexity: C4
135
  Priority: Medium
136
1.4.1 by Jonny Lamb
Import upstream version 0.53
137
- Support new HFP 1.6 AG commands allowing to publish, select and connect audio
138
  codecs (AT+BAC, AT+BCS, +BCS, AT+BCC). This will need to interact with audio
139
  framework.
1.2.5 by Sebastien Bacher
Import upstream version 0.23
140
141
  Complexity: C4
1.4.1 by Jonny Lamb
Import upstream version 0.53
142
  Priority: Low
143
  Depends: HFP AG emulator
144
145
- Integrate HFP AG emulator as a BlueZ service.
146
  Replace direct access to Bluetooth library by usage of the BlueZ service
147
  architecture.
148
1.2.5 by Sebastien Bacher
Import upstream version 0.23
149
  Complexity: C2
1.4.1 by Jonny Lamb
Import upstream version 0.53
150
  Priority: Medium
151
  Depends: HFP AG emulator
152
153
- Add audio management to HFP AG emulator.
154
  Integrate HFP AG emulator to BlueZ and Pulse Audio.
155
  Add audio related AT commands support: remote audio volume control and in-band
156
  ring tone management.
157
158
  Complexity: C4
159
  Priority: Medium
160
  Depends: HFP AG emulator as BlueZ service
161
162
PPP
163
===
1.3.1 by Jonny Lamb
Import upstream version 0.36
164
165
- IPv6 CP support.  To support IPv6 based GPRS contexts via PPP, GAtPPP
166
  needs to be updated to support IPv6CP from RFC 2472.
167
168
  Priority: Low
169
  Complexity: C4
1.2.5 by Sebastien Bacher
Import upstream version 0.23
170
171
172
Location Services
173
=================
174
175
- Neighbor Cell Info.  Add dedicated atom, D-Bus API and atom driver(s) for
176
  Neighbor Cell information.
177
1.3.1 by Jonny Lamb
Import upstream version 0.36
178
  This feature is not discussed in 27.007, thus manufacturer specific commands
179
  are required.
180
1.2.5 by Sebastien Bacher
Import upstream version 0.23
181
  Complexity: C4
182
  Priority: Medium
183
184
185
Supplementary Services
186
======================
187
188
- Closed User Group (CUG) support.
189
190
  Priority: Low
191
  Complexity: C8
192
193
- Call Completion to Busy Subscriber (CCBS) support
194
1.3.1 by Jonny Lamb
Import upstream version 0.36
195
  This feature is not discussed in 27.007, thus manufacturer specific commands
196
  are required.
197
1.2.5 by Sebastien Bacher
Import upstream version 0.23
198
  Priority: Low
199
  Complexity: C8
200
201
- User to User Signaling (UUS) support
202
203
  Priority: Low
204
  Complexity: C8
205
206
- Multiple Subscriber Profile (MSP) support
207
208
  Priority: Low
209
  Complexity: C2
210
211
- CPHS Support.  This includes ALS and CPHS specific elementary files.
212
213
  Priority: Low
214
  Complexity: C8
215
1.4.1 by Jonny Lamb
Import upstream version 0.53
216
- Call forwarding state handling change
217
218
  At the moment call forwarding states are not always correct. Any active
219
  conditional call forwarding should become quiescent while unconditional call
220
  forwarding is activate. If call forwarding unconditional is subsequently
221
  deactivated, all the quiescent forwardings should become operative again.
222
  I.e. No conditional call forwarding string should be returned while
223
  unconditional call forwarding is active even if they exist.
224
225
  If there is an successful attempt to activate/deactivate conditional call
226
  forwarding while unconditional call forwarding is active the conditional cache
227
  flag should cleared.
228
229
  Priority: High
230
  Complexity: C1
231
  Owner: Nicolas Bertrand <nicolas.bertrand@linux.intel.com>
232
1.2.5 by Sebastien Bacher
Import upstream version 0.23
233
1.2.6 by Kalle Valo
Import upstream version 0.26
234
Voicecall
235
=========
236
237
- Dial strings. Include CLIR prefixes and 2nd stage dial strings in the
238
  DialString call property. Add dialstring accessor method to C API.
239
240
  Priority: Medium
1.3.1 by Jonny Lamb
Import upstream version 0.36
241
  Complexity: C4
1.2.6 by Kalle Valo
Import upstream version 0.26
242
243
- Provide feedback of sent DTMF tones. Emit SendingTones signal if modem can
244
  provide approximate starting and stopping times for DTMF tones. Signal
245
  argument contains a string of DTMF tones to be sent, or empty string when
246
  all tones has been sent.
247
248
  Priority: Medium
249
  Complexity: C2
250
1.4.1 by Jonny Lamb
Import upstream version 0.53
251
- Blacklisting. According to 3GPP TS 22.001 annex E, the TE must provide
252
  automatic calling repeat call attempt restrictions.
253
254
  There should be a method to manually reset blacklisting.
255
256
  Priority: Medium
257
  Complexity: C1
1.3.2 by Mathieu Trudel-Lapierre
Import upstream version 0.41
258
1.2.6 by Kalle Valo
Import upstream version 0.26
259
260
Sim Toolkit
261
===========
262
1.4.1 by Jonny Lamb
Import upstream version 0.53
263
- Support of the BIP (Bearer Independent Protocol) proactive commands.
264
  The specification defines several bearer types. For now, only the packet data
265
  service bearer is considered.
266
267
	- OPEN CHANNEL: requests the terminal to open a data channel with
268
	parameters indicated in the command. A user confirmation may be
269
	requested by the SimToolkitAgent.
270
	- CLOSE CHANNEL:requests the terminal to close the specified data
271
	channel.
272
	- RECEIVE DATA:requests the terminal to return to the UICC data
273
	received on the specified channel.
274
	- SEND DATA:requests the terminal to send on the specified channel data
275
	provided by the UICC.
276
	- GET CHANNEL STATUS: requests the terminal to return the current
277
	status of all available data channels.
278
279
  Priority: Medium
280
  Complexity: C4
281
  Owner: Philippe Nunes <philippe.nunes@linux.intel.com>
282
283
- Support Setup Event List proactive command.
284
  To fully support the class 'e', the following events
285
	-Data Available event
286
	-Channel status event
287
  shall be monitored by oFono if part of the current event list.
288
  This list is supplied by the last SETUP EVENT LIST command.
289
290
  Priority: Medium
291
  Complexity: C2
292
  Owner: Philippe Nunes <philippe.nunes@linux.intel.com>
1.3.1 by Jonny Lamb
Import upstream version 0.36
293
294
Miscellaneous
295
=============
1.2.5 by Sebastien Bacher
Import upstream version 0.23
296
297
- PolicyKit support.  Add support for PolicyKit checking of all oFono D-Bus
298
  interfaces.
299
300
  Complexity: C4
301
  Priority: Low
302
1.4.1 by Jonny Lamb
Import upstream version 0.53
303
- Add Location Service API for providing basic E911 support.
1.3.1 by Jonny Lamb
Import upstream version 0.36
304
  This will be based on the 27.007 defined AT commands using
305
  XML for transport of positioning request and responses.
306
307
  Priority: Medium
308
  Complexity: C2
1.4.1 by Jonny Lamb
Import upstream version 0.53
309
310
311
CDMA Voicecall
312
==============
313
314
- Add support for Mobile Originated and Mobile Terminated Voice Call over
315
  a CDMA network. This includes management of call state and providing
316
  appropriate values for the LineIdentification in each case.
317
318
  Priority: High
319
  Complexity: C2
320
321
- Add support for Three-Way Calling over a CDMA network. Three-Way Calling
322
  provides the subscriber with the capability to add a third party to an
323
  established two-party call, so that all three parties may communicate in a
324
  three-way call.
325
326
  In CDMA mode, the originating subscriber of a current conversation can
327
  request for a third party to be added to a conversation by sending a Flash
328
  With Information Message (FWIM) with dialed digits to the network. Upon
329
  setting up a two-way conversation with the added party, the originating
330
  subscriber can request to establish a three-way conversation by sending
331
  another Flash With Information Message. Upon receiving the second Flash With
332
  Information Message, the MSC reconnects the original party to the
333
  conversation thus completing the setup of a three-way conversation.
334
335
  CDMA Three-Way Calling is described by Figure B-5 in 3GPP2 C.S0005-E Version
336
  2.0.
337
338
  Priority: High
339
  Complexity: C2
340
341
- Add support for Call Waiting over a CDMA network. Call Waiting (CW) provides
342
  notification of an incoming call to an originating subscriber, while the
343
  subscriber's call is in the 2-way state. Subsequently, the originating
344
  subscriber can either answer or ignore the incoming call. If the originating
345
  subscriber answers the second call, it may alternate between the two calls.
346
347
  In CDMA mode, the originating subscriber of a current conversation will
348
  receive either a Flash With Information Message or an Alert With Information
349
  Message from the network if there is an additional mobile terminated voice
350
  call incoming. The originating subscriber can change conversation parties by
351
  sending a Flash With Information Message to the network and the MSC will
352
  toggle the speech path between the two conversations.
353
354
  CDMA Call Waiting is described by Figure B-6 in 3GPP2 C.S0005-E Version
355
  2.0.
356
357
  Priority: High
358
  Complexity: C2
359
360
- Support sending DTMF tones over CDMA network.
361
362
  Priority: High
363
  Complexity: C2
364
365
- Support optional network-based Plus Code Dialing for international calls over
366
  a CDMA network. An input key, e.g. the "+" key, or a functional equivalent
367
  can be used to replace the international access prefix when dialing. When
368
  received, transmitted or stored, an international indicator can be included
369
  with the address digits although it is the responsibility of the network to
370
  ignore the international indicator when attached to a national number. This
371
  is described in Section 2.7.1.3.2.4 of 3GPP2 C.S0005-E v2.0 and Section 1.2
372
  of 3GPP2 N.S0027 v1.0.
373
374
  Priority: High
375
  Complexity: C2
376
377
CDMA SMS
378
==============
379
380
- Support CDMA SMS stack in PDU mode. This includes basic support of
381
  SMS Point-to-Point Message, SMS Broadcast Message and SMS Acknowledge
382
  Message as per 3GPP2 C.S0015-B version 2.0.
383
384
  Priority: High
385
  Complexity: C4
386
387
- Support sending Wireless Messaging Teleservice (WMT) Submit Message and
388
  receiving WMT Deliver Message as defined 3GPP2 C.S0015-B version 2.0.
389
390
  Priority: High
391
  Complexity: C4
392
393
- Support Delivery Acknowledgment. oFono allows requesting of CDMA SMS
394
  Delivery Acknowledgment via the MessageManager's
395
  UseDeliveryAcknowledgement property. If enabled, oFono's CDMA SMS stack
396
  will encode the Reply Option subparameter in the Submit message and
397
  process incoming SMS Delivery Acknowledgment Message. oFono will notify
398
  UI either via DBus or history plugin API.
399
400
  Priority: Medium
401
  Complexity: C2
402
403
- Support receiving Voice Mail Notification (VMN) Teleservice Deliver
404
  message. CDMA network uses VMN Teleservice to deliver the number of
405
  messages stored at the Voice Mail System to the CDMA mobile subscriber.
406
407
  Priority: High
408
  Complexity: C4
409
410
- Support sending Wireless Enhanced Messaging Teleservice (WEMT) Submit
411
  Message and receiving WEMT Deliver Messsage as defined 3GPP2 C.S0015-B
412
  version 2.0.
413
414
  WMT does not support message fragmentation thus can not be used to for
415
  long message. WEMT is devised to support long message and Enhanced
416
  Messaging Service (EMS). The WEMT SMS message's CHARi field of the
417
  subparameter User Data encapsulate GSM-SMS TP-User Data as defined in
418
  Section 9.2.3.24 of 3GPP TS 23.040.
419
420
  Priority: Medium
421
  Complexity: C4
422
423
- Support sending Wireless Application Protocol (WAP) Teleservice Submit
424
  Message and receiving WAP Deliver Messsage as defined 3GPP2 C.S0015-B
425
  version 2.0.
426
427
  Priority: Medium
428
  Complexity: C4
429
430
- Support Call-Back Number. The Call-Back Number subparameter indicates
431
  the number to be dialed in reply to a received SMS message.
432
433
  In transmit direction, oFono allows setting of Call-Back Number. If the
434
  Call Back Number property is set, CDMA SMS stack will encode Call-Back
435
  Number subparameter in the Submit Message.
436
437
  In receiving direction, oFono will process the Call-Back Number
438
  subparameter in the incoming Deliver Message and notify UI of the
439
  Call-Back Number together with the newly received text message.
440
441
  Priority: Medium
442
  Complexity: C2
443
444
- Support immediately displayed message. oFono CDMA SMS stack will
445
  process the optional Message Display Mode subparameter in the incoming
446
  SMS message. If Message Display Mode subparameter indicates the
447
  message display mode is Immediate Display, oFono will send
448
  ImmediateMessage signal, otherwise oFono will send IncomingMessage
449
  signal.
450
451
  Priority: Medium
452
  Complexity: C2
453
454
455
CDMA CMAS
456
==============
457
458
- Support Commercial Mobile Alert Service (CMAS) over CDMA systems. CMAS
459
  over CDMA system is defined in TIA-1149. The CMAS message is carried in
460
  the CHARi field of the User Data subparameter of CDMA SMS Broadcast
461
  message.
462
463
  Priority: Medium
464
  Complexity: C4
465
466
CDMA Network Acquisition
467
========================
468
1.4.2 by Hector Oron
Import upstream version 1.6
469
- Support reporting of the pilot energy ratio (Ec/Io) measurement for the
1.4.1 by Jonny Lamb
Import upstream version 0.53
470
  currently acquired CDMA network.
471
472
  Priority: Medium
473
  Complexity: C1
474
1.4.2 by Hector Oron
Import upstream version 1.6
475
- Support of the signal to interference-plus-noise ratio (SINR)
476
  measurement for the currently acquired 1xEV-DO data network.
1.4.1 by Jonny Lamb
Import upstream version 0.53
477
478
  Priority: Medium
479
  Complexity: C1
480
481
- Support reporting of the Enhanced Roaming Indicators (ERI) to indicate the
482
  current roaming condition of the CDMA mobile device. Each indicator maps to
483
  a unique display number within the Standard and Non-Standard service ranges,
484
  as described in Section 8 of 3GPP2 C.R1001-C v1.0.
485
  These numbers are stored on the device in the (Enhanced) Preferred Roaming
486
  List (PRL) and it is the responsibility of the modem to broadcast the
487
  relevant indicator for a currently acquired system. Further details of the
488
  system acquisition process are described in 3GPP2 C.S0016-B v1.0.
489
490
  Priority: Medium
491
  Complexity: C2
492
493
- Support reporting of identifiers of the currently acquired CDMA network,
494
  including the System Identifier (SID) and the Network Identifier (NID),
495
  It is the responsibility of the modem to broadcast the relevant identifiers
496
  for a currently acquired system, and these identifiers are provided by the
497
  network. This is described in 3GPP2 C.S0005-E v2.0.
498
499
  Priority: Medium
500
  Complexity: C2
501
502
- Support International Roaming, including support for reporting the Mobile
503
  Country Code (MCC) and the Mobile Network Code (MNC) for the currently
504
  acquired network. International Roaming is provided via enhancements to the
505
  PRL by encoding the MCC and the (two digit only) MNC in existing SID/NID
506
  fields, as described in the CDMA Development Group standards Document "IPRL
507
  Enhancements for International Roaming - CDG Doc #86". It is the
508
  responsibility of the modem to broadcast the values for the currently
509
  acquired system.
510
511
  Priority: Medium
512
  Complexity: C2
513
1.4.2 by Hector Oron
Import upstream version 1.6
514
- Support reporting of the current registered operator name in long alphanumeric
515
  format. Based on the System Identifier (SID) broadcasted by the modem, the
516
  CDMA network name is retrieved from a look-up table (aka the 'mobile
517
  broadband provider info' database).
518
519
  Priority: Medium
520
  Complexity: C2
521
1.4.1 by Jonny Lamb
Import upstream version 0.53
522
CDMA Connection Manager
523
=======================
524
525
- Support Packet Data Service over CDMA (1xRTT and 1xEV-DO) systems. This
526
  includes Mobile Originated connection and disconnection features.
527
528
  Priority: Medium
529
  Complexity: C4