mirror of git://git.sysmocom.de/ofono
212 lines
6.4 KiB
Plaintext
212 lines
6.4 KiB
Plaintext
oFono - Open Source Telephony
|
|
*****************************
|
|
|
|
Copyright (C) 2008-2011 Intel Corporation. All rights reserved.
|
|
|
|
|
|
Mission statement
|
|
=================
|
|
|
|
The overall goal of the oFono project is to create a telephony host stack
|
|
for embedded/mobile and desktop systems based on Linux.
|
|
|
|
It currently targets GSM/UMTS User Equipment (UE) based on 3GPP standards,
|
|
but is of course not limited to that. Extensions for other telephony systems
|
|
like CDMA/EVDO are more than welcome.
|
|
|
|
Within oFono there is clear abstraction between the application interfaces
|
|
based on D-Bus, the hardware level (via drivers) and the integration with
|
|
other system components (plugins). The whole architecture is modular and
|
|
flexible.
|
|
|
|
|
|
Telephony features
|
|
==================
|
|
|
|
The oFono stack will support the majority of the features from the 3GPP
|
|
specification, but not all of them. The whole standard is pretty complex
|
|
and some features are not used in any mobile network so far, some of them
|
|
are outdated and have no relevance anymore. This paragraph tries to give
|
|
some insights on what has been implemented so far, what is coming in the
|
|
future and especially what will not be part of oFono.
|
|
|
|
Current implemented features:
|
|
|
|
Modem abstraction
|
|
|
|
Currently there are two modem drivers available.
|
|
|
|
The "atmodem" driver handles hardware based on the 3GPP
|
|
TS 27.007 standard.
|
|
|
|
The "isimodem" driver handles Nokia based PhoNet modems.
|
|
|
|
Network registration
|
|
|
|
The network registration interface contains support for
|
|
network detection. It also handles the automatic or manual
|
|
registration to a mobile network.
|
|
|
|
Additional information about the current network can be
|
|
easily retrieved and displayed to the user.
|
|
|
|
Network time indications
|
|
|
|
oFono includes support for receiving Network Identity and
|
|
Timezone (NITZ) indications, and handles processing of
|
|
this information via system-specific plugins.
|
|
|
|
An example network time plugin is provided that simply
|
|
prints out the received time information. A more advanced,
|
|
real-world plugin could automatically set the system time
|
|
based on the received information.
|
|
|
|
Voice call handling
|
|
|
|
The voice call interface handles simple call creation and
|
|
termination. It also supports 3way-calling and multi-party
|
|
features.
|
|
|
|
This is only for voice control. It doesn't contain support
|
|
for the voice data path/routing.
|
|
|
|
Advanced voice call control
|
|
|
|
Features like COLR/CLIR/CLIP/COLP are supported by the
|
|
voice call handling interface.
|
|
|
|
The support for call forwarding and call waiting is also
|
|
present.
|
|
|
|
Interfaces for call barring and advice of charge do exist,
|
|
but highly depend on if the operator supports them.
|
|
|
|
Call history
|
|
|
|
The call history is realized via a plugin interface and
|
|
not handled directly. This allows an easy integration with
|
|
storage systems like Evolution-Data-Server.
|
|
|
|
Phonebook support
|
|
|
|
The storage of the SIM card is not used. The only supported
|
|
feature is to export the contacts stored on the SIM card to
|
|
some third-part entity.
|
|
|
|
SIM card storage is limited, slow and not flexible enough
|
|
for modem telephony applications.
|
|
|
|
Short message service
|
|
|
|
The SMS support for text messages is available. oFono
|
|
supports concatenated messages of up to 255 segments, UCS2 and
|
|
GSM alphabets as well as extended alphabets. Delivery
|
|
confirmations (Status Reports) are also supported.
|
|
|
|
Selection of SMS bearer settings is supported through the
|
|
'Bearer' property on the SmsManager interface.
|
|
|
|
SIM PIN handling
|
|
|
|
SIM PIN locks, network and service provider locks are
|
|
supported. The SIM Manager also handles retry counter for PIN,
|
|
PIN2, PUK and PUK2.
|
|
|
|
Cell Broadcast
|
|
|
|
Cell broadcasts should be fully supported by oFono, but have
|
|
not been well tested. Base station name ids have been
|
|
confirmed to work.
|
|
|
|
GPRS
|
|
|
|
GPRS data connections are fully supported by oFono. Multiple
|
|
active GPRS contexts are supported. IPv6 context support is
|
|
in progress.
|
|
|
|
Radio Access Settings
|
|
|
|
The radio settings interface contains support for selecting
|
|
the access selection mode and used frequency bands, and allows
|
|
enabling and disabling fast dormancy on hardware that support
|
|
this feature.
|
|
|
|
Sim Toolkit
|
|
|
|
The Sim Toolkit interface handles the SAT commands. Sim Toolkit
|
|
relies on the SimToolkit agent not only to get confirmation
|
|
from the user but also to inform user of the SAT initiated
|
|
operation status. Information on the Sim Toolkit feature
|
|
list can be found in features.txt.
|
|
|
|
Supplementary Services
|
|
|
|
The Supplementary Services interface handles both recognized
|
|
supplementary service control string and user/network initiated
|
|
unstructured supplementary service data (USSD).
|
|
|
|
GPS/Location Services
|
|
|
|
oFono provides a Location Reporting interface that enables
|
|
taking advantage of on-board GPS capabilities of modern modems.
|
|
oFono also provides an Assisted Satellite Navigation interface
|
|
that allows feeding assistance data to the GPS unit from the
|
|
network as well as E911 services.
|
|
|
|
Work in progress features:
|
|
|
|
GPRS
|
|
|
|
IPv6 PS context support is under development.
|
|
|
|
Modem Emulator
|
|
|
|
To enable DialUp Networking (over Bluetooth or USB), and to
|
|
allow Bluetooth HandsFree / Headset support, oFono will expose
|
|
some 'fake' modem to enable the communication with car kits, or
|
|
other devices.
|
|
|
|
Not implemented features:
|
|
|
|
SIM card storage
|
|
|
|
The SIM card storage will not be used by oFono. It is slow,
|
|
limited in size and flexibility. It is an outdated interface
|
|
that makes no sense in a modern telephony system.
|
|
|
|
Export of stored contacts from the SIM card is supported for
|
|
legacy reasons and to allow a smooth transition.
|
|
|
|
WAP support
|
|
|
|
The WAP feature is outdated and using full Internet access
|
|
with an embedded browser is the future.
|
|
|
|
MMS support
|
|
|
|
The MMS support should not be part of oFono itself. The best
|
|
idea is to implement a MMS service that runs in the user
|
|
session and uses oFono's SMS interface to listen for
|
|
notifications.
|
|
|
|
Similar to the split between BlueZ and OBEX daemon.
|
|
|
|
Especially when it comes to image conversion and other tasks
|
|
that MMS support requires it is important to NOT do this as
|
|
a system daemon.
|
|
|
|
EMS support
|
|
|
|
This is an Ericsson specific standard and not widely spread
|
|
across the handset manufactures.
|
|
|
|
Video telephony
|
|
|
|
Currently there are no plans to support this. The support
|
|
from the networks and available handsets are still limited.
|
|
|
|
This needs re-evaluation once such a service becomes more
|
|
prominent.
|
|
|
|
A similar split like with MMS might be a good idea.
|