Installation

Diese Installationsanleitung setzt ein frisch installiertes Debian GNU/Linux 3.1 (a.k.a. sarge) voraus.

[Wichtig]Wichtig

Bitte beachten Sie, das die Installationsanleitung nur für die zum Zeitpunkt der Veröffentlichung dieses Buches aktuelle Debian Version 3.1 und nicht für neuere Debian Versionen geeignet ist. Ein Update der Anleitung für die Debian Version 4.0 finden Sie in der zukünftigen Version des Buches. Teile davon können Sie bereits jetzt unter http://www.das-asterisk-buch.de/unstable/ einsehen.

Wir empfehlen zur Installation das Netzwerkinstallations-CD-Image, welches ungefähr 100 MB gross ist und unter http://www.debian.org/releases/sarge/debian-installer/ downgeloadet werden kann. Eine Debian GNU/Linux-Installationsanleitung steht unter http://www.debian.org/releases/sarge/i386/ und ein allgemeines Anwenderhandbuch unter http://debiananwenderhandbuch.de.

Nach erfolgreicher Installation des Debian Linux-Systems melden Sie sich als Benutzer root am System an und führen Sie die hier nachfolgend angegebenen Befehle aus. Bitte achten Sie darauf, keinen Schritt auszulassen und die Schritte als Benutzer root durchzuführen.

Als Erstes stellen Sie mit einem apt-get update sicher, dass apt-get alle aktuellen Paketlisten zur Verfügung hat:

debian:~# apt-get update
OK   http://ftp.de.debian.org stable/main Packages
OK   http://ftp.de.debian.org stable/main Release
OK   http://security.debian.org stable/updates/main Packages
OK   http://security.debian.org stable/updates/main Release
OK   http://security.debian.org stable/updates/contrib Packages
OK   http://security.debian.org stable/updates/contrib Release
OK   http://ftp.de.debian.org stable/main Sources
OK   http://ftp.de.debian.org stable/main Release
Paketlisten werden gelesen... Fertig
debian:~#

Um sicherzugehen, dass alle Pakete auf dem neuesten Stand sind, führen Sie zur Sicherheit noch ein apt-get -y upgrade aus:

debian:~# apt-get -y upgrade
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut... Fertig
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.

Jetzt müssen Sie mit apt-get -y install openssl zlibc libkrb5-dev libncurses5-dev libssl-dev zlib1g-dev noch ein paar Pakete nachinstallieren, damit das spätere Kompilieren von Asterisk erfolgreich durchgeführt werden kann:

debian:~# apt-get -y install openssl zlibc libkrb5-dev libncurses5-dev libssl-dev zlib1g-dev
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut... Fertig
Die folgenden zusätzlichen Pakete werden installiert:
  comerr-dev libkadm55
Vorgeschlagene Pakete:
  doc-base krb5-doc ca-certificates
Die folgenden NEUEN Pakete werden installiert:
  comerr-dev libkadm55 libkrb5-dev libncurses5-dev libssl-dev openssl
  zlib1g-dev zlibc
0 aktualisiert, 8 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Es müssen 6025kB Archive geholt werden.
Nach dem Auspacken werden 18,8MB Plattenplatz zusätzlich benutzt.
Hole:1 http://ftp.de.debian.org stable/main libkadm55 1.3.6-2sarge3 [165kB]
Hole:2 http://ftp.de.debian.org stable/main libncurses5-dev 5.4-4 [1038kB]
Hole:3 http://ftp.de.debian.org stable/main libssl-dev 0.9.7e-3sarge4 [2555kB] 
Hole:4 http://ftp.de.debian.org stable/main openssl 0.9.7e-3sarge4 [906kB]     
Hole:5 http://ftp.de.debian.org stable/main zlib1g-dev 1:1.2.2-4.sarge.2 [488kB]
Hole:6 http://ftp.de.debian.org stable/main zlibc 0.9j-7 [245kB]               
Hole:7 http://ftp.de.debian.org stable/main comerr-dev 2.1-1.37-2sarge1 [53,0kB]
Hole:8 http://ftp.de.debian.org stable/main libkrb5-dev 1.3.6-2sarge3 [574kB]  
Es wurden 6025kB in 57s geholt (104kB/s)                                       
Wähle vormals abgewähltes Paket libkadm55.
(Lese Datenbank ... 32512 Dateien und Verzeichnisse sind derzeit installiert.)
Entpacke libkadm55 (aus .../libkadm55_1.3.6-2sarge3_i386.deb) ...
Wähle vormals abgewähltes Paket libncurses5-dev.
Entpacke libncurses5-dev (aus .../libncurses5-dev_5.4-4_i386.deb) ...
Wähle vormals abgewähltes Paket libssl-dev.
Entpacke libssl-dev (aus .../libssl-dev_0.9.7e-3sarge4_i386.deb) ...
Wähle vormals abgewähltes Paket openssl.
Entpacke openssl (aus .../openssl_0.9.7e-3sarge4_i386.deb) ...
Creating directory /etc/ssl
Wähle vormals abgewähltes Paket zlib1g-dev.
Entpacke zlib1g-dev (aus .../zlib1g-dev_1%3a1.2.2-4.sarge.2_i386.deb) ...
Wähle vormals abgewähltes Paket zlibc.
Entpacke zlibc (aus .../archives/zlibc_0.9j-7_i386.deb) ...
Wähle vormals abgewähltes Paket comerr-dev.
Entpacke comerr-dev (aus .../comerr-dev_2.1-1.37-2sarge1_i386.deb) ...
Wähle vormals abgewähltes Paket libkrb5-dev.
Entpacke libkrb5-dev (aus .../libkrb5-dev_1.3.6-2sarge3_i386.deb) ...
Richte libkadm55 ein (1.3.6-2sarge3) ...

Richte libncurses5-dev ein (5.4-4) ...
Richte libssl-dev ein (0.9.7e-3sarge4) ...

Richte openssl ein (0.9.7e-3sarge4) ...

Richte zlib1g-dev ein (1.2.2-4.sarge.2) ...
Richte zlibc ein (0.9j-7) ...

Richte comerr-dev ein (2.1-1.37-2sarge1) ...

Richte libkrb5-dev ein (1.3.6-2sarge3) ...
debian:~#

Asterisk wird aber erst nach mISDN installiert werden. mISDN lässt sich momentan ausschließlich mit einen 2.6.x-Kernel kompilieren. Um diesen zu installieren, suchen Sie mit apt-cache search kernel-image-2.6.8 | grep kernel-image den zu Ihrer Architektur passenden Kernel:

debian:~# apt-cache search kernel-image-2.6.8 | grep kernel-image
kernel-image-2.6.8-3-386 - Linux kernel image for version 2.6.8 on 386.
kernel-image-2.6.8-11-amd64-generic - Linux kernel image for version 2.6.8 on generic x86_64 systems
kernel-image-2.6.8-11-amd64-k8 - Linux kernel image for version 2.6.8 on AMD64 systems
kernel-image-2.6.8-11-amd64-k8-smp - Linux kernel image for version 2.6.8 on AMD64 SMP systems
kernel-image-2.6.8-11-em64t-p4 - Linux kernel image for version 2.6.8 on Intel EM64T systems
kernel-image-2.6.8-11-em64t-p4-smp - Linux kernel image for version 2.6.8 on Intel EM64T SMP systems
kernel-image-2.6.8-12-amd64-generic - Linux kernel image for version 2.6.8 on generic x86_64 systems
kernel-image-2.6.8-12-amd64-k8 - Linux kernel image for version 2.6.8 on AMD64 systems
kernel-image-2.6.8-12-amd64-k8-smp - Linux kernel image for version 2.6.8 on AMD64 SMP systems
kernel-image-2.6.8-12-em64t-p4 - Linux kernel image for version 2.6.8 on Intel EM64T systems
kernel-image-2.6.8-12-em64t-p4-smp - Linux kernel image for version 2.6.8 on Intel EM64T SMP systems
kernel-image-2.6.8-2-386 - Linux kernel image for version 2.6.8 on 386.
kernel-image-2.6.8-2-686 - Linux kernel image for version 2.6.8 on PPro/Celeron/PII/PIII/P4.
kernel-image-2.6.8-2-686-smp - Linux kernel image for version 2.6.8 on PPro/Celeron/PII/PIII/P4 SMP.
kernel-image-2.6.8-2-k7 - Linux kernel image for version 2.6.8 on AMD K7.
kernel-image-2.6.8-2-k7-smp - Linux kernel image for version 2.6.8 on AMD K7 SMP.
kernel-image-2.6.8-3-686 - Linux kernel image for version 2.6.8 on PPro/Celeron/PII/PIII/P4.
kernel-image-2.6.8-3-686-smp - Linux kernel image for version 2.6.8 on PPro/Celeron/PII/PIII/P4 SMP.
kernel-image-2.6.8-3-k7 - Linux kernel image for version 2.6.8 on AMD K7.
kernel-image-2.6.8-3-k7-smp - Linux kernel image for version 2.6.8 on AMD K7 SMP.
debian:~# 

In diesem Beispiel entscheiden wir uns für den Kernel kernel-image-2.6.8-3-686 und installieren diesen mit apt-get -y install kernel-image-2.6.8-3-686:

debian:~# apt-get -y install kernel-image-2.6.8-3-686
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut... Fertig
Vorgeschlagene Pakete:
  lilo kernel-doc-2.6.8 kernel-source-2.6.8
Die folgenden NEUEN Pakete werden installiert:
  kernel-image-2.6.8-3-686
0 aktualisiert, 1 neu installiert, 0 zu entfernen und 1 nicht aktualisiert.
Es müssen 15,6MB Archive geholt werden.
Nach dem Auspacken werden 45,2MB Plattenplatz zusätzlich benutzt.
Hole:1 http://security.debian.org stable/updates/main kernel-image-2.6.8-3-686 2.6.8-16sarge6 [15,6MB]
Es wurden 15,6MB in 1m7s geholt (232kB/s)                                      
Wähle vormals abgewähltes Paket kernel-image-2.6.8-3-686.
(Lese Datenbank ... 25562 Dateien und Verzeichnisse sind derzeit installiert.)
Entpacke kernel-image-2.6.8-3-686 (aus .../kernel-image-2.6.8-3-686_2.6.8-16sarge6_i386.deb) ...
Richte kernel-image-2.6.8-3-686 ein (2.6.8-16sarge6) ...
Searching for GRUB installation directory ... found: /boot/grub .
Testing for an existing GRUB menu.list file... found: /boot/grub/menu.lst .
Searching for splash image... none found, skipping...
Found kernel: /boot/vmlinuz-2.6.8-3-686
Found kernel: /boot/vmlinuz-2.4.27-3-386
Updating /boot/grub/menu.lst ... done


debian:~#

Danach booten wir den Rechner mit shutdown -r now und können nach dem Booten mit uname -a kontrollieren, ob mit dem richtigen Kernel gebootet wurde:

debian:~# uname -a
Linux debian 2.6.8-3-686 #1 Tue Dec 5 21:26:38 UTC 2006 i686 GNU/Linux
debian:~#

Zum Kompilieren benötigen wir jetzt noch die zum Kernel passenden Header-Dateien. Diese können mit apt-get -y install kernel-headers-`uname -r` nachinstalliert werden:

debian:~# apt-get -y install kernel-headers-`uname -r`
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut... Fertig
Die folgenden zusätzlichen Pakete werden installiert:
  kernel-headers-2.6.8-3 kernel-kbuild-2.6-3
Die folgenden NEUEN Pakete werden installiert:
  kernel-headers-2.6.8-3 kernel-headers-2.6.8-3-686 kernel-kbuild-2.6-3
0 aktualisiert, 3 neu installiert, 0 zu entfernen und 1 nicht aktualisiert.
Es müssen 3402kB Archive geholt werden.
Nach dem Auspacken werden 42,6MB Plattenplatz zusätzlich benutzt.
Hole:1 http://ftp.de.debian.org stable/main kernel-kbuild-2.6-3 2.6.8-2 [363kB]
Hole:2 http://security.debian.org stable/updates/main kernel-headers-2.6.8-3 2.6.8-16sarge6 [2781kB]
Hole:3 http://security.debian.org stable/updates/main kernel-headers-2.6.8-3-686 2.6.8-16sarge6 [258kB]
Es wurden 3402kB in 18s geholt (188kB/s)                                       
Wähle vormals abgewähltes Paket kernel-kbuild-2.6-3.
(Lese Datenbank ... 27265 Dateien und Verzeichnisse sind derzeit installiert.)
Entpacke kernel-kbuild-2.6-3 (aus .../kernel-kbuild-2.6-3_2.6.8-2_i386.deb) ...
Wähle vormals abgewähltes Paket kernel-headers-2.6.8-3.
Entpacke kernel-headers-2.6.8-3 (aus .../kernel-headers-2.6.8-3_2.6.8-16sarge6_i386.deb) ...
Wähle vormals abgewähltes Paket kernel-headers-2.6.8-3-686.
Entpacke kernel-headers-2.6.8-3-686 (aus .../kernel-headers-2.6.8-3-686_2.6.8-16sarge6_i386.deb) ...
Richte kernel-kbuild-2.6-3 ein (2.6.8-2) ...
Richte kernel-headers-2.6.8-3 ein (2.6.8-16sarge6) ...

Richte kernel-headers-2.6.8-3-686 ein (2.6.8-16sarge6) ...
debian:~# 

Auf der Asterisk-Homepage http://www.asterisk.org/ finden Sie die notwendigen Quellen, um Asterisk zu kompilieren. Nehmen Sie bitte eine stabile und keine Entwickler-Version und laden Sie diese mit wget http://ftp.digium.com/pub/asterisk/asterisk-1.2-current.tar.gz in das Verzeichnis /usr/src/ herunter:

debian:/usr/src/# cd /usr/src
debian:/usr/src# wget http://ftp.digium.com/pub/asterisk/asterisk-1.2-current.tar.gz
--18:30:46--  http://ftp.digium.com/pub/asterisk/asterisk-1.2-current.tar.gz
           => `asterisk-1.2-current.tar.gz'
Auflösen des Hostnamen »ftp.digium.com«.... 69.16.138.164
Verbindungsaufbau zu ftp.digium.com[69.16.138.164]:80... verbunden.
HTTP Anforderung gesendet, warte auf Antwort... 200 OK
Länge: 10,584,113 [application/x-gzip]

100%[====================================>] 10,584,113   224.71K/s    ETA 00:00

18:31:36 (207.67 KB/s) - »asterisk-1.2-current.tar.gz« gespeichert [10584113/10584113]

Als Nächstes laden Sie mit wget http://ftp.digium.com/pub/zaptel/zaptel-1.2-current.tar.gz den dazugehörigen Zaptel-Treiber:

debian:/usr/src# wget http://ftp.digium.com/pub/zaptel/zaptel-1.2-current.tar.gz
--20:47:06--  http://ftp.digium.com/pub/zaptel/zaptel-1.2-current.tar.gz
           => `zaptel-1.2-current.tar.gz'
Auflösen des Hostnamen »ftp.digium.com«.... 69.16.138.164
Verbindungsaufbau zu ftp.digium.com[69.16.138.164]:80... verbunden.
HTTP Anforderung gesendet, warte auf Antwort... 200 OK
Länge: 1,487,021 [application/x-gzip]

100%[=====================================>] 1,487,021     13.08K/s    ETA 00:00

20:49:12 (12.25 KB/s) - »zaptel-1.2-current.tar.gz« gespeichert [1487021/1487021]

debian:/usr/src#

Als Letztes müssen wir jetzt noch mit wget http://ftp.digium.com/pub/libpri/libpri-1.2-current.tar.gz das aktuelle libpri-Paket downloaden:

debian:/usr/src# wget http://ftp.digium.com/pub/libpri/libpri-1.2-current.tar.gz
--17:47:12--  http://ftp.digium.com/pub/libpri/libpri-1.2-current.tar.gz
           => `libpri-1.2-current.tar.gz'
Auflösen des Hostnamen »ftp.digium.com«.... 216.27.40.102
Verbindungsaufbau zu ftp.digium.com[216.27.40.102]:80... verbunden.
HTTP Anforderung gesendet, warte auf Antwort... 200 OK
Länge: 76,663 [application/x-gzip]

100%[====================================>] 76,663       114.43K/s             

17:47:13 (113.97 KB/s) - »libpri-1.2-current.tar.gz« gespeichert [76663/76663]

debian:/usr/src#

Da der Zaptel-Treiber immer vor dem Asterisk kompiliert werden muss, entpacken wir diesen mit tar xvzf zaptel-1.2-current.tar.gz, wechseln dann mit cd zaptel-1.2.12 in das Verzeichnis, kompilieren und installieren ihn mit make install:

debian:/usr/src# tar xvzf zaptel-1.2-current.tar.gz 
zaptel-1.2.12/
zaptel-1.2.12/build_tools/
zaptel-1.2.12/build_tools/genmodconf
zaptel-1.2.12/build_tools/make_svn_branch_name
zaptel-1.2.12/build_tools/genudevrules
zaptel-1.2.12/build_tools/make_version_h
zaptel-1.2.12/wct4xxp/

[...]

zaptel-1.2.12/torisa.h
zaptel-1.2.12/pattest.c
zaptel-1.2.12/mg2ec_const.h
zaptel-1.2.12/README.fxsusb
zaptel-1.2.12/wctdm.c
zaptel-1.2.12/fir.h
debian:/usr/src# cd zaptel-1.2.12 
debian:/usr/src/zaptel-1.2.12# make install        
cc -I. -O4 -g -Wall -DBUILDING_TONEZONE    -DSTANDALONE_ZAPATA -DZAPTEL_CONFIG=\"/etc/zaptel.conf\" -DHOTPLUG_FIRMWARE   -c -o gendigits.o gendigits.c
cc -o gendigits gendigits.o -lm
./gendigits > tones.h
cc -I. -O4 -g -Wall -DBUILDING_TONEZONE    -DSTANDALONE_ZAPATA -DZAPTEL_CONFIG=\"/etc/zaptel.conf\" -DHOTPLUG_FIRMWARE    makefw.c   -o makefw
./makefw tormenta2.rbt tor2fw > tor2fw.h
Loaded 69900 bytes from file
./makefw pciradio.rbt radfw > radfw.h
Loaded 42096 bytes from file
ZAPTELVERSION="1.2.12" build_tools/make_version_h > version.h.tmp

[...]

[ -f /etc/zaptel.conf ] || install -D -m 644 zaptel.conf.sample /etc/zaptel.conf
build_tools/genmodconf linux26 "" "tor2 torisa wcusb wcfxo wctdm wctdm24xxp ztdynamic ztd-eth wct1xxp wcte11xp pciradio ztd-loc ztdummy wct4xxp"
Building /etc/modprobe.d/zaptel...
***
*** WARNING:
*** If you had custom settings in /etc/modprobe.d/zaptel,
*** they have been moved to /etc/modprobe.d/zaptel.bak.
***
*** In the future, do not edit /etc/modprobe.d/zaptel, but
*** instead put your changes in another file
*** in the same directory so that they will not
*** be overwritten by future Zaptel updates.
***
debian:/usr/src/zaptel-1.2.12#

Jetzt mit cd .. wieder ein Verzeichnis rauf und das libpri-Paket mit tar xvzf libpri-1.2-current.tar.gz entpacken:

debian:/usr/src# tar xvzf libpri-1.2-current.tar.gz 
libpri-1.2.4/
libpri-1.2.4/copy_string.c
libpri-1.2.4/LICENSE
libpri-1.2.4/prisched.c

[...]

libpri-1.2.4/pri_internal.h
libpri-1.2.4/Makefile
libpri-1.2.4/q921.c
libpri-1.2.4/q931.c
debian:/usr/src#

Dann mit cd libpri-1.2.4 ins libpri-Verzeichnis wechseln und selbiges mit make install kompilieren und installieren:

debian:/usr/src# cd libpri-1.2.4 
debian:/usr/src/libpri-1.2.4# make install
gcc -Wall -Werror -Wstrict-prototypes -Wmissing-prototypes -g     -c -o copy_string.o copy_string.c
gcc -Wall -Werror -Wstrict-prototypes -Wmissing-prototypes -g     -c -o pri.o pri.c
gcc -Wall -Werror -Wstrict-prototypes -Wmissing-prototypes -g     -c -o q921.o q921.c
gcc -Wall -Werror -Wstrict-prototypes -Wmissing-prototypes -g     -c -o prisched.o prisched.c
gcc -Wall -Werror -Wstrict-prototypes -Wmissing-prototypes -g     -c -o q931.o q931.c
gcc -Wall -Werror -Wstrict-prototypes -Wmissing-prototypes -g     -c -o pri_facility.o pri_facility.c
ar rcs libpri.a copy_string.o pri.o q921.o prisched.o q931.o pri_facility.o
ranlib libpri.a
gcc -fPIC -Wall -Werror -Wstrict-prototypes -Wmissing-prototypes -g   -o copy_string.lo -c copy_string.c
gcc -fPIC -Wall -Werror -Wstrict-prototypes -Wmissing-prototypes -g   -o pri.lo -c pri.c
gcc -fPIC -Wall -Werror -Wstrict-prototypes -Wmissing-prototypes -g   -o q921.lo -c q921.c
gcc -fPIC -Wall -Werror -Wstrict-prototypes -Wmissing-prototypes -g   -o prisched.lo -c prisched.c
gcc -fPIC -Wall -Werror -Wstrict-prototypes -Wmissing-prototypes -g   -o q931.lo -c q931.c
gcc -fPIC -Wall -Werror -Wstrict-prototypes -Wmissing-prototypes -g   -o pri_facility.lo -c pri_facility.c
gcc -shared -Wl,-hlibpri.so.1.0 -o libpri.so.1.0 copy_string.lo pri.lo q921.lo prisched.lo q931.lo pri_facility.lo
/sbin/ldconfig -n .
ln -sf libpri.so.1.0 libpri.so
ln -sf libpri.so.1.0 libpri.so.1
mkdir -p /usr/lib
mkdir -p /usr/include
install -m 644 libpri.h /usr/include
install -m 755 libpri.so.1.0 /usr/lib
if [ -x /usr/sbin/sestatus ] && ( /usr/sbin/sestatus | grep "SELinux status:" | grep -q "enabled"); then  restorecon -v /usr/lib/libpri.so.1.0; fi
( cd /usr/lib ; ln -sf libpri.so.1.0 libpri.so ; ln -sf libpri.so.1.0 libpri.so.1 )
install -m 644 libpri.a /usr/lib
if test $(id -u) = 0; then /sbin/ldconfig -n /usr/lib; fi
debian:/usr/src/libpri-1.2.4#

Jetzt wiederum mit cd .. ins Verzeichnis /usr/src wechseln und den Asterisk-Tarball mit tar xvzf asterisk-1.2-current.tar.gz entpacken:

debian:/usr/src/zaptel-1.2.12# cd ..
debian:/usr/src# tar xvzf asterisk-1.2-current.tar.gz 
asterisk-1.2.14/
asterisk-1.2.14/build_tools/
asterisk-1.2.14/build_tools/make_svn_branch_name
asterisk-1.2.14/build_tools/mkdep
asterisk-1.2.14/build_tools/make_build_h
asterisk-1.2.14/build_tools/make_version_h
asterisk-1.2.14/build_tools/make_defaults_h
asterisk-1.2.14/aesopt.h
asterisk-1.2.14/utils.c
asterisk-1.2.14/keys/
[...]
asterisk-1.2.14/cli.c
asterisk-1.2.14/io.c
asterisk-1.2.14/ulaw.c
asterisk-1.2.14/logger.c
debian:/usr/src# 

Die entpackten Dateien müssen jetzt kompiliert werden. Dies geschieht mit dem Befehl make im gerade entpackten Verzeichnis.

[Warnung]Warnung

Bitte achten Sie darauf, dass die hier in der Dokumentation benutzte Version 1.2.14 vielleicht zum Zeitpunkt Ihrer Installation nicht mehr aktuell ist. Entsprechend werden sich die Verzeichnisnamen ändern.

Übrigens ist dies jetzt ein guter Moment, sich einen Kaffee oder Tee zu kochen. Der Kompiliervorgang kann je nach Rechenleistung des PCs wenige Minuten oder bis zu einer Stunde dauern.

debian:/usr/src# cd asterisk-1.2.14 
debian:/usr/src/asterisk-1.2.14# make
if cmp -s .cleancount .lastclean ; then echo ; else \
        make clean; cp -f .cleancount .lastclean;\
fi

build_tools/make_version_h > include/asterisk/version.h.tmp
if cmp -s include/asterisk/version.h.tmp include/asterisk/version.h ; then echo; else \
        mv include/asterisk/version.h.tmp include/asterisk/version.h ; \
fi
rm -f include/asterisk/version.h.tmp
build_tools/mkdep  -pipe  -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -g3  -Iinclude -I../include -D_REENTRANT -D_GNU_SOURCE  -O6 -march=i686         -fomit-frame-pointer  acl.c aescrypt.c aeskey.c aestab.c alaw.c app.c asterisk.c ast_expr2.c ast_expr2f.c astmm.c autoservice.c buildinfo.c callerid.c cdr.c channel.c chanvars.c cli.c config.c cryptostub.c db.c devicestate.c dlfcn.c dns.c dnsmgr.c dsp.c enum.c file.c frame.c fskmodem.c image.c indications.c io.c jitterbuf.c loader.c logger.c manager.c md5.c muted.c netsock.c pbx.c plc.c poll.c privacy.c rtp.c say.c sched.c slinfactory.c srv.c strcompat.c tdd.c

[...]

make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/usr/src/asterisk-1.2.14/stdtime'
 +--------- Asterisk Build Complete ---------+
 + Asterisk has successfully been built, but +
 + cannot be run before being installed by   +
 + running:                                  +
 +                                           +
 +               make install                +
 +-------------------------------------------+

Die Software ist jetzt kompiliert und muss nur noch mit make install installiert (sprich an die vorgesehenen Stellen im Dateisystem kopiert) werden:

debian:/usr/src/asterisk-1.2.14# make install
build_tools/make_version_h > include/asterisk/version.h.tmp
if cmp -s include/asterisk/version.h.tmp include/asterisk/version.h ; 
then echo;

[...]

 +---- Asterisk Installation Complete -------+
 +                                           +
 +    YOU MUST READ THE SECURITY DOCUMENT    +
 +                                           +
 + Asterisk has successfully been installed. +
 + If you would like to install the sample   +
 + configuration files (overwriting any      +
 + existing config files), run:              +
 +                                           +
 +               make samples                +
 +                                           +
 +-----------------  or ---------------------+
 +                                           +
 + You can go ahead and install the asterisk +
 + program documentation now or later run:   +
 +                                           +
 +              make progdocs                +
 +                                           +
 + **Note** This requires that you have      +
 + doxygen installed on your local system    +
 +-------------------------------------------+
debian:/usr/src/asterisk-1.2.14#

Geschafft! Die soeben kompilierten Programmdateien sind jetzt auf dem System installiert. Allerdings finden wir im Asterisk-Konfigurationsverzeichnis /etc/asterisk/ noch gähnende Leere vor. In diesem Verzeichnis liegen die Konfigurationsdateien von Asterisk und da wir nicht von Null beginnen möchten, lassen wir uns die Standarddateien erstellen. Dies erreichen wir mit make samples:

debian:/usr/src/asterisk-1.2.14# make samples
build_tools/make_version_h > include/asterisk/version.h.tmp
if cmp -s include/asterisk/version.h.tmp include/asterisk/version.h ; 
then echo;

[...]

done
debian:/usr/src/asterisk-1.2.14#

Zum Schluss müssen Sie noch den für Ihre analoge Karte richtigen Treiber laden.

[Anmerkung]Anmerkung

Welcher Treiber für Ihre Karte zuständig ist, können Sie in der Dokumentation zu Ihrer Karte nachschlagen. Hier eine Liste der aktuell verbreitesten Karten:

Tabelle 9.1. Auflistung der Kernel-Module zu Digium-Karten

TE110Pwcte11xp
TE205P/TE207P/TE210P/TE212Pwct2xxp
TE405P/TE407P/TE410P/TE412Pwct4xxp
TDM400Pwctdm
TDM2400Pwctdm24xxp

In unserem Beispiel laden wir den Treiber für die TDM400P Karte mit modprobe wctdm.

debian:/usr/src/asterisk-1.2.14# modprobe wctdm
debian:/usr/src/asterisk-1.2.14# 

In der Logdatei /var/log/messages können wir dann die Ausgabe des Moduls sehen:

Jan 21 18:06:23 localhost kernel: Zapata Telephony Interface Registered on major
 196
Jan 21 18:06:23 localhost kernel: Zaptel Version: 1.2.12 Echo Canceller: KB1
Jan 21 18:06:23 localhost kernel: ACPI: PCI interrupt 0000:02:00.0[A] -> GSI 18 
(level, low) -> IRQ 185
Jan 21 18:06:23 localhost kernel: Freshmaker version: 73
Jan 21 18:06:23 localhost kernel: Freshmaker passed register test
Jan 21 18:06:24 localhost kernel: Module 0: Installed -- AUTO FXS/DPO
Jan 21 18:06:24 localhost kernel: Module 1: Not installed
Jan 21 18:06:24 localhost kernel: Module 2: Not installed
Jan 21 18:06:24 localhost kernel: Module 3: Installed -- AUTO FXO (FCC mode)
Jan 21 18:06:24 localhost kernel: Found a Wildcard TDM: Wildcard TDM400P REV I (
2 modules)
Jan 21 18:06:24 localhost kernel: Registered tone zone 0 (United States / North 
America)
[Tipp]Tipp

An den Zeilen

Jan 21 18:06:24 localhost kernel: Module 0: Installed -- AUTO FXS/DPO
Jan 21 18:06:24 localhost kernel: Module 1: Not installed
Jan 21 18:06:24 localhost kernel: Module 2: Not installed
Jan 21 18:06:24 localhost kernel: Module 3: Installed -- AUTO FXO (FCC mode)

können Sie erkennen, welcher Port Ihrer Karte ein FXS und welcher Port ein FXO ist.

Fertig! Asterisk ist auf Ihrem System inklusive aller benötigten Treiber installiert. Mit dem Befehl asterisk -V können Sie die installierte Version herausfinden (bitte achten Sie auf das großgeschriebene V):

debian:/usr/src/asterisk-1.2.14# asterisk -V
Asterisk 1.2.14
debian:/usr/src/asterisk-1.2.14#

Version 1.2, November 2002

Neue Version verfügbar

Sie betrachten gerade die alte Version des Buches (Version 1.0). Wir empfehlen Ihnen für Asterisk 1.4 und 1.6 die neue Version des Buches.

Asterisk-Tag 2008

Lernen Sie Mark Spencer (den Erfinder von Asterisk) kennen! Viele Vorträge, Case-Studies und Workshops rund um das Thema VoIP. Asterisk-Tag.org

Das gedruckte Buch