I develop a SIP app in iOS and I would like to know if anybody have found a sip server that supports PushKit. It might be
an existing sip provider
an opensource sip server (eg asterisk) with this capability implemented
The SIP server doesn't need to support PushKit, this is something in iOS. There are 2 types of push notifications that the app can recognize and handle differently.
Through the Apple developers portal you will need to generate a certificate type of Voip Services. Use this and the token while pushing and in iOS register and lookout for these.
This site shows differences between push types: https://zeropush.com/guide/guide-to-pushkit-and-voip
Apples best practices for VoIP: https://developer.apple.com/library/ios/documentation/Performance/Conceptual/EnergyGuide-iOS/OptimizeVoIP.html
On your SIP server, you will just need to send a push notification on an incoming call. If you use Asterisk you can use AGI so you can perform the push in whichever language. I've always just use APNS but there's a bunch to choose from like AWS, Urban Airship, Onesignal.
Urbanship confirmed that they would not support voip push in the near future (at the end of 2016). Finally, I found I can just use houston to send voip push. From my experience sending voip push and apn push are just the same from our side, e.g. they send to the same apple server, so I guess apple server will differentiate them based on their tokens and give voip push a higher priority.
Related
Can one use a 3rd party service to send Push Notifications without relying on the Apple Push Notification Service (APNS)?
If it is a requirement that one use the APNS service, is it simply a requirement for App Store approval or is it a technological limitation?
I have seen other questions, such as this one: Apple push notification without Apple Server, but it mainly deals with sending files and is several years old.
Apple requires you to use APNS to send push notifications to devices. This cannot be done without APNS, if you found a way around this then Apple would most likely reject the app.
Click here to read the documentation. When you register for push notifications you are actually getting the device token for your app on that specific device from APNS, therefore that is an APNS specific token and you will need to use APNS to send the notification.
For IOS App, we have secure intranet and want to send push notification without APNS.
I have gone through may scenarios on here on site. I am not able to find any answer if using our network and server is it possible to send push notification without APNS.
For Android App I found that it is possible to bypass GCMS. what about to bypass APNS for IOS?
APNS can not work in closed networks ! You need internet to reach publicly hosted Apple Cloud Server. It's not possible to by-pass Apple servers for any Push Notification to be delivered to your app.
I'm trying to add notifications to a private chat app that uses Firebase, unfortunately Firebase has an APN service but it must be configured and needs also a server app to manage it. I'd like to have the user notified when someone is texting him while the app is in the background. The problem is that APN (Apple Push Notifications) requires a server with a certificate and that is ok with me, but I'm looking for a way to send push notifications from an iOS device to another device, I mean device-to-device push notifications and the server has just to relay the messages as they are. In my case the APN server should only relay the messages that it receives from a source device to the destination device. I couldn't find a way to obtain that without writing sever code. I want to use pre-built existing services. Has anybody any idea on how to send push notifications from one device to another without configuring and writing server apps? I tried a workaround using the background fetch iOS feature, but the system si randomly giving my app execution time... and that means that my app could wait hours before being started by the system... so that is not a viable solution. Please help
Ok, probably what I found out could be helpful for others. Actually
what I'm looking for can be directly integrated in the app. You need a library like NWPusher (free on GitHub) which can be imported, and with just a few lines of code and the APN device token you get from the system, it is possibile to implement APN notifications... easily, but most importantly... for free.
UPDATE
Check also APNS framework on GitHub. It's written in Swift 3.0 and it supports the latest features.
You are essentially looking for a messaging / chat API to handle device-to-device communication. You might want to try Pusher or PubNub
Maybe this is a trivial question, however it is not yet clear to me if the server side is impacted when PushKit frameworks will be applied in a VoIP iOS app.
The SIP server for example sends an INVITE to my app, the notification is received in the app and the call is established.
Is the server impacted when PushKit.framework is used? Who is sending the pushkit event? The SIP server or Apple? Is this similar to APNS?
It is exactly like APNS as far as the server is concerned. It just comes with added benefits for the client (the iOS app).
The client registers with the Apple servers and gets a token in return. The app registers the token with your server. Your SIP server can use the token to send the notification with the appropriate payload. That is sent to APNS which then forwards it to the device.
I am developing an IOS Framework with several functionalities, and I would like to add push notification services. I created my own push notification service using Easy APNS. I do not know how to deal with others apps when They integrated my SDK. I mean, I do not know, if they have to send me their distribution certificates, and I can add them in my push notifications service, or If I need to integrate something in their push notification servie.
I do not know how to deal with a Framework that will work with others app and push notifications.
Yes, If a app supports APNS then it has bundled with APNS enabled service(Push Notification service) certificate.
Assuming that your server is responsible for sending push notifications to all the applications using your SDK, you'll need to get from the developers of those app their push certificates.
I'm assuming that your SDK will handle the sending of the device token from an application to your server. You'll have to know in your server which device token belongs to which application.
For each application for which you wish to send push notifications, you'll have to maintain a separate connection to APNS using the certificate supplied by the developer of that application.