Slashdot Mirror


iOS 10 Quietly Deprecated A Crucial API For VoIP and Communication Apps (apple.com)

neutrino38 warns that iOS 10 includes a significant change "overlooked by the general public": It deprecates an API that is crucial for VoIP and other instant messaging applications that enable keeping one socket active despite the fact that the application would run in the background. As a replacement, developers need to use PushKit: when an incoming call is to be forwarded to an iOS VoIP client, the VoIP infrastructure needs to:

- withold the call
- contact Apple push infrastructure using a proprietary protocol to wake up the client app remotely
- wait for the application to reconnect to the infrastructure and release the call when it is ready

This "I know better than you" approach is meant to further optimize battery life on iOS devices by avoiding the use of resources by apps running in background. It has also the positive effect of forcing developers to switch to a push model and remove all periodic pollings that ultimately use mobile data and clog the Internet. However, the decision to use an Apple infrastructure has many consequences for VoIP providers:

- the reliability of serving incoming calls is directly bound to Apple service
- Apple may revoke the PushKit certificate. It thus has life and death decision power over third-party communication infrastructures
- organizations wanting to setup IPBX and use iOS client have no option but to open access for the push services of Apple in their firewall
- It is not possible to have iOS VoIP or communication clients in network disconnected from the Internet - Pure standard SIP clients are now broken on iOS

The original submission argues that Apple is creating "the perfect walled garden," adding that "Ironically, the only VoIP 'app' that is not affected is the (future?) VoLTE client that will be added to iOS one day."

16 of 122 comments (clear)

  1. It's needed to preserve the battery by Anonymous Coward · · Score: 5, Interesting

    It provides defense against lazy app writers. And it's courageous.

    1. Re: It's needed to preserve the battery by Anonymous Coward · · Score: 5, Insightful

      It just shows you who Apple thinks itâ(TM)s customer is. Theyâ(TM)re choosing to favour their user experience over their app developers wish to be lazy and to potentially do neferious things tracking the user constantly.

      Not that surprising considering which of those pays Apple to buy a price of hardware. And not the kind of move google would do given that the app developer is their true customer.

    2. Re: It's needed to preserve the battery by msauve · · Score: 2

      "It just shows you who Apple thinks itÃ(TM)s customer is. TheyÃ(TM)re choosing to favour their user experience over their app developers wish to be lazy "

      Exactly the opposite of /., which favors their lazy developers over the improved user experience which would come with Unicode support.

      --
      "National Security is the chief cause of national insecurity." - Celine's First Law
  2. Not exactly the truth... by gnasher719 · · Score: 5, Insightful

    Apple deprecated the old VoIP interface one year ago. Absolutely obvious for anyone interested. But one year warning will obviously come as a surprise to some people.

    VoIP required that your phone was turned on, your app was running, and regularly pulled requests. An absolute battery eater. The new feature allows your phone to be asleep, use no energy, and wake up immediately when a call arrives.

    1. Re:Not exactly the truth... by bill_mcgonigle · · Score: 2, Informative

      VoIP required that your phone was turned on, your app was running, and regularly pulled requests. An absolute battery eater.

      That's silly. Android systems can sleep for days while have VoIP solutions, like Signal, installed and ready to receive a call (via its own listener).

      Unless you're saying iOS is somehow worse than Android in this regard.

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    2. Re: Not exactly the truth... by Carewolf · · Score: 2, Interesting

      That is because nothing about voip requires regular pings. If that was needed on iOS that was defect of the lazy Apple developers and not app develpers.

  3. Who was abusing the old API (FB?) by EmperorOfCanada · · Score: 2

    I'm looking at you facebook; what are the chances they were abusing the old API. It sounds like a right pain in the ass from a development point of view. Maybe though with this there could be a way from phone calls interrupting my skype calls. That would be a huge win.

  4. This is great! by Gravis+Zero · · Score: 5, Funny

    Now the next iPhone can be even thinner! I can't wait to call 911 and tell them I accidently cut myself with my new razor thin iPhone 12! -_-

    --
    Anons need not reply. Questions end with a question mark.
    1. Re:This is great! by PopeRatzo · · Score: 2

      Now the next iPhone can be even thinner! I can't wait to call 911 and tell them I accidently cut myself with my new razor thin iPhone 12!

      I hear they're going to call the next model the iPhone RAZR.

      --
      You are welcome on my lawn.
  5. Re:Is Anyone Really Surprised by guruevi · · Score: 2

    Pushing people to do things 'the right way' is preventing iPhone to turn into Android. This is ONLY targeting lazy developers that haven't updated their app in YEARS (this way of doing it has been possible since 2009 and PushKit as an alternative to polling announced and available since mid-2014).

    I'm very glad that VoIP apps don't eat all my battery because they have to poll a service every 5s. Many VoIP apps were simply garbage before iOS 3 and still are on Android, we complain about charging an iPhone once every 2 or 3 days, I had to charge twice a day when I had a particular IM app on an old iDevice, even a current Android I own, doesn't last more than a day when some VoIP/IM apps are open.

    --
    Custom electronics and digital signage for your business: www.evcircuits.com
  6. Apple Has Planned This For A While by alancronin · · Score: 4, Insightful

    Apple has let developers know that this change was coming for about a year and a half now. We develop a VoIP application and have been making changes well in advance of Apple fully deprecating the older socket mechanism. It does have the downside of giving Apple more control but Apple already has full control over whether you can publish to the App Store, how your UI should look (within reason based on guidelines), not duplicating system functionality, etc. However if this improves battery life and creates applications that are designed in a better fashion then it is positive change.

  7. Re: Meh by Zone-MR · · Score: 5, Funny

    What an amazing world we live in, that a state of the art device featuring communication radios, cameras, a display, and phonomenal processing power is available for the same price as a chunk of metal.

  8. Re: Their REAL customers by Midnight+Thunder · · Score: 2

    In many ways carriers are becoming a dumb pipe and the evolution of their plans suggest that they are realising this. In many ways charging for data is of more value than charging for voice, if everyone is moving to third party apps.

    The value of keeping a phone number with your carrier is that it is still the closest to an universal contact ID, working across carriers. The same can't be said for solutions such as WhatsApp, Skype, Facebook and Google Hangouts.

    --
    Jumpstart the tartan drive.
  9. Re: Meh by NettiWelho · · Score: 2, Funny

    What an amazing world we live in, that a state of the art device featuring communication radios, cameras, a display, and phonomenal processing power is available for the same price as a chunk of metal.

    Yet the the people who make these things need suicide nets around the buildings because.. reasons?

  10. Re: Meh by Rockoon · · Score: 4, Insightful

    Yet the the people who make these things need suicide nets around the buildings because..

    ...because they are considered to be worth more than a college student in America, that have significantly higher suicide rates.

    --
    "His name was James Damore."
  11. Re:Is Anyone Really Surprised by guruevi · · Score: 2

    You could proxy it. It uses HTTP/2 so it can be proxied without requiring any SSL-shenanigans but otherwise that is the simplest method.

    Alternatively, the push notification protocol is open, well documented and very simple (JSON back and forth), people have made some reference implementations although most simply rely on the Apple infrastructure. Various commercial MDM have the feature although it's too bothersome for most people to set up so it's generally poorly documented since it's only useful for apps you can import and sign certificates for which would only be available in your own company 'app store'. But it boils down to including the various certificates for your custom implementation, importing them into the phone using a profile (which the user would have to accept). Then your app (and your app only) can talk to 'your' servers instead of Apple's.

    --
    Custom electronics and digital signage for your business: www.evcircuits.com