Hello Carlos, Were you able to look at my configuration file ?
Thanks ! On Fri, Jun 6, 2014 at 5:04 AM, Carlos Ruiz Díaz <[email protected]> wrote: > 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 > > -- Warm Regds. MathuRahul
_______________________________________________ sr-dev mailing list [email protected] http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
