i am using Intel® Pentium® 4 CPU 2.66GHz and 512 RAM and using 2 TE110P card.
PABX-> Asterisk-> PRI Telco
|
IP Network
|
Cisco -----> Gateway
My Asterisk will pass the local call to Telco while the receive local call from PABX. And Asterisk will pass the Handphone call ,IDD call to Cisco while receive call from PABX side.
Due to the utilization of the PRI Telco is quite low and we have route some local call from Gateway to Asterisk via Cisco.
i have set asterisk to use codec g729 while pass the call to cisco and at the mean time cisco will use codec alaw while pass the local call to asterisk and terminate at PRI telco.
I am facing breaking sound while the tracffic is high , and the cpu usage is constantly 99%. can anybody give me some advice to solve this problem ? is this problem due to the Hardware problem or network problem?
I hate to mention this (because its hardware based troubleshooting) but have you cleaned your hardware lately (making sure cpu fan is top speed, making sure the paste between the heat sink and cpu is still in its acceptable state, etc) ? I have read some posts which tackles the same thing. Problem is, those threads ended up in a open state (no answers were advised (asterisk relevant answers))
Worst case is installing another instance of Asterisk to another drive (newly formated)on the same machine and testing if the newly formatted disk makes difference. If it is still the same, then I think hardware upgrade is inevitable. If the disk makes a difference, you could go either ways, migrate all the files on the new disk or have that hacker kind of attitude and try to find that problem using a kit which monitors data coming in and out of the processor.
I wish somebody would post an Asterisk reconfiguration/tweaking answer so that many would benefit.
It is just a guess, but if there is something wrong in your dialplan that force Asterisk to go to the other pbx and when landing there the other pbx is routing the call back I can imagine that, with all the transcoding in between, the cpu is fully loaded. Or maybe some other kind of loop like suggested in earlier posts.
My suggestion is to examine the logs and if that doesn’t give you any clue to do a fresh installation of linux and Asterisk without any fancy agi scripts etc, just the plain Asterisk. This will take you a couple of hours with most of the time just waiting for the installation to finish. You can spend days with debugging the current system.
I didn’t run any Agi command , my asterisk just do the simple job , receive HP or IDD call then route it to CISCO, and terminate all the local calls from CISCO to PABX. Is there anybody know the DSP digium can offload the trascoding load of CPU?
Well if thats the case then there is a problem with the dialplan. Perhaps the hints havent been big enough, IE posting the CLI output of a call and the dialplan, so we can see whats actually happening.
If that realy is the dialplan then something is realy wrong, I think the CLI output of a call after a “restart now” at the * CLI. first checking that only one asterisk process exists.
If you restart the server and start Asterisk you should only have one instance if the zabbix process running. The top output you showed before has more than one. My guess is the multiple instances are either fighting each other for cpu resources and/or at least one of them is in a runaway loop.
Try restarting and just starting asterisk and check the list of processes to see how many instances of asterisk are running (ps -C asterisk). If only one then move on otherwise check your startup script. Next, try making a call - again check the list of processes to see how many are running. Keep trying different things until you find the action(s) that cause new instances of asterisk to run.