Debian “Etch” + Asterisk + Asterisk-Addons + Zaptel + Libpri + mISDN + Asterisk-GUI

This Howto is to install Asterisk on a fresh Debian “Etch” system.
After download a netinstall image of Debian 4.0r1 and configure localization, language, partitions and so on, in the final steps, debian should now be asking you what packages you want installed.

Choose base system only.

After finish installation and first reboot, login with root and:

aptitude update
aptitude upgrade

reboot

aptitude install ssh ntp

From here, the next steps were done from a ssh session with putty client.

Compiling New Custom Kernel *** Optional ***

aptitude install kernel-package libncurses5-dev fakeroot wget bzip2 build-essential

cd /usr/src

wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.23.12.tar.bz2

tar xjf linux-2.6.*

ln -s /usr/src/linux-2.6.23.12 /usr/src/linux

cd /usr/src/linux

Copy the current kernel configuration to /usr/src/linux

make clean && make mrproper

cp /boot/config-`uname -r` ./.config

make menuconfig

In the configuration menu, we select “Load alternate configuration…” and choose the config file that we have copy in the /usr/src/linux directory. /usr/src/linux/.config

We are going to modify some parameters in the kernel configuration:

In the subsection “Processor type and features” we check:

“Enable IRQ balancing” is disabled
“Timer frequency” change the value 250 Hz by 1000 Hz.
“High Resolution Timer Option” and “HPET Timer Support” as built-in.
For users with NVidia SATA drives unchek “Paravirtualization Support”.

And under “Library Routines” subsection, “CONFIG_CRC_CCITT” must be enabled.

When we had made this changes we save the configuration and exit.

Building the new .deb kernel and headers packages :

make-kpkg clean
fakeroot make-kpkg –initrd –append-to-version=-custom kernel_image kernel_headers

After the compilation will be two .deb packages under directory /usr/src/

Install the new packages.

cd /usr/src
dpkg -i linux-image-2.6.23.12-custom_2.6.23.12-custom-10.00.Custom_i386.deb
dpkg -i linux-headers-2.6.23.12-custom_2.6.23.12-custom-10.00.Custom_i386.deb

reboot

Test the new kernel is loaded.

uname -a

The output must be something similar to “Linux asterisk 2.6.23.12-custom

*** Finish *** Optional *** Compiling Custom Kernel

Go for dependencies…

aptitude install build-essential libcurl3-dev libvorbis-dev libspeex-dev unixodbc unixodbc-dev libiksemel-dev flex xsltproc

aptitude install linux-headers-`uname -r` g++ libncurses5-dev libnewt-dev libusb-dev subversion git-core

Downloading and untarring…

cd /usr/src

wget http://downloads.digium.com/pub/asterisk/asterisk-1.4-current.tar.gz
wget http://downloads.digium.com/pub/zaptel/zaptel-1.4-current.tar.gz
wget http://downloads.digium.com/pub/libpri/libpri-1.4-current.tar.gz
wget http://www.misdn.org/downloads/mISDN.tar.gz
wget http://www.misdn.org/downloads/mISDNuser.tar.gz
wget http://downloads.digium.com/pub/asterisk/releases/asterisk-addons-1.4.5.tar.gz

tar xvzf asterisk-1.4-current.tar.gz && tar xvzf zaptel-1.4-current.tar.gz && tar xvzf libpri-1.4-current.tar.gz && tar xvzf mISDN.tar.gz && tar xvzf mISDNuser.tar.gz && tar xvzf asterisk-addons-1.4.5.tar.gz

Installing Zaptel

cd /usr/src/zaptel-1.4*
./install_prereq test
./install_prereq install

./configure
make
make install
make config
modprobe ztdummy

Installing Libpri

cd /usr/src/libpri-1.4*
make && make install

Installing mISDN

Note: The current version (1.1.7) not compile with the last kernel (2.6.23.12). The (2.6.18.10) is tested that works.

cd /usr/src/mISDN
make
make install
cd /usr/src/mISDNuser/
make && make install

Configuring…

mISDN scan
mISDN config

This creates the file /etc/mISDN.conf which you should review and/or edit.

vi /etc/mISDN.conf

If everything looks good, going to start mISDN

mISDN start

and check everything is right,

misdnportinfo

Running on startup…

/usr/sbin/update-rc.d mISDN defaults 15 30

Installing Asterisk

cd /usr/src/asterisk-1.4*
./configure

The next step is not mandatory. For install core and extra sounds in different languages:

make menuselect

select the core-sounds you would like to play and extra sounds. Exit with “x” to save.

make
make install
make samples
make config
asterisk -vvvc
stop now
echo “ztdummy” >> /etc/modules

Note: If you make a mistake and/or fail compilation, you need to run:

make clean then ./configure and make install again.

Going to reboot for test the system startup is correct.

reboot

asterisk -r
exit

Install Asterisk-Addons

cd /usr/src/asterisk-addons*

./configure && make && make install

make samples

Install Asterisk-GUI

If you have asterisk config files (no new install), backup it…

cp -r /etc/asterisk /etc/asterisk.bak

Download and install Asterisk-GUI

cd /usr/src
svn checkout http://svn.digium.com/svn/asterisk-gui/trunk asterisk-gui
cd /usr/src/asterisk-gui
./configure && make && make install
make samples

Some tweaks to configuration files…

cat << EOF >/etc/asterisk/http.conf
[general]
enabled=yes
enablestatic=yes
EOF

cat << EOF >/etc/asterisk/manager.conf
[general]
displaysystemname = yes
enabled = yes
webenabled = yes
port = 5038
;httptimeout = 60
bindaddr = 0.0.0.0

[admin]
secret = admin
read = system,call,log,verbose,command,agent,config
write = system,call,log,verbose,command,agent,config
EOF

Checking configuration…

make checkconfig

asterisk -r
reload
exit

Try, configure and enjoy your new system… with admin/admin login or your setup config…

http://IPADDRESS:8088/asterisk/static/config/setup/install.html
http://IPADDRESS:8088/asterisk/static/config/cfgbasic.html


One response to “Debian “Etch” + Asterisk + Asterisk-Addons + Zaptel + Libpri + mISDN + Asterisk-GUI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: