[OpenSIPS-Users] Push Notification - lookup not returning 2
Liviu Chircu
liviu at opensips.org
Fri Jul 30 11:21:05 EST 2021
On 30.07.2021 13:59, John Quick wrote:
> I found the problem: In the usrloc module I had "contact_refresh_timer" set to true. When I change it to false, lookup returns 2.
> I had not understood the relationship between the two mechanisms - should I use either one or the other, not both?
Quite unexpected, indeed. Disabling this setting would only have an
effect if you've gone the entire way of setting up the
E_UL_CONTACT_REFRESH route + the full Push Notification generation
logic, per your PN provider. But if that's in place in your
opensips.cfg and PNs are properly getting triggered, assuming the WebRTC
device registers with a small expiration interval (say 60 seconds), then
PNs would be continuously generated for it, as I notice you have not
customized the "pn_trigger_interval" [1], which defaults to raising an
event with 120s prior to contact expiration. Here's how it would work:
* 0s: contact registers for 60s, detected as PN-enabled
* 1s: refresh timer runs, sees contact has only 60s before expiry,
raises E_UL_CONTACT_REFRESH (for a reg refresh)
* 1s: PN gets sent
* 2s: WebRTC device re-registers for 60s, detected as PN-enabled
* 3s: refresh timer runs, sees contact has only 60s before expiry,
raises E_UL_CONTACT_REFRESH (for a reg refresh)
* 3s: PN gets sent
* ...
And because of your custom "pn_skip_pn_interval" [2] setting, the device
temporarily does not need a PN on an incoming INVITE, since it's freshly
registered (within the 6s window you configured).
Again: this is what I ASSUME to be happening, let me know if it
resembles your setup. As a recommendation, I would configure the WebRTC
phone to use a LARGE expiration interval (1 week? 1 month?), so we can
awake it at any time.
> By the way, the Contact header is very large and exceeds the varchar(255) field in the DB. I've set the usrloc working mode preset to "single-instance-no-db" as a workaround.
> I'm not sure if the WebRTC app being tested here is exceptional or if this could be a more widespread ongoing problem that other people will encounter.
Yes, you are right! I had this extension at some point on the TODO list
during development, but it slip between the cracks. I will push a fix
for this on 3.3, maybe even backport it to 3.2.
[1]:
https://opensips.org/docs/modules/3.2.x/mid_registrar.html#param_pn_trigger_interval
[2]:
https://opensips.org/docs/modules/3.2.x/mid_registrar.html#param_pn_skip_pn_interval
Best Regards,
--
Liviu Chircu
www.twitter.com/liviuchircu | www.opensips-solutions.com
OpenSIPS Summit 2021 Distributed | www.opensips.org/events
More information about the Users
mailing list