- Supported features and standards
Linphone softphone is a complete unified communication application that brings together all VoIP call features, video calling, instant messaging, and videoconferencing in a single app.
Linphone is fully based on standardized protocols and is interoperable with other SIP systems.
Linphone is available in several versions:
- A Qt/QML interface for Windows, macOS, and GNU/Linux desktops
- An iPhone app developed in Swift
- An Android app developed in Kotlin
- A console interface (linphone-daemon) for embedded products
Linphone separates the user interfaces (the application layers) from Liblinphone (its VoIP and IM engine), allowing the creation of different types of user interfaces on top of the same functionalities.
The list of RFCs supported by Liblinphone (and therefore by Linphone) is available here:
https://wiki.linphone.org/xwiki/wiki/public/view/Lib/Features/-%20Supported%20Features%20and%20RFCs/
Common Features (Mobile and Desktop)
General:
- Contact list
- "Invite your friends" feature
- Presence status
- Integration with push notification (requires compatible SIP server; linphone.org SIP service is push enabled)
- ICE (RFC 5245), STUN and TURN (RFC 5766) for optimised NAT traversal, allowing for peer-to-peer audio and video connections whenever possible
- Ability to configure multiple proxy accounts with different transports protocols (UDP, TCP, TLS)
Audio and video calling:
- HD video calls with video preview (H.265, AV1, H.264 and VP8 codecs supported)
- HD voice (including Opus) and echo cancellation
- blind and attended call transfer
- multi-call management (pause and resume)
- call recording and replay (audio and video)
- auto-answer mode
- DTMF (telephone tone) support using SIP INFO or RFC 4733
- call quality indicator and call statistics
- G729 codec
- Message Waiting Indicator (MWI) support
- Support for bluetooth headset
- Call history
- Call handover accross a change of network access type (e.g. start a call in wifi and continue in 3G)
Instant Messaging:
- one-to-one and multi-participant conversations
- instant message delivery notifications (IMDN)
- file sharing (photo, video, document, voice message)
- reply to / forward features and emoji reactions
- multi-device support
- advanced IM push notifications
- access to chat views during calls
- Instant Messaging Delivery Notifications (IMDN)
- Supported languages: English, French
- Account creation assistant
- Remote provisioning (via Qr code or URL)
Conferencing features:
Audio and video conferencing, based on a modern Selective Forwarding Unit (SFU)
- screen sharing
- 3 display modes :
- audio only
- active speaker
- mosaic
- Management of participants
Secure communications:
- Secure user authentication: md5 / SHA256 digest, TLS client certificates
- End-to-end encryption for calls via SRTP, zRTP and SRTP-DTLS
- End-to-end encryption for messaging, using Linphone Instant Messaging Encryption (LIME)
- Post quantum call encryption, using CRYSTALS-Kyber algoritm (the winning of an international competition run by the American NIST between 2016 and 2022).
- Ephemeral messaging
- Option to make encryption mandatory
Presence:
- Presence info based on SUBSCRIBE/NOTIFY
Contacts management:
- Manual creation via Linphone
- LDAP-based contact research
- CardDAV synchronisation
Intreractions with web browsers:
Linphone Desktop is now able to interact with web browsers and can be integrated with your Web Services. Linphone is capable of receiving information from a web browser to start a call, open the app, invite participants to a conference call etc.
Mobile-specific features (iOS/Android)
- Smart contact list (shows people using the service) using list subscription to a presence server
- Dedicated tablet user interface
- Blind accessibility
- iOS only: AAC-ELD support
- Android only : Picture in Picture (PiP), reduction de la vue d’appel pour pouvoir naviguer
Linphone is available on the following mobile platforms:
Portability
- Apple iOS 9 and more recent (ARM v7, ARM 64)
- Google Android 6 and more recent (ARM v7, ARM 64, x86, x86-64)
- GNU/Linux: x86, x86-64, ARM v5, v7, arm64 ; Debian 8/9, Centos 7
- Windows Desktop: x86 (works also on x86_64), Windows 7 and later
- macOS: x86_64 ; 10.11 and later.
- GNU/Linux embedded: linphone-daemon is a good candidate to provide the software stack for a hardware phone or hardware communication system.