build: Whitespace & keep vim happy
[platform/upstream/ofono.git] / doc / overview.txt
1 oFono - Open Source Telephony
2 *****************************
3
4 Copyright (C) 2008-2011  Intel Corporation. All rights reserved.
5
6
7 Mission statement
8 =================
9
10 The overall goal of the oFono project is to create a telephony host stack
11 for embedded/mobile and desktop systems based on Linux.
12
13 It currently targets GSM/UMTS User Equipment (UE) based on 3GPP standards,
14 but is of course not limited to that. Extensions for other telephony systems
15 like CDMA/EVDO are more than welcome.
16
17 Within oFono there is clear abstraction between the application interfaces
18 based on D-Bus, the hardware level (via drivers) and the integration with
19 other system components (plugins). The whole architecture is modular and
20 flexible.
21
22
23 Telephony features
24 ==================
25
26 The oFono stack will support the majority of the features from the 3GPP
27 specification, but not all of them. The whole standard is pretty complex
28 and some features are not used in any mobile network so far, some of them
29 are outdated and have no relevance anymore. This paragraph tries to give
30 some insights on what has been implemented so far, what is coming in the
31 future and especially what will not be part of oFono.
32
33 Current implemented features:
34
35         Modem abstraction
36
37                 Currently there are two modem drivers available.
38
39                 The "atmodem" driver handles hardware based on the 3GPP
40                 TS 27.007 standard.
41
42                 The "isimodem" driver handles Nokia based PhoNet modems.
43
44         Network registration
45
46                 The network registration interface contains support for
47                 network detection. It also handles the automatic or manual
48                 registration to a mobile network.
49
50                 Additional information about the current network can be
51                 easily retrieved and displayed to the user.
52
53         Network time indications
54
55                 oFono includes support for receiving Network Identity and
56                 Timezone (NITZ) indications, and handles processing of
57                 this information via system-specific plugins.
58
59                 An example network time plugin is provided that simply
60                 prints out the received time information. A more advanced,
61                 real-world plugin could automatically set the system time
62                 based on the received information.
63
64         Voice call handling
65
66                 The voice call interface handles simple call creation and
67                 termination. It also supports 3way-calling and multi-party
68                 features.
69
70                 This is only for voice control. It doesn't contain support
71                 for the voice data path/routing.
72
73         Advanced voice call control
74
75                 Features like COLR/CLIR/CLIP/COLP are supported by the
76                 voice call handling interface.
77
78                 The support for call forwarding and call waiting is also
79                 present.
80
81                 Interfaces for call barring and advice of charge do exist,
82                 but highly depend on if the operator supports them.
83
84         Call history
85
86                 The call history is realized via a plugin interface and
87                 not handled directly. This allows an easy integration with
88                 storage systems like Evolution-Data-Server.
89
90         Phonebook support
91
92                 The storage of the SIM card is not used. The only supported
93                 feature is to export the contacts stored on the SIM card to
94                 some third-part entity.
95
96                 SIM card storage is limited, slow and not flexible enough
97                 for modem telephony applications.
98
99         Short message service
100
101                 The SMS support for text messages is available.  oFono
102                 supports concatenated messages of up to 255 segments, UCS2 and
103                 GSM alphabets as well as extended alphabets.  Delivery
104                 confirmations (Status Reports) are also supported.
105
106                 Selection of SMS bearer settings is supported through the
107                 'Bearer' property on the SmsManager interface.
108
109         SIM PIN handling
110
111                 SIM PIN locks, network and service provider locks are
112                 supported. The SIM Manager also handles retry counter for PIN,
113                 PIN2, PUK and PUK2.
114
115         Cell Broadcast
116
117                 Cell broadcasts should be fully supported by oFono, but have
118                 not been well tested.  Base station name ids have been
119                 confirmed to work.
120
121         GPRS
122
123                 GPRS data connections are fully supported by oFono.  Multiple
124                 active GPRS contexts are supported. IPv6 context support is
125                 in progress.
126
127         Radio Access Settings
128
129                 The radio settings interface contains support for selecting
130                 the access selection mode and used frequency bands, and allows
131                 enabling and disabling fast dormancy on hardware that support
132                 this feature.
133
134         Sim Toolkit
135
136                 The Sim Toolkit interface handles the SAT commands. Sim Toolkit
137                 relies on the SimToolkit agent not only to get confirmation
138                 from the user but also to inform user of the SAT initiated
139                 operation status. Information on the Sim Toolkit feature
140                 list can be found in features.txt.
141
142         Supplementary Services
143
144                 The Supplementary Services interface handles both recognized
145                 supplementary service control string and user/network initiated
146                 unstructured supplementary service data (USSD).
147
148         GPS/Location Services
149
150                 oFono provides a Location Reporting interface that enables
151                 taking advantage of on-board GPS capabilities of modern modems.
152                 oFono also provides an Assisted Satellite Navigation interface
153                 that allows feeding assistance data to the GPS unit from the
154                 network as well as E911 services.
155
156 Work in progress features:
157
158         GPRS
159
160                 IPv6 PS context support is under development.
161
162         Modem Emulator
163
164                 To enable DialUp Networking (over Bluetooth or USB), and to
165                 allow Bluetooth HandsFree / Headset support, oFono will expose
166                 some 'fake' modem to enable the communication with car kits, or
167                 other devices.
168
169 Not implemented features:
170
171         SIM card storage
172
173                 The SIM card storage will not be used by oFono. It is slow,
174                 limited in size and flexibility. It is an outdated interface
175                 that makes no sense in a modern telephony system.
176
177                 Export of stored contacts from the SIM card is supported for
178                 legacy reasons and to allow a smooth transition.
179
180         WAP support
181
182                 The WAP feature is outdated and using full Internet access
183                 with an embedded browser is the future.
184
185         MMS support
186
187                 The MMS support should not be part of oFono itself. The best
188                 idea is to implement a MMS service that runs in the user
189                 session and uses oFono's SMS interface to listen for
190                 notifications.
191
192                 Similar to the split between BlueZ and OBEX daemon.
193
194                 Especially when it comes to image conversion and other tasks
195                 that MMS support requires it is important to NOT do this as
196                 a system daemon.
197
198         EMS support
199
200                 This is an Ericsson specific standard and not widely spread
201                 across the handset manufactures.
202
203         Video telephony
204
205                 Currently there are no plans to support this. The support
206                 from the networks and available handsets are still limited.
207
208                 This needs re-evaluation once such a service becomes more
209                 prominent.
210
211                 A similar split like with MMS might be a good idea.