Hello Asterisk Community,
I’m hoping you can help me with a persistent issue I’m facing with my Asterisk setup and iOS softphones. I’d be very grateful for any insights or solutions you might have.
-
I have successfully installed Asterisk on a Linux machine running Debian Bookworm.
-
I’ve configured it, and it functions as a VoIP server.
The Problem:
The issue specifically relates to receiving incoming calls on my iPhone (iOS) using VoIP softphone apps (like Zoiper or similar alternatives).
-
When the softphone app is open and in the foreground:* Incoming calls work perfectly. My iPhone rings, and I can answer the call.
-
When the softphone app is in the background, completely closed, or my iPhone’s screen is locked: I do not receive any notification for incoming calls. The phone does not ring, and I only discover missed calls if I happen to open the app later.
What I’m Looking For:
I understand this is likely due to iOS backgrounding restrictions and the need for push notifications to “wake up” the app for incoming calls. I’m trying to figure out the best way to resolve this.
-
General Solutions: What is the recommended approach to ensure iOS softphones reliably receive incoming call notifications from Asterisk when the app is not active or the screen is locked?
-
CallKit/PushKit Integration:
-
I believe integrating with Apple’s CallKit and/or PushKit is necessary. Could someone provide guidance, best practices, or point me to resources (tutorials, examples, relevant Asterisk modules/configurations) on how to implement this with an Asterisk server?
-
Are there specific configurations or source code examples available that demonstrate how Asterisk can send the necessary push notifications to iOS clients?
- Cost Implications:
- Does implementing a reliable push notification solution (like CallKit/PushKit) for Asterisk-to-iOS calls involve any unavoidable costs? For example, are there server-side costs, or costs associated with the softphone app development/licensing that I should be aware of? Can this be achieved without incurring additional expenses?
I’m eager to get this working reliably and would appreciate any assistance or direction you can offer.
Thank you in advance for your time and expertise!
Best regards,