oFono es un logiciel libre de téléphonie Mobile(GSM /UMTS) cette une pile téléphonique développée par Intel dont le développement est aujourd’hui assuré par la communauté. Ofono est distribué sous une licence GPL-2.0+ et est écrit en langage C.
Une pile téléphonique est un framework permettant de faire abstraction du matériel (le modem en lui-même) et du protocole de communication entre le CPU et le modem : Hayes AT, QMI,…. Ce type de framework permet aussi d’offrir une interface utilisateur générique, en ce qui concerne les usages les plus courant d’un modem : appels, SMS et des méthodes spécifiques à un matériel.
Pour garantir la généricité, l’interface utilisateur est assurée par le formalisme DBus :
- Ofono est un processus enregistré sur le bus système.
- Un modem est un objet possédant des interfaces.
- Chaque interface possède des méthodes (use cases).
- Certaines interfaces déclarent des objets, eux-même pouvant exécuter des méthodes.
Ofono est utilisé via des commandes Dbus. Pour plus de documentation concernant l’utilisation de Dbus, l’article suivant est tout indiqué : http://www.linuxembedded.fr/2015/07/comprendre-dbus/
Les différents cas d’usages décrits ont été choisis parce que ce sont des fonctionnalités de base d’un téléphone. Comme dit dans la première partie, l’interface de Ofono est standard. Les seules commandes « spécifiques » sont celles qui implémentent des fonctionnalités propres à chaque modem.
Les cas d’usages sont des enchaînements de commande dbus-send provoquant l’appel d’une ou de plusieurs méthodes relatives à une ou plusieurs interfaces. La documentation d’Ofono décrit les différentes interfaces. Chaque fichier décrit une interface. Ofono, de base, contient 50 interfaces différentes dont voici quelques exemples :
- sms.txt ↔ l’interface permettant d’envoyer et recevoir des SMS,
- voicecall.txt ↔ l’interface permettant de passer et recevoir des appels vocaux,
- network.txt ↔ l’interface permettant d’initier une connexion de données,
- etc.
Plus d’information sur : https://01.org/ofono
Lire la suite sur: http://www.linuxembedded.fr/2017/02/introduction-a-ofono/