FreePBX (Asterisk) mit Fritzbox koppeln (in beide Richtungen)

WrMulf

Mitglied
Mitglied seit
2 Okt 2004
Beiträge
553
Punkte für Reaktionen
0
Punkte
16
Hallo Mädels,

ich habe eine Fritz!Box 7270v2 und einen FreePBX-Asterisk-Server. Der Asterisk hat eine Extension 3100, diese ist in der Fritz!Box registriert und ist dort mehr oder weniger die Hauptleitung für ausgehende Gespräche. Zusätzlich fungiert die Fritz!Box als SIP-Server mit der Extension 620, die in FreePBX/Asterisk registriert ist. Dort sollen ankommende ISDN-Gespräche signalisiert werden. Allein dieses klappt nicht oder manchmal nur zufällig.

Wenn ein Anruf auf ISDN eingeht schreibt Asterisk im CLI:
Code:
[2012-04-23 23:38:10] WARNING[3447]: chan_sip.c:14402 check_auth: username mismatch, have <3100>, digest has <620>
[2012-04-23 23:38:10] NOTICE[3447]: chan_sip.c:22525 handle_request_invite: Failed to authenticate device "Polina Office" <sip:[email protected]>;tag=BA16F90F747EC60B

Der Grund ist wohl, dass nicht sauber zwischen eingehender und ausgehender Authentifizierung unterschieden wird. Sowohl die Extension 3100 (context=from-internal), als auch der Trunk 620 (context=from-trunk oder from-internal, beides probiert) sind als "type=friend", ich habe aber gefühlt auch schon jede andere Konstellation (peer/user) ausprobiert. Ich weiß auch nicht, auf welcher Seite ich den Fehler suchen soll, gefühlt auf FreePBX-Seite, aber ich komme an dieser Stelle nicht weiter.

Hat jemand eine Idee?


Gruß,
Robert/WrMulf


[Edit rentier-s: Beiträge zusammengefasst] Beitrag 2:

Ich habe noch ein bisschen experimentiert. Wie ich schon schrieb, klappt es _manchmal_. In diesem Fall wird bei einem ankommenden ISDN-Gespräch tatsächlich der Anruf von FreePBX angenommen und an einem SIP-Client (iPhone) signalisiert, sogar mit Caller-ID. Nach einem "sip reload", ohne Konfigurationsänderungen, war der Spuk wieder vorbei. Vielleicht hängt es davon ab, wer sich zuerst bei wem registriert (Asterisk an FBox zuerst oder umgekehrt).
 
Danke für den Tipp, ich habe es in den USER-Context mit aufgenommen. Es scheint auch nicht zu stören/zu funktionieren, allerdings tut es das auch ohne! Das Merkwürdige ist nämlich, dass die Meldungen "username mismatch" frisch nach einem Reload kommen, nach ca. 12 bis 15 Minuten scheint sich das ganze einzuspielen und dann funktioniert es! Ich habe jetzt noch qualify=yes mit aufgenommen, vielleicht verkürzt das die Zeit, in der die Signalisierung nicht funktioniert.
 
Hallo zusammen,

ich habe dasselbe Problem - leider löst sich dies nicht von alleine durch pures Warten. Exakt die gleichen Fehlermeldungen:
Bei mir ist auf der Fritzbox eine IP-Nebenstelle 621 als Trunk für meine FreePBX eingerichtet, die für ausgehende Telefonate auch hervorragend funktioniert. Ich habe u.a. ein DECT-Telefon an der FritzBox, das ich wiederum als Extension auf der FreePBX eingerichtet habe.

Eingehende Anrufe (via 621) landen dann bei der FreePBX, die Inbound Call Route soll diesen dann z.B. auf die Nebenstelle 20 routen. Leider erscheint dann der o.g. Fehler:

2013-05-02 17:45:35] WARNING[2673][C-00000021] chan_sip.c: username mismatch, have <20>, digest has <621>

All die Empfehlungen bisher haben nichts geholfen... Hier meine Konfiguration:
PEER
host=192.168.178.1
username=621
secret=***
type=peer
qualify=yes
dtmfmode=rfc2833
fromdomain=fritz.box
fromuser=621
disallow=all
allow=alaw&ulaw&g726
insecure=very

USER CONTEXT: 621
USER DETAILS
context=from-trunk
secret=***
type=user
insecure=very
fromuser=621
fromdomain=fritz.box
disallow=all
allow=alaw&ulaw&g726

Danke für Eure Hilfe.
 
Inzwischen habe ich alle Probleme selbst gelöst, die lauffähige Gesamtanleitung findet Ihr jetzt hier. Viel Spaß!
 
Hallo Ninobox,

ich habe alles nach deiner Anleitung konfiguriert, das ganze funktioniert aber nur einem Reboot der Fritzbox.
Wenn ich in FreePBX irgendeine Einstellung vornehme und auf apply drücke, also immer wenn der Asterisk einen Reload macht, dann funktioniert das ganze nicht mehr.
Abhilfe schafft nur, den Account in der Fritzbox zu deaktivieren und wieder aktivieren oder einen kompletter Reboot.
Hat noch jemand eine Idee
oder muss ich tatsächlich 2 Boxen einsetzen, damit mein Szenario klappt.
 
So ich bin schon ein bisschen weiter gekommen.
Wenn ich mich per Telnet auf die Fritzbox schalte und "voipd -R" ausführe funktionieren eingehende Anrufe wieder. Nach 15min warten, tut das die Fritzbox von alleine scheinbar, zumindest funktioniert es dann auch.
Meint ihr, es wäre schlau einfach per Cronjob jede Sekunde den Befehl "voipd -R" auszuführen, damit ich immer erreichbar bin?
 
Ich bin eigentlich seit fast 10 Jahren kein Asterisk-Neuling mehr, habe hier aber genau dieses Problem. Nach Stunden rumprobieren frage ich hier mal nach.
Habe in meine 7390er Fritzbox einen UMTS-Stick rein gesteckt, den IP-Telefon "620" eingerichtet und für meinen Asterisk ist diese 620 jetzt der Trunk.
Code:
language=de
...
match_auth_username=yes
session-timers=refuse
srvlookup=no
allowguest=no
disallow=all
allow=alaw
allow=ulaw
nat=yes
...
register => 620:[email protected]/08003301000

[eingehend_620]
host=77.7.108.123
secret=passwort
defaultuser=620
;callbackextension=08003301000
user=620
fromuser=620
qualifyfreq=600
insecure=port,invite
type=peer
Die Testbedingungen sind einfach: sobald ich den UMTS-Stick anrufe, soll ich auf der Hotline der Telekom landen (08003301000). Doch stattdessen kommt nur:
Code:
[Mar 14 19:14:16] NOTICE[10440][C-00000004]: chan_sip.c:25639 handle_request_invite: Failed to authenticate device "Nachname Vorname" <sip:[email protected]>;tag=324321030307E2A6

Wieso kommt diese Fehlermedlung (wie kriege ich sie weg)? Warum steht in dieser Fehlermeldung mein Name und Vorname (ich meine woher erfährt ihn die Asterisk-CLI?)?
 
register => 620:[noparse][email protected][/noparse]/08003301000

Was erhoffst Du Dir davon?

So wie das aussieht, bist Du über WAN mit der Fritzbox verbunden, richtig? Die Fritzbox gibt als fromdomain fritz.fonwlan.box an, das passt nicht zu 77.7.108.123 und kann vermutlich deshalb nicht authentifiziert werden.
 
Ja, das ist alles richtig (über WAN mit der Fritzbox verbunden).
OK. fromdomain ist also fritz.fonwlan.box und IP ist 77.7.108.123 und deswegen authentifiziert er nicht. Aber wie löse ich nun das Problem?
 
Kann ich Dir leider auch nicht fundiert beantworten. Auf die Schnelle wird es mit allowguest=yes funktionieren. Ansonsten könntest Du einen Eintrag in /etc/hosts probieren :noidea:
 
Hallo Leute,

bin relativ neu hier....

Also ich habe eine Fritzbox 7270 und nen Raspberry.

Nun folgendes ich habe mich streng an die oben genannte Anleitung gehalten. Ich hab nun folgendes Problem meine Leitung die *625 (also der Trunk) ist laut Fritzbox dauernd besetzt. Ich kann weder raus noch reinrufen mit dem Raspberry Pi. Inbound und Outbound sind auch so wie in der Anleitung konfiguriert.
Intern zwischen zwei SIP geräten läuft das telefonieren schon.

LG und danke für die Hilfe
 
Also ich habs bei mir seit heute am laufen.
Diese Hin und Zurück-Kopplung mit der FB hat mit allerdings 2 Tage gekostet.
Als erstes hatte bei mir auch nur der Workaround mit voipd -r bzw. 15 warten geholfen, bis ich das Problem erkannt hatte.

Wichtig sind folgende Punkte...

Der Peer [Asterisk(Client) -> FB(Server)] MUSS in der sip.conf vor den FB-User [FB(Client) -> Asterisk(Server)] stehen, sonst kommt Asterisk durcheinander. (Ist im Übrigen das gleiche mit mehreren Sipgate Accounts, da sollte man auch einen Dummy Sipgate Peer vor den anderen Sipgateaccounts erstellen, sonst wirds unter Umständen auch komisch)

Die Client Accounts der FB dürfen nicht in der users.conf angelegt werden, sondern auch in der sip.conf (Das war mein Hauptfehler)

Ich weiß nicht mehr was mich da geritten hat, die users.conf für meine Clients zu nutzen, aber das war mein Hauptproblem mit der Bidirektionalen FB Kopplung.
 
Zuletzt bearbeitet:
Hallo rubinho,

ich hab alles über das Webinterface eingerichtet. Und bekomm nur ein Besetztzeichen!
Was könnt ich dir als Quellcode schicken damit wir das Problem lösen können.

LG aus Landshut
 
Mit dem Quellcode meinst du die Konfig ?!

Wenn du allerdings alles über das Webgui machst, wird dort wohl einiges anders drinstehen.
Wichtig ist, dass nix was die FB angeht, in der users.conf steht. Was du womöglich nur auf der Konsole siehst und nicht im Webui.

Also hier mal ein Auszug von den relevanten Einstellungen....
Die angegebene ACL die in meiner Konfig steht kannst du vernachlässigen, dort sind nur die Privaten IP Adressen hinterlegt, damit keiner vom Internet zugreifen kann.

sip.conf
Code:
register => 620:[email protected]/123456 ; FP-Asterisk Kopplung

[123456]
defaultuser = 620
host = 192.168.1.1
fromuser = 620
secret = passwort
type = peer
qualify=yes
fromdomain = fritz.box
insecure = port,invite
context = fb-kopplung
nat = no

[FB](!)
type = friend
host = dynamic
fromdomain = fritz.box
insecure = port,invite
qualify = yes
hassip = yes
secret = passwort2
call-limit=4
acl = only_private_net
nat = no

[11](FB)
defaultuser = 11
context = 11

[12](FB)
defaultuser = 12
context = 12

extensions.conf
Code:
[11]
include => lokal
include => abgehend_fb

[12]
include => lokal
include => abgehend_fb

[fb-kopplung]
exten => 123456,1,Dial(Sip/11&Sip/12,45,r)

[abgehend_fb]
exten => _X.,1,Dial(SIP/${EXTEN}@123456,45,r)
 
Zuletzt bearbeitet:
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.