Upgrade a 2.2.x machine to Asterisk 1.4

Upgrading Asterisk 1.2 to 1.4 on Trixbox 2.2.x

Ok, before we begin, this procedure makes MANY assumptions about where you are starting from, so if you are starting from a different place, don't be suprised if you end up in a different place - you have been warned! Commands to run are in BOLD

What you LOSE with this procedure:

a) NVFax Reception - Sorry, I haven't taken the time to compile it.
b) Home Page looks a little funky.
c) No more package updates from Trixbox (but since this is 2.2, this probably doesn't matter!)
d) OSLEC Echo Cancellation - I don't consider this a loss, but some people might...

Knowing all this, if you still want to procede, here you go:

1) The Rhino drivers in the 2.2 repos are broken - if you are using Rhino cards,
yum remove rhino*

2) We need to remove the Sangoma drivers, if installed - we will need 1.4 drivers
yum remove wanpipe*

3) You should have ALL updates available in the 2.2 tree - this will effectively give you a
2.2.12 box - this is where the 2.2 tree ended.
yum update -y

4) Get rid of OSLEC:
yum remove oslec*

5) Go to the /usr/src directory:
cd /usr/src

6) Get the Kernel Headers - you will need them to compile Asterisk:
yum install kernel-devel or yum install kernel-smp-devel

depending on which you are using.

7) If you are using the non-smp kernel, then:
ln -s kernels/2.6.9-34.0.2.EL-i686 linux
ln -s kernels/2.6.9-34.0.2.EL-i686 linux26

8) If you are using the smp kernel, then:
ln -s kernels/2.6.9-34.0.2.EL-smp-i686 linux
ln -s kernels/2.6.9-34.0.2.EL-smp-i686 linux26

9) Get the most current Zaptel:
wget http://downloads.digium.com/pub/zaptel/releases/zaptel-1.4.10.1.tar.gz

10) Get the most current LibPRI:
wget http://downloads.digium.com/pub/libpri/releases/libpri-1.4.4.tar.gz

11) Get the most current Asterisk:
wget http://downloads.digium.com/pub/asterisk/releases/asterisk-1.4.19.2.tar.gz

12) Get the most current Asterisk Addons:
wget http://downloads.digium.com/pub/asterisk/releases/asterisk-addons-1.4.6.tar.gz

13) Open all the Tarballs:
tar -zxvf zaptel-1.4.10.1.tar.gz
tar -zxvf libpri-1.4.4.tar.gz
tar -zxvf asterisk-1.4.19.2.tar.gz
tar -zxvf asterisk-addons-1.4.6.tar.gz

14) Put the files in the proper directorys (not necessary but tidy):
mv zaptel-1.4.10.1 zaptel
mv libpri-1.4.4 libpri
mv asterisk-1.4.19.2 asterisk
mv asterisk-addons-1.4.6 asterisk-addons

15) Let's go compile Zaptel - first, we must select an Echo Canceller - if you have cards with Hardware Echo Cancellation, you can skip ahead to step 16 otherwise:
cd zaptel/kernel
nano -w zconfig.h

Look through the file, and about two pages down you will find this section:


/* #define AGGRESSIVE_SUPPRESSOR */
#endif /* ifndef ECHO_CAN_FROMENV */

Change it to this:


#define AGGRESSIVE_SUPPRESSOR
#endif /* ifndef ECHO_CAN_FROMENV */

Save the file

16) Go to the Zaptel Directory:
cd /usr/src/zaptel

17) Clean up the directory, and make sure we can compile:
make clean

18) Configure Zaptel for the machine:
./configure

19) Choose any optional components:
make menuselect

The defaults were fine for me - select what you want.

20) Compile Zaptel!:
make

21) Install Zaptel:
make install

22) Ok, Zaptel is installed - let's go do LibPRI:
cd ../libpri

23) Clean House:
make clean

24) Compile it:
make

25) Install it:
make install

26) Time for Asterisk (Yay!):
cd ../asterisk

27) Clean House:
make clean

28) Configure Asterisk for the machine:
./configure

29) Choose your options:
make menuselect

I choose to compile several of the Core sound Packages - do what you want. I also selected several MOH formats. I also picked some Extras's sound packages.

30) Compile it:
make

31) Install it:
make install

Ignore the warnings about incompatible modules - we will take care of that next.

32) Onward to asterisk-addons:
cd ../asterisk-addons

33) Clean house:
make clean

34) Configure them for the machine:
./configure

35) Choose your options:
make menuselect

You need all of these - just look around to know what is there.

36) Compile it:
make

37) Install it:
make install

Wow - You are DONE if you are using SIP trunks or Digium hardware - reboot the machine and you are now using Asterisk 1.4 - Pat yourself on the back. If you are using Rhino or Sangoma hardware, go their websites download the most current drivers for 1.4 and install them, and then reboot - good luck!

Greg