[sipcore] Push notifications with iOS 13 (RFC 8599)

Yehoshua Gev <yoshigev@gmail.com> Sun, 11 October 2020 15:07 UTC

Return-Path: <yoshigev@gmail.com>
X-Original-To: sipcore@ietfa.amsl.com
Delivered-To: sipcore@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 112433A0E56 for <sipcore@ietfa.amsl.com>; Sun, 11 Oct 2020 08:07:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jKbtgLAt6-HA for <sipcore@ietfa.amsl.com>; Sun, 11 Oct 2020 08:07:35 -0700 (PDT)
Received: from mail-vs1-xe2f.google.com (mail-vs1-xe2f.google.com [IPv6:2607:f8b0:4864:20::e2f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A04F83A0E51 for <sipcore@ietf.org>; Sun, 11 Oct 2020 08:07:35 -0700 (PDT)
Received: by mail-vs1-xe2f.google.com with SMTP id u74so7697201vsc.2 for <sipcore@ietf.org>; Sun, 11 Oct 2020 08:07:35 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to:cc; bh=UAVivG8t8pDK3fhNTUia5YW+PNDV+JNBVatLDZHhDQI=; b=sF01twOTB3LCs6BHVI+DY8SP16Qf1DDhOXjplWWWozq9KYIEBhPl3JsQvtojiZ6vlI HAX6ska8lBHYp1zuMZEMSNSq4NCHANGO3+tgDdHULd7bcWW9eHSIUifCq+zltd89k7JC M6udVtPnZ/0buHthtg27R0UKtyL++XuQ+cxJ9tmhTyhg8em+qKnnxsMW+UhShwlXCbZp lOz/KOqQvdKkKYpLGjV837bOb8e0XhpZ8yvS5Igi7mnQZiB0+8sZucWMcqOuEP+xKAAG Z8qV4fGQOFS3WybZ3MLAt2Le2bT1YmfwnmWSowArGASy4NWRgRrAggxpt9/4/PAdLYTl Zs3Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=UAVivG8t8pDK3fhNTUia5YW+PNDV+JNBVatLDZHhDQI=; b=sq/R4G/dn6HWGHt6q1E0Mp/f8PVB77R0F1b0UqGAZyTyT1rNyrZYnU39OEUKGUqcZm MdGj3O0DYyLsn6/bwmSRz6UIXXJEJBsL/AgmiZvLLpXyDQXS4XYgHWfVRYBNJ6/4cjn+ K/cSAMRxkYGirQPAvRfdLPkAGqCIpPwNiYAONvJx0It4vzRILK/LuxEU/G5m+QhrNFVY dpNdghWVzzk3HMa7WnjAIyvy4zfR816g/PcwwCVOkaWg6PhrbCN7CHwhYWvHMMZAp0W7 QNLwc490V+lJhmGXySQv5Q0jYqO+7l4t07T47VcSVomJ8Bzseg4GBRTc6Gv2BrFL8+fd vObg==
X-Gm-Message-State: AOAM532rf3/qSZclgOoqvbK8YNJUpMDcVw4LEeRiLBEt6J5GJ3IFkzz/ jhKRyS4ahjyNCXTrnMsgG//Zx6BHTRF5JwHNJyrUWpI4g0Apzw==
X-Google-Smtp-Source: ABdhPJxug5jFi+nd/0pQxMW6CO4+6pqlBmAxYsS9tOUercux3yxL8I031NF4OuEqn5Xnb+kkDnQn2BHtjZhy9TP/3AQ=
X-Received: by 2002:a67:fb96:: with SMTP id n22mr12120292vsr.13.1602428854192; Sun, 11 Oct 2020 08:07:34 -0700 (PDT)
MIME-Version: 1.0
From: Yehoshua Gev <yoshigev@gmail.com>
Date: Sun, 11 Oct 2020 18:07:23 +0300
Message-ID: <CAF_j7yb_UeGsODVz1tYw021XCf7AxZOySLghcgAxa0sHr-ysbw@mail.gmail.com>
To: sipcore <sipcore@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000a1cdd205b1668a56"
Archived-At: <https://mailarchive.ietf.org/arch/msg/sipcore/TOLV1NBJ7M_GEhp83OOdBx7DcPo>
Subject: [sipcore] Push notifications with iOS 13 (RFC 8599)
X-BeenThere: sipcore@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: SIP Core Working Group <sipcore.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sipcore>, <mailto:sipcore-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/sipcore/>
List-Post: <mailto:sipcore@ietf.org>
List-Help: <mailto:sipcore-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sipcore>, <mailto:sipcore-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 11 Oct 2020 15:07:37 -0000

Hi All,

I hope it is ok to post this here and not on sip-implementors...

We are trying to implement RFC 8599 for performing push notifications for
Apple devices.

Starting with iOS 13, there is a restriction on VoIP pushes [1]: "Apps
receiving VoIP push notifications *must report the call quickly to CallKit,
so it can alert the user* to the presence of the incoming call."

According to RFC 8599, pushes are used for (at least) two different goals:
  1) Initiating registration refreshes (section 5.5)
  2) Notifying of incoming calls (section 5.6.2)

Now, for a reasonable user experience, the registration refresh pushes must
not trigger the UI of incoming call.
However, when an INVITE is received, the UA must be awoken immediately,
which is the purpose of VoIP push.

Does it make sense to make a different push type for registration refresh
and for incoming calls?

I'm not sure this is possible with the current RFC (and it is also against
the spirit of the RFC), but I can't think of another way around it (besides
using regular pushes instead of VoIP pushes, which might introduce delays,
or having a registration with infinite expiration that will not require
refreshes, which might leave many zomby registrations).

See some discussion here: [2], [3].

Thanks,
Yehoshua

[1]
https://developer.apple.com/documentation/pushkit/pkpushtype/1614481-voip
[2] https://developer.apple.com/forums/thread/117939
[3] https://www.linphone.org/news/ios-13-important-changes-voipim-apps