[SR-Users] Unregister with Multiple Contacts

David Villasmil david.villasmil.work at gmail.com
Sun Feb 21 14:45:24 CET 2021


Beware that since you’re removing all contacts, if any are valid and if any
of the contacts that did not unregister is called, Kamailio won’t find them.

If what you need is not force only one contact per user, maybe look at
http://www.kamailio.net/docs/modules/5.4.x/modules/registrar.html#registrar.f.save


On Sun, 21 Feb 2021 at 13:14, Charles Phillips <charles at rustybike.com>
wrote:

> Sorted it.  I needed to loop through the contacts, then select the correct
> ruid based on $ci
>
> For completeness, here is my solution:
>
> reg_fetch_contacts("location", "$fu", "un_reg");
>     $var(i) = 0;
>     while ($var(i) < $(ulc(un_reg=>count))) {
>         $var(ul_callid) = $(ulc(un_reg=>callid)[$var(i)]);
>         $var(ul_ruid) = $(ulc(un_reg=>ruid)[$var(i)]);
>         if ($var(ul_callid) == $ci) {
>             xlog("L_INFO", "Unregistering contact $tu Ruid:
> $var(ul_ruid)\n");
>             unregister("location", "$fu", "$var(ul_ruid)");
>             $sht(regs=>$fU@$fd~$ci)=$null;
>         }
>         $var(i) = $var(i) + 1;
>     }
>
>
> - Charles
>
>
>
>
> On Feb 19, 2021, at 9:43 AM, Charles Phillips <charles at rustybike.com>
> wrote:
>
> Happy Friday!
>
> To clean up contacts that have sent requests to unregister (Expires: 0) I
> am executing the following after a 200 OK response from the upstream server:
>
>     reg_fetch_contacts("location", "$fu", "un_reg");
>     xlog("L_INFO", "Removing unregistered contact From: $si To: $tu Ruid:
> $ulc(un_reg=>ruid)\n");
>     unregister("location", "$fu", "$ulc(un_reg=>ruid)”);
>
> This produces the desired result when there is only one contact per AoR,
> but when multiple contacts are present, it seems to delete the first ruid
> (which makes sense as I am only providing the $fu).
>
> So, the question, can I select the contact by call-id or some other unique
> identifier specific to the desired contact that I can grab from the
> transaction?  Reading the reg_fetch_contact and unregister docs, they do
> not seem to provide for selection beyond uri.
>
>
> - Charles
>
>
>
>
>
> _______________________________________________
> Kamailio (SER) - Users Mailing List
> sr-users at lists.kamailio.org
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>
-- 
Regards,

David Villasmil
email: david.villasmil.work at gmail.com
phone: +34669448337
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20210221/453d71ab/attachment.htm>


More information about the sr-users mailing list