1
oFono - Open Source Telephony
2
*****************************
4
Copyright (C) 2008-2009 Intel Corporation. All rights reserved.
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.
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.
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
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.
33
Current implemented features:
37
Currently there are two modem drivers available.
39
The "atmodem" driver handles hardware based on the 3GPP
42
The "isimodem" driver handles Nokia based PhoNet modems.
46
The network registration interface contains support for
47
network detection. It also handles the automatic or manual
48
registration to a mobile network.
50
Additional information about the current network can be
51
easily retrieved and displayed to the user.
55
The voice call interface handles simple call creation and
56
termination. It also supports 3way-calling and multi-party
59
This is only for voice control. It doesn't contain support
60
for the voice data path/routing.
62
Advanced voice call control
64
Features like COLR/CLIR/CLIP/COLP are supported by the
65
voice call handling interface.
67
The support for call forwarding and call waiting is also
70
Interfaces for call barring and advice of charge do exist,
71
but highly depend on if the operator supports them.
75
The call history is realized via a plugin interface and
76
not handled directly. This allows an easy integration with
77
storage systems like Evolution-Data-Server.
81
The storage of the SIM card is not used. The only supported
82
feature is to export the contacts stored on the SIM card to
83
some third-part entity.
85
SIM card storage is limited, slow and not flexible enough
86
for modem telephony applications.
90
The SMS support is available, but is currently still missing
91
some integration with the driver framework.
94
Work in progress features:
98
At this moment only SIM cards with deactivated PIN request
99
are supported. The full support for SIM PIN is planned, but
102
Cell broadcast and USSD
104
Both features are work in progress right now.
108
No work on this has been done so far, but it is planned
111
Not implemented features:
115
The SIM card storage will not be used by oFono. It is slow,
116
limited in size and flexibility. It is an outdated interface
117
that makes no sense in a modern telephony system.
119
Export of stored contacts from the SIM card is supported for
120
legacy reasons and to allow a smooth transition.
124
The WAP feature is outdated and using full Internet access
125
with an embedded browser is the future.
129
The MMS support should not be part of oFono itself. The best
130
idea is to implement a MMS service that runs in the user
131
session and uses oFono's SMS interface to listen for
134
Similar to the split between BlueZ and OBEX daemon.
136
Especially when it comes to image conversion and other tasks
137
that MMS support requires it is important to NOT do this as
142
This is an Ericsson specific standard and not widely spread
143
across the handset manufactures.
147
Currently there are no plans to support this. The support
148
from the networks and available handsets are still limited.
150
This needs re-evaluation once such a service becomes more
153
A similar split like with MMS might be a good idea.