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!