[SR-Users] Saving REGISTER status in kamailio database while REGSITER packets are forwarded.

Joel Serrano joel at textplus.com
Mon Nov 18 06:22:34 CET 2019


Yes sir! Works perfectly!

To give you a quick example:

1) Add in the appropriate place for the REGISTER request:
 t_on_reply("MANAGE_REG_REPLY");
2) Create a new onreply route:

# Manage registration incoming replies
onreply_route[MANAGE_REG_REPLY] {
    if(status=~"2[0-9][0-9]") {
        if (save("location", "0x04")) {
            xlog("L_NOTICE", "[usrloc] saved user location\n");
        }
    }
}


Note1: In my setup, I needed to strictly simulate asterisk (chan_sip)
registrations, so only one AoR was allowed, thus the flags 0x04, if you are
using PJSIP you might not need it.
Note2: With this example code, a "unregister" (REGISTER with expires=0)
will not remove the AoR from Kamailio, to achieve that I check
independently if the header Expires exists and is 0, or if the contact
param Expires exists and is 0, and in that case I use the unregister()
function instead of the save().

Hope it helps!
Joel.



On Sun, Nov 17, 2019 at 5:42 PM Ovidiu Sas <osas at voipembedded.com> wrote:

> Did it work calling save() on the reply route?
>
> -ovidiu
>
> On Thu, Nov 14, 2019 at 6:20 PM Voip support <voipexpert0 at gmail.com>
> wrote:
> >
> >   I am using kamailio 5.3.
> >
> > Ovidiu Sas, i will try this tomorrow today is bit late. Maybe it could
> work.
> >
> > David Villasmil , i know i can use SQLOPS but i was thinking of easier
> method of doing this.
> > By successful REGISTER i mean save only REGISTER attempt that
> authenticated correctly at SIP server and in 200 OK a binding was returned.
> > Same if the binding is later removed i would like remove it from
> database. I need this because when i run REGISTER over kamailio to
> destination SIP server i see all register from same IP.
> > I need to be able to check what was the real source IP of client
> REGISTER.
> >
> > Regards,
> > Tomasz
> >
> >
> >
> > pt., 15 lis 2019 o 00:16 Mike from ApoloCore <mike at apolocore.com>
> napisał(a):
> >>
> >> I am using kamailio 5.3.
> >>
> >> Ovidiu Sas, i will try this tomorrow today is bit late. Maybe it could
> work.
> >>
> >> David Villasmil , i know i can use SQLOPS but i was thinking of easier
> method of doing this.
> >> By successful REGISTER i mean save only REGISTER attempt that
> authenticated correctly at SIP server and in 200 OK a binding was returned.
> >> Same if the binding is later removed i would like remove it from
> database. I need this because when i run REGISTER over kamailio to
> destination SIP server i see all register from same IP.
> >> I need to be able to check what was the real source IP of client
> REGISTER.
> >>
> >> Regards,
> >> Tomasz
> >>
> >>
> >>
> >>
> >> czw., 14 lis 2019 o 23:33 Ovidiu Sas <osas at voipembedded.com>
> napisał(a):
> >>>
> >>> Try to use save() when you process the 200 ok reply for REGISTER in
> >>> the reply route.
> >>>
> >>> Regards,
> >>> Ovidiu Sas
> >>>
> >>> On Thu, Nov 14, 2019 at 3:40 PM Voip support <voipexpert0 at gmail.com>
> wrote:
> >>> >
> >>> > I setup kamailio to forward REGISTER packets using dispatcher to two
> servers main and backup.
> >>> >
> >>> > The routing logic is quite simple i use the dispatcher probing
> mechanism to detect if my main dispatcher set id (one server) is active or
> inactive once it detect a failure all packets are sent to secondary SIP
> server to achieve High Availability.
> >>> >
> >>> > I am looking for module or a way to save into kamailio database
> client information such as IP address, register username (from FROM
> header), digest username (authorization username), call-id for successful
> registration.
> >>> >
> >>> > I tried to use registrar module but once i used function
> save("location") the client was registered on kamailio and packets was not
> forwarded to main/secondary SIP server (like dispatcher stopped working,
> the destination did not override).
> >>> >
> >>> > REGISTER is sent to SIP URI of kamailio.
> >>> >
> >>> > Please let me know if you have any idea how to make this data update
> in database (insert an entry on fresh successfull REGISTER, delete on
> expired or removed binding).
> >>> >
> >>> > Best regards,
> >>> > Tomasz
> >>> >
> >>> > _______________________________________________
> >>> > Kamailio (SER) - Users Mailing List
> >>> > sr-users at lists.kamailio.org
> >>> > https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
> >>>
> >>>
> >>>
> >>> --
> >>> VoIP Embedded, Inc.
> >>> http://www.voipembedded.com
> >>>
> >>> _______________________________________________
> >>> Kamailio (SER) - Users Mailing List
> >>> sr-users at lists.kamailio.org
> >>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
> >
> > _______________________________________________
> > Kamailio (SER) - Users Mailing List
> > sr-users at lists.kamailio.org
> > https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>
>
>
> --
> VoIP Embedded, Inc.
> http://www.voipembedded.com
>
> _______________________________________________
> Kamailio (SER) - Users Mailing List
> sr-users at lists.kamailio.org
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20191117/947e3acc/attachment.html>


More information about the sr-users mailing list