When I first started working with VoIP, I burned a few weeks trying to make free SIP softphones from the app stores work for production setups. Sharing what I learned, in case anyone else is going down the same path. The problem wasn't that the apps were bad. Most of them work fine for casual use. The problem was that the things you don't notice in casual use become huge in production. Push notifications were the first wall Free SIP dialers usually keep a persistent connection alive to receive calls, which absolutely destroys mobile battery life. Real production-grade clients use push notifications properly through APNs and FCM. Without that, users miss calls or burn through their battery in three hours. Background behavior on iOS: iOS will quietly kill any app that isn't behaving the way the OS expects. CallKit integration is what makes incoming SIP calls actually show up like a normal phone call. Most free apps skip this step entirely.…