Installation von Asterisk 1.4.20

 

Um die Codecs (g729, g731.1 und speex) zu installieren oder nachzuinstallieren siehe die besondere Seite zu Codecs.

Schritt 1: Installation mit SUSE (Kernel 2.6) OHNE asterisk-rpms

Für die Installation mit Suse 9.2 beachten Sie bitte unbedingt die Hinweise zu Suse 9.2 auf der Seite asterisk.htm.

Für die Installation mit Suse 9.3 beachten Sie bitte unbedingt die Hinweise zu Suse 9.3 auf der Seite asterisk.htm.

Für die Installation mit Suse 10.X beachten Sie bitte unbedingt die Hinweise zu Suse 10.1 auf der Seite asterisk.htm.


Folgende Pakete müssen für alle Suse-Versionen vorhanden sein:

Kernel Source (Paket kernel-sources)
openssl incl. devel library
gcc-c++
make Kommando
patch
bison
termcap
ncurses incl. devel library
cvs
wget
zlib incl. devel library
speex incl. devel libary (nur erforderlich, wenn speex-codec gewünscht wird)
mc (Norton Comander-Clone, empfohlen für einfachere Bearbeitung)

Fehlende Pakete müssen gegebenenfalls mit Yast nachinstalliert werden.


Schritt 2: Update mittels Online-Update
(auch Kernel aktualisieren und darauf achten dass auch kernel-sourcen aktualisiert werden)

Falls eingeschaltet, Autoupdate ausschalten, denn nach einem Kernelupdate muss Asterisk neu kompiliert werden. Das würde bedeuten, dass wenn mittels Autoupdate ein neues Kerel
installiet wird, nach dem nächsten Neustart der Asterisk nicht mehr funktioniert.


Schritt 3: Einstellungen ISDN-Karten (CAPI, HFC)
Mittels YAST -> Netzwerkgeräte -> ISDN ->
- ISDN-Protokoll bei allen Karten auf Euro-ISDN einstellen (sollte bereits der Fall sein)
- HFC-Karten: Startmodus "Manuell" (damit HiSax nicht geladen wird)
- AVM-Karten: CAPI-Treiber auswählen

Schritt 4: Bristuff besorgen (das ist immer die aktuellste Version: zaphfc_0.4.0-test1_florz-13.diff.gz). Dieser Patch ist eigentlich für Asterisk 1.4, funktioniert aber auch mit der aktuellen 1.2 er.
wenn der Patch nach Schritt 4a zur Anwendung kommen soll, erst schauen für welche Version (aktuell 0.4.0-Test1) der Patch zur Verfügung steht. Erfolgreich getestet mit PRE-1y-j.
http://www.junghanns.net/downloads/bristuff-0.4.0-test6.tar.gz oder neuere oder andereVersion für Florz-Patch
- Archiv entpacken mit "tar zxf bristuff-0.4.0-test6.tar.gz " und nach "/usr/src/asterisk" kopieren (vorher Verzeichnis /usr/src/asterisk" anlegen)

Nun MC aufrufen und ins Verzeichnis /usr/src/asterisk/bristuff-0.3.0-PRE-1y-j/patches/ gehen. Dort die Datei asterisk.patch mit MC öffnen. Es erscheint eine Verzeichnisstrukur.Asterisk-1.2.23 öffnen und dort die Datei .version.diff öffnen. Darin 2 mal 23 in 24 ändern.
Nun zurück nach /usr/src/asterisk/bristuff-0.3.0-PRE-1y-j/ Dort die Datei download.sh mit MC öffnen und mehrfach Asterisk-1.2.23 in Asterisk-1.2.24 ändern. Alle .23 in .24 ändern!

Nun wird statt der für des PRE-1y-j vorgesehenen Asterisk 1.2.23 die aktuelle Versin 1.2.24 installiert. (Geht nur weil die Patche zufällig passen).

Schritt 4a: Asterisk für stabileren zaphfc-Treiber patchen. Bei mehr als einer HFC-Karte ist der Patch zwingend erforderlich, bei einer Karte nur bei schlechter Sprachqualität auf dem Zap-Device oder bei Fehlermeldungen für den PCI- oder ISDNBus.
Siehe hierzu besonderen Seite Florz Patch.

Schritt 5: chan_capi besorgen (nur wenn AVM-Karte auch zum Einsatz kommt)
Die auf http://www.junghanns.net/downloads stehenden Pakete funktionieren nicht mehr mit der aktuellen Asterisk-Version. Es müssen die Pakete von ftp.chan-capi.org verwendet werden.

Ab Bristuff-0.3.0-PRE-1d siehe Punkt 13
ftp://ftp.chan-capi.org/chan-capi/chan_capi-1.0.1.tar.gz
- Archiv entpacken mit "tar zxf chan-capi/chan_capi-1.0.1.tar.gz" und nach "/usr/src/asterisk" kopieren"


Schritt 6: Kernel-Sourcen Symlinks anlegen, sofern noch nicht vorhanden, oder nicht aktuell, (x,y,z stehen für die Zahlen der aktuellsten Kernelversion im Verzeichnis)
- Wechsel in Verzeichnis /usr/src
- dir (damit bekommen Sie den Inhalt des Ordner angezeigt und sehen welche Kernelversion verwendet wird -die mit der höchsten Nummer)
Achtung: Bei Neukompilierung mit anderem Kernel unbedingt zuerst rm linux-2.6 ausführen! Der alte Sym-Link wird offensichtlich mit ln -s nicht richtig überschrieben.
ln -s linux-2.6.x-y.z linux
ln -s linux-2.6.x-y.z linux-2.6

Schritt 7: Jetzt mal sicherheitshalber einen Neustart ausführen

Schritt 8: Kernel vorbereiten, Pfade anpassen
cd /usr/src/linux
make cloneconfig
make prepare

Dies hier ist nur für Suse erforderlich:
rm /lib/modules/`uname -r`/extra/zaptel.ko
rm /lib/modules/`uname -r`/extra/qozap.ko
rm /lib/modules/`uname -r`/extra/zaphfc.ko
depmod -a

Schritt 9: Bristuff kompilieren (Teil 1)
cd /usr/src/asterisk/bristuff-0.3.0-PRE-1y-j (oder anderes Verzeichnis, entsprechend der verwendeten Bristuff-Version)
./install.sh ausführen und komplett durchlaufen lassen
Kommt beim Durchlauf warning ... ignorieren, davon kommen sicher mehrere.
Kommt beim Durchlauf error... Ursache suchen und beseitigen, Asterisk wird sonst nicht funktionieren!

HINWEIS: Die Asterisk-Sourcen werden bei diesem Schritt mit installiert. Die shell-Scripte download.sh und compile.sh werden durch install.sh aufgerufen und ausgeführt und machen das alles für Euch.
NOCH EINER: Immer wenn neuere Asterisk-Versionen freigegeben werden, wandern die älteren Versionen in einen "old"-Pfad auf dem Digium-Server. Das heisst, dass download.sh aus dem Bristuff nicht mehr die gewünschten Archive besorgen kann und einen Fehler meldet. Die Pfade in download.sh müssen daher zunächst manuell angepasst werden. Dazu ggf. per ftp mal auf den digium-Servern einloggen und nachsehen in welchen Pfaden die benötigten "älteren" Dateien liegen. Ihr dürft aber nicht einfach die Pfade gegen die neueren Versionen austauschen, sondern diese müssen auf die älteren Verweisen, sonst schlagen die patches fehl. Wenn ihr eine neuere Version wollt, müsst ihr auch einen neueren Bristuff verwenden der die korrekten Pfade nutzt.

Damit ist Asterisk noch nicht lauffähig, es muss noch ein wenig getrickst werden, aber durch diesen Schritt wird der folgende wohl erst möglich.

Schritt 10 und 11: Sind seit Asterisk 1.2.4 nicht mehr erforderlich!

Anpassen /etc/udev/rules.d/50-udev.rules (wurde wohl erst durch ./install.sh erzeugt)
Die Anpassung erfolgt durch Ergänzung der Datei 50-udev.rules um die in der README.udev angegebenen Zeilen (diese README befindet sich im entpackten Verzeichnis "/usr/src/asterisk/bristuff-0.2.0-RC3/zaptel-1.0.3". Bei den neueren Versionen fehlt diese Information im Readme.

Ich habe es unterhalb der "capi devices" eingefügt:

# Section for zaptel device
KERNEL="zapctl",     NAME="zap/ctl"
KERNEL="zaptimer",   NAME="zap/timer"
KERNEL="zapchannel", NAME="zap/channel"
KERNEL="zappseudo",  NAME="zap/pseudo"
KERNEL="zap[0-9]*",  NAME="zap/%n"


Schritt 11: Bristuff kompilieren (Teil 2)
- cd /usr/src/asterisk/bristuff-0.3.0-PRE-1y-j (oder anderes Verzeichnis, entsprechend der verwendeten Bristuff-Version)
- ./compile.sh ausführen und komplett durchlaufen (sollte jetzt klappen)
- ggf. am Ende wenn alles glatt gelaufen ist noch in das Verzeichnis asterisk-1.2.10 wechseln und dort einen "make samples" ausführen um die Beispiel-Konfigurationen zu erstellen.
ACHTUNG: Bereits vorhandene Konfigurationsdateien in /etc/asterisk werden in den Versionen Asterisk 1.0.X hierbei durch die Beispieldateien überschrieben !!!!

Schritt 12: Anpassungen bei HFC-Karten
- Datei /etc/zaptel.conf anpassen
- Datei /etc/asterisk/zapata.conf anpassen

Schritt 13: chan_capi kompilieren (nur wenn AVM-Karte(n) auch zum Einsatz kommen)

Neu seit Bristuff-0.3.0-PRE-1d: chan_capi wird mitinstalliert!

Wenn sie kein chan-capi verwenden wollen, müssen sie die modules.conf anpassen:

nach autoload=yes einfügen:

noload => chan_capi.so
noload => app_capiCD.so
noload => app_capiECT.so

alt: bis Bristuff-0.3.0-PRE-1c
- cd /usr/src/asterisk/chan_capi-0.3.0-PRE-1c
- make
- make install

Schritt 14: Anpassung für AVM-Karten (nur wenn AVM-Karte(n) auch zum Einsatz kommen)
- Datei /etc/asterisk/capi.conf anpassen

Schritt 15: Rechner sicherheitshalber neu starten (ausschalten und wieder einschalten)!

Schritt 16: Datei modules.conf anpassen
siehe Schritt 13 kein chan_capi

Schritt 17: Asterisk starten
- cd /usr/src/asterisk/bristuff-0.3.0-PRE-1y-j/zaphfc (oder anderes Verzeichnis, entsprechend der verwendeten Bristuff-Version)
- "make load" (TE-Modus der HFC-Karte) oder "make loadNT" (NT-Modus) aufrufen
- asterisk -vvvvgc (Startet Asterisk in einem sehr detaillierten verbose-Mode). Je mehr v je geschwätziger wird Asterisk.

 

Hinweis: Bei einer Neukompilierung um z. B. das bestehende System auf eine aktuellere Version anzupassen, beim Schritt 4 beginnen und "Achtung" im Schritt 6 beachten! Bei Schritt 8 muss die Suse-Spezialiät wieder gemacht werden, sonst gibt es uU einen segment fault. Die Schritte 10, 11,12 und 14 können entfallen. Für Schritt 13 gilt: Die chan_capi (wenn sie verwendet wird) muss neu installiert (make install) werden, selbst dann, wenn die verwendete chan_capi-Version weiterbenutzt wird.

 

Stand: 16.08.2007