Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How Linphone support push notifications on Android/iOS

I have an interest in APNS and GCM push notifications for SIP VoIP on iOS and Android, respectively.

It would appear that Linphone may support GCM, according to the "Receive data from Internet" permission of its Android app, and probably both APNS and GCM, according to http://www.linphone.org/eng/features/:

Integration with push notification (requires compatible SIP server)

  • What does it mean, "compatible SIP server"?

  • How do I know if a given SIP server is compatible?

  • Are any such servers open-source?

  • Is this all limited to Linphone's own servers?

I am asking this on StackOverflow, since I have an interest in this from a developer's perspective.

like image 719
cnst Avatar asked Jan 25 '14 21:01

cnst


People also ask

Does iOS support push notification?

Apple announced support for web push notifications for Safari on iOS starting in 2023. At the company's annual developer event WWDC in June 2022, Apple announced that this feature was coming to iOS.

Does push notification work on Android emulator?

You can also test push notifications in the Android emulator. Like the iOS Simulator, it can register for notifications and display them.

Does web app support push notifications?

Most leading browsers allow for push notifications nowadays. Therefore, a website with web push notifications set up can send them to any device that supports those browsers, but the user does not have to install anything.


2 Answers

1) Compatible SIP Server means a SIP Server that supports "late forking" i.e. a server that can fork an invite when a device registers, even though the device was not registered at the time the invite was sent. (This is required because if you are using the push notification strategy for mobile VoIP apps as required by iOS 10 and above, the mobile device will not be registered until after the device receives a push, and the push will be sent at the same time as the invite)

2) Ask the server admin, or if that is not an option try deregistering your device, placing a call, and re-registering your device and seeing if the invite comes in

3a) Kamillio has a Module called TSILO that supports late forking here is a video that both explains what the push notification strategy is and how to implement it in Kamillio using TSILO

3b) Linphone has an Open Source proxy server called Flexisip that supports late forking and can be used on top of your current server if it doesn't support late forking. Flexisip can be installed on your own server or on a cloud platform. Like Linphone, Flexisip has a dual license, free AGPL or a commercial license

4) No it is not restricted to only Linphone's own servers.

Keep in mind that the server still has to send a push notification at the time of the invite(If you are using Flexisip and configure it correctly Flexisip will take care of sending the push notification).

like image 84
user8127814 Avatar answered Nov 15 '22 00:11

user8127814


According to the answer of @user8127814:

I don't think Linphone is compatible with other "late forking" supported servers. Push service requires a unique identity for each device, which means you need to pass this thing through SIP protocol. Linphone sends it (called device ID in iOS push service, name may vary in different push services) within the contact header, and it's non part of regular SIP standards. Which means the server must be designed exactly to recognise this params to support push function just like Flexisip. Correct me if I'm wrong.

like image 39
steven Avatar answered Nov 14 '22 23:11

steven