LinuxDevices.com Archive Index (1999-2012) | 2013-current at LinuxGizmos.com | About  

Intel and Nokia field open source telephony project

May 11, 2009 — by Eric Brown — from the LinuxDevices Archive

Intel and Nokia have launched an open source project to develop a mobile telephony stack for possible inclusion in the Moblin and Maemo projects. The oFono stack is based on open source Linux and a high-level D-Bus interconnection API, and targets the development of GSM/UMTS applications.

The oFono technology is licensed under GPLv2, and includes a high-level D-Bus API “for use by telephony applications of any license,” says the project. Developed by FreeDesktop.org, D-Bus (Desktop Bus) is an open source, Linux/Unix-based inter-process communication (IPC) technology, which links applications with peripheral services. In the mobile world, D-Bus been made part of the LiMo Platform mobile spec, and last August, LiMo (Linux Mobile) Foundation member Movial announced a “Browser D-Bus Bridge” application, which translates HTML and Javascript commands to D-Bus to create “mashups” of applications and services.

In addition to the high level D-Bus API, oFono also includes a low-level plug-in API for integrating with open source software and third party telephony stacks, cellular modems, and storage back-ends, says the project. The plug-in API functionality is said to be modeled on the “3GPP TS 27.007 AT command set for User Equipment (UE),” says the group (see farther below for more technical details on oFono.)

Toward a voice-enabled Moblin and Maemo

The leaders of the project, Aki Niemi, Marcel Holtmann, and Denis Kenzior, hail from Nokia's Maemo project or the Intel Open Source Technology Center, which has regularly fed the Moblin project with cool technology like Moblin's ConnMan connection manager, upon which oFono is also partially based.


oFono architecture
(Click to enlarge)

According to Niemi, of Nokia Devices R&D, Maemo Software, the technology largely derives from Nokia's open source Maemo project, which develops the Maemo distribution used in Nokia's Linux-based N8xx Internet Tablets, such as the N810 pictured at top. “This is work that Maemo has been doing as regular R&D activity,” he wrote in an email. In response to a question about future plans for use in Maemo, he added, “We have no firm plans as to when this would be integrated into the platform.”

In a separate email, Intel's Holtmann wrote, “I can't talk for Nokia, but for Moblin we have intentions to integrate oFono. However, no exact timeline has been set so far. oFono is meant to evolve into a full telephony stack for embedded/mobile and desktop systems.”

The new Maemo 5 release, currently in alpha, is adding 3G cellular modem capability. However, cellular voice capability appears to be under consideration for a future version. The stack might also be used in a rumored smartphone/mobile Internet device (MID) hybrid said to be under development at Nokia, although that could instead turn out to be a Symbian-based project.

Intel, meanwhile, has formally handed hosting duties for the Linux-based Moblin project to the Linux Foundation, but is still the leading force behind the technology. Moblin v2, which is aimed at netbooks, is also in alpha stage. Intel has said that a next-generation Moblin stack for MIDs, due in 2010, will add cellular voice capability and incorporate the upcoming Intel “Moorestown” processor.

oFono strives for simplicity

According to Holtmann, oFono's D-Bus API is based on D-Bus programming principals, but differs from D-Bus API “based on literal translation from C-APIs and 1:1 mappings of ESTI GSM AT command specification,” he wrote. “The general design of the API is similar what has already been established via the BlueZ and ConnMan projects. This will ease the adoption for UI integration.”

Developed by Holtmann and others for Moblin, the new ConnMan connection manager works with D-Bus to support plugins for various wireless technologies. It also provides a core daemon to handle networking functionality, and is said to be designed for easy replacement of UI components. The BlueZ Bluetooth protocol stack for Linux, meanwhile, has also been developed in part by Holtmann. It is being incorporated in both Moblin v2 and Maemo 5.

The oFono D-Bus API is claimed by the project to be language-independent and “extremely easy to use without generated bindings or other 'messy' steps typically required to use an IPC based API.” oFono handles core logic, including “things necessary for standards compliance,” enabling developers to focus on “presentation aspects and funky animated UIs,” says the project.

oFono is composed of various interfaces, each with properties defined by GetProperties() and a SetProperty() methods. Naming conventions are said to be strictly enforced. As a result, a consistent development interface is said to extend across all the interfaces.

In order to reduce “confusion and API bloat,” oFono avoids offering more than one method for accomplishing a task, says the project. The project plans to include APIs for all aspects of telephony, including voice calls, SMS, cell broadcast, supplementary services, and SIM phonebooks. In order to limit bloat, however, new features will only be added after careful consideration, says the project.

An interesting alliance

The oFono project could end up being just another quiet open source collaboration that eventually gets superceded or overshadowed by other contending technologies. Yet one gets a sense of witnessing the birth of something much larger. Assuming it can evolve in a timely fashion into a full mobile telephony stack, oFono could launch both Moblin and Maemo into competition with smartphone stacks like Android, LiMo, and Palm's WebOS, just as Android, at least, is beginning to show up on MIDs and netbooks.

The oFono project may also add support for the rumors about a future Linux-based Nokia smartphone and the potential for Symbian being gradually replaced by Linux. Nokia's Qt Software may also plan a role in such a transition.

In collaborating on such a key component of their open source projects — both of which target MIDs, but using different processor architectures — Intel and Nokia may well realize that time is running out to keep Google's Android from running away with the mobile device world. By collaborating and using the power of open source, they may well have a chance to quickly catch up on telephony while Google hurries to expand Android to support MIDs and netbooks.

Availability

An early version of oFono is available here.


 
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.



Comments are closed.