Einsatz von bristuff-0.2.0-RC8q unter SuSE 9.2/9.3 mit HFC-Karte und AVM-Karte

(nicht rpm-Lösung !!!)

 

Im Original von ip-phone-forum.de/forum/viewtopic.php?t=8983 und dann aktualisiert.

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

Schritt 1: Installation von SuSE 9.2 (Kernel 2.6) OHNE asterisk-rpms

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

Kernel 2.6.11 erfordert einen Patch für capi.

Achtung nur für Suse 9.2: Komplettinstallation erforderlich, die Komandenzeilenversion verwendet ein für Asterisk nicht ausreichendes Kernel.
Folgende Pakete müssen vorhanden sein:

- Linux Kernel Sources (Paket kernel-sources)
- openssl incl. devel library
- gcc
- make Kommando
- patch
- bison
- termcap
- ncurses incl. devel library
- cvs
- wget
- 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 (hier: bristuff-0.2.0-RC8q)
wenn der Patch nach Schritt 4a zur Anwendung kommen soll, erst schauen für welche Version (aktuell RC8o) der Patch zur Verfügung steht. RC8q funktioniert mit Patch für RC8o.
http://www.junghanns.net/asterisk/downloads/bristuff-0.2.0-RC8q.tar.gz oder neuere oder andereVersion für Florz-Patch
- Archiv entpacken mit "tar zxf bristuff-0.2.0-RC8q.tar.gz" und nach "/usr/src/asterisk" kopieren (vorher Verzeichnis /usr/src/asterisk" anlegen)

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)
http://www.junghanns.net/asterisk/downloads/chan_capi.0.3.5.tar.gz
- Archiv entpacken mit "tar zxf chan_capi.0.3.5.tar.gz" und nach "/usr/src/asterisk" kopieren"
Die verschiedentlich angebotene Version 0.5.x den Linux-Profis überlassen, da muss für Suse erst einiges angepasst werden.


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.2.0-RC8q (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: 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.2.0-RC8q (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.0.10 wechseln und dort einen "make samples" ausführen um die Beispiel-Konfigurationen zu erstellen.
ACHTUNG: Bereits vorhandene Konfigurationsdateien in /etc/asterisk werden 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)
- cd /usr/src/asterisk/chan_capi-0.3.5
- 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: Vor dem ersten Start und in jedem Fall nach einem make samples muß die modules.conf auf folgende Reihenfolge angepasst werden:
load => res_features.so
load => res_musiconhold.so
load => chan_zap.so

sonst wird beim Start von Asterisk mit einer Fehlermeldung abgebrochen.

Schritt 17: Asterisk starten
- cd /usr/src/asterisk/bristuff-0.2.0-RC8q/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, 14 und 16 können entfallen. Für Schritt 13 gilt: Sollte dabei auch eine neue Asterisk-Version eingespielt werden, muss auch die chan_capi (wenn sie verwendet wird) neu kompiliert werden, selbst dann, wenn die verwendete chan_capi-Version weiterbenutzt wird.

Stand: 11.12.2005