How Linphone support push notifications on Android/iOS
Asked Answered
M

2

8

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.

Magnetoelectricity answered 25/1, 2014 at 21:10 Comment(3)
do you find any answer?Komatik
@Mimad, no, not reallyMagnetoelectricity
@Magnetoelectricity got answer?Micropaleontology
F
4

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).

Fullblooded answered 29/1, 2018 at 22:49 Comment(0)
T
1

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.

Tilsit answered 29/4, 2019 at 10:52 Comment(4)
You are right, but I don't get one thing. Do we need to re registration, even if we are using push notificationAdams
@Adams In this case, yes. You should send re-registration as soon as the push comes, or you won't be able to receive INVITE. One of the important meanings of this re-registration is to open up the ports so that INVITE can passthrough NAT. Push notification itself is not carrying any SIP payload. It does not involve SIP negotiation.Tilsit
Sorry for not responding until now. Push notification for SIP is now an RFC standard tools.ietf.org/html/rfc8599. I think Linphone supports it, but I am not sure.Fullblooded
Also, if you are using LibLinphone, you can configure a custom header to send the device ID.Fullblooded

© 2022 - 2024 — McMap. All rights reserved.