Hi everyone,
We are running a FreePBX setup with a Dutch trunk provider. While our trunk stability is now solid, we are struggling with a critical issue regarding our mobile endpoints.
The Setup:
- PBX: FreePBX (latest stable)
- Clients: Android devices using the Linphone app (LTE/Mobile Data)
- Network: Remote LTE connections (not on local WiFi)
The Problem:
Our clients do not consistently ring. Calls often fail to reach the mobile app, or the app only “wakes up” and shows a missed call once the user manually opens the app.
We suspect this is related to Android’s aggressive battery management. We have already tried:
- Disabling Android Battery Optimization for Linphone.
- Setting the app to “Unrestricted” battery usage.
Despite this, the issue persists. It feels like the SIP registration is timing out or the socket is being closed by the mobile OS/Carrier, and because we aren’t using a Push Notification service, the PBX has no way to “wake up” the device.
Our Technical Theory:
We believe the solution is either a shorter registration polling interval (which seems to drain battery rapidly and isn’t consistently supported) or a proper Push Notification architecture. As far as we know, the standard Linphone + FreePBX combo doesn’t handle the Push-to-Wake cycle natively without a middleman or specific configuration.
Our Questions:
- Client Alternatives: Are there other SIP clients that handle Android/iOS push notifications better when paired with FreePBX? (e.g., Groundwire, Zoiper, or the Sangoma Phone app?)
- Configuration: Is there a specific combination of
qualify=yesandkeepalivesettings in FreePBX/Asterisk that helps maintain a persistent socket on LTE networks? - Architecture: For those of you running mobile fleets on FreePBX, do you rely on standard SIP registration, or do you use a Push Proxy/Push Gateway to ensure 100% ring reliability?
We want to make FreePBX work for this use case, but we are at the point where we are considering other PBX platforms if this is a known limitation of the ecosystem.