ofono Architecture Introduction
• oFonoprovidesa full host protocol stack fortelephony applications.
• LaunchedbyIntel & Nokia on May, 2009
• LicensedunderGPL v2
–Coreand plug-ins are always OpenSource
• Plug-ins can be licensed under GPL orGPLcompatible
•Client applications can choose anylicense
•Targetalldevices, not onlysmartphones
– In-Vehicle Infotainment
•MultipleModem types to support
–VendorProprietary Protocols (e.g. Nokia ISI)
– Components are as independent as possible
•UIEasy to replace /rewrite
•Focus on APIdesign
– Minimal & Complete
– Documented and easy touse
•Consider Certification from the start
vMake& Receive Calls
–Simple,Three Way & Multiparty
vSMS(including Message Waiting Indications)
Ofono Core Components
1. Core Demon
Core daemon provides base level serviceswithinoFono,namely the
loading of plugins and drivers; utility APIs for decoding, encodingand fragmentation of binary SMSpdus; utility APIs for reading and writing tothe SIM,
and interpreting the contents of the low-level Element File (EF)contents; utility APIs for character set conversion; utility APIs for decoding,duplicate detection and pagination of cell broadcasts; and detection of andcommunication betweenoFonoatoms.
A big part of the core daemon is the modem device abstraction. Eachdevice is managed independently, and several devices can be present and activein the system at the same time. The technologies for each device are notrestricted in any way, and can be customized via the use of drivers.
oFono atoms provide a clear abstraction APIfor the applications based on D-Bus. There are currently over
a dozenatoms within oFono,providing access to core functionality like voice calls, supplementaryservices, short message service (SMS), cell broadcast
(CBS) and sim management.
Atoms can detect the presence of other atoms and use information provided byother atoms to provide extra functionality. For instance, the NetworkRegistration atom will read low-level EF files whenever a SIM is present, andprovide enhanced operator information if the SIM is thus provisioned.
oFono special driver mechanism can integratemultiple devicetechnologies
•Representsan actual modem device in the system
•Obtaingeneral information about the device
•Powerdevice on / off
•Tellthe core which features (atoms) are supported
Plugins provide a final piece of thepuzzle. Theseare used to provide device drivers and atom drivers. Theycan also be used to extendoFono orinteract with other system services. For example, Moblin usesoFonoplugins to store all call history information within Evolution Data Server.
•Builtin& external plugins are supported
Ofono Organization Diagram
Modem Detect Workflow
How to enable modem
How to make a voicecall
ofono Data Service Workflow
4.Editfile /etc/resolv.conf, addDNS server address
5.sudoifconfig ppp0 172.18.172.196 netmask255.255.255.255