Hi Rahul, sorry, I couldn't find time to do it. I will take a look tomorrow, or most possibly during the weekend.
Regards, Carlos On Thu, Jun 5, 2014 at 8:28 PM, Rahul MathuR <[email protected]> wrote: > Hello Carlos, > > Did you get a chance to look at the attached configuration file ? > > > Warm Regds, > Rahul Mathur > > > On Thu, Jun 5, 2014 at 2:46 PM, Rahul MathuR <[email protected]> > wrote: > >> Hi Carlos, >> >> Please find attached the configuration file which I am using. >> Kindly refer route[CNXCC] where I have tried to put the channel >> limitation per SIP Server. >> >> >> Thanks ! >> >> >> On Wed, Jun 4, 2014 at 3:07 PM, Carlos Ruiz Díaz < >> [email protected]> wrote: >> >>> Can you share your configuration file? >>> >>> >>> On Wed, Jun 4, 2014 at 1:03 AM, Rahul MathuR <[email protected]> >>> wrote: >>> >>>> HI Carlos, >>>> >>>> Thanks for reply. >>>> >>>> In my case the key is SIP Server IP. My kamailio Proxy is connected to >>>> many sip server IPs say 5. I want to limit maximum channels per sip server >>>> ip. So I set max channels per sip server ip as >>>> cnxcc_set_max_channels("$var(client1)", "$var(max_chan)"); and my >>>> $var(client1) = "10.97.116.36"; is one of 5 sip servers connected to >>>> Kamalio. >>>> >>>> Now I use your cnxcc_get_channel_count("$rd", "$var(count1)")) >>>> value(count1) to compare to the max_limit of the channels allowed for this >>>> sip server. Psuedo Variable $rd is coming correctly that is same as sips >>>> erver IP[$var(client1)]. >>>> But the problem is that cnxcc_get_channel_count("$rd", >>>> "$var(count1)")) is always setting the value 1 in $var(count1) variable >>>> even though there are more calls runnning than what was set to be max_chan >>>> (which was 100 in my case). >>>> >>>> Any pointers to achieve this matter ? >>>> >>>> >>>> >>>> >>>> >>>> On Tue, Jun 3, 2014 at 2:18 PM, Carlos Ruiz Díaz < >>>> [email protected]> wrote: >>>> >>>>> Hi Rahul, >>>>> >>>>> I don't understand your example. In that case, you are always using >>>>> "10.97.116.36" >>>>> as key, meaning that all calls will be hanging from same root. >>>>> >>>>> If you want to use the request-uri domain part, use $rd, not the full >>>>> $ru. This will of course lead to 1 call being reported always, since >>>>> request-URIs tend to be different from each other. >>>>> >>>>> Regards, >>>>> Carlos >>>>> >>>>> >>>>> >>>>> >>>>> On Tue, Jun 3, 2014 at 7:01 AM, Rahul MathuR <[email protected] >>>>> > wrote: >>>>> >>>>>> Hi Carlos, >>>>>> >>>>>> Sorry for coming late on this one. >>>>>> >>>>>> the ruri value in my example is '10.97.116.36' >>>>>> and i have tried to configure kamailio to only cater 100 simultaneous >>>>>> calls on this SIP Server (10.97.116.36), after that it is to send 403. >>>>>> >>>>>> Below is the sample logic from kamailio.cfg >>>>>> >>>>>> *********************************************************************************************************************** >>>>>> #Below lines to show an example of how I am maintaining the >>>>>> business for Concurrent Call Restriction >>>>>> route[CNXCC] >>>>>> { >>>>>> >>>>>> $var(client1) = "10.97.116.36"; >>>>>> $var(max_chan) = 100; >>>>>> #!ifdef CNXCC_CHANNEL >>>>>> xlog("L_INFO", "Setting up channel based credit control"); >>>>>> >>>>>> $var(max_chan1) = 0; >>>>>> $var(retcode) = cnxcc_set_max_channels("$var(client1)", >>>>>> "$var(max_chan)"); >>>>>> >>>>>> if ($var(retcode) == -1) { >>>>>> xlog("Error setting up credit control"); >>>>>> return; >>>>>> } >>>>>> >>>>>> $var(count1) = -1; >>>>>> >>>>>> if (!cnxcc_get_channel_count("$rd", "$var(count1)")) { >>>>>> xlog("Error getting customer's channel count"); >>>>>> } >>>>>> xlog("RAHUL : CNXCC ROUTE: $var(client1) has $var(count1) >>>>>> call(s)"); >>>>>> xlog("L_INFO", "CNXCC ROUTE: $var(client1) has >>>>>> $var(count1) call(s)"); >>>>>> >>>>>> >>>>>> if ($var(count1) == $var(max_chan1)) { >>>>>> xlog("Too many channels for customer"); >>>>>> sl_send_reply(403, "Forbidden"); >>>>>> >>>>>> exit; >>>>>> } >>>>>> #!endif >>>>>> >>>>>> ****************************************************************************************************************************************************** >>>>>> >>>>>> Now the problem that I am facing is that with multiple UACs (all with >>>>>> same ruri - 10.97.116.36) dialing some pstn numbers, the value of >>>>>> "count1" >>>>>> remains 1 for all cases. Hence, my purpose is defeated because the >>>>>> restriction is not being laid and more than 'max_chan' no. of callers are >>>>>> able to make the call. >>>>>> >>>>>> Could you please help me achieve this goal. >>>>>> >>>>>> Thanks ! >>>>>> >>>>>> >>>>>> >>>>>> On Sat, May 17, 2014 at 2:22 AM, Carlos Ruiz Díaz < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> max_chan is equal to zero? You should put a positive value in here >>>>>>> in order to make sense the function call. >>>>>>> >>>>>>> Also, you are using for one call the ID "x.y.z.a", and for the other >>>>>>> one $rd. Both should be the same for calls that suppose to be organized >>>>>>> in >>>>>>> the same group. >>>>>>> >>>>>>> Please take a look at the docs. >>>>>>> >>>>>>> >>>>>>> On Fri, May 16, 2014 at 7:52 PM, Rahul MathuR < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>>> Further, from the logs it seems that cnxcc_set_max_channels is >>>>>>>> returning -1 and I have no idea why it is failing. >>>>>>>> >>>>>>>> >>>>>>>> On Sat, May 17, 2014 at 5:48 AM, Rahul MathuR < >>>>>>>> [email protected]> wrote: >>>>>>>> >>>>>>>>> Hello Carlos, >>>>>>>>> >>>>>>>>> Many thanks for your help. >>>>>>>>> I followed the steps you mentioned for CNXCC. But even after >>>>>>>>> making the max. calls to 0, I am still able to connect the call. >>>>>>>>> Below is >>>>>>>>> the excerpt from kamailio.cfg >>>>>>>>> >>>>>>>>> request_route { >>>>>>>>> setflag(DLG_FLAG); >>>>>>>>> # per request initial checks >>>>>>>>> route(REQINIT); >>>>>>>>> # NAT detection >>>>>>>>> route(NATDETECT); >>>>>>>>> . >>>>>>>>> . >>>>>>>>> . >>>>>>>>> >>>>>>>>> if (is_method("INVITE")) { >>>>>>>>> route(CNXCC); >>>>>>>>> } >>>>>>>>> } >>>>>>>>> >>>>>>>>> #Below lines added by Rahul for Concurrent Call Restriction >>>>>>>>> route[CNXCC] >>>>>>>>> { >>>>>>>>> >>>>>>>>> $var(client1) = "x.y.z.a"; >>>>>>>>> >>>>>>>>> #!ifdef CNXCC_CHANNEL >>>>>>>>> xlog("L_INFO", "Setting up channel based credit control"); >>>>>>>>> >>>>>>>>> $var(max_chan1) = 0; >>>>>>>>> $var(retcode) = cnxcc_set_max_channels("$var(client1)", >>>>>>>>> "$var(max_chan)"); >>>>>>>>> >>>>>>>>> if ($var(retcode) == -1) { >>>>>>>>> xlog("Error setting up credit control"); >>>>>>>>> return; >>>>>>>>> } >>>>>>>>> >>>>>>>>> $var(count1) = -1; >>>>>>>>> >>>>>>>>> if (!cnxcc_get_channel_count("$rd", "$var(count1)")) { >>>>>>>>> xlog("Error getting customer's channel count"); >>>>>>>>> } >>>>>>>>> xlog("RAHUL : CNXCC ROUTE: $var(client) has $var(count) >>>>>>>>> call(s)"); >>>>>>>>> xlog("L_INFO", "CNXCC ROUTE: $var(client) has $var(count) >>>>>>>>> call(s)"); >>>>>>>>> >>>>>>>>> if ($var(count1) == $var(max_chan1)) { >>>>>>>>> xlog("Too many channels for customer"); >>>>>>>>> sl_send_reply(403, "Forbidden"); >>>>>>>>> >>>>>>>>> #if (!cnxcc_terminate_all("$var(client)")) { >>>>>>>>> # xlog("Error terminating customer's calls"); >>>>>>>>> #} >>>>>>>>> >>>>>>>>> exit; >>>>>>>>> } >>>>>>>>> #!endif >>>>>>>>> >>>>>>>>> >>>>>>>>> Could you please guide me where am I doing wrong ? >>>>>>>>> >>>>>>>>> >>>>>>>>> On Sat, May 17, 2014 at 3:01 AM, Carlos Ruiz Díaz < >>>>>>>>> [email protected]> wrote: >>>>>>>>> >>>>>>>>>> Any pseudo variable should work. >>>>>>>>>> >>>>>>>>>> I don't exactly know how your business work, but I'd suggest that >>>>>>>>>> instead of using from header domain, use the domain part of the >>>>>>>>>> request-uri, $rd. >>>>>>>>>> >>>>>>>>>> Regards, >>>>>>>>>> Carlos >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Fri, May 16, 2014 at 4:28 PM, Rahul MathuR < >>>>>>>>>> [email protected]> wrote: >>>>>>>>>> >>>>>>>>>>> Thank you very much Carlos ! >>>>>>>>>>> >>>>>>>>>>> One last thing, can I use $fd in cnxcc_set_max_channels as >>>>>>>>>>> below - >>>>>>>>>>> cnxcc_set_max_channels("$fd", "$var(max_chan)"); >>>>>>>>>>> to restrict the simultaneous calls hitting a particular domain ? >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Sat, May 17, 2014 at 2:03 AM, Carlos Ruiz Díaz < >>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>> >>>>>>>>>>>> Create a profile [1], and count the number of calls of that >>>>>>>>>>>> profile [2]. >>>>>>>>>>>> >>>>>>>>>>>> Alternatively, you can use cnxcc module [3]. >>>>>>>>>>>> >>>>>>>>>>>> [1] >>>>>>>>>>>> http://kamailio.org/docs/modules/stable/modules/dialog.html#idp1919576 >>>>>>>>>>>> [2] >>>>>>>>>>>> http://kamailio.org/docs/modules/stable/modules/dialog.html#idp1964064 >>>>>>>>>>>> [3] >>>>>>>>>>>> http://kamailio.org/docs/modules/stable/modules/cnxcc.html#idp132608 >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Fri, May 16, 2014 at 3:28 PM, Rahul MathuR < >>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> *Hello,* >>>>>>>>>>>>> >>>>>>>>>>>>> *Please accept my apologies for asking a simple question - Is >>>>>>>>>>>>> there any example which shows how can I create the dialog profile >>>>>>>>>>>>> **value based on the SIP domain or SIP Server IP (IP like- >>>>>>>>>>>>> 112.23.134.5). I** need to control many SIP Server IPs with >>>>>>>>>>>>> limited channels to each with my** Kamailio Proxy.* >>>>>>>>>>>>> >>>>>>>>>>>>> *I am a newbie to kamailio world.* >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> *-- Warm Regds.MathuRahul* >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>> sr-dev mailing list >>>>>>>>>>>>> [email protected] >>>>>>>>>>>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> Carlos >>>>>>>>>>>> http://caruizdiaz.com >>>>>>>>>>>> http://ngvoice.com >>>>>>>>>>>> +52 55 3048 3303 >>>>>>>>>>>> >>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>> sr-dev mailing list >>>>>>>>>>>> [email protected] >>>>>>>>>>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Warm Regds. >>>>>>>>>>> MathuRahul >>>>>>>>>>> >>>>>>>>>>> _______________________________________________ >>>>>>>>>>> sr-dev mailing list >>>>>>>>>>> [email protected] >>>>>>>>>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Carlos >>>>>>>>>> http://caruizdiaz.com >>>>>>>>>> http://ngvoice.com >>>>>>>>>> +52 55 3048 3303 >>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> sr-dev mailing list >>>>>>>>>> [email protected] >>>>>>>>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Warm Regds. >>>>>>>>> MathuRahul >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Warm Regds. >>>>>>>> MathuRahul >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> sr-dev mailing list >>>>>>>> [email protected] >>>>>>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Carlos >>>>>>> http://caruizdiaz.com >>>>>>> http://ngvoice.com >>>>>>> +52 55 3048 3303 >>>>>>> >>>>>>> _______________________________________________ >>>>>>> sr-dev mailing list >>>>>>> [email protected] >>>>>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Warm Regds. >>>>>> MathuRahul >>>>>> >>>>>> _______________________________________________ >>>>>> sr-dev mailing list >>>>>> [email protected] >>>>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Carlos >>>>> http://caruizdiaz.com >>>>> http://ngvoice.com >>>>> +52 55 3048 3303 >>>>> >>>>> _______________________________________________ >>>>> sr-dev mailing list >>>>> [email protected] >>>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev >>>>> >>>>> >>>> >>>> >>>> -- >>>> Warm Regds. >>>> MathuRahul >>>> >>>> _______________________________________________ >>>> sr-dev mailing list >>>> [email protected] >>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev >>>> >>>> >>> >>> >>> -- >>> Carlos >>> http://caruizdiaz.com >>> http://ngvoice.com >>> +52 55 3048 3303 >>> >>> _______________________________________________ >>> sr-dev mailing list >>> [email protected] >>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev >>> >>> >> >> >> -- >> Warm Regds. >> MathuRahul >> > > > > -- > Warm Regds. > MathuRahul > > _______________________________________________ > sr-dev mailing list > [email protected] > http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev > > -- Carlos http://caruizdiaz.com http://ngvoice.com +52 55 3048 3303
_______________________________________________ sr-dev mailing list [email protected] http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
