ofono Architecture Introduction

原创 2016年08月29日 18:37:43
Introducing Ofono

 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

OfonoDesignGoal

Targetalldevices, not onlysmartphones

       – Netbooks

       – MIDS

       In-Vehicle Infotainment

MultipleModem types to support

    – ATCommands

    VendorProprietary Protocols (e.g. Nokia ISI)

    BluetoothHFP

MinimalDependencies

Fullymodular

     – Components are as independent as possible

     – Extensible

     – Customizable

UIEasy to replace /rewrite

Focus on APIdesign

     – Consistent

     Minimal & Complete

     Documented and easy touse

Consider Certification from the start

OfonoCurrentSupportFunctions

vNetworkRegistration

vMake& Receive Calls

     Simple,Three Way & Multiparty

     – DTMF

vSMS(including Message Waiting Indications)

v CellBroadcast

vGPRS

vSupplementaryServices

     -- CallWaiting,CLIR/CLIP/COLP

     -- CallForwarding

     -- CallBarring

     --AdviceofCharge

      --ussd

ofono Architecture

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.

2.OfonoAtoms

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.

voicecalls

netreg

gprs

sms

3. Drivers

oFono special driver mechanism can integratemultiple devicetechnologies

Representsan actual modem device in the system

Obtaingeneral information about the device

      Manufacturer

      Revision

      Model

      Serial(IMEI)

Powerdevice on / off

Tellthe core which features (atoms) are supported

Powermanagement (planned)

4. Plugins

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

DeviceDetection

     udev

     modemconf

ModemDrivers

Ofono Organization Diagram

OfonoInitialization Workflow

Modem Detect Workflow


How to enable modem

How to make a voicecall

ofono Data Service Workflow


TestRoutine:

1.enable-modem

2.Online-modem

3.Activate-context

4.Editfile /etc/resolv.conf, addDNS server address

      nameserver221.12.1.227

      nameserver221.12.33.227

5.sudoifconfig ppp0 172.18.172.196 netmask255.255.255.255

6.sudoifconfig ppp0up


OFONO Website

• Website

    http://ofono.org

• Code

    http://git.kernel.org/?p=network/ofono/ofono.git;a=summary

    http://git.kernel.org/?p=network/ofono/phonesim.git;a=summary

• MailingList

– ofono@ofono.org










版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

2.Introduction to PC Architecture

Contents 1History 1.1PC History1.2PC History (part 2) - Too much change1.3PC history Conclus...

MSDN Kernel-Mode Driver Architecture学习笔记(1)——Introduction to Windows Drivers(3)

基于NT技术的操作系统无论在单处理器还是对称多处理器(SMP)平台上运行的结果都是完全一致的,因此内核模式驱动程序也必须按照这个要求设计。...
  • HOOKTTG
  • HOOKTTG
  • 2011年04月14日 15:32
  • 897

Introduction to IIS 7 Architecture

Introduction Internet Information Services (IIS) 7 provides a new request-processing architecture t...

MSDN Kernel-Mode Driver Architecture学习笔记(1)——Introduction to Windows Drivers(1)

关键词: NT-based 基于NT技术 User-Mode Drivers ...
  • HOOKTTG
  • HOOKTTG
  • 2011年04月12日 13:34
  • 1337

MSDN Kernel-Mode Driver Architecture学习笔记(1)——Introduction to Windows Drivers(2)

内核模式驱动程序涵盖了许多操作系统的设计目标,特别是系统的I/O管理器。 下面几点是设计内核模式驱动程序的目的: Portable(可移植性):便于从一个平台移植到另一个平台 ...
  • HOOKTTG
  • HOOKTTG
  • 2011年04月13日 15:29
  • 750

BCM56620 (Triumph) Architecture Introduction

  • 2011年08月28日 13:20
  • 2.69MB
  • 下载

Introduction Vertica Architecture_Overview

  • 2016年08月03日 16:35
  • 2.19MB
  • 下载

D-Bus入门(二)——从ofono看d-bus

DBUS概念(本文以ofono为例,在Fedora14下编译到主机中) 首先打开d-feet 可以看到ofono实现的d-bus API有如下几个部分组成: Name: org.ofono ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ofono Architecture Introduction
举报原因:
原因补充:

(最多只允许输入30个字)