Our Products > Softphone
Difuse Phone is a fork of linphone, tailored for simplicity and deep integration with Difuse products, along with support for other 3rd party SIP providers. It pairs the mature C++ VoIP core of the linphone SDK (liblinphone, mediastreamer2, belle-sip) with a modern Kotlin UI and a custom Go backend.
Seamless Integration
Although the client can be used with any SIP server, it integrates seamlessly with Difuse offering free PUSH notifications among other awesome features



Get the App,
Just Scan &
Install
One-Click Setup
Difuse Phone supports QR based provisioning among other setup methods that makes setup a breeze for both users and admins
ML-Powered
QR Scanner
The upstream's outdated QR scanner is replaced with a Google Machine Learning Kit + CameraX barcode scanner. QR codes encode JSON blobs containing PBX credentials (username, password, host, transport), allowing one-tap device provisioning with 0 lag.
Optimized for Calling
The experience is streamlined for voice and video calling with a custom dialer, a refined theme, and pre-configured SIP login UX flow that gets users connected faster.
Sentry - Go-Based Push & B2BUA Backend
The most significant architectural addition is Sentry, a FOSS (AGPL licensed) Go service that acts as a SIP Back-to-Back User Agent. Sentry bridges upstream PBX systems (Difuse PBX, Asterisk, FreeSWITCH) to mobile devices via FCM/APNs push - all push events are handled with sub-millisecond latency. It handles SIP registration on behalf of sleeping devices, dispatches wake-up pushes, bridges calls, and exposes a REST API for interaction with the Difuse Phone. The Android app registers with Sentry on startup, maintains heartbeats, and manages dual SIP accounts; a direct PBX account for calls and a hidden "push-only" B2BUA account for incoming call wake-up.
C++ at the
Core
The app inherits the entire linphone SDK minus the bulky parts - a battle-tested C/C++ stack including liblinphone (SIP/registration), mediastreamer2 (audio/video codecs, echo cancellation, jitter buffer), and belle-sip (SIP parser/transaction layer). All media processing, codec negotiation, and real-time audio streaming runs through this native C++ layer, bridged to Kotlin via the SDK's JNI bindings.