HowTo Asterisk mit mISDN on Debian 2.6.8

ru

Neuer User
Mitglied seit
21 Feb 2005
Beiträge
106
Punkte für Reaktionen
0
Punkte
16
letzte Aktualisierung: 21.03.2007
Dieses HowTo wurde am 3.Februar 2007 erstellt. Verwendet wurden:

Debian 2.6.8(-3-386)
mISDN 1.1.1
mISDN-User 1.1.1
sowie Asterisk 1.4.2 (current Version!)

Als ISDN-Hardware kommen eine alte Fritzcard-PCI sowie eine ISDN-Karte mit HFC-Chip (ebenfalls PCI) zum Einsatz.

Installation von Debian
Zur Vermeidung von späteren Problemen bei der Installation von LINUX: Im BIOS den Festplattentyp auf "NORMAL" stellen, also nicht "LBA" und auch nicht "LARGE". Der Linux-Bootloader GRUB hat offensichtlich ein Problem mit hohen Werten für die physikalischen Dimensionen der Festplatte (Cylinders, Heads, Sectors).

Dann DEBIAN über das Netzwerk installieren (ich habe die "3.1r4-386 netinst" dazu genutzt). Bei der Installation als Bootparameter "linux26" übergeben. Dafür gibt es dann ein 2.6.8er Linux statt des 2.4er. Als weiteren Bootparameter eventuell auch noch "netcfg/disable_dhcp=true" mitgeben, sofern euer Netzwerk nicht über einen DHCP-Server verfügt. In diesem Fall wird dann im Laufe der Installation die IP-Adresse des Rechners, sowie die des DNS-Server abgefragt. Die Auswahl irgendwelcher Pakete wie Desktop, Webserver, Mailserver, etc ist übrigens nicht erforderlich und sollte insbesondere bei schwachbrüstigen Rechnern eher vermieden werden.

Nach erfolgter Debian-Installation geht´s hier weiter:
Code:
apt-get update
apt-get upgrade
Hier ist (warum auch immer) nun ein Reboot erforderlich, also
Code:
shutdown -r now

Entfernen von hisax
Damit Debian nach der Installation von mISDN nicht beim Booten hängen bleibt muss nun in jedem Fall vorher hisax entfernt werden. Hierzu in die /etc/discover.conf folgende Einträge aufnehmen:
Code:
# get rid of the HISAX stuff
skip hisax
skip hisax_fcpcipnp
skip hisax_isac
skip crc_ccitt
skip isdn
skip slhc
skip capi
skip kernelcapi
skip kernel_capi
skip avmfritz
skip capifs
Da der vorherige Schritt (warum auch immer) nicht zum Erfolg führt, muss hisax in die blacklist eingetragen werden. Dazu am Ende der Datei /etc/hotplug/blacklist folgendes einfügen:
Code:
# get rid of the hisax stuff
hisax
hisax_fcpcipnp
hisax_isac
crc_ccitt
isdn
slhc
capi
capifs
kernelcapi
kernel_capi
avmfritz
Nach einem neuerlichen Neustart
Code:
shutdown -r now
überprüfen ob auch wirklich kein hisax mehr geladen wurde. Nur so ist sichergestellt, dass nach dem nächsten Schritt (Installation von mISDN das System nicht beim Booten hängen bleibt.
Code:
lsmod | grep hisax
Sollte hier noch irgendwo hisax stehen, so wurde etwas vergessen, also nochmal zurück und noch nicht mISDN installieren!!! Ansonsten geht´s mit der Installation von mISDN weiter.

Installation von mISDN (am 14.2.2007 für V1.1.0 angepaßt)
Damit mISDN compiliert werden kann müssen zuvor noch die sogenannten "Kernel-Header" verfügbar gemacht werden. Um sicherzugehen, daß auch die richtigen Kernel-Header installiert werden dient der Befehl
Code:
uname -r
2.6.8-3-386
. Nun können die entsprechenden Kernel-Header installiert werden:
Code:
apt-get install kernel-headers-2.6.8-3-386

Für mISDN wird noch eine Library benötigt. Also vorher installieren.
Code:
apt-get -y install libncurses5-dev
So, nun kann es endlich mit der Installation von mISDN losgehen.
Code:
cd /usr/src/
wget http://www.misdn.org/downloads/mISDN.tar.gz
wget http://www.misdn.org/downloads/mISDNuser.tar.gz
tar xzf mISDN.tar.gz 
tar xzf mISDNuser.tar.gz
cd mISDN-1_1_1
make install
cd ../mISDNuser-1_1_1
make install
misdn-init scan
misdn-init config
Da von "misdn-init config" alle ISDN-Ports als TE-Ports eingetragen werden ist nun der ideale Zeitpunkt die /etc/misdn-init.conf entsprechend zu editieren. Meine sieht nun so aus:
Code:
card=1,hfcpci
card=2,avmfritz
nt_ptmp=1
te_ptmp=2
poll=128
dsp_options=0
dtmftreshold=100
debug=0
Nun am besten nochmal mit
Code:
shutdown -r now
einen Neustart des Rechners veranlassen. Danach steht einem misdn-init start jedoch nichts mehr im Wege:
Code:
debian:~# misdn-init start
-----------------------------------------
 Loading module(s) for your misdn-cards:
-----------------------------------------
/sbin/modprobe --ignore-install hfcpci protocol=0x12 layermask=0x3
/sbin/modprobe --ignore-install avmfritz protocol=0x2 layermask=0xf
/sbin/modprobe mISDN_dsp debug=0x0 options=0 poll=128 dtmfthreshold=100
debian:~#

Installation von Asterisk 1.4.2 (current version)
Als nächstes kann nun Asterisk selbst installiert werden.
Code:
cd /usr/src/
wget http://ftp.digium.com/pub/asterisk/asterisk-1.4-current.tar.gz
tar xvzf asterisk-1.4-current.tar.gz
cd asterisk-1.4.2
./configure
Nun ist es an der Zeit zu überprüfen, daß mISDN beim späteren compilieren auch wirklich in Asterisk eingebunden wird. Dies geht am einfachsten mit
Code:
make menuselect

Sofern die Ausgabe nach Auswahl des Menüpunktes "Channel Driver" so aussieht, wurde einer der vorherigen Schritte nicht korrekt ausgeführt.
Code:
...[b]XXX 9.  chan_misdn[/b]...
Ansonsten ([*] 9. chan_misdn) mit Betätigen der X-Taste (WICHTIG!!!) die Menuauswahl beenden. Ich habe danach wieder mit ./configure weitergemacht. Mag sein, daß diese erste Zeile auch entfallen kann; schaden tut sie jedenfalls nicht!
Code:
./configure
make
make install
make samples
Bevor die Dokumentation erstellt werden kann muss noch doxygen nachgeladen werden.
Code:
apt-get install doxygen
make progdocs
Das war´s eigentlich auch schon. Die Basis steht!

Bevor die ISDN-Karten nun jedoch richtig funktionieren, ist noch etwas Konfigurationsarbeit erforderlich. Siehe hierzu die Dokumentation zu Asterisk und mISDN.

Installation des WEB-Frontend:
Code:
cd /usr/src/
apt-get install -y subversion
svn checkout http://svn.digium.com/svn/asterisk-gui/trunk asterisk-gui
cd asterisk-gui
./configure
make
make install
make samples

Zunächst die Datei /etc/asterisk/http.conf editieren
Code:
...
enabled=[b]yes[/b]
enablestatic=[b]yes[/b]
[b]bindaddr=0.0.0.0[/b]
...

Nun noch die Datei /etc/asterisk/manager.conf editieren
Code:
...
[general]
...
enabled = [b]yes[/b]
webenabled = [b]yes[/b]
...
[[b]mark[/b]]
secret = [b]mysecret[/b]
...
read = system,call,log,verbose,command,agent,user,config
write = system,call,log,verbose,command,agent,user,config
...
Das war´s auch schon! Der Benutzername lautet "mark" und das Passwort "mysecret". Wo die Angaben geändert werden können sollte ja wohl klar sein. :) Aufruf des Web-Frontend über
Code:
http://[i]<IP der Asterisk Box>[/i]:8088/asterisk/static/config/cfgadvanced.html
Das Frontend ersetzt bislang jedoch nicht das manuelle Editieren der diversen CONF-Dateien. Sieht optisch sicherlich chick aus, hilft aber nicht in allen Belangen. Mein Tip: Noch ein paar Monate liegen lassen bis neuere Releases verfügbar sind. Das Asterisk zur Nutzung des Webfrontends zuvor gestartet werden muss sollte wohl klar sein, oder ?!? :)

Feedback und Ergänzungen erbeten!!!
 
Zuletzt bearbeitet:
Schönes Howto hast du da verfasst !
Wenn ich das jetzt aber richtig sehe beteibst du den 2.6.8ter Kernel mit aktiviertem Profiling ?!? Macht das keine Probleme mehr ?

Das würde ja bedeuten das ich mir das ganze prozedere hätte sparen können ? :gruebel:

Gruß mabo
 
Soweit bin ich bislang noch nicht gekommen. Problem derzeit ist, daß die HFC-Karte partout nicht in den NT-Modus zu bewegen ist. Habe dazu auch schon einen Thread aufgemacht und hoffe, das chris odr ein anderer das Problem und seine Lösung kennt.
 
@mabo

Das Update des Kernel >2.6.15 sollte lt. Aussagen aus den Reihen der misdn-ler erledigt sein, es soll wohl auch mit den sarge-standard-kerneln laufen...das ganze ging ja auch schon damals, nur halt nicht stabil ;)

Achja, ein schönes Howto hast Du da, spricht etwas dagegen soetwas mit in eine Wiki zu übernehmen, oder anders gesagt, hast Du etwas dagegen ?

Grüsse, Stefan
 
Hallo HobbyStern
HobbyStern schrieb:
Achja, ein schönes Howto hast Du da, spricht etwas dagegen soetwas mit in eine Wiki zu übernehmen, oder anders gesagt, hast Du etwas dagegen ?
Keine Einwände, lediglich zwei Bitten:

1. Wäre mir wichtig, daß mal einer alles genau so macht, wie ich es für mich dokumentiert habe um sicherzustellen, daß ich auch wirklich nichts vergessen habe (obgleich ich einige der Schritte selbst mehrmals durchlaufen habe, bevor ich wieder weitergekommen bin).
2. Wäre für mich die ganze Sache erst wirklich rund, wenn auch der Teil "Installation ISDN_Karten im TE und im NT-Modus sowie Grundkonfiguration bis zum ersten Gespräch enthalten wäre

Denn erst diese beiden Punkte würden die Sache (zumindest für mich) rund machen.

Aber OK, der vorhandene, allgemeine Asterisk-Teil wird sicherlich auch schon genügend Interessenten finden.

Ich werde meine Erfahrungen in jedem Fall in das ursprüngliche Posting per EDIT-Mode einfügen.

PS: Das Problem mit der HFC-Karte im NT-Modus ist wahrscheinlich geklärt (peinlicher DAU-Fehler :-()
 
Habe gestern und heute auch mISDN installiert und dabei die gleichen schritte eingehalten, meine vorlage war http://www.das-asterisk-buch.de allerdings kriege Ich eine sache nicht hin die zu Kernel Panic fuehrt wenn Ich via ISDN rauswaehlen will von meiner 2ten HFC Karte aus wo das ISDN telefon am NTBA haengt. Anrufe nimmt das ISDN Telefon entgegen und fuehrt diese auch schoen sauber aus und lange ^_^, leider mit dem rauswaehlen bei ISDN happert es.
Denke Ich mache da mall einen eigenes Posting auf bzw. finde was hier im forum.

Finde das mISDN der einfachste weg derzeit ist mit bristuff hatte ich nur aerger.
 
Es bleibt die Frage - wenn Du ein stabiles System erstellen möchtest - ob Du mit der neusten Version von Asterisk, der 1.4er richtig zugegriffen hast ?!

Versuche es doch besser, wenns kein Fummelsystem werden soll, mit den stabileren und ausgetesteteren Versionen 1.2.x und mISDN 0.3.1 RCx

Grüsse, Stefan

@ru

Ich habe Dein Howto übernommen und angepasst (siehe Signatur)
 
Bei der 1.2er Version von Asterisk ist mISDN bekanntermaßen nicht integriert. Stattdessen (so habe ich es zumindest in Erinnerung; man korrigiere mich, sofern ich falsch liege) müssen irgendwelche Dateien gepatcht werden (Florzpatch, o.ä.). Außerdem mußte auch der Kernel neu gebacken werden. Das ist mir zu umständlich!

Da es ja offensichtlich schon andere gibt, welche die 1.4er zusammen mit mISDN und internem ISDN-Bus (zum Anschluß eines Telefons oder einer TK-Anlage) am Laufen haben, sehe ich also kein wirkliches Hinderniss (wenn´s denn auch bei mir funktionieren würde :-( ).
 
Hallo ru,
schade das es bei dir immer noch nicht läuft :-(
Ich werde das Gefühl nicht los das es doch noch was mit der Verkabelung zu tun haben könnte.

Also der Forzpatch hat nix mit mISDN zu tut der kommt bei Bristuff zum Einsatz.

Ich habe Heute Nachmittag einen Asterisk aufgesetzt mit der Version 1.2.15 ich musste leider auf Debian etch zurückgreifen weil der Festplattencontroller mit Debian stable nicht läuft :-(

Es ist kein richtiges HowTo sondern nur ein Mitschnitt vom dem was ich gamacht habe, aber evtl hilft es ja jemanden.

Netinstaller Debian etch und alles abwählen (Desktop,Laptop,usw)

Code:
apt-get update
apt-get upgrade


nano /etc/modprobe.d/blacklist
### Das hier in die Datei am Ende einfügen
### Hisax nicht mehr laden !!! 
blacklist isdn
blacklist hisax
###

shutdown -r now

mit
lsmod
kontrollieren ob hisax auch wirklich nicht mehr geladen wird

apt-get install linux-headers-2.6.18-3-686

ln -s /usr/src/linux /usr/src/linux-2.6
ln -s /usr/src/linux /lib/modules/2.6.18-3-686/
ln -s /usr/src/linux /lib/modules/2.6.18-3-686/build

apt-get install ssh
apt-get install mc
apt-get install gcc-3.4-base
apt-get install libssl-dev
apt-get install libncurses-dev
apt-get install cvs
apt-get install subversion
apt-get install flex
apt-get install libmysqlclient15-dev
apt-get install openssl
apt-get install libssl0.9.8
apt-get install pciutils
apt-get install bc

apt-get install libtiff-tools
apt-get install libtiff-dev
apt-get install libxml2-dev
apt-get install libstdc++6-dev

apt-get install kernel-package
apt-get install make
apt-get install gcc

cd /usr/src/
wget -b http://ftp.digium.com/pub/asterisk/releases/asterisk-1.2.15.tar.gz
wget -b http://ftp.digium.com/pub/zaptel/releases/zaptel-1.2.13.tar.gz
wget -b http://ftp.digium.com/pub/libpri/releases/libpri-1.2.4.tar.gz
wget -b http://ftp.digium.com/pub/asterisk/releases/asterisk-addons-1.2.5.tar.gz
wget -b http://ftp.digium.com/pub/asterisk/releases/asterisk-sounds-1.2.1.tar.gz

wget -b http://www.beronet.com/downloads/install-misdn-mqueue.tar.gz

wget -b http://soft-switch.org/downloads/spandsp/spandsp-0.0.2pre26/spandsp-0.0.2pre26.tar.gz


tar xvzf asterisk-1.2.15.tar.gz
tar xvzf zaptel-1.2.13.tar.gz
tar xvzf libpri-1.2.4.tar.gz
tar xvzf asterisk-addons-1.2.5.tar.gz
tar xvzf asterisk-sounds-1.2.1.tar.gz
tar xvzf install-misdn-mqueue.tar.gz
tar xvzf spandsp-0.0.2pre26.tar.gz

mkdir app_xxfax
cd app_xxfax/
wget http://soft-switch.org/downloads/spandsp/spandsp-0.0.2pre26/asterisk-1.2.x/app_rxfax.c
wget http://soft-switch.org/downloads/spandsp/spandsp-0.0.2pre26/asterisk-1.2.x/app_txfax.c
wget http://soft-switch.org/downloads/spandsp/spandsp-0.0.2pre26/asterisk-1.2.x/apps_Makefile.patch
cd ..

Jetzt den Ordner ein bischen aufräumen zum Beispiel so wie ich
mkdir /sicherung
mv *.tar.gz /sicherung/  

shutdown -r now

cd /usr/src 
Spandsp installieren

./configure
make
make install

nano /etc/ld.so.conf
### Das hier hinzufügen
/usr/local/lib
###

ldconfig
cp /usr/src/app_xxfax/app_* /usr/src/asterisk-1.2.15/apps/

nano /usr/src/asterisk-1.2.15/apps/Makefile
Das Makefile abändern wie es in der Datei /usr/src/app_xxfax/apps_Makefile.patch aufgeführt ist

cd /usr/src/zaptel-1.2.13/
make clean 
make install

cd /usr/src/libpri-1.2.4/
make clean 
make install

cd /usr/src/asterisk-1.2.15/
make clean 
make install
make samples

cd /usr/src/asterisk-addons-1.2.5/
make clean
make install

cd /usr/src/asterisk-sounds-1.2.1/
make install

cd /usr/src/install-misdn-mqueue/
make
make install

/etc/init.d/misdn-init scan
/etc/init.d/misdn-init config

nano /etc/misdn-init.conf
### So sieht meine aus
card=1,hfcpci
card=2,hfcpci

te_ptp=1
nt_ptmp=2

poll=128
dsp_poll=128
dsp_options=0
dtmfthreshold=100
debug=0
###

mISDN und Asterisk automatisch starten lassen 

ln -s /etc/init.d/misdn-init /etc/rc2.d/S20misdn
echo /usr/sbin/asterisk > /etc/init.d/asterisk
chmod a+x /etc/init.d/asterisk
ln -s /etc/init.d/asterisk /etc/rc2.d/S91asterisk

Ob der Autostart auch funktioniert am besten gleich testen
shutdown -r now

Gruß mabo
 
Zuletzt bearbeitet:
Hallo Alle Zusammen,

@ru

so umständlich ist 1.2 mit mISDN nun auch nicht, einen Kernelupdate oder ähnliches benötigt die neue Version nun auch nicht mehr, wonach Du auch mit einem absolut "stabel" deklarierten Kernel in den genuss von asterisk mit misdn kommst, misdn ist auch in 1.2 schon in asterisk integriert, allerdings als option.

Also keine Panik, wenn Du nicht rumexperimentieren möchtest sondern Erfolge verbuchen - ist ist IMHO 1.2.x mit mISDN 0.3.1 RCx die richtige Wahl.

mISDN und Asterisk waren vor mehr als einem Jahr noch auf dem Wege stabil zu werden (siehe die ersten Beiträge in diesem Forumsteil) - heute ist dem nicht mehr so, nur ist 1.4 zZt noch alles andere als eine gut erklärte Variante.

Beste Grüsse und Viel Erfolg (Helau und so natürlich auch)

Stefan
 
Hi. Bin neu :)

Warum muss man hisax entfernen? Auf der offiziellen HP von mISDN steht davon nix...

Gruß,
Flitschbirne
 
Hi Du,

das Howto stammt aus "Anfang 2006" , da war es zwingend nötig.

Teste doch mal was passiert wenn man es drin lässt.

Grüsse, Stefan
 
:confused: Du kannst doch in der LiveUmgebung sowieso nicht die Dinge tun die mISDN gerne machen würde, oder ?


Drehen wir es rum - was hast´n vor ?

Grüsse, Stefan
 
Eigentlich will ich nur die ISDN-Karte ans laufen bringen um später darüber SMS per YAPS zu versenden. Final das ganze dann noch an Nagios-System-Monitoring anbinden :)
 
Warum nutzt Du denn dafür keine direkte Anwendung ohne mISDN und Asterisk ?!

Ich muss nun sagen das ich mich noch nie mit SMS ausserhalb * befasst habe - aber das sollte doch auch sicherlich leichter gehen, oder ?


Mal ganz weg von ISDN und SMS, es gibt auch div. OnlineDienste die konkurrenzfähig kleinere Mengen SMS versenden können..

Grüsse, Stefan
 
Schon richtig. Aber wenn ich nicht mehr "online" sein sollte durch einen Ausfall der Hardware soll ja trotzdem die SMS rausgehen :)

Asterisk ist kein Thema für mich. Installier ich nicht. Ich muss nur irgendwie die ISDN-Karte ans laufen kriegen bzw ich muss ein funktionierendes Device unter /dev/xyz haben was ich dem SMS-Tool angeben kann...
 
Hab mich gerade mal etwas angelesen (zum Thema).

Bei mir liegen die Devices "ISDNx" und "ISDNCTRLx", sowie "ISDNINFO" vor.


Um mal ganz und gar off topic zu gehen und um auf das Originale Thema zurückzukommen - einer Installation steht nichts im Wege wenn das System beschreibbar ist.

Da wir nun geklärt haben was Du willst - bitte - schreib mal was geht und was nicht...


Grüsse, Stefan
 
Wenn ich mal Wochenend-Schicht hab werd ich das Tutorial mal ausprobieren und dann Feedback geben.

Gruß,
Flitschbirne
 
Es sei zu beachten das die "Kernel - Inkompatibilität" mittlerweile Geschichte ist (!).

Aber das Howto sollte auch so laufen.

Grüsse, Stefan
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.