Yes, copy/paste error, sorry. I meant to say *!=$null.*
Thank you for noticing Daniel. Carlos.
On Mon, Jun 9, 2014 at 10:13 AM, Daniel-Constantin Mierla <miconda@gmail.com
wrote:
Hello,
On 09/06/14 16:54, Carlos Ruiz Díaz wrote:
Hi Rahul,
*if($var(client1)!="null") *should be *if($var(client1)!="$null")*
even in the last IF, the double-quotes have to be removed around "$null" -- just compare with $null, because doublequotes there enforces a static string.
Cheers, Daniel
*. *You are doing a string comparison with the string value "*null*".
Also make sure the dialog matching is correct: append these event routes to your config file:
*event_route[dialog:start] {*
xlog("Dialog started");*
*}*
*event_route[dialog:end] {*
xlog("Dialog ended");*
*}*
*event_route[dialog:failed] {*
xlog("Dialog failed");*
*}*
You should see a "dialog started" and "dialog ended" for every successful call.
Please do those modifications and see what happens.
Regards, Carlos
On Mon, Jun 9, 2014 at 6:55 AM, Rahul MathuR rahul.ultimate@gmail.com wrote:
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 < carlos.ruizdiaz@gmail.com> 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 rahul.ultimate@gmail.com 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 rahul.ultimate@gmail.com 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 < carlos.ruizdiaz@gmail.com> wrote:
Can you share your configuration file?
On Wed, Jun 4, 2014 at 1:03 AM, Rahul MathuR < rahul.ultimate@gmail.com> 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 < > carlos.ruizdiaz@gmail.com> 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 < >> rahul.ultimate@gmail.com> 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 < >>> carlos.ruizdiaz@gmail.com> 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 < >>>> rahul.ultimate@gmail.com> 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 < >>>>> rahul.ultimate@gmail.com> 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 < >>>>>> carlos.ruizdiaz@gmail.com> 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 < >>>>>>> rahul.ultimate@gmail.com> 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 < >>>>>>>> carlos.ruizdiaz@gmail.com> 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 < >>>>>>>>> rahul.ultimate@gmail.com> 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 >>>>>>>>>> sr-dev@lists.sip-router.org >>>>>>>>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Carlos >>>>>>>>> http://caruizdiaz.com >>>>>>>>> http://ngvoice.com >>>>>>>>> +52 55 3048 3303 <%2B52%2055%203048%203303> >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> sr-dev mailing list >>>>>>>>> sr-dev@lists.sip-router.org >>>>>>>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Warm Regds. >>>>>>>> MathuRahul >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> sr-dev mailing list >>>>>>>> sr-dev@lists.sip-router.org >>>>>>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Carlos >>>>>>> http://caruizdiaz.com >>>>>>> http://ngvoice.com >>>>>>> +52 55 3048 3303 <%2B52%2055%203048%203303> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> sr-dev mailing list >>>>>>> sr-dev@lists.sip-router.org >>>>>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Warm Regds. >>>>>> MathuRahul >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Warm Regds. >>>>> MathuRahul >>>>> >>>>> _______________________________________________ >>>>> sr-dev mailing list >>>>> sr-dev@lists.sip-router.org >>>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev >>>>> >>>>> >>>> >>>> >>>> -- >>>> Carlos >>>> http://caruizdiaz.com >>>> http://ngvoice.com >>>> +52 55 3048 3303 <%2B52%2055%203048%203303> >>>> >>>> _______________________________________________ >>>> sr-dev mailing list >>>> sr-dev@lists.sip-router.org >>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev >>>> >>>> >>> >>> >>> -- >>> Warm Regds. >>> MathuRahul >>> >>> _______________________________________________ >>> sr-dev mailing list >>> sr-dev@lists.sip-router.org >>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev >>> >>> >> >> >> -- >> Carlos >> http://caruizdiaz.com >> http://ngvoice.com >> +52 55 3048 3303 <%2B52%2055%203048%203303> >> >> _______________________________________________ >> sr-dev mailing list >> sr-dev@lists.sip-router.org >> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev >> >> > > > -- > Warm Regds. > MathuRahul > > _______________________________________________ > sr-dev mailing list > sr-dev@lists.sip-router.org > http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev > >
-- Carlos http://caruizdiaz.com http://ngvoice.com +52 55 3048 3303 <%2B52%2055%203048%203303>
sr-dev mailing list sr-dev@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
-- Warm Regds. MathuRahul
-- Warm Regds. MathuRahul
sr-dev mailing list sr-dev@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
-- Carlos http://caruizdiaz.com http://ngvoice.com +52 55 3048 3303 <%2B52%2055%203048%203303>
sr-dev mailing list sr-dev@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
-- Warm Regds. MathuRahul
sr-dev mailing list sr-dev@lists.sip-router.org 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 listsr-dev@lists.sip-router.orghttp://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
-- Daniel-Constantin Mierla - http://www.asipto.comhttp://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
sr-dev mailing list sr-dev@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev