I have Dell Poweredge 2800 machine with two processor and 3 gb ram. Just seeing the CPU usage on 10 active SIP channels and got the following CPU usage…
Sometimes when we do the conference bridge , we used to experience the Voice breaking…
Please guide i can do some thing using the usage detail to optimise the CPU usage so that will have better performace… over conference call , etc…
Are you using g729 ? Any transcoding ? How many users in the confrence at once ? What else is running on the box. The CPU average is at 300 %. There is something that is killin the CPU. That will affect call quality. You have to see what it is. Can you post what you get from top when the CPU usage is real hi ?
2.Apart from asterisk, mysql, apache,php ,iptables services running in that machine…
3.We get voice breaking at conference call , 6 persons will be particapting in the bridge. Moreover the only one bridge was active at that time…
4.The above post ,i have included the top cmd results obtained from Linux machines when are at conference and that we experience the voice breaking issues.
I shall be thankfull, if you can help me to find the real cause which is killing my CPU …
I dont use g.729 much but I know it has a high CPU load. Esp since you are encoding (between pots lines and SIP users)…
I would suggest if the SIP users are on your LAN try switching to GSM or ulaw codec which will go much easier on your CPU.
Also make sure you have the right g.729 module for your machine architecture, if it’s compiled for the wrong CPU type you won’t get good performance…
The SNMP mechanism in asterisk is non existent or if it exists there is a lot of expectations on it.
I don’t know if any advanced SNMP mechanisms are provided in the 1.4 release.
Other the codec translation costs there is a need to find out how much simultaneous calls are supported maintaing the QoS.
There needs to be a mechanism to find out the resources(CPU,memory) used for each call. More specifically some commands or logs regarding resource usage.
Having priorities assigned to each tunks in the sense that when the call quality degrades the less priority calls are dropped.
1.compression and decompression takes place only when i call outside… (transcoding right) and CPU will be utilisation will be high as you suggested.
2.if the call is within the extensions, there is no compressions and decompression right in astersk .IP phone will be doing the comp and decomp.
case 2 :
LAN users got ulaw and remote users have g729.
1.when LAN SIP users call outside , there will not be any transcoding right…
2.Even when LAN SIP extension user call the remote sip extensions the there will be compression right… g711 to g729 and again the CPU will be utilised more for this right… Now it is burden to CPU for comp. and decomp.for LAN to remote, right…
so there will be burden to CPU when we call within the extension too…
what would you receommed in this cases? please correct me if i am wrong
depends on ‘outside’. As I recall you said you have PRIs, which means yes Asterisk transcodes g.729 to ulaw/alaw for the PRI.
If two IP phones call each other on your * box and they both are allowed to use g.729, then it will do that. Both phones must have allow=g729 in their sip.conf entries.
You can prioritize, ie disallow=all, then allow=ulaw and finally allow=g729. That will make the phones support end to end 729 when talkign to a remote user, easing load from *. also make sure remote users don’t have allow=ulaw, just disallow=all and allow=g729.
So if you set:
so if lan user has disallow=all, allow=ulaw, allow=g729
and WAN (remote) user has disallow=all and allow=g729
Then things will happen as follows:
LAN calls LAN- ulaw allowed on both sides and is higher priority than g729. call goes throug with passthru ulaw (server does not transcode)
LAN to WAN- WAN user supports only g729. LAN user also supports 729 but its a lower priority than ulaw. * will try to avoid transcoding if possible, so call is established with passthru g729 (server does not transcode)
PSTN to LAN- call takes place ulaw/alaw, I believe the raw ulaw is passed off the PRI. If not encoding ulaw is easy (server probably does not transcode, and if it does there is very little CPU used)
PSTN to WAN- Because WAN user requires g729, server will encode g729 for the WAN user. This creates higher CPU usage.