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
[email protected]
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
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to