[OpenSIPS-Users] mid_register and its possible bad actions with De-REGISTER

Dmitry Ponomaryov iamhalje at gmail.com
Wed Dec 27 09:38:42 UTC 2023


Hello, opensips community, let's imagine default situations where we 
have dynamic users who can move and change FREQUENTLY! ip-address on 
phone, and re-send the registration, and at the same time we have in the 
configs:

mid_registrar_save("location","c1f");

in this case, we receive with any new registration from the user, the 
old registration will be deleted:

PQsendQuery(delete from location where contact_id=...) 
mid_registrar:reg_tm_cback: >> [REPLY] UNREGISTER !

this is in Contact throttling, reflected by contact_id.

and each deletion of a contact from the location table leads to a 
De-REGISTER, and a new register, is such a De-REGISTER needed?? which if 
this all happens in throttling mode, and OpenSIPS knows about all 
contacts, and let the final server be Asterisk , the main thing is to 
send INVITE to OpenSIPS for further work.

All this to say, it might make sense to add the ability to disable this 
De-REGISTER, because with a new registration, we will still send it a 
registration with an updated contact before the main registrar times 
out, and there will be no problems, that is, for example, the following 
settings:

modparam("mid_registrar", "outgoing_expires", 600) 
modparam("mid_registrar", "default_expires", 300)

 From doc mid_registrar:

A common occurrence is for some SIP User Agents to lose their network 
connection (especially when dealing with mobile devices), hence they do 
not properly de-register from the mid-registrar. In this case, in order 
to avoid stale registrations on the main registrar (which contains SIP 
contacts with greatly extended lifetimes!), the mid-registrar will 
appropriately generate De-REGISTER requests and remove these contacts 
from the main registrar's location service as soon as it considers them 
to have expired.

Thank you in advance!




More information about the Users mailing list