Page 1 of 1
looks like i hit the max manager connection

Posted:
Mon Feb 07, 2011 9:41 pm
by bobbymc
Im currently on vicidial 2.0.5 and asterisk 1.2.28. i have not upgraded nether because the system thus far works perfect, also due to many custom work that was done to the system. Currently we are at about 230 active sip channels at all times. Around 200 is when the asterisk manager port caps out on connections or at least thats what i found out so far. If there a way to raise that limit and if not does asterisk 1.4 increase that by any chance?

Posted:
Mon Feb 07, 2011 11:19 pm
by williamconley
can you demonstrate:
- Code: Select all
the asterisk manager port caps out
Please also post your installation method with version and vicidial version WITH build

Posted:
Tue Feb 08, 2011 11:14 am
by bobbymc
after about 230 call attempts at the same time the new calls being places dont go throuhg and in vicidial_manager get stuck in the state QUEUE untill they get flagged as DEAD.. I verfied the issue down to when the AST_send_action_child.pl script is called. Apparently that script AST_send_action_child.pl hangs when making the telnet connection

Posted:
Tue Feb 08, 2011 11:23 am
by williamconley
when you post, please post your entire configuration including (but not limited to) your installation method and vicidial version with build.
this IS a requirement for posting along with reading the stickies (at the top of each forum) and the manager's manual (available on EFLO.net, both free and paid versions)
You should also post: Asterisk version, telephony hardware (model number is helpful here), cluster information if you have one, and whether any other software is installed in the box. If your installation method is "from scratch" you must post your operating system and should also post the .iso version from which you installed your original operating system.
Similar to This:
Vicibox X.X from .iso | Vicidial X.X.X Build XXXX | Asterisk X.X.X | Single Server | No Digium/Sangoma Hardware | No Extra Software After Installation
Depending on your installation method, you may have it a barrier. But we don't know your installation method ...
How did you install your machine(s)? Did you install manually? Did you raise the mysql connection limit?

Posted:
Thu Feb 10, 2011 3:43 pm
by bobbymc
vicidial 2.0.5rc5 from source | Asterisk 1.2.28 | Single Server | Sangoma u100 fxo for timing | Mysql server has 4 15k raid 1 drives with 32 gigs of ram on a quad socket board with dual core processors. asteirsk server is a dell 2950 with 2 sockets quad core procs with 8 gigs of ram. recordings are stored on a ramdisk.
I narroed the issue down to the vicidial_manager table.
When a third call is made to create a conf call sometimes the hangup xfer button and leave3way button dont get enabled. i found out that this is caused due to vicidial_manager table not getting updated and the status for that call stays in SENT even tho the call got picked up on. Because that table did not get updated the buttons on the client side are not getting enabled.
i found out that in the scritp AST_manager_listen.pl
this part of the code is not getting executed:
- Code: Select all
if ($input_lines[$ILcount] =~ /State: Up/)
{
if ($command_line[2] =~ /Channel: /i)
{
$channel = $command_line[2];
$channel =~ s/Channel: |\s*$//gi;
$callid = $command_line[5];
$callid =~ s/CallerIDName: |\s*$//gi;
$callid =~ s/^\"//gi; $callid =~ s/\".*$//gi;
$uniqueid = $command_line[6];
$uniqueid =~ s/SrcUniqueID: |\s*$//gi;
$stmtA = "UPDATE vicidial_manager set status='UPDATED', channel='$channel', uniqueid = '$uniqueid' where server_ip = '$server_ip' and callerid = '$callid' and status='SENT';";
print STDERR "|$stmtA|\n";
my $affected_rows = $dbhA->do($stmtA);
if($DB){print "|$affected_rows Conference DIALs updated|\n";}
}
}
i hope this helps and sorry if i did not provide enough information before.
Please let me know if there is anything else i can provide

Posted:
Thu Feb 10, 2011 4:53 pm
by williamconley
have you checked to see if the state of the channel is "UP" when this problem occurs? We've had issues in the past where the channel state was not up and caused issues down the line. Also if the channel state has a REASON not to be up (closed port, one way sound, asterisk may not "up" the channel because of that).

Posted:
Thu Feb 10, 2011 9:18 pm
by bobbymc
thank you so much for the help. It looks like the state stays on ringing on some calls when asterisk load avg is around 7.0 and higher. My guess is asterisk does not process the calls properly under high load or maybe the asterisk version we run is buggy?! im kind of stuck so im not sure where to go from here. Any suggestions would be greatly appreciated

Posted:
Thu Feb 10, 2011 9:26 pm
by williamconley
system load of 7.0 on a system with less than 14 processors = OVERLOAD. that's your problem. 50% load (1/2 of the processors available) is the danger level. when you pass that level, bad things begin to happen.

Posted:
Thu Feb 10, 2011 10:08 pm
by bobbymc
i see.. so how may active channels is good on a asterisk box or is it a system load issue? also if i wish to support 200 channels on 1 box what cpu specs do you guys suggest?

Posted:
Fri Feb 11, 2011 10:28 am
by williamconley
There are a LOT more calculations than that. In the end I've found it less time consuming to build a box and load it up to check the capacity. LOL
50% usage is the target max (peaking over 50% for a few seconds every now and then is ok, but cruising over 50% is a recipe for failure).
To calculate, should you want to try to do this, you'll need (at least):
CPU speed and quantity, front side bus speed, memory speed,hard drive speed and transfer rate, Bandwidth available
Quantity of channels, protocol of channels, codec of channels, including the transode parameters (are agents on one codec and trunks on another?)
Are you recording all calls? If so, what format? When are you mixing them? Are you transferring them to another server? If so, during shift or after?
Are you shipping or syncing your MySQL logs/data?
That being said:
Core2Quad 2.3 Ghz 2G RAM NOT recording all calls using ulaw/SIP with LOTS of bandwidth and cheap SATA drive(s) will ordinarily hold 25 agents (live agent campaign) or 400 "Survey" channels (expecting 5-10 live calls transferred to remote agent at any specific moment, and reducing the 400 total channels by 20 for each live call to maintain call quality)