The Sailfish OS telephony features include the capabilities for making phone calls, alerting with ringtones, phone call audio routing, SIM management and dual SIM capabilities, GPRS and phone network operator connections, AT command handling, SIM ToolKit interaction and general modem management.
Read Cellular Telephony Architecture for more background.
Relevant development repositories
The oFono framework is used for general modem management, and ConnMan for network connection management:
- ofono - Jolla fork of https://01.org/ofono
- libqofono - A Qt library for accessing the ofono daemon, including a QML API
- libqofonoext - A Qt library for accessing nemomobile-specific ofono extensions, including a QML API
- connman - Jolla fork of https://01.org/connman
- libconnman-qt - A Qt library for accessing connman, including a QML API
Phone calls are managed through oFono and Telepathy. In addition, the middleware voicecall packages implement plugins to use telepathy with ofono and activate calls, and libcommhistory collects a history of phone calls and messages for later lookup:
- telepathy-ring - Telepathy connection manager for GSM and similar mobile telephony
- telepathy-qt - Qt library for telepathy clients
- telepathy-mission-control - account manager and channel dispatcher for Telepathy
- mer-core/voicecall - voicecall and voicecallmanager for implementing dialer UIs and activating calls
- libcommhistory - central management and collection of call and messaging events
Call audio management and routing is implemented through PulseAudio: