[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