[OpenSIPS-Users] opensips 1.6.4 load balancing performance

Iulian Macare iulian.macare at gmail.com
Tue Mar 15 11:24:43 CET 2011


Mar 15 11:22:59 opensips /usr/local/sbin/opensips[14890]: sending call with
callid 9156d332a17a761aNzBmMWU4NGIzMjIzNWQ3NDVkYjAyNmYwNTI1MzM4YjM. and ruri
sip:0525545413 at 192.168.254.244 to sip:192.168.254.241
Mar 15 11:22:59 opensips /usr/local/sbin/opensips[14897]: sending call with
callid 9156d332a17a761aNzBmMWU4NGIzMjIzNWQ3NDVkYjAyNmYwNTI1MzM4YjM. and ruri
sip:0525545413 at 192.168.254.244 to sip:192.168.254.241


On Tue, Mar 15, 2011 at 12:10 PM, Bogdan-Andrei Iancu
<bogdan at opensips.org>wrote:

> Hi Iulian,
>
> Regarding your first issue, with the load:
>
> 1) I suppose you do the lb stuff only for the initial request right ?
>
> 2) you say you see the xlog() for all the received calls, so all received
> calls pass the lb function...but you do not see all calls being sent out,
> right ?
>
>
> 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20110315/b9cec0aa/attachment-0001.htm>


More information about the Users mailing list