[sr-dev] Fwd: Create multiple profiles using dialog module

Rahul MathuR rahul.ultimate at gmail.com
Mon Jun 9 13:55:46 CEST 2014


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 at 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 at 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 at 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 at gmail.com> wrote:
>>>
>>>> Can you share your configuration file?
>>>>
>>>>
>>>> On Wed, Jun 4, 2014 at 1:03 AM, Rahul MathuR <rahul.ultimate at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 list
>>>>>>>>>>>>> sr-dev at lists.sip-router.org
>>>>>>>>>>>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> Warm Regds.
>>>>>>>>>>>> MathuRahul
>>>>>>>>>>>>
>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>> sr-dev mailing list
>>>>>>>>>>>> sr-dev at 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 list
>>>>>>>>>>> sr-dev at 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 at 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 list
>>>>>>>> sr-dev at lists.sip-router.org
>>>>>>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Warm Regds.
>>>>>>> MathuRahul
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> sr-dev mailing list
>>>>>>> sr-dev at 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 list
>>>>>> sr-dev at lists.sip-router.org
>>>>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Warm Regds.
>>>>> MathuRahul
>>>>>
>>>>> _______________________________________________
>>>>> sr-dev mailing list
>>>>> sr-dev at 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 list
>>>> sr-dev at 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 at 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 list
> sr-dev at lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
>
>


-- 
Warm Regds.
MathuRahul
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-dev/attachments/20140609/9bb87bac/attachment-0001.html>


More information about the sr-dev mailing list