How Linphone supports push notifications on Android / iOS

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

It seems that Linphone can support GCM in accordance with the β€œGet data from the Internet” permission of its Android application and probably both APNS and GCM, according to http://www.linphone.org/eng/features/ :

Push notification integration (compatible SIP server required)

  • What does a "compatible SIP server" mean?

  • How to find out if this SIP server is compatible?

  • Are there any such open source servers?

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

I ask about this in StackOverflow, as I am interested in this from a developer's point of view.

+7
android google-cloud-messaging apple-push-notifications sip linphone
source share
2 answers

1) A compatible SIP server means a SIP server that supports late branching, that is, a server that can fork an invitation when registering a device, even if the device was not registered at the time the invitation was sent. (This is necessary because if you use the push notification strategy for mobile VoIP applications, as required by iOS 10 and above, the mobile device will not be registered until the device receives push and the push notification will be sent simultaneously as to invite)

2) Ask the server administrator, or if this is not an option, try unregistering your device, make a call, reregister your device and see if an invitation arrives.

3a) Kamillio has a module called TSILO that supports the later forked video here , which explains what the push notification strategy is and how to implement it in Kamillio use TSILO

3b) Linphone has an open source proxy server , Flexisip, which supports late branching and can be used on top of the current server if it does not support late branching. Flexisip can be installed on your own server or on a cloud platform. Like Linphone, Flexisip has a dual license, a free AGPL, or a commercial license.

4) No, this is not limited to Linphone's own servers.

Keep in mind that the server still needs to send a push notification at the time of the invitation (if you use Flexisip and configure it correctly, Flexisip will take care of sending the push notification).

+3
source share

According to @ user8127814 answer:

I do not think that Linphone is compatible with other servers that support late branching. The Push service requires a unique identifier for each device, which means that you need to transfer this thing over SIP. Linphone sends it (called the device identifier in the iOS push service, the name may differ in different push services) in the contact header, and it is not part of the usual SIP standards. This means that the server must be precisely designed to recognize these parameters in order to support the push function, like Flexisip. Correct me if I am wrong.

0
source share

All Articles