移动开发-oFono开源电话协议栈

来源:互联网 发布:乐清知临寄宿学校校长 编辑:程序博客网 时间:2024/04/28 20:37

oFono是一个开源免费的电话协议栈软件,它遵循3GPP27.007等通信标准,通过AT命令与2G/3G modem进行交互,以实现各种电话功能(Voicecall, GPRS, SMS, Stk等等)。在oFono的基础上,很容易开发用Qt,Gtk,Clutter等API编写的用户界面。oFono一般作为守护进程运行在移动终端(如手机,平板电脑)上,扮演着与3G模块通信的角色。在上网本上,你可以把外置式上网卡插在USB口上,用oFono控制它来访问GPRS网络。

oFono遵循GNU GPL v2 license,你可以下载最新的源码并免费使用。oFono作为Intel与Nokia联合开发Meego平台的一部分,目前还处在快速开发阶段。

 ofono_architecture

oFono结构图

从上图我们可以看出,oFono有着一套良好的体系架构。最上层通过D-Bus接口跟UI通信,中间的oFono core负责处理Call, Network等核心业务,下层的plugin负责和不同种类的modem通信。这保证了oFono具有良好的可扩展性,目前支持和Nokia isimodem, STE, TI calypso, huawei, zte等多种不同的modem通信。

同时oFono还带有一个phonesim电话模拟器,它通过socket模拟出一个电话模块和oFono进行交互。即使手上没有硬件modem,同样可以进行oFono的开发。

oFono源码: git clone git://git.kernel.org/pub/scm/network/ofono/ofono.git

phonesim源码: git clone git://git.kernel.org/pub/scm/network/ofono/phonesim.git

网站: http://ofono.org

原创粉丝点击