[SR-Users] How to hook to Register And Unregister event in Kamailio

Anuran Barman anuranbarman at gmail.com
Mon Jul 22 19:50:25 CEST 2019


Thanks, I will try these out and get back to you.

On Mon, Jul 22, 2019 at 11:18 PM Henning Westerholt <hw at skalatan.de> wrote:

> Hello,
>
> you can get the result of the register module "save()" function call from
> its return value:
>
>
> https://www.kamailio.org/docs/modules/5.2.x/modules/registrar.html#registrar.f.save
> and then use a similar logic like you quoted in the initial question.
>
> You can of course also just query the usrloc module with the provide
> remote function API:
>
>
> https://www.kamailio.org/docs/modules/5.2.x/modules/usrloc.html#usrloc.r.lookup
>
> This can be called over HTTP, JSON HTTP and others.
>
> Cheers,
>
> Henning
> Am 22.07.19 um 14:34 schrieb Anuran Barman:
>
> evapi seems to be complicated and more than necessary for I want to do.
> Can't I get the successful register and unregister event from config file
> just like got INVITE event without using it?
>
> On Mon, Jul 22, 2019 at 6:02 PM Anuran Barman <anuranbarman at gmail.com>
> wrote:
>
>> # IP authorization and user authentication
>> route[AUTH] {
>> #!ifdef WITH_AUTH
>>
>> #!ifdef WITH_IPAUTH
>> if((!is_method("REGISTER")) && allow_source_address()) {
>> # source IP allowed
>> return;
>> }
>> #!endif
>>
>> if (is_method("REGISTER") || from_uri==myself) {
>> xlog("LOG_LOCAL3","L_INFO","authentication request from domain=$ad
>> realm=$ar username=$Au sourceIP=$si agentHeader=$ua");
>> # authenticate requests
>> if (!auth_check("$fd", "subscriber", "1")) {
>> auth_challenge("$fd", "0");
>> exit;
>> }
>> # user authenticated - remove auth header
>> if(!is_method("REGISTER|PUBLISH"))
>> consume_credentials();
>> xlog("LOG_LOCAL3","L_INFO","authentication successful"); *<==============
>> At this point can I assume authentication is successful ??*
>> }
>> # if caller is not local subscriber, then check if it calls
>> # a local destination, otherwise deny, not an open relay here
>> if (from_uri!=myself && uri!=myself) {
>> sl_send_reply("403","Not relaying");
>> exit;
>> }
>>
>> #!endif
>> return;
>> }
>>
>> Kindly look into the snippet above. The bold lettered one. At that point
>> can I assume authentication is successful ??
>>
>> On Mon, Jul 22, 2019 at 5:58 PM E. Schmidbauer <eschmidbauer at gmail.com>
>> wrote:
>>
>>> you should be doing some sort of authentication and then saving the
>>> user's registration data.
>>> add a route to fire an event when the registration data is saved.
>>> or even better IMO would be to use an event queue like mqueue and rtimer
>>> to push events into a queue and process them with rtimer and evapi
>>>
>>> On Mon, Jul 22, 2019 at 7:46 AM Anuran Barman <anuranbarman at gmail.com>
>>> wrote:
>>>
>>>> But it does not tell me if thats a successful register. I can make the
>>>> user online but may be the request fails as credentials are wrong. So the
>>>> REGISTER is not successful. How can I handle that?
>>>>
>>>> On Mon, 22 Jul 2019 at 5:14 PM, David Villasmil <
>>>> david.villasmil.work at gmail.com> wrote:
>>>>
>>>>> Just as you do is_method(“INVITE”) you can do is_method(“REGISTER”)
>>>>> after that you can check the EXPIRE, if it is zero then it is an
>>>>> UN-REGISTER.
>>>>>
>>>>>
>>>>> On Mon, 22 Jul 2019 at 12:35, E. Schmidbauer <eschmidbauer at gmail.com>
>>>>> wrote:
>>>>>
>>>>>> here is a good example of how you can use evapi in kamailio:
>>>>>>
>>>>>> http://kb.asipto.com/kamailio:k43-async-sip-routing-nodejs#evapi_processing
>>>>>>
>>>>>> here is a good example of how you can implement it with a go app:
>>>>>> https://github.com/cgrates/kamevapi
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Mon, Jul 22, 2019 at 7:18 AM Anuran Barman <anuranbarman at gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> It seems like this module is useful for making the
>>>>>>> connection/message flow. But that I need when I have the events of Register
>>>>>>> and unregister. How to get the events from this module?
>>>>>>>
>>>>>>> On Mon, Jul 22, 2019 at 3:51 PM Anuran Barman <
>>>>>>> anuranbarman at gmail.com> wrote:
>>>>>>>
>>>>>>>> Though I have already a NodeJS server running, I will try the evapi
>>>>>>>> module. If there are some tutorial/Wiki on how to do this please share that
>>>>>>>> with me. That will be great help.
>>>>>>>>
>>>>>>>> On Mon, Jul 22, 2019 at 3:39 PM E. Schmidbauer <
>>>>>>>> eschmidbauer at gmail.com> wrote:
>>>>>>>>
>>>>>>>>> I would recommend using `evapi` for something like this
>>>>>>>>> You could build a small go app that connects via evapi and
>>>>>>>>> send/receive events to/from kamailio.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Mon, Jul 22, 2019 at 3:07 AM Anuran Barman <
>>>>>>>>> anuranbarman at gmail.com> wrote:
>>>>>>>>>
>>>>>>>>>> Hi,
>>>>>>>>>> I  am integrating Kamailio into my application. I want to hook to
>>>>>>>>>> the successful REGISTER and unregister event into Kamailio into my
>>>>>>>>>> application. For now, I am able to hook into INVITE event and can hit my
>>>>>>>>>> server to send a email to the callee user that user X is calling you. The
>>>>>>>>>> way I am doing is by this
>>>>>>>>>>         if (is_method("INVITE")) {
>>>>>>>>>>                 xlog("LOG_LOCAL3","L_INFO","invite came ($fU)
>>>>>>>>>> ($tU)");
>>>>>>>>>>                 $var(res) = http_connect("sipnodejsserver",
>>>>>>>>>> "/","text/plain","src_user:$fU,dst_user:$tU" ,"$avp(route)");
>>>>>>>>>>                 xlog("LOG_LOCAL3","L_INFO","request sent
>>>>>>>>>> $avp(route)  $var(res)");
>>>>>>>>>>                 setflag(FLT_ACC); # do accounting
>>>>>>>>>>         }
>>>>>>>>>>
>>>>>>>>>> I need to show into my application that their SIP phone is online
>>>>>>>>>> or not. How can I hook into this?
>>>>>>>>>> _______________________________________________
>>>>>>>>>> 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
>>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>> 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
>>>>>>
>>>>> --
>>>>> Regards,
>>>>>
>>>>> David Villasmil
>>>>> email: david.villasmil.work at gmail.com
>>>>> phone: +34669448337
>>>>> _______________________________________________
>>>>> 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
>>>>
>>> _______________________________________________
>>> 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 Listsr-users at lists.kamailio.orghttps://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>
> --
> Henning Westerholt - https://skalatan.de/blog/
> Kamailio services - https://skalatan.de/services
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20190722/ae9fd3cf/attachment.html>


More information about the sr-users mailing list