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 <[email protected]>, 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 <[email protected]> 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, [email protected], 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" <[email protected]> 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
> > > > > [email protected]
> > > > > http://lists.opensips.org/cgi-bin/mailman/listinfo/users
> > >
> > > _______________________________________________
> > > Users mailing list
> > > [email protected]
> > > http://lists.opensips.org/cgi-bin/mailman/listinfo/users
> > _______________________________________________
> > Users mailing list
> > [email protected]
> > http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
> _______________________________________________
> Users mailing list
> [email protected]
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users