Boot Linux faster!

Check our new training course

Boot Linux faster!

Check our new training course
and Creative Commons CC-BY-SA
lecture and lab materials

Bootlin logo

Elixir Cross Referencer

HandsFree Profile Audio Gateway diagram
=======================================

This diagram explains how oFono manages HFP AG.

AT commands and unsolicited results are managed in their related atom (eg. ATA
is managed in voicecall atom).
The emulator atom is managing AT commands or unsolicited results that are not
falling into a specific atom.

1) HFP AG plugin registers a HFP AG server as soon as a voicecall atom exist.
2) When a connection occurs on this server, HFP AG plugin creates and registers
   an emulator atom.
3) Emulator atom will start a GAtServer and registers non-atom-specific
   AT commands to it.
4) On emulator atom registration, voice call related atoms (voicecall, network
   and sim) register AT callbacks they managed through emulator atom.


*===========*                *-----------------*
|           |   Register     |                 |
|   BlueZ   |<---------------|  HFP AG plugin  |
|           |   SDP record   |                 |
*===========*                *-----------------*
                                      |
                                      | Start emulator on connection
                                      |
                                      V
                             *-----------------*
                             |                 |
                   *-------->|  Emulator Atom  |
                   |         |                 |
                   |         *-----------------*
                   |                  |
         Register  |                  | Register AT commands
            AT     |                  V
         callbacks |         *-----------------*
                   |         |                 |
                   |         |    GAtServer    |
                   |         |                 |
                   |         *-----------------*
                   |
                   *---------------------*-------------------*
                   |                     |                   |
          *----------------*     *--------------*     *-------------*
          |                |     |              |     |             |
          | Voicecall atom |     | Network atom |     |  SIM atom   |
          |                |     |              |     |             |
          *----------------*     *--------------*     *-------------*