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.
# 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");
...

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.

Thanks

Volkan Oransoy
On 4 Feb 2024 at 15:01 +0000, Adrian Georgescu <a...@ag-projects.com>, wrote:
> Push notifications were designed exactly for the case when the UA is not 
> registered.
>
> —
> Adrian
>
>
>
>
> > On 3 Feb 2024, at 09:19, Volkan Oransoy <voran...@gmail.com> wrote:
> >
> > Hi there
> >
> > @Ronald we use that tool for notification tests and it does the job.
> > https://github.com/flutter-webrtc/callkeep/tree/master/tools
> >
> > 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.
> >
> > Let me know if you have any comments, tips etc.
> >
> > Have a great weekend.
> >
> > Volkan Oransoy
> > On 2 Feb 2024 at 14:51 +0000, r...@rvgeerligs.nl, wrote:
> > > Hi Volkan,
> > >
> > > I implemented the scripting from 
> > > sip-push-notification-with-opensips-3-1-lts-rfc-8599-supportpart-ii/ in 
> > > opensips 3.4.0.
> > > 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.
> > >
> > > 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?
> > >
> > > srcipt to directly talk to apple:
> > > https://medium.com/@egzon.arifi/sending-a-push-notification-to-an-ios-device-using-a-bash-script-96c056c1544c
> > >
> > > Please keep me posted on what you find.
> > >
> > > Regards, Ronald
> > >
> > > February 2, 2024 at 6:01 AM, "johan" <jo...@democon.be> wrote:
> > > > send a query directly to apple or to google for waking them up. I did 
> > > > something like that in an external lua script.
> > > > On 2/02/2024 09:49, Volkan Oransoy wrote:
> > > > > Hi all,
> > > > > I am working on implementing RFC 8599 and have an architectural 
> > > > > question. I followed the blog post 
> > > > > https://blog.opensips.org/2020/06/03/sip-push-notification-with-opensips-3-1-lts-rfc-8599-supportpart-ii/
> > > > >  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.
> > > > > 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? How do you handle 
> > > > > this scenario on your setups? Or do I misinterpret the rfc?
> > > > > Thanks
> > > > >
> > > > > Volkan
> > > > > _______________________________________________
> > > > > Users mailing list
> > > > > Users@lists.opensips.org
> > > > > http://lists.opensips.org/cgi-bin/mailman/listinfo/users
> > >
> > > _______________________________________________
> > > Users mailing list
> > > Users@lists.opensips.org
> > > http://lists.opensips.org/cgi-bin/mailman/listinfo/users
> > _______________________________________________
> > Users mailing list
> > Users@lists.opensips.org
> > http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
> _______________________________________________
> Users mailing list
> Users@lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to