27 Replies
      Latest reply: Aug 14, 2017 6:50 AM by fabiofromgenova RSS
      weifromsan jose Level 1 Level 1 (0 points)

        I'm using VoIP background mode in our App, I'm now using iOS 10 developer beta with Xcode 8 beta, I found this print

        after calling

        - (BOOL)setKeepAliveTimeout:(NSTimeInterval)timeout handler:(void(^ __nullable)(void))keepAliveHandler

         

        "Legacy VoIP background mode is deprecated and no longer supported"


        I know this API is depricated since iOS 9, I want to make sure, does it mean this API will not work at all in iOS 10 and later?

        • Re: iOS 10 VoIP background mode no longer supported?
          pdm Apple Staff Apple Staff (1,760 points)

          In iOS 10, you should be using PushKit for handling push notifications for incoming VoIP calls.  So when you build your app against the iOS 10 SDK, you need to move over to PushKit (which can be supported all the way back to iOS 8, but once you move to iOS 10 our recommendation is to update your minimum deployment target to iOS 9). 

            • Re: iOS 10 VoIP background mode no longer supported?
              cbrxde Level 1 Level 1 (0 points)

              As was stated in a similar thread before, while PushKit might satisfy the need of any actual online server based solution, this leaves a giant hole for VoIP apps that are supposed to work in closed networks or with server hardware that can not easily be update to follow any new concept.

              I do agree on deprecating interfaces, when a proper solution has been provided for a long enough time, however, PushKit in no way satisfies as a replacement to the previous background mode and its capabilities.

               

              So, is Apple oficially not interested in supporting any VoIP applications other than those tied to their push servers?

              • Re: iOS 10 VoIP background mode no longer supported?
                langaCom Level 1 Level 1 (0 points)

                We are running into similar issues. Some of our customers use the App to connect to generic SIP servers/PBXs, even in closed networks where neither server nor client have a connection to the internet.

                Using iOS 10 will render our App useless for these customers as we can't use PushKit without internet connectivity.

                Also, connecting to generic SIP servers which are not under our control is becoming impossible because we can't implement a push infrastructure on these servers.

                 

                We fully understand the disadvantages of the legacy API and the advantages of PushKit and we do want to use PushKit were it is possible. But there simple are use cases where using PushKit is not an option due to infrastructure restrictions and for these, we still need the legacy API to continue working.

                  • Re: iOS 10 VoIP background mode no longer supported?
                    thibault2 Level 1 Level 1 (0 points)

                    I have also the same opinion.

                     

                    For the majority of case, PushKit (starting iOS9) a great experience. It works fine and you don't need to spend data and energy to maintain connection.

                    (Legacy VoIP may cause battery issue especially if you have several app doing VoIP)

                     

                    However I have a use case where the VoIP app is communicating direclty to the SIP server. And it works without acces to Internet.

                    Additionaly legacy VoIP appears to be a little faster.

                     

                    The best situation woule be to keep this method for special cases (logs in iOS10 talks about "VoIP Legacy entitlement")

                    • Re: iOS 10 VoIP background mode no longer supported?
                      Marpin3 Level 1 Level 1 (0 points)

                      I want to add my voice to the issue.

                       

                      The company I work for offers a closed network VOIP solution that we can no longer offer an iOS application to pair with it. This is due to the limitations of PushKit and requiring connection to a PNS. Our only option is to create an in-house PNS which is unrealistic at this time.

                       

                      I do not understand why "Legacy VoIP Background Mode" cannot be supported in addition to PushKit. PushKit is obviously better in most cases but does not offer all the same functionality as the legacy VoIP code did. Therefore both have merits to existing alongside each other. I hate to push customers to Android because they offer functionality Apple does not.

                    • Re: iOS 10 VoIP background mode no longer supported?
                      jain09 Level 1 Level 1 (0 points)

                      Hi,

                       

                      Understood that at client we shall use Pushkit to receive VOIP notifications. There is some confusion with the usage of "aps" key at server. Can you confirm if by default all pushes sent using SSL certificate with voip extension are high priority pushes?

                       

                      If not, & we need to set priority as high, doc says can't use high priority alone with "content_available". Does that mean silent notifications shall always be low priority even for VOIP?

                       

                      If above things are valid, that means for VOIP, to make pushes high priority, its mandatory to send one of alert/sound/badge along with content-available for high priority VOIP notifications?

                       

                      Shall really appreciate your clarification on the same.

                       

                      Regards,

                      _Ayush

                      • Re: iOS 10 VoIP background mode no longer supported?
                        cremeschnitte Level 1 Level 1 (0 points)

                        I am still missing a clear answer as to wether the VOIP background mode will continue working or not with iOS 10

                         

                        We currently have a VOIP app in the App Store using the VOIP background mode. This realease continues to work when downloaded from the App Store on iOS 10.

                        However, when I rebuild the same App using XCode 8 beta 6, I curently fail to get background mode support.

                        This to me is confusing, as it seems that this mode should either be deprecated but still supported or unavailable for any app.

                         

                        Is this likely an error on my part, building with XCode 8, or is this the expected behavior?

                        And what is to be expected with the iOS 10 release... will VOIP background mode apps already in the store continue working?

                          • Re: iOS 10 VoIP background mode no longer supported?
                            pdm Apple Staff Apple Staff (1,760 points)

                            It is not uncommon for iOS to enable backwards compatibility (at least for some period of time).  The operating system knows what version of the SDK your app was built against so it can determine "ah, you were built against iOS 9 or earlier so I'll preserve the functionality that this binary is expecting".  This helps ensure that customer's apps don't spontaneously start failing.

                             

                            However, since linking against iOS 10 is a conscious step and doing so means that you have to handle any changes in behavior that come with the new SDK.  And in this case the VoIP background mode is being deprecated so when you link against iOS 10 that's what you need to adapt to.

                             

                            So apps that are currently in the store (which today are all linked against iOS 9 or earlier, by definition) will continue to work.  For how long?  I don't know the answer to that question, but now that the VoIP background mode is deprecated that is your strong signal that it's time to move forward.

                             

                            I hope that helps clarify the difference you're seeing with regard to the existing app store version and your locally built version. 

                              • Re: iOS 10 VoIP background mode no longer supported?
                                langaCom Level 1 Level 1 (0 points)

                                My question still stands (same as my unanswered bugreport):

                                 

                                How can we use an iOS 10 VoIP App (for CallKit support) in closed internal networks (dark data center) where no connetion to the internet is possible?

                                Clearly, we can't use PushKit as the servers can't be reached for obvious reasons. This are actual use cases for some customers and we can't force them to open up their network infrastructure.

                                  • Re: iOS 10 VoIP background mode no longer supported?
                                    eskimo Apple Staff Apple Staff (7,960 points)

                                    My question still stands …

                                    OK, let’s answer that.

                                    How can we use an iOS 10 VoIP App (…) in closed internal networks (…) where no connetion to the internet is possible?

                                    There’s no supported way to do this.  To use CallKit you must link with the iOS 10 SDK, and if you link with the iOS 10 SDK you will not be able to use the legacy VoIP API.

                                    It’s fine to file a bug about this, and it sounds like you’ve already done that.  Thanks!  What was your bug number?

                                    As to what you can do right now, my recommendation is that you work with your customers to determine which of these requirements they’d prefer to give up.

                                    Share and Enjoy

                                    Quinn “The Eskimo!”
                                    Apple Developer Relations, Developer Technical Support, Core OS/Hardware
                                    let myEmail = "eskimo" + "1" + "@apple.com"

                                      • Re: iOS 10 VoIP background mode no longer supported?
                                        mmicro Level 1 Level 1 (0 points)

                                        Our company have a little different situation with push notifications. We are providing self hosted VOIP service.

                                        Each client installs server on its own location. All clients are using one same app from AppStore, and then enter their endpoint in app.

                                        This works great with VOIP sockets.

                                         

                                        To adopt PushKit, we found 2 ways, but neither works for us:

                                         

                                          1.) we ask our clients to open connections to APN servers and bundle our private APNS certificate into server side software to all clients.

                                          This is big issue, if just one of our clients abuse certificate, our APNS certificate will be revoked and app will no longer work for any clients.

                                         

                                         

                                          2.) we create gateway between clients servers and APNS and put certificate there.

                                          All clients depends on our gateway, which is not acceptable for clients.

                                         

                                        Any ideas / suggestions, how to solve this issue?

                                          • Re: iOS 10 VoIP background mode no longer supported?
                                            eskimo Apple Staff Apple Staff (7,960 points)

                                            1.) we ask our clients to open connections to APN servers and bundle our private APNS certificate into server side software to all clients.

                                            I would strongly recommend against that.

                                            2.) we create gateway between clients servers and APNS and put certificate there.

                                            That’s what I’d do in your situation.

                                            All clients depends on our gateway, which is not acceptable for clients.

                                            All you can do here is explain the current situation to your clients and have them decide what they want to do.  The relevant factors include:

                                            • CallKit and the legacy VoIP architecture are mutually exclusive, at least as far as supported solutions are concerned.

                                            • The legacy VoIP architecture was effectively replaced in iOS 8, was officially deprecated with iOS 9, and is now only available as a compatibility feature.

                                            • While Apple hasn’t announced an official end-of-life date for the legacy VoIP architecture — and I can’t say when, or indeed if, that will happen — the previous point makes it patently clear that you should be planning for that eventuality.

                                            • You can file an enhancement request describing your unique requirements, and hope that Apple addresses this issue in the future, but you still have to plan for the possibility that that might not happen.

                                            Share and Enjoy

                                            Quinn “The Eskimo!”
                                            Apple Developer Relations, Developer Technical Support, Core OS/Hardware
                                            let myEmail = "eskimo" + "1" + "@apple.com"

                                          • Re: iOS 10 VoIP background mode no longer supported?
                                            azavatone Level 1 Level 1 (0 points)

                                            How can Apple do this?

                                             

                                            We built a BUSINESS around this.  Where was the warning that this background mode would go away?  This is devastating.

                                             

                                            Are we expected to move over to PushKit in 2 hours and update all our shipping apps for all our clients?  Where was the fair warning that the rug would be pulled out from the VOIP background mode?

                                             

                                            Holy ****.

                                             

                                            I am in shock.

                                              • Re: iOS 10 VoIP background mode no longer supported?
                                                Beast Level 3 Level 3 (125 points)

                                                PushKit was announced with iOS 8 and Legacy VoIP background was deprecated with iOS 9.  You had over a year of warning.

                                                  • Re: iOS 10 VoIP background mode no longer supported?
                                                    azavatone Level 1 Level 1 (0 points)

                                                    Are you actually making an excuse for this?

                                                     

                                                    There is NOTHING in the actual Apple docs that I read about APNS that said that PushKit would remove and replace VOIP backgroiund mode or I would not have spent the time to put it in!


                                                    Up until 6 months ago, we still had iOS 7 as a requirement to support, so PushKit was exclused as an option. 


                                                    Even in less critical areas, we get deprecation notices, NEVER a "shut off, you're done" for something so critical. 


                                                    We got loads of warnings that TLS security was coming and we got a plist key to allow arbitrary downloads. 


                                                    Look at how many people are caught by surprise with this.  No grace period, no warning, nothing. 





                                                      • Re: iOS 10 VoIP background mode no longer supported?
                                                        Beast Level 3 Level 3 (125 points)

                                                        No, I'm not making excuses, I'm telling you that Apple documented the deprecation over a year ago in setKeepAliveTimeout(_:handler:):

                                                         

                                                        Configures a periodic handler for VoIP apps in older versions of iOS.

                                                        ...

                                                         

                                                        Discussion

                                                         

                                                        In iOS 8 and later, voice-over-IP (VoIP) apps register for registerForRemoteNotifications()remote notifications instead of using this method. Using remote notifications eliminates the need for a timeout handler to check in with the VoIP service. Instead, when a calls arrives for the user, the VoIP service sends a VoIP remote notification to the user’s device. Upon receiving this notification, the device launches or wakes the app as needed so that it can handle the incoming call.

                                          • Re: iOS 10 VoIP background mode no longer supported?
                                            powerqian Level 1 Level 1 (0 points)

                                            Same scenario as other replys. We need to support users with closed network. As of iOS 10 GM seed, it looks like no changes made on this topic.

                                             

                                            Is it official that on iOS 10 and later, any VoIP app which needs to support closed network connection between client and server will no longer be supported?

                                            • Re: iOS 10 VoIP background mode no longer supported?
                                              vkrikun Level 1 Level 1 (0 points)

                                              My company also suffers from the VoIP background mode deprecation.  We develop secure VoIP solutions for public  and law enforcement organisations. In this domain of VoIP communications,  it's  pretty typical to have a closed network without access to Apple Push Servers. We are happy to integrate CallKit + VoIP Push when it's possible, but what to do with all the existing installations in closed networks?!

                                            • Re: iOS 10 VoIP background mode no longer supported?
                                              eskimo Apple Staff Apple Staff (7,960 points)

                                              Just FYI, our official Q&A covering this has now been posted (QA1938 iOS 10 and the Legacy VoIP Architecture).  If you’ve followed along with this thread carefully then you’ll find no new details in the Q&A; it exists to help out folks coming to the issue afresh.

                                              Share and Enjoy

                                              Quinn “The Eskimo!”
                                              Apple Developer Relations, Developer Technical Support, Core OS/Hardware
                                              let myEmail = "eskimo" + "1" + "@apple.com"

                                                • Re: iOS 10 VoIP background mode no longer supported?
                                                  azavatone Level 1 Level 1 (0 points)

                                                  This is utterly horrible.

                                                  • Re: iOS 10 VoIP background mode no longer supported?
                                                    jeremyp Level 1 Level 1 (0 points)

                                                    A word of advice: when you are posting a technical note that appears to spell doom for the apps of several of the people on the thread, finishing with the tag line "share and enjoy" looks more like a kick in the teeth than anything else.

                                                     

                                                    "Share and Enjoy" is, of course, the motto of the Complaints Division of the Sirius Cybernetics Corporation, a corporate behomoth that covers the major landmasses of three planets (that's just the complaints division, not the whole SCC) in the Hitch Hiker's Guide to the Galaxy. The marketing division of the Sirius Cybernetics Corporation is defined as "a bunch of mindless jerks who'll be the first against the wall when the revolution comes".

                                                     

                                                    Douglas Adams created the Sirius Cybernetics Corporation as a satire on huge bureauratic marketing droid driven corporations such as (at the time) IBM and Xerox and that you probably don't want Apple to be included with, although it might be too late.

                                                    • Re: iOS 10 VoIP background mode no longer supported?
                                                      john.jones.name Level 1 Level 1 (0 points)

                                                      Part of the reason why SIP protocol was so sucessful was because it was a standard and cisco was forced to use it as part of a tanberg take over...

                                                       

                                                      I would appeal to Apple developers to create a API to allow a app access to a SIP client that works without acess to the internet otherwise gov and enterprise might have problems that involve lawyers and we can all do without that...

                                                      (other platforms allow access to a SIP core via an API )

                                                       

                                                      Since VoLTE requires a SIP client the code is there and all Apple has to do is allow API access


                                                      Intresting that other apple apps use this API to work with sensors in the background so this issue will be intresting in iOS 11

                                                       

                                                      Please help allow SIP without internet access.

                                                       

                                                      Regards

                                                       

                                                      John Jones

                                                      • Re: iOS 10 VoIP background mode no longer supported?
                                                        fabiofromgenova Level 1 Level 1 (0 points)

                                                        Similar scenario as others, albeit without VOIP.

                                                        We have an integrated alarm monitoring system for vessels, where alarm notifications are distributed to the on-duty engineers personal iOS devices.

                                                        When the vessel is moored and there is internet connectivity no problem, pushkit is great.

                                                        When the vessel is cruising there is no connection to the Internet (satellite is really expensive), so now the app opens a direct socket to the on-board IAMS server: this will not work in the future.

                                                        We need to tell our customers that they need to carry another device to get the alarms notifications, because iOS 10 cannot do that. Possible alternatives: Android, DECT phones, walkie talkies...

                                                      • Re: iOS 10 VoIP background mode no longer supported?
                                                        Kjeld Flarup Level 1 Level 1 (0 points)

                                                        There are still Apps out there like Zoiper which supports SIP TCP connections. Do they exist because they were released before IOS 10?

                                                         

                                                        Fact is that the standard SIP protocol does not include Push Notifications, and thus IOS does not support the most commonj used VoIP protocol.

                                                         

                                                        And even if SIP is extended, according to this post, the push credentials would need to be exposed to the world.

                                                        https://community.zoiper.com/1896/configure-push-notification-for-iphone-new-version-coming?show=1896