Asterisk 1.8.6, DAHDI und Freepbx Installation unter Debian

Asterisk 1.8.6 und Debian 6 stellt uns neue Werkzeuge in der Welt der OS-Telefonie zur freien Verfügung. Wir haben euch ein kleines HowTo zusammen gefasst um euch Hilfestellung bei der Installation eines Asterisk-VoIP-Servers zu geben. In diesem Tutorial installieren wir dabei dahdi_dummy, ein Pseudo-Gerät, welches das Timing bereitstellt, welches normal die ISDN Hardware vorgibt. Als Betriebssystem nutzen wir hier ein Debian 6 (Squeeze) in der Minimal-Installation.

1. Installation DAHDI

apt-get update
apt-get install mysql-common mysql-client-5.0 php-db libxml2-dev libncurses5-dev subversion g++ make linux-headers-$(uname -r)
cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/releases/dahdi-linux-complete-2.5.0+2.5.0.tar.gz
tar xfvz dahdi-linux-complete-2.5.0+2.5.0.tar.gz
cd dahdi-linux-complete-2.5.0+2.5.0
make all

Falls es bei “make all” einen Fehler geben sollte, den Befehl einfach noch mal ausführen, der Fehler sollte dann nicht mehr auftauchen.

make install
make config
/etc/init.d/dahdi start

DAHDI wird ohne ISDN-Hardware nun automatisch im Dummy-Modus gestartet:

Loading DAHDI hardware modules:
wct4xxp: done wcte12xp: done wct1xxp: done wcte11xp: done wctdm24xxp: done wcfxo: done wctdm: done wcb4xxp: done wctc4xxp: done xpp_usb: done
Running dahdi_cfg: done.

Wichtig Soll DAHDI verwendet werden, so muss dieses auf jeden Fall vor Asterisk installiert werden. Ansonsten steht es im nachfolgenden Schritt nicht zur Verfügung und es gibt später auf der Asterisk-CLI Fehlermeldungen wie diese:

*CLI> dahdi show channels
No such command 'dahdi show channels' (type 'core show help dahdi show' for other possible commands)

2. Installation Asterisk 1.8.6

cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.8-current.tar.gz
tar xfvz asterisk-1.8-current.tar.gz
cd asterisk-1.8.6.0

Neben der Grundinstallation bietet Asterisk 1.8 auch eine neue Lösung, um Zusätze wie z.B. den mpeg123-Codec zu installieren. Dies werden wir in den nachfolgenden Schritten beispielhaft aufzeigen…

contrib/scripts/get\_mp3\_source.sh
./configure
make menuselect

Um nun format_mp3 zu aktivieren, muß folgende Option ausgewählt werden:

Add-ons -> format_mp3

Dabei aktivieren wir auch gleich noch die Add-ons für die Datenspeicherung in der Datenbank.

Add-ons->app_mysql
Add-ons->cdr_mysql
Add-ons->res\_confit\_mysql

Mit “ESC” kommt Ihr aus den jeweiligen Untermenüs heraus. Im Hauptmenü nun “x” um die Änderungen zu speichern und das Menü zu verlassen.

make
make install
make samples

3. Asterisk Manager vorbereiten

nano /etc/asterisk/manager.conf

Unter “general” ändern wir enabled = no in enabled = yes.

Am Ende der Datei erstellen wir auch gleich einen Benutzer für das Asterisk-Manager-Interface:

[aabbccAABBCC]
secret = ddeeffDDEEFF
deny=0.0.0.0/0.0.0.0
permit=127.0.0.1/255.255.255.0
read = system,call,log,verbose,command,agent,user
write = system,call,log,verbose,command,agent,user

“aabbccAABBCC” ist hierbei der Benutzername und “ddeeffDDEEFF” das zugehörige Passwort.

4. Download von Freepbx

Nun müssen wir zuerst die Datei /etc/asterisk/cdr_mysql.conf bearbeiten und einen Eintrag in der Sektion “Global” hinzufügen welcher jeder Anruf-Aufzeichnung im CDR einen eindeutige ID gibt

nano /etc/asterisk/cdr_mysql.conf

Eintrag: loguniqueid=yes Und weiter geht es mit der Installation:

apt-get install php-pear
pear install DB
cd /usr/src
wget http://mirror.freepbx.org/freepbx-2.9.0.tar.gz
tar zxvf freepbx-2.9.0.tar.gz
cd freepbx-2.9.0

5. Anlegen der Datenbank

Zuerst müssen wir eine Datenbank und einen Benutzer hierfür anlegen, sowie die nötige Struktur einlesen.

mysqladmin create asterisk -uroot -p
mysqladmin create asterisk_cdr -uroot -p
mysql -uroot -database asterisk -p < SQL/newinstall.sql mysql -uroot --database asterisk_cdr -p < SQL/cdr\_mysql\_table.sql mysql GRANT ALL PRIVILEGES ON asterisk.\* TO asteriskuser@localhost IDENTIFIED BY 'amp109'; GRANT ALL PRIVILEGES ON asterisk_cdr.\* TO asteriskuser@localhost IDENTIFIED BY 'amp109'; flush privileges; exit

6. Asterisk starten

asterisk

Asterisk sollte nun starten. Mit asterisk -r können wir nun auf den Service connecten.

Ob DAHDI ordnungsgemäß installiert wurde kann wie folgt geprüft werden:

*CLI> dahdi show channels
Chan      Extension      Context      Language       MOH Interpret       Blocked       State
pseudo                   default                     default                           In Service

7. Installation von Freepbx

./start_asterisk start
./install_amp

Nun werdet Ihr nach den Einstellungen gefragt:

Enter your USERNAME to connect to the ‘asterisk’ database:
[asteriskuser] Benutzername der Datenbank
Enter your PASSWORD to connect to the ‘asterisk’ database:
[amp109] Passwort der Datenbank
Enter the hostname of the ‘asterisk’ database:
[localhost] Datenbank-Hostname
Enter a USERNAME to connect to the Asterisk Manager interface:
[admin] Benutzername für den Asterisk-Manager
Enter a PASSWORD to connect to the Asterisk Manager interface:
[amp111] Passwort für den Asterisk-Manager
Enter the path to use for your AMP web root:
[/var/www/html] Pfad zum Freepbx Web-Verzeichnis
Created /var/www/html
Enter the IP ADDRESS or hostname used to access the AMP web-admin:
[xx.xx.xx.xx] IP-Adresse/Hostname der genutzt werden soll um auf das Webinterface zugreifen zu können
Enter a PASSWORD to perform call transfers with the Flash Operator Panel:
[passw0rd] Passwort für das Flash-Panel
Use simple Extensions [extensions] admin or separate Devices and Users [deviceanduser]?
[extensions] Nur Extensions nutzen oder Benutzer und Geräte trennen (wir lassen hier extensions)
Enter directory in which to store AMP executable scripts:
[/var/lib/asterisk/bin] Das Verzeichnis in dem die AMP Scripts liegen
Created /var/lib/asterisk/bin
Enter directory in which to store super-user scripts:
[/usr/local/sbin] Wo sollen die Root-User Scripts liegen?

8. Autostart einrichten

echo /usr/local/sbin/amportal start >> /etc/rc.local
echo /usr/sbin/asterisk >> /etc/rc.local

Auf den Freepbx könnt Ihr nun über die IP/Hostnamen den Ihr in der Freepbx Konfiguration festgelegt habt, zugreifen.

Das war es auch schon, viel Spaß mit eurem neuen Asterisk!