you should be able to use usrloc's function: 1.15. ul_register_ulcb(type ,callback, param)
The function register with USRLOC a callback function to be called when some event occures inside USRLOC. Meaning of the parameters is as follows: - *int types* - type of event for which the callback should be called (see usrloc/ul_callback.h). - *ul_cb f* - callback function; see usrloc/ul_callback.h for prototype. - *void *param* - some parameter to be passed to the callback each time when it is called. Regards, David Villasmil email: [email protected] phone: +34669448337 On Tue, Jul 23, 2019 at 3:23 PM Anuran Barman <[email protected]> wrote: > yeah it is removing. that sip phone had expiration time more so it was not > getting deleted. later I found out. Thanks > > On Tue, 23 Jul 2019 at 7:46 PM, David Villasmil < > [email protected]> wrote: > >> The module should remove the user's contact when the register expires. >> >> Regards, >> >> David Villasmil >> email: [email protected] >> phone: +34669448337 >> >> >> On Tue, Jul 23, 2019 at 10:07 AM Anuran Barman <[email protected]> >> wrote: >> >>> db_mode is already set to 2. There is one parameter I saw which is >>> saying about cleaning expired db records so I set it to Enabled. >>> But it did not change anything. >>> >>> modparam("usrloc", "db_timer_clean", 1) >>> >>> >>> On Tue, Jul 23, 2019 at 1:34 PM Henning Westerholt <[email protected]> >>> wrote: >>> >>>> Hello, >>>> >>>> have a look to the db_mode parameter in the usrloc module. You can >>>> operate the module in different database modes. >>>> >>>> Cheers, >>>> >>>> Henning >>>> Am 23.07.19 um 09:48 schrieb Anuran Barman: >>>> >>>> So I tried the the Expires header for UNREGISTER and it is >>>> working fine. Thanks for that. But the problem is that SIP Phone does not >>>> send UNREGISTER event. It only sends REGISTER method periodically. So in my >>>> Server it will be always online. So to overcome that I will be running e >>>> cron job which will pool the online users from 'location' table of kamailio >>>> mysql db. But the problem is, 'location' table does not get updated as >>>> soon as possible, rather if I disconnect the SIP Phone and do 'kamctl ul >>>> show' it will be still there for like 5 mins, after that it goes away. How >>>> can I change the timeout of this,say to 2mins, meaning that after 2mins if >>>> there is no response from the client ,Kamailio will mark it as offline. >>>> Where to change that parameter? >>>> >>>> On Mon, Jul 22, 2019 at 11:20 PM Anuran Barman <[email protected]> >>>> wrote: >>>> >>>>> Thanks, I will try these out and get back to you. >>>>> >>>>> On Mon, Jul 22, 2019 at 11:18 PM Henning Westerholt <[email protected]> >>>>> 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 <[email protected]> >>>>>> 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 < >>>>>>> [email protected]> 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 < >>>>>>>> [email protected]> 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 < >>>>>>>>> [email protected]> 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 < >>>>>>>>>> [email protected]> 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 < >>>>>>>>>>> [email protected]> 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 < >>>>>>>>>>>> [email protected]> 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 < >>>>>>>>>>>>> [email protected]> 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 < >>>>>>>>>>>>>> [email protected]> 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 >>>>>>>>>>>>>>> [email protected] >>>>>>>>>>>>>>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users >>>>>>>>>>>>>>> >>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>> Kamailio (SER) - Users Mailing List >>>>>>>>>>>>>> [email protected] >>>>>>>>>>>>>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users >>>>>>>>>>>>>> >>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>> Kamailio (SER) - Users Mailing List >>>>>>>>>>>> [email protected] >>>>>>>>>>>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users >>>>>>>>>>>> >>>>>>>>>>> _______________________________________________ >>>>>>>>>>> Kamailio (SER) - Users Mailing List >>>>>>>>>>> [email protected] >>>>>>>>>>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users >>>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Regards, >>>>>>>>>> >>>>>>>>>> David Villasmil >>>>>>>>>> email: [email protected] >>>>>>>>>> phone: +34669448337 >>>>>>>>>> _______________________________________________ >>>>>>>>>> Kamailio (SER) - Users Mailing List >>>>>>>>>> [email protected] >>>>>>>>>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users >>>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> Kamailio (SER) - Users Mailing List >>>>>>>>> [email protected] >>>>>>>>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users >>>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> Kamailio (SER) - Users Mailing List >>>>>>>> [email protected] >>>>>>>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users >>>>>>>> >>>>>>> >>>>>> _______________________________________________ >>>>>> Kamailio (SER) - Users Mailing >>>>>> [email protected]https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users >>>>>> >>>>>> -- >>>>>> Henning Westerholt - https://skalatan.de/blog/ >>>>>> Kamailio services - https://skalatan.de/services >>>>>> >>>>>> -- >>>> Henning Westerholt - https://skalatan.de/blog/ >>>> Kamailio services - https://skalatan.de/services >>>> >>>> _______________________________________________ >>> Kamailio (SER) - Users Mailing List >>> [email protected] >>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users >>> >> _______________________________________________ >> Kamailio (SER) - Users Mailing List >> [email protected] >> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users >> > _______________________________________________ > Kamailio (SER) - Users Mailing List > [email protected] > https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users >
_______________________________________________ Kamailio (SER) - Users Mailing List [email protected] https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
