[OpenSIPS-Users] opensips 1.6.4 load balancing performance
Bogdan-Andrei Iancu
bogdan at opensips.org
Tue Mar 13 15:02:20 CET 2012
Hi Iulian,
Thanks for the feedback. BTW, it will be wiser for you to check in
script the return code of the load_balancer() function, before doing
t_relay() - the LB function may return false (without actually setting a
destination) if all the destinations are full or if all are down.
Regards,
Bogdan
On 03/07/2012 03:41 PM, Iulian Macare wrote:
> I think I solved the problem. It's related to the fact that I use
> opensips as registrar also
>
> For exampel I have users 300 with password 300 on opensips and also an
> extension 300 with pass 300 on the asterisk servers that I balance the
> calls.
>
> The solution for me was to remove the secret for extension 300 in asterisk.
>
> On Wed, Mar 7, 2012 at 11:40 AM, Iulian Macare<iulian.macare at gmail.com> wrote:
>> I have installed Opensips 1.7.2 on debian and I have the same problem.
>>
>>
>>
>> Mar 7 10:23:59 opensipsnew /usr/sbin/opensips[18883]: sending call
>> with callid 3817a6411cec76292a8d1c2811ad7def at 82.77.252.47 and ruri
>> sip:0103629834 at 82.77.252.40 to sip:82.77.252.48
>> Mar 7 10:23:59 opensipsnew /usr/sbin/opensips[18882]: sending call
>> with callid 3817a6411cec76292a8d1c2811ad7def at 82.77.252.47 and ruri
>> sip:0103629834 at 82.77.252.40 to sip:82.77.252.39
>> Mar 7 10:23:59 opensipsnew /usr/sbin/opensips[18880]: sending call
>> with callid 3817a6411cec76292a8d1c2811ad7def at 82.77.252.47 and ruri
>> sip:0103629834 at 82.77.252.40 to sip:82.77.252.48
>> Mar 7 10:23:59 opensipsnew /usr/sbin/opensips[18880]: sending call
>> with callid 3817a6411cec76292a8d1c2811ad7def at 82.77.252.47 and ruri
>> sip:0103629834 at 82.77.252.40 to sip:82.77.252.48
>>
>> The called number is 0103629834 sent both to 82.77.252.39 and
>> 82.77.252.48 many times
>>
>> In the configuration file I have
>>
>>
>> if (uri=~"^sip:0[1-9][0-9]*@") {
>> load_balance("1","pstn");
>> xlog("sending call with callid $ci and ruri $ru to $du\n");
>> t_on_failure("1");
>>
>> if (!t_relay())
>> { sl_reply_error();
>> };
>> exit;
>> }
>>
>>
>> Destination:: sip:82.77.252.39 id=3 group=1 enabled=yes auto-re=on
>> Resource:: pstn max=200 load=36
>> Destination:: sip:82.77.252.35 id=1 group=1 enabled=yes auto-re=on
>> Resource:: pstn max=200 load=36
>> Destination:: sip:82.77.252.48 id=6 group=1 enabled=yes auto-re=on
>> Resource:: pstn max=200 load=36
>>
>>
>>
>>
>> The number 0103629834 I don't see it in opensips in accounting ( I use
>> CDRTool ) and I also don't see it in any logs on 82.77.252.39 or
>> 82.77.252.48 ( wich are Asterisks )
>>
>>
>> opensips 1.6.4 load balancing performance
>>
>> On Tue, Mar 15, 2011 at 6:46 PM, Iulian Macare<iulian.macare at gmail.com> wrote:
>>> I see also something like this:
>>>
>>> Mar 15 18:47:36 opensipsvl /usr/local/sbin/opensips[4547]: sending call with
>>> callid 3b77e3325a8c75f8571c4fcf37a8ba3c at 192.168.52.10 and ruri
>>> sip:0758553307 at 192.168.52.20 to sip:192.168.254.241
>>> Mar 15 18:47:36 opensipsvl /usr/local/sbin/opensips[4539]: sending call with
>>> callid 3b77e3325a8c75f8571c4fcf37a8ba3c at 192.168.52.10 and ruri
>>> sip:0758553307 at 192.168.52.20 to sip:192.168.254.241
>>> Mar 15 18:47:36 opensipsvl /usr/local/sbin/opensips[4556]: sending call with
>>> callid 3b77e3325a8c75f8571c4fcf37a8ba3c at 192.168.52.10 and ruri
>>> sip:0758553307 at 192.168.52.20 to sip:192.168.254.242
>>>
>>> Same call 3 times.. 2 to one server and another time to the other
>>>
>>> On Tue, Mar 15, 2011 at 12:10 PM, Bogdan-Andrei Iancu<bogdan at opensips.org>
>>> wrote:
>>>> Hi Iulian,
>>>>
>>>>
>>>>
>>>> Related to the second issue (with 2 logs for a single call), I suspect it
>>>> may be a retransmission issue. To be sure, print in your xlog the callid
>>>> also (to be sure it is the same request) . Var for callid is $ci.
>>>>
>>>> Regards,
>>>> Bogdan
>>>>
>>>>
>>>> Iulian Macare wrote:
>>>>> Hello
>>>>>
>>>>>
>>>>> I have installed OpenSips 1.6.4 on CentOS 5.5 32bit with load balancing&
>>>>> mysql support ; I want to balance calls to 2 asterisk servers . I am sending
>>>>> traffic to opensips from 1 x gnudialer& 1 x vicidial ( so from predictive
>>>>> dialers ). Situation is like this:
>>>>>
>>>>>
>>>>>
>>>>> +----+----------+--------------------------+-----------+------------+-------------+
>>>>> | id | group_id | dst_uri | resources | probe_mode |
>>>>> description |
>>>>>
>>>>> +----+----------+--------------------------+-----------+------------+-------------+
>>>>> | 1 | 1 | sip:192.168.254.241:5060<http://192.168.254.241:5060>
>>>>> | pstn=300 | 0 | |
>>>>> | 2 | 1 | sip:192.168.254.242:5060<http://192.168.254.242:5060>
>>>>> | pstn=300 | 0 | |
>>>>>
>>>>>
>>>>> +----+----------+--------------------------+-----------+------------+-------------+
>>>>>
>>>>> 600 channels in total , and I send around 500 channels ; OpenSips drops a
>>>>> lot of calls; By drop I mean a call that is not sent to one of those 2
>>>>> asterisk servers that I have.
>>>>>
>>>>> The code for balancing in this situation is:
>>>>>
>>>>> if (uri=~"^sip:0[1-9][0-9]*@") {
>>>>> load_balance("1","pstn");
>>>>> xlog("sending call $ru to $du\n");
>>>>> t_relay();
>>>>> exit;
>>>>> }
>>>>>
>>>>> ! An important thing to say is that in /var/log/messages I see the
>>>>> specific number that is sent to 192.168.254.241 for example ; So the
>>>>> parameter xlog("sending call $ru to $du\n"); works ; The problem is that in
>>>>> logs on 192.168.254.241 that number never arrives in asterisk logs ; In logs
>>>>> of vicidial& gnudialer I see it like congestion.
>>>>>
>>>>> If I do something like this:
>>>>>
>>>>>
>>>>> +----+----------+---------------------+-----------+------------+-------------+
>>>>> | id | group_id | dst_uri | resources | probe_mode |
>>>>> description |
>>>>>
>>>>> +----+----------+---------------------+-----------+------------+-------------+
>>>>> | 1 | 1 | sip:192.168.254.241 | pstn=150 | 0 |
>>>>> |
>>>>> | 2 | 2 | sip:192.168.254.241 | pstn=150 | 0 |
>>>>> |
>>>>> | 3 | 1 | sip:192.168.254.242 | pstn=150 | 0 |
>>>>> |
>>>>> | 4 | 2 | sip:192.168.254.242 | pstn=150 | 0 |
>>>>> |
>>>>>
>>>>> And I split opensips balancing in 2
>>>>>
>>>>>
>>>>> if(src_ip==192.168.3.10 )
>>>>> {
>>>>> load_balance("1","pstn");
>>>>> xlog("sending call to $du\n");
>>>>> t_relay();
>>>>> exit;
>>>>> };
>>>>>
>>>>> if(src_ip==192.168.3.11 )
>>>>> {
>>>>> load_balance("2","pstn");
>>>>> xlog("sending call to $du\n");
>>>>> t_relay();
>>>>> exit;
>>>>> };
>>>>>
>>>>>
>>>>> and by doing this I get the same numbers of channels on opensips ( around
>>>>> 500 channels ) but I am splitting in 2 groups of load balancing; It can
>>>>> process all the calls.
>>>>>
>>>>> Another question that I saw is that when I make a single call to opensips
>>>>> and I involve load balancing in /var/log/messages I get 2 times the same
>>>>> message .. just like it send 2 time to asterisk server the call .. but on
>>>>> asterisk I receive only one time.
>>>>>
>>>>> Mar 10 14:58:47 opensips /usr/local/sbin/opensips[27611]: sending call to
>>>>> sip:192.168.254.241
>>>>> Mar 10 14:58:47 opensips /usr/local/sbin/opensips[27611]: sending call to
>>>>> sip:192.168.254.241
>>>>>
>>>>>
>>>>> Isn't load balancing fast enough the process the calls made by predictive
>>>>> dialers, when over 300 channels is sent .. ? Or I have some mistakes made .
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------------
>>>>>
>>>>> _______________________________________________
>>>>> Users mailing list
>>>>> Users at lists.opensips.org
>>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>>>
>>>>
>>>>
>>>> --
>>>> Bogdan-Andrei Iancu
>>>> OpenSIPS eBootcamp - 28th February 2011
>>>> OpenSIPS solutions and "know-how"
>>>>
>>>>
>>>> _______________________________________________
>>>> Users mailing list
>>>> Users at lists.opensips.org
>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
--
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com
More information about the Users
mailing list