HowTo: Fritz!Box als ISDN Gateway für Asterisk (TrixBox)

GregorV

Neuer User
Mitglied seit
30 Dez 2005
Beiträge
32
Punkte für Reaktionen
0
Punkte
6
Für den, der damit was anfangen kann, eine kurze Anleitung, wie man die Fritz!Box als einfaches ISDN Gateway für Asterisk (TrixBox) nutzen kann. Da die TCP-CAPI der Fritz!Box (noch) nicht unter Linux benutzt werden kann, wird ein zusätzliches Stück Software, die RCapi, auf der Fritz!Box installiert. Auf der Asterisk braucht man statt der üblichen Kartentreiber nur eine Lib, die alle Anforderungen der chan_capi and die RCapi der Fritz!Box weiterleitet.
Und so geht es:

Zum Anfang ein wichtiger Hinweis:
Auf TrixBox keine ISDN Kartentreiber wie fcpci... oder capi4k-utils installieren, sonst gibt es Probleme !!!

1. Remote CAPI auf Fritz!Box installieren und starten
Vorbereitung:
Auf der TrixBox in /var/www/html ein Verzeichnis 'RCapi' anlegen und darin rcapid-mipsel-fbox-0.01.tar.gz entpacken (findet man hier im Forum).
Anschließend in der Datei rcapid_ins.sh folgende Einträge ändern

Code:
REMOTE_SERVER="xxx.xxx.xxx.xxx" (IP-Adresse eurer TrixBox)
REMOTE_URL="/RCapi/"

Installation:
Mit Telnet/Putty auf der Fritz!Box (ich habe die 5070) anmelden (die TrixBox muß jetzt laufen, genauer gesagt ihr WEB Server).

Code:
cd /var
wget http://xxx.xxx.xxx.xxx/RCapi/rcapid_ins.sh
chmod 755 rcapid_ins.sh
/var/rcapid_ins.sh
/var/rcapid_run.sh

Hinweis: Nach dem nächten Reboot der Fritz!Box ist das wieder weg und die Schritte müssen wiederholt werden.
Um das zu vermeiden kann man die Schritte z.B. in die debug.cfg schreiben (näheres dazu im Thread Fritz!Box-Modifikationen)


2. CAPI20 auf Trixbox installieren:
Mit Telnet/Putty auf der TrixBox anmelden.

Code:
mkdir /home/capi
cd /home/capi
wget ftp://ftp.melware.net/../../capi-utils/libcapi20-3-cm.tar.gz
tar zxvf libcapi20-3-cm.tar.gz
cd libcapi20-3-cm
./configure
make
make install
Hinweis: Fehler 'error: syntax error before "me"' oder 'ac_nonexistent.h: No such file' macht offenbar nix

Jetzt die Datei capi20.conf in /etc anlegen (yyy.yyy.yyy.yyy ist die IP-Adresse eurer Fritz!Box):

Code:
echo "REMOTE yyy.yyy.yyy.yyy 6000" > /etc/capi20.conf

3. CapiInfo installieren: (ist zum Test ganz hilfreich)

Code:
cd /home/capi
wget ftp://ftp.melware.net/../../capi-utils/capiinfo-cm.tar.gz
tar zxvf capiinfo-cm.tar.gz
cd capiinfo-cm
./configure
make
make install

4. RCapi testen
Mit telnet/putty auf die Fritz!Box schauen und auf der TrixBox capiinfo aufrufen.
auf der Fritz!Box erscheint:
someone wants 6000
accept, ctrl 3
...
auf der Trixbnox erscheint eine lange Liste mit den 5 CAPI Interfaces der Fritz!Box
Number of Controllers : 5
Controller 1:
Manufacturer: AVM Berlin
...
...
Die Remote Capi ist damit installiert - für Asterisk wird jetzt noch chan_capi benötigt.

Hinweis: falls das nicht funktioniert hat (das passiert z.B wenn man vorher mit fcpci herumspielt), mal den Symlink libcapi20.so.3 im Verzeichnis /usr/lib prüfen und notfalls wie folgt ändern.

Code:
cd /usr/lib
rm libcapi20.so.3
ln -s libcapi20.so.3.0.3 libcapi20.so.3

Hinweis: die RCapi auf der FBF kann man auch unter Windows mit Brickware testen (wie, im Forum suchen)

5. chan_capi installieren:
Hinweis: Hier muss man die heute (1.9.) aktuelle Datei chan_capi-cm-HEAD.tgz (r382) nehmen, sonst geht das Raustelefonieren nicht.

Vorbereiten:
Erst die Asterisk Include Dateien (*.h) installieren (fehlen bei Trixbox)

Code:
mkdir /usr/include/asterisk/
cd /usr/include/asterisk/
wget http://zulasch.zu.funpic.de/asterisk.zip
unzip asterisk.zip
rm  asterisk.zip

Installieren:
Code:
cd /home/capi
wget ftp://ftp.melware.net/../../chan-capi/chan_capi-cm-HEAD.tgz
tar zxvf chan_capi-cm-HEAD.tgz
cd  chan-capi-cm-HEAD
make
make install

6. Konfiguration der chan_capi:

in /etc/asterisk/modules.conf folgende Zeilen einfügen:
unter folgenden Sektionen

Code:
[modules]
load => res_features.so
load => chan_capi.so

[global]
chan_capi.so=yes

Hinweis: Am Ende der Datei ist ein Zeilenvorschub nötig, also 'ENTER' drücken !
Falls Asterisk nicht startet, habt ihr vermutlich 'res_features.so' vergessen oder nicht VOR 'chan_capi.so' plaziert.


Jetzt noch eine Datei capi.conf in /etc/asterisk erstellen.
Hinweis: Nicht verwechseln mit capi.conf in /etc (für ISDN Hardware), die NICHT da sein darf, weil sonst die RCapi nicht benutzt wird.

Folgende Einträge sollten da sein:

Code:
[general]
nationalprefix=0
internationalprefix=00
rxgain=0.8
txgain=0.8

[ISDN1]
isdnmode=msn
incomingmsn=*
controller=1
group=1
softdtmf=on
faxdetect=off
context=capi-in

Hinweis: Weitere Beschreibung dazu in der Muster capi.conf in /home/capi/chan_capi... (insbesondere context hat in der Astreisk konfiguration eine wichtige Bedeutung)

7. Konfiguration in der Asterisk (hier TrixBox)

Trunk anlegen:
Eine Hauptleitung/Trunk vom Typ 'besondere Hauptleitung/custom' erstellen.
nur bei 'Maximale Anzahl der Kanäle' eine 2 eintragen
und bei 'Hauptkanalfolge' CAPI/ISDN1/$OUTNUM$ eintragen
Die Eingaben Speichern

Hinweis: Option /b (Early B3) führt (bei mir) zu einem Fehler, geht aber trotzdem.

Inbound Route anlegen:
nur bei 'Durchwahl-Nummer' die MSN angeben, auf die Asterisk reagieren soll und bei 'Ziel einstellen' eine Gruppe oder eine einzelne Extension angeben. Ich habe eine Gruppe 'Alle' mit zwei SIP Extensions 400 und 401 angelegt.
Die Eingaben Speichern

Outbound Route anlegen:
Einen Namen geben (z.B. FBF) und nur bei Wählfolge 0|. eintragen und bei 'Leitungssequenz' den ISDN Trunk auswählen.
Die Eingaben Speichern und nicht vergessen, oben auf den roten Balken zu klicken

Damit sind wir fast fertig, was fehlt ist noch der context 'capi-in'.
Bei der Trixbox muss der in der Datei extensions_custom.conf, sonst in custom.conf angelegt werden.
Dazu benötigen wir nur zwei Zeilen, die wir irgendwo einfügen

Code:
[capi-in]
include => from-pstn

Zum Schluß noch Asterisk neu starten:
Code:
amportal restart

FERTIG:
Wenn eine Nebenstelle angemeldet ist (z.B. für SIP ein X-Lite) kann man sie von außen über ISDN Anrufen, wenn man die MSN (der Inbound Route) anruft. Die Nebenstelle kann auch eine beliebige Rufnummer wählen. Damit es über ISDN raus geht, muß eine 0 vorangestellt werden (wie bei Outbound Route angegeben).

Das ganze sollte in einer Stunde erledigt sein (ich habe etliche Tage gebraucht - Anfänger!!:confused: ).
Im Asterisk CLI kann man 'set verbose 10' eingeben damit man sieht, was passiert.
Auch die RCapi kann ein Log schreiben, wenn man in der inetd.conf hinter rcapid -l 10 ergänzt und mit kill -HUP pid (von inetd) die Änderung scharf macht (vorher Asterisk stoppen, damit rcapid neu geladen wird).
Hinweis: Nicht vergessen das Log wieder abzuschalten und aus /var/tmp zu löschen, der Platz ist da sehr knapp.
Noch ein Hinweis: bei Änderungen in capi.conf anschließend Asterisk neu starten (CLI reload liest die nicht neu ein).
Ach und noch was: wenn ihr mal die Fritz!Box neu startet, dann stoppt vorher Asterisk. Die nimmt es übel, wenn man ihr die RCapi wegnimmt und hängt dann.

Viel Spass!
Gregor
Danke auch an Armin
 
Zuletzt bearbeitet:
habs so ähnlich auch vor wochen ans laufen bekommen.
läuft das bei dir eigentlich 100% stabil?
weil ich hab manchmal nicht die perfekteste sprachquali bzw. ich lass zursicherheit alles nachts neustarten.
 
@carlofbf
Bisher hatte ich nicht viel Zeit zum testen.
Allerdings mit einer chan_capi 6.5 und 7 hatte ich auch Soundprobleme. Demnächst baue ich weiter und dann kommt noch mal ein Feedback.
Gruß
Gregor
 
geht das Ganze auch mit dem internen ISDN?

Hallo,

hier mal die Frage, ob man dann auch den internen ISDN der FritzBox nutzen kann?
z.B. um interne ISDN-Telefone anzuschließen bzw. eine TK-Anlage.
Das würde mir dann die HFC-Karte im PC sparen und ich könnte dan Asterisk auf ne VM umziehen lassen.
Hab schon im Board gesucht, aber widersprüchliche Antworten gefunden.
Mit der Asterisk auf der Box soll's ja wohl gehen.

Hat jemand die Lösung schon mal zu Laufen bekommen?
 
Ja es ist möglich die Fritzbox als ISDN Gateway für einen Asterisk
auf einem seperaten PC zu nutzen. Auf dem PC chan_capi > 0.7.0
also derzeit bis release von 0.7.1 chan_Capi-Head.

Als Capi die capi4linux von ftp://ftp.capi4linux.org/pub/capi4linux auf dem
PC benutzen.
Auf der fritzbox den rcapi daemon aktivieren siehe hier:
http://www.ip-phone-forum.de/showthread.php?t=94625&page=1

mit capiinfo von obigen link gibt es jetz 5 capi controller.
contr1 u. 2 sind ext ISDN zum Amt
contr3 ist Intern ISDN im NT Mode.

Gruß
 
Danke für die Info

Karl23 schrieb:
mit capiinfo von obigen link gibt es jetz 5 capi controller.
contr1 u. 2 sind ext ISDN zum Amt
contr3 ist Intern ISDN im NT Mode.

Kannst Du mir noch sagen, wias die einzelnen Controller sind?
1,2 und 3 sind damit klar, aber was sind die anderen beiden?
Kann man damit evtl. auch die analogen internen Anschlüsse nutzen?
Würde mir die ISDN-Anlage am internen ISDN der FBF ersparen.

Danke
 
@Labersack
Kann ich aus dem Stehgreif nicht Beantworten. Aber die Antwort ist hier im Forum zu finden. Suchen hilft. :)

AVM Remote Capi o.ä.
 
bin nicht sicher ob ich das raffe aber könnte ich damit dann anrufe die analog aus dem festnetz zur fbox kommen mit dem * verwalten und dann zur fbox an den internen isdn anchluss weiterleiten ?
 
@Wageck:

ja
 
Hi und Hallo!

Das ist ansich ein sehr schönes Tutorial, jedoch kann ich mit diesem nicht so viel anfangen. Ich nutze selber Ubuntu-Linux und habe auf diesem via Adept Asterisk installiert und am laufen. Dann wollte ich eurem Tutorial: http://www.ip-phone-forum.de/showthread.php?t=91217 folgen. Jedoch geht dieses denke ich von einer Installierten ISDN-Karte aus. Diese hab ich jedoch nicht!

Ich möchte die FBFon lediglich zum Faxen nutzen und vielleicht später die Asterisk als AB!

Was habe ich in meinem Fall also zu konfigurieren und wie ??

Greetz bOOt
 
ich habe es mal wie oben beschrieben ausgeführt.
ich sehe die kommunikation zwischen fritz und trixbox.

capiinfo gibt folgendes aus:

[root@asterisk1 asterisk]# capiinfo
Number of Controllers : 5
Controller 1:
Manufacturer: AVM Berlin
CAPI Version: 1073741824.1229996355
Manufacturer Version: 2.02-00 (808333856.1377840928)
Serial Number: 0004711
BChannels: 2
Global Options: 0x00000039
internal controller supported
DTMF supported
Supplementary Services supported
channel allocation supported (leased lines)
B1 protocols support: 0x8000000b
64 kbit/s with HDLC framing
64 kbit/s bit-transparent operation
V.110 synconous operation with HDLC framing
B2 protocols support: 0x00000003
ISO 7776 (X.75 SLP)
Transparent
B3 protocols support: 0x00000001
Transparent

0500
0200
39000000
0b000080
03000000
01000000
00000000 00000000 00000000 00000000 00000000 00000000
01000001 00020000 00000000 00000000 00000000

Supplementary services support: 0x000003ff
Hold / Retrieve
Terminal Portability
ECT
3PTY
Call Forwarding
Call Deflection
MCID
CCBS

Controller 2:
Manufacturer: AVM Berlin
CAPI Version: 1073741824.1229996355
Manufacturer Version: 2.02-00 (808333856.1377840928)
Serial Number: 0004711
BChannels: 2
Global Options: 0x00000039
internal controller supported
DTMF supported
Supplementary Services supported
channel allocation supported (leased lines)
B1 protocols support: 0x8000000b
64 kbit/s with HDLC framing
64 kbit/s bit-transparent operation
V.110 synconous operation with HDLC framing
B2 protocols support: 0x00000003
ISO 7776 (X.75 SLP)
Transparent
B3 protocols support: 0x00000001
Transparent

0500
0200
39000000
0b000080
03000000
01000000
00000000 00000000 00000000 00000000 00000000 00000000
01000001 00020000 00000000 00000000 00000000

Supplementary services support: 0x000003ff
Hold / Retrieve
Terminal Portability
ECT
3PTY
Call Forwarding
Call Deflection
MCID
CCBS

Controller 3:
Manufacturer: AVM Berlin
CAPI Version: 1073741824.1229996355
Manufacturer Version: 2.02-00 (808333856.1377840928)
Serial Number: 0004711
BChannels: 2
Global Options: 0x00000039
internal controller supported
DTMF supported
Supplementary Services supported
channel allocation supported (leased lines)
B1 protocols support: 0x8000000b
64 kbit/s with HDLC framing
64 kbit/s bit-transparent operation
V.110 synconous operation with HDLC framing
B2 protocols support: 0x00000003
ISO 7776 (X.75 SLP)
Transparent
B3 protocols support: 0x00000001
Transparent

0500
0200
39000000
0b000080
03000000
01000000
00000000 00000000 00000000 00000000 00000000 00000000
01000001 00020000 00000000 00000000 00000000

Supplementary services support: 0x000003ff
Hold / Retrieve
Terminal Portability
ECT
3PTY
Call Forwarding
Call Deflection
MCID
CCBS

Controller 4:
Manufacturer: AVM Berlin
CAPI Version: 1073741824.1229996355
Manufacturer Version: 2.02-00 (808333856.1377840928)
Serial Number: 0004711
BChannels: 2
Global Options: 0x00000039
internal controller supported
DTMF supported
Supplementary Services supported
channel allocation supported (leased lines)
B1 protocols support: 0x8000000b
64 kbit/s with HDLC framing
64 kbit/s bit-transparent operation
V.110 synconous operation with HDLC framing
B2 protocols support: 0x00000003
ISO 7776 (X.75 SLP)
Transparent
B3 protocols support: 0x00000001
Transparent

0500
0200
39000000
0b000080
03000000
01000000
00000000 00000000 00000000 00000000 00000000 00000000
01000001 00020000 00000000 00000000 00000000

Supplementary services support: 0x000003ff
Hold / Retrieve
Terminal Portability
ECT
3PTY
Call Forwarding
Call Deflection
MCID
CCBS

Controller 5:
Manufacturer: AVM Berlin
CAPI Version: 1073741824.1229996355
Manufacturer Version: 2.02-00 (808333856.1377840928)
Serial Number: 0004711
BChannels: 2
Global Options: 0x00000039
internal controller supported
DTMF supported
Supplementary Services supported
channel allocation supported (leased lines)
B1 protocols support: 0x8000000b
64 kbit/s with HDLC framing
64 kbit/s bit-transparent operation
V.110 synconous operation with HDLC framing
B2 protocols support: 0x00000003
ISO 7776 (X.75 SLP)
Transparent
B3 protocols support: 0x00000001
Transparent

0500
0200
39000000
0b000080
03000000
01000000
00000000 00000000 00000000 00000000 00000000 00000000
01000001 00020000 00000000 00000000 00000000

Supplementary services support: 0x000003ff
Hold / Retrieve
Terminal Portability
ECT
3PTY
Call Forwarding
Call Deflection
MCID
CCBS



beim custom trunk bringt ein
CAPI/ISDN1/$OUTNUM$

leider ein

-- Executing Dial("SIP/501-0984de20", "CAPI/ISDN1/0041432103319|300|r") in new stack
-- didn't find capi device for interface 'ISDN1'




dies: wget ftp://ftp.melware.net/../../chan-capi/chan_capi-cm-HEAD.tgz gab es nicht mehr, ich habe dafür
ftp://ftp.melware.net/chan-capi/chan_capi-HEAD.tgz

genommen...

hat jemand eine idee?

danke
 
Zuletzt bearbeitet:
Habe alles so gemacht wie in der Anleitung beschrieben!

mit CAPI-Info kriege ich auf der FBOX:

# someone wants 6000
accept, ctrl 3
938 execl /var/rcapid
someone wants 6000
accept, ctrl 3
939 execl /var/rcapid
939 reaped, status 100
938 reaped, status 100


Und auf der TrixBox für Controller 1:

[root@asterisk1 chan-capi-HEAD]# capiinfo
Number of Controllers : 5
Controller 1:
Manufacturer: AVM Berlin
CAPI Version: 1073741824.1229996355
Manufacturer Version: 2.02-00 (808333856.1377840928)
Serial Number: 0004711
BChannels: 2
Global Options: 0x00000039
internal controller supported
DTMF supported
Supplementary Services supported
channel allocation supported (leased lines)
B1 protocols support: 0x8000040b
64 kbit/s with HDLC framing
64 kbit/s bit-transparent operation
V.110 synconous operation with HDLC framing
B2 protocols support: 0x00000003
ISO 7776 (X.75 SLP)
Transparent
B3 protocols support: 0x00000001
Transparent

0500
0200
39000000
0b040080
03000000
01000000
00000000 00000000 00000000 00000000 00000000 00000000
01000001 00020000 00000000 00000000 00000000

Supplementary services support: 0x000003ff
Hold / Retrieve
Terminal Portability
ECT
3PTY
Call Forwarding
Call Deflection
MCID
CCBS


Die Hauptleitung, Outbound, Inbound ist alles eingerichtet!
Ankommende Rufe klingeln nicht und man bekommt "nicht verfügbar"

Abgehende Rufe bekommen Ansage und auf der Console:

recordingcheck|20070401-121204|1175422324.0: Outbound recording not enabled


Was mache ich da falsch?

Gruß
Dirk
 
@snafroth

Um diese Frage zu beantworten, wäre es
sicher hilfreich deine config zu posten:

Auszug aus extensions.conf
capi.conf.

Gruß
 
Gibt es eine bestimmte Version der Fritz!Box fon, mit der das funktioniert (zb. 5050)?

Gruß,

Lars
 
Hi HoppaZ

Ich habe hier ne 5050 und es funzt.

PS. Ich weiß zwar nicht wieso weshalb und warum aber ich musste in der /etc/asterisk/capi.conf noch
"devices = 2"
eintragen.
 
Hallo,

erstmal : super Howto!

dann zu meinem Problem :

Ich habe hier 2 fbf7050 die jeweils an einem isdn anschluss hängen.
Ich möchte in meiner asterisk box nun beide remote-capi's einbinden.

ich habe also auf beiden Fritzboxen die remote - capi am laufen (auch jeweils einzeln getestet - und mein Asterisk reagiert auch jeweils (aber einzeln).

Ich habe dann versucht in meiner /etc/capi20.conf
Code:
REMOTE 192.168.0.251 6000
REMOTE 192.168.0.250 6000

mit nur einer Zeile klappt das - aber mit 2 Zeilen (ja - ich hab auch auf den Zeilenumbruch geachtet ) klappt es nicht. (nur die 1ste Zeile funktioniert)

Was mache ich falsch ?
Ich wäre jetzt davon ausgegangen, wenn beide FBF-capis laufen insgesamt bei einem capiinfo 10 Controller angezeigt zu bekommen.
Code:
[ISDN1]
devices = 2
isdnmode=msn
msn=*
incomingmsn=*
outgoingmsn=*
controller=1
group=1
softdtmf=on
faxdetect=off
context=capi-in

[ISDN2]
devices = 2
isdnmode=msn
msn=*
incomingmsn=*
outgoingmsn=*
controller=6
group=1
softdtmf=on
faxdetect=off
context=capi-in

- ich würde dann mit controller = 6 auf die 2.te Box zugreifen wollen.
Wo liegt das Problem - hat jemand eine Idee dazu ?
 
Hallo,
erstmal vielen Dank für die HowTo.
Eine Frage noch kann man anstatt:
Code:
1. Remote CAPI auf Fritz!Box installieren und starten
Vorbereitung:
Auf der TrixBox in /var/www/html ein Verzeichnis 'RCapi' anlegen und darin rcapid-mipsel-fbox-0.01.tar.gz entpacken (findet man hier im Forum).
Anschließend in der Datei rcapid_ins.sh folgende Einträge ändern


Code:
REMOTE_SERVER="xxx.xxx.xxx.xxx" (IP-Adresse eurer TrixBox)
REMOTE_URL="/RCapi/"
Installation:
Mit Telnet/Putty auf der Fritz!Box (ich habe die 5070) anmelden (die TrixBox muß jetzt laufen, genauer gesagt ihr WEB Server).


Code:
cd /var
wget http://xxx.xxx.xxx.xxx/RCapi/rcapid_ins.sh
chmod 755 rcapid_ins.sh
/var/rcapid_ins.sh
/var/rcapid_run.sh

Die CAPI over TCP von AVM verwenden, die ist einschaltbar mit Code: #96*3* ?

Für die kleine Antwort wäre ich sehr dankbar.
 
Hallo,
kennt niemand die Antwort?
 
zugriff auf isdn geräte der FBF per rcapi

hallo, nach der Suche auf eine Möglichkeit die ISDN Schnittstellen der Fritzbox mit meiner trixbox anzusprechen bin ich auf dieses Thema hier gestoßen.
Vielen Dank GregorV für die sehr ausführliche Beschreibung.

Wenn ich das richtig verstehe kann ich doch mithilfe der rcapi auf der FBF und chan_capi auf der Trixbox alle Telefonate die über Festnetz reinkommen an voip und normale ISDN Telefone an der FBF weiterleiten, ohne das ich eine ISDN Karte in meinem PC installieren muss, oder?

Da der Beitrag ja schon älter ist würde mich auch interessieren, ob hier mitlerweile jemand Erfahrung mit dem Ganzen gemacht hat, besonders bzgl. Sprachqualität, Stabilität etc. Eventuell gibt es auch eine neuere, bessere Möglichkeit auf die ISDN Schnittstellen der FBF zuzugreifen? AVM's Capi over TCP scheint dafür ja nicht zu funktionieren.

habe eine FBF7170 und trixbox 2.4 auf nem notebook inner vm laufen.

Danke für eure Tipps
 
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.