Saturday, June 28, 2008

Configuration Files of Asterisk

/etc/asterisk - Location of Config files

alsa.conf and oss.conf - Soundcard Configuration

asterisk.adsi - ADSI Feature Script

extensions.conf - Static dialplan

iax.conf - IAX users,peers,friends,and parameters

logger.conf - Log files,log levels,etc

meetme.conf - Meetme conference configuration

modules.conf - Modules,preloads,globals, and noloads

musiconhold.conf - Music on hold configuration

voicemail.conf - Voicemail boxes,general parameters

zapata.conf - Zaptel TDM compatible device configuration

Wednesday, June 25, 2008

Auto Call Through Error on Asterisk Console

This error refers to the problems in the dial plans configured on extensions.conf

Please mail your details if you want to get this troubleshoot on email id at

dip@lintelindia.com

Thursday, June 12, 2008

Hardware Recommendations for Asterisk Installation

1. Basic Rules

Often people use low-cost (and of course low-quality) PCs bought from a supermarket or discount store, most of these PCs have much more parts included than you will need to build a PBX system. We made the experience that a real server works best, even if it is a low cost one. The most important thing about these servers is that they are produced by a major hardware supplier (like HP, IBM, etc.). For an overview of what hardware works pretty good, please consult http://www.voip-info.org/wiki/view/Asterisk+hardware. Another important thing about motherboards is the fact that they should not use shared interrupts on the PCI slots (in case you might need to use PCI cards for ISDN or analog lines/phones).

2. Motherboard

Recommendations are based on our experiences . All the motherboards recommended are Asterisk supported motherboards .A true server motherboard, like those from Intel, is most suitable for production servers. The alternative to build the machine on your own is to buy a server from a major hardware supplier like the HP ProLiant DL- or ML-Series, that can be used out of the box. There are several models (starting with the Proliant DL/ML-Series 300), that already contain a hardware RAID controller for mirroring the hard drives.

Of course it is possible to use any workstation motherboard from Asus or MSI, but these, as our experiences show, are not really suitable for prodution servers, because they mostly use shared interrupts on their PCI slots, which cause major problems when dealing with ISDN and/or analog cards that are used with Asterisk.

3.CPU

Try not to use Celeron CPUs, they have less Level2 cache which can be problematic. Also Hyperthreading CPUs are not suitable. If you want to install a PBX system on a machine with a Hyperthreading CPU, disable Hyperthreading in BIOS.

Please also keep in mind that an i386 based processor will only be able to deal with max. 4GB memory, for bigger installations, Intel XEON with EM64T or AMD Opterons are necessary.

4.Memory (RAM)

A Linux based system normally does not need oversized memory like Windows based systems do. For small installations (up to 20 extensions) 512MB is more than enough. Of course this has to be calculated with the additional applications you run on the server, that provide functionalities like soundfile-conversion of recordings etc.

When dealing with more extensions, 2GB of memory should be used. Also one or two processor(s) of the Intel XEON or AMD Opteron will be necessary to provide adequate processing power and minimized processing delays.

5.Hard disks

Several harddrive manufactorers offer hard disks with higher reliability (e.g. Seagate ES and ES.2 series drives) specially for servers without being really more expensive than desktop drives. A PBX system based on Asterisk will typically not stress the harddrives, but in case you loose data, it can stress you, trust me. So using a RAID controller that offers RAID1 (disk mirroring) should be your first joice. Out of the box servers normally already have a hardware RAID controller on their motherboard. In case you do not have or cannot put a RAID controller into your PBX machine, a software RAID1 is the absolute minimum of fault tolerance.

An absolute sin is to use hard disks you accidentally found somewhere in your desk drawer. Always try to use new hard disks of the same model and size when doing mirroring.

6.Power supplies

Redundant power supplies are usually available for mid-range servers and above of the major manufacturers. On small installation sites sometimes it is not possible to connect 2 power supplies to 2 different power circuits, but keep in mind that als one of the power supplies could fail, an electrical power outage is not the only disaster that can happen.

7. Local network connectivity

When installing a mid range system or above, physically splitting the VoIP network from the rest of the network makes sense, especially when the existing network is not a state-of-the-art one that uses 100Mbps instead of 1Gb. Physically splitting is meant to introduce VLANs (on the same manageable network switch) or to use different switches for the VoIP traffic only. The latter possibility also offers the advantage that you can power the VoIP devices using PoE (Power over Ethernet) and you get rid of the power supplies for these devices and of the need to have free power outlets everywhere you install a phone. We usually use managed Linksys PoE layer2 switches (SRW208P and SRW224P) in combination with Snom 3x0 phones. The Linksys switches have 2 x 1Gb uplinks that can be used to connect the PBX system to. If you decide to split the VoIP network, you should ensure a second ethernet interface is present in your server. This configuration is necessary because you will need to access your PBX machine for offering services to your client PCs like enable the downloading of recordings via a webserver running on the PBX server.

8.Internet connectivity

In case you plan to receive or send phone calls via the internet from or to an ISP using VoIP, it is a good idea to rent a second internet line for the VoIP traffic only. Otherwise you will end up in a very bad voice quality everytime when someone downloads data from or uploads data to the internet. The other option is to implement a traffic shaper on the internet gateway.

Often companies do have multiple branch offices that need to be connected via VoIP. You should consider using a VPN solution because many ISPs priorize the RTP traffic much lower than the rest because of leak of bandwidth, and as the voice traffic between 2 VoIP phones is of type RTP, the voice connection might get delayed or stuttering.

9.Telephony cards

Basically we have to seperate two technologies: analog and digital. Analog telephony cards are used to connect traditional subscriber lines or analog phones to the PBX system. They (mostly) have RJ11 (6 pin) connectors, where only the middle two ones are used. Digital telephony cards are mainly used for ISDN Basic Rate Interfaces (BRI, 2 voice channels per line) and ISDN Primary Rate Interfaces (PRI, 23 voice channels for T1 or 30 voice channels for E1 per line). ISDN BRI interfaces have RJ45 (8 pin) connectors, ISDN PRI interfaces have either coaxial or RJ45 connectors.

We have tried most of the cards that are compatible with Asterisk PBX, most of them worked properly. We mainly use those low-cost single ISDN BRI cards based on the HFC chipset (around 25 Euro or 30 US$), junghanns.net QuadBri carss (4xISDN S0), the Digium E1/T1 cards as well as the OpenVox analog cards. If you use HFC-based cards like the junghanns.net QuadBri, you have to use the software patches provided by and available at junghanns.net website. When using the Digium E1/T1 PCI cards, you have to take care about the voltage on the PCI bus of your server. A description which card to use, can be found here.


Configuration examples

Here are some examples like we successfully use it at customers sites:

Asterisk basd PBX-system for 16 extensions VoIP


Asterisk based PBX system for 190 extensions VoIP

  • HP ProLiant DL360, 4GB RAM, 2 x Intel XEON DualCore, 2.33GHz
  • 2 x 142GB SAS hard disks(hardware RAID1)
  • redundant power supplies
  • Digium TE410P 4 x ISDN E1 card
  • Snom 370 and Snom 320 VoIP Phones
  • 10 x Linksys SRW224P, managed 24 port 10/100 and 2 ports 10/100/1000 PoE switch
  • 4 x Linksys SRW2048, managed 48 port 10/100/1000 backbone switch

  • Debian Linux 4.0 (Etch)
  • Asterisk 1.4.17 (BriStuffed)
  • IAX2 uplink to ZaKoVoIP for outbound calls

Asterisk based IVR and CallCenter infrastructure

  • HP ProLiant DL360, 1 x Intel XEON 2.33GHz, 2GB RAM (media gateway)
  • 2 x 142GB SAS hard disks (hardware RAID1)
  • redundant power supplies
  • Digium TE410P 4 x ISDN E1 card
  • HP ProLiant DL360, 2 x Intel XEON 2.66GHz, 4GB RAM (application server)
  • 2 x 142GB SAS hard disks (hardware RAID1)
  • redundant power supplies
  • HP ProLiant DL380, 2 x Intel XEON 2.66GHz, 4GB RAM (database server)
  • 6 x 142GB SAS hard disks (hardware RAID1, hardware RAID 5 + spare)
  • redundant power supplies
  • Linksys SRW2048, managed 48 port 10/100/1000 backbone switch
  • 2 x Linksys SRW2024, managed 24 port 10/100/1000 switch

  • Debian Linux 4.0 (Etch)
  • Asterisk 1.2.26.1 - ZaKoTel optimized build

Use a hardware that is ment to be a server with apropriate CPU(s) and memory to get rid of headache with not working PBX systems.

Monday, June 9, 2008

Asterisk Training Videos

Asterisk - Part 1

Astersik Video explaining about how to get the source code from the asterisk website

Reference www.asterisk.org

You will observe two versions

Asterisk 1.4.21 (version 1.4 )

Asterisk 1.6.0-beta 9 (version 1.6)

http://www.hotbutteredit.com/video/voip/asterisk/asterisk_install.htm

Asterisk - Part 2

We will now move to the next part which explains about how to start and stop the asterisk

http://www.hotbutteredit.com/video/voip/asterisk/running_asterisk.htm

Asterisk - Part 3


http://www.hotbutteredit.com/video/voip/asterisk/asterisk_extensions.htm


Asterisk - Part 4

This video on Asterisk explains about the dial plans

Important configuration files are at extensions.conf

http://www.hotbutteredit.com/video/voip/asterisk/asterisk_contexts_dialplans_part1.htm

Asterisk - Part 5


This part of the video explains about the AGI ( Asterisk Gateway Interface )

http://www.hotbutteredit.com/video/voip/asterisk/asterisk_contexts_dialplans_part2.htm


Asterisk - Part 6

This video of Asterisk expalins about the configuration of the softphones and how it interacts with the Asterisk Server

http://www.hotbutteredit.com/video/voip/asterisk/asterik_setting_up_softphones.htm



Asterisk - Part 7


This part of video on Asterisk includes Graphical Interface interpretations

Free versions are available at

www.trixbox.org.


http://www.hotbutteredit.com/video/voip/asterisk/asterisk_trixbox_intro.htm

Asterisk - Part 8

User Management and interfaces

http://www.hotbutteredit.com/video/voip/asterisk/asterisk_trixbox_features_1.htm

Asterisk - 9

Overview of Trix box and the web interfaces

http://www.hotbutteredit.com/video/voip/asterisk/asterisk_trixbox_features_2.htm

Asterisk - 10

Summary of all the things which we have learnt today


http://www.hotbutteredit.com/video/voip/asterisk/asterik_conclusion_documentation.htm

Thanks to hotbutteredit.com and the mentor Simon .

Friday, June 6, 2008

Installation of Asterisk for Ubuntu / Debian

Asterisk is the world's leading open source PBXi, telephony engine, and telephony applications toolkit. Offering flexibility unheard of in the world of proprietary communications, Asterisk empowers developers and integrators to create advanced communication solutions...for free.

official asterisk website

www.asterisk.org

Distros selection for linux

Ubuntu / Fedora / Debian / Gentoo / CentOs are considered to be the best linux flavours .

Distros available at there respective sites

www.ubuntu.com

Installation :

First step is to install all the dependencies

Installation Commands for Ubuntu / Debian Sarge and Etch :

cd /usr/src

apt-get update
apt-get install kernel-headers-2.6.8-2-386

apt-get install cvs
apt-get install libssl-dev
apt-get install zlib1g-dev
apt-get install libnewt-dev
apt-get install bison
apt-get install ncurses-dev
apt-get install libssl-dev
apt-get install initrd-tools
apt-get install procps

mkdir asterisk
cd asterisk

wget http://ftp.digium.com/pub/asterisk/asterisk-1.2.4.tar.gz
wget http://ftp.digium.com/pub/zaptel/zaptel-1.2-current.tar.gz
wget http://ftp.digium.com/pub/libpri/libpri-1.2-current.tar.gz
wget http://ftp.digium.com/pub/libiax/iax-0.2.2.tar.gz
wget http://ftp.digium.com/pub/asterisk/asterisk-1.2-current.tar.gz
wget http://ftp.digium.com/pub/asterisk/asterisk-addons-1.2-current.tar. gz

tar xvfz libpri-1.2-current.tar.gz
cd libpri-1.2.3/
make clean
make
make install

cd ..
tar xvfz zaptel-1.2-current.tar.gz
cd zaptel-1.2.8/
make clean
make linux26)
make install
modprobe zaptel
modprobe wcfxo
ztcfg

cd ..
tar xvfz asterisk-1.2-current.tar.gz
cd asterisk-1.2.11/
make
make install
make samples


wget http://ftp.digium.com/pub/asterisk/g729/linux/32-bit/i386/codec_g72 9a.so
wget http://ftp.digium.com/pub/asterisk/g729/register_utility/glibc2.3.5 /x86/register
wget http://ftp.digium.com/pub/asterisk/releases/asterisk-sounds-1.2.1.t ar.gz


cd ..
tar xvfz asterisk-sounds-1.2.1.tar.gz
cd asterisk-sounds-1.2.1
make clean
make install

cd..
modprobe ztdummy


From Asterisk TFOT
Let’s look at some examples. To start Asterisk and connect to the CLI with a verbos-
ity level of 3, use the following command:

# /usr/sbin/asterisk –cvvv
If the Asterisk process is already running (for example, if you started Asterisk with
/usr/sbin/asterisk), instead use the reconnect switch, like so:

# /usr/sbin/asterisk –vvvr



Part - 2 would be updated shortly