<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<div name="messageBodySection">
<div dir="auto">Yes they are but the implementation looks for a valid registration record to initiate pn. The route snippet at the blog post looks for the pn enabled registrations with return code 2 then pops up the E_UL_CONTACT_REFRESH event, and waits for a registration from the UA to proxy the call. <br /></div>
<pre># do lookup with method filtering
lookup("location", "m");
$var(rc) = $retcode;
switch ($var(rc)) {
case 1:
    # we found at least 1 non-PN contact!
    $var(do_relay) = true;
    break;
case 2:
    # success, but all contacts are PN-enabled, so we're
    # sending PNs / awaiting re-registrations from them
    $var(do_relay) = false;
    break;
default:
    xlog("L_INFO", "DBG: no contacts found ($var(rc))\n");
    t_reply(404, "Not Found");
    exit;
}
...
if ($var(do_relay) && !t_relay())
    send_reply(500, "Internal Server Error");
...</pre>
<div dir="auto"><br />
So practically, UA should keeps its registered state active, so needs a registration refresh in regular intervals. That is not the ideal case for a mobile app I believe. So the main idea is to keep power consumption at minimum. <br />
<br />
Thanks</div>
</div>
<div name="messageSignatureSection"><br />
<div dir="auto">Volkan Oransoy</div>
</div>
<div name="messageReplySection">On 4 Feb 2024 at 15:01 +0000, Adrian Georgescu <ag@ag-projects.com>, wrote:<br />
<blockquote type="cite">Push notifications were designed exactly for the case when the UA is not registered. 
<div><br />
<div>
<meta charset="UTF-8" />
<div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">
<div>—</div>
<div>Adrian</div>
<div><br /></div>
</div>
<br class="Apple-interchange-newline" />
<br class="Apple-interchange-newline" /></div>
<div><br />
<blockquote type="cite">
<div>On 3 Feb 2024, at 09:19, Volkan Oransoy <voransoy@gmail.com> wrote:</div>
<br class="Apple-interchange-newline" />
<div>
<div>
<div name="messageBodySection">
<div dir="auto">Hi there<br />
<br />
@Ronald we use that tool for notification tests and it does the job. <br />
https://github.com/flutter-webrtc/callkeep/tree/master/tools<br />
<br />
We managed to work the setup mentioned at the official blog post but that requires the UA to stay registered. This needs periodic communication between the UA and the registrar proxy as the RFC describes. We want the call to be initiated even if the UA is offline but has a valid token stored. I think we will use the msilo method with a bunch of custom configs and scripts. <br />
<br />
Let me know if you have any comments, tips etc. <br />
<br />
Have a great weekend.  </div>
</div>
<div name="messageSignatureSection"><br />
<div dir="auto">Volkan Oransoy</div>
</div>
<div name="messageReplySection">On 2 Feb 2024 at 14:51 +0000, rvg@rvgeerligs.nl, wrote:<br />
<blockquote type="cite">
<div>Hi Volkan,</div>
<div><br /></div>
<div>I implemented the scripting from sip-push-notification-with-opensips-3-1-lts-rfc-8599-supportpart-ii/ in opensips 3.4.0.</div>
<div>As the send pn to apple or googlei s not defined I fail to get the parameters passed to the send pn to apns script which I also have.</div>
<div><br /></div>
<div>I seem to have lost the device-ID in opensips or in any INVITE somewhere as I do not understand the RFC certainly not towards the device_ID or token. Or this ID is stored on registration at the proxy?</div>
<div><br /></div>
<div>srcipt to directly talk to apple:</div>
<div><a href="https://medium.com/@egzon.arifi/sending-a-push-notification-to-an-ios-device-using-a-bash-script-96c056c1544c">https://medium.com/@egzon.arifi/sending-a-push-notification-to-an-ios-device-using-a-bash-script-96c056c1544c</a></div>
<div><br /></div>
<div>Please keep me posted on what you find.</div>
<div><br /></div>
<div>Regards, Ronald</div>
<div><br /></div>
<p>February 2, 2024 at 6:01 AM, "johan" <<a href="mailto:johan@democon.be?to=%22johan%22%20%3Cjohan%40democon.be%3E" target="_blank" tabindex="-1">johan@democon.be</a>> wrote:</p>
<blockquote>
<div>
<div></div>
<p>send a query directly to apple or to google for waking them up. I did something like that in an external lua script.</p>
<div></div>
<div>On 2/02/2024 09:49, Volkan Oransoy wrote:</div>
<div></div>
<blockquote>
<div></div>
<div name="messageBodySection">
<div></div>
<div dir="auto">
<div>Hi all,</div>
<div></div>
<div>I am working on implementing RFC 8599 and have an architectural question. I followed the blog post <a href="https://blog.opensips.org/2020/06/03/sip-push-notification-with-opensips-3-1-lts-rfc-8599-supportpart-ii/" target="_blank" tabindex="-1">https://blog.opensips.org/2020/06/03/sip-push-notification-with-opensips-3-1-lts-rfc-8599-supportpart-ii/</a> and it works. Based on the rfc and the implementation of Opensips, the UA should have a valid registration throughout the process. When a lookup performed, opensips finds the pn-enabled record, triggers the PN and after a re-registration of the UA, it proxies the call. This process works without an issue. But when we kill the UA on the client device (the client is connected via WSS), after the registration expires, the call can't be proxied since there is no registration. </div>
<div>I want to wake up the UA even if there is no registration on the proxy and suspend the call until the UA registers to the system. Should I handle this scenario with a custom setup? <span style="color:#141414;font-family:Inter, -apple-system, system-ui, Segoe UI, sans-serif;font-size: 14px">How do you handle this scenario on your setups? Or do I misinterpret the rfc? </span></div>
<div></div>
<div>Thanks</div>
</div>
<div></div>
</div>
<div></div>
<div name="messageSignatureSection">
<div><br /></div>
<div></div>
<div dir="auto">Volkan</div>
<div></div>
</div>
<div></div>
<div></div>
<pre>_______________________________________________
Users mailing list
<a href="mailto:Users@lists.opensips.org" target="_blank" tabindex="-1">Users@lists.opensips.org</a>
<a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank" tabindex="-1">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a>
</pre>
<div></div>
</blockquote>
<div></div>
</div>
</blockquote>
<div><br /></div>
_______________________________________________<br />
Users mailing list<br />
Users@lists.opensips.org<br />
http://lists.opensips.org/cgi-bin/mailman/listinfo/users<br /></blockquote>
</div>
</div>
_______________________________________________<br />
Users mailing list<br />
Users@lists.opensips.org<br />
http://lists.opensips.org/cgi-bin/mailman/listinfo/users<br /></div>
</blockquote>
</div>
<br /></div>
_______________________________________________<br />
Users mailing list<br />
Users@lists.opensips.org<br />
http://lists.opensips.org/cgi-bin/mailman/listinfo/users<br /></blockquote>
</div>
</body>
</html>