Asterisk VoIP News

Wednesday, June 15, 2005

Astricon: Eric Wieling (Manxpower)

Eric is giving a lot of information on how to set up your Asterisk System.

He's speaking currently about ideas to reduce maintenance and diagnose issues.

-don't use multiple types of phones as this will make rollout harder.

-use lspci to view pci stats

-use patlooptest for testing T1 interfaces to see if there is data corruption etc. (use make tests to build these tests

-use setpci to change latencies around between various cards in the system

-ztmonitor is a very usefull tool for monitoring audio levels (helpful in hunting down echo and fax problems - use it when changing volumes with RX/TXgain

-zttool - useful to give you information on channel usage/alarms etc (need newt devel libs on system)

-ztcfg - automatically runs when modprobed - if changing /etc/zaptel.conf you will need to rerun ztcfg. WARNING: Will drop all current ZAP calls.

-Don't share interrupts

-On most motherboards the IRQ is assigned on a per slot basis. Sometimes it will assign the same IRQ to multiple slots.

-cat /proc/interrupts to view which interrupts are used by which card

-If your kernel has been compiled to include APIC then every device will get it's own interrupt. If your board supports this then you _should_ definately use it. Sometimes it's the only way to not share interrupts

-use hdparm to cause the HD to hold the interrupts for less time

-IP/UDP/RTP overhead is 40 bytes/packet

-20ms Packets are common (50 packets per second)

-RTP Header compression can help with this - currently unsupported in Asterisk - not very common, but available

-Increase audio per packet - not currently supported easily in Asterisk currently - ILBC uses 30ms packets - i.e. less packets so less overhead

-if bandwidth is not a problem (LAN) use G711 (ulaw/alaw)

-speex/g726 for IAX2 between servers (speex uses more CPU, g726 uses more bandwidth)

-Use GSM/G729/G726 for SIP

-Only enable codecs you would like to use. I.E. disallow=all, allow=the one you would like to use.

-Don't use allow=all as this will also enable codec which Asterisk can only use in passthrough mode.

-Use context=INVALID in the general section so that calls cannot come in without user/pass. Obviously without having an [INVALID] context. That way if a call comes in and is not authenticated will fail

-make sure you don't have overlapping number space (I.E. don't overlap number)

-use an outside line code (i.e. 9 or 0)
-you need to use an underscore to say that you are using regex
We are now having a break, thought I'd upload it so you can read it as it happens.