Asterisk als Client FritzBox (ein- und ausgehend)

anatius

Neuer User
Mitglied seit
22 Jan 2008
Beiträge
10
Punkte für Reaktionen
0
Punkte
1
Liebes Forum,

Ich würde mich über Hilfestellung freuen - ich bekomme es nicht hin...

Folgende Ziel habe ich vor Augen:
Türsprechstelle (analog) an einer Fritzbox. Die Fritzbox erlaubt beim Klingeln der Türsprechstelle, bis zu 4 interne Telefonnummern anzurufen. Von diesen 4 Nummern sind 2 DECT Telefone (direkt an der FritzBox). Die dritte Nummer soll ein eingehender Trunk bei Asterisk sein, welches wiederum die Anrufe an zwei Handys weiterleitet. Wer zuerst abnimmt (DECT Telefon oder Handy) gewinnt.

Hier meine bisherigen "Gehversuche":

sip.conf

[general]
language=de
bindport = 5060
bindaddr = 0.0.0.0
context=default
srvlookup=yes
transport=udp


;********************
;* Registrierungen *
;********************

;Eingehende Anrufe der FritzBox über Nebenstelle 621
register => asteriskin:[email protected]/621

;********************
;* Interne Accounts *
;********************
[fritzbox-in] ;für eingehende Anrufe
type=peer
username=asteriskin
fromuser=621
secret=*****
host=192.168.101.1
fromdomain=fritz.box
canreinvite=yes
nat=no
qualify=yes
insecure=port,invite
qualifyfreq=600
context=incoming
allow=!all,g729,g722,alaw,ulaw

[fritzbox-out] ;für ausgehende Anrufe
type=peer
username=asteriskout
fromuser=622
secret=*****
host=192.168.101.1
fromdomain=fritz.box
canreinvite=yes
fromdomain=fritz.box
canreinvite=yes
nat=no
qualify=yes
insecure=port,invite
qualifyfreq=600
context=outgoing
allow=!all,g729,g722,alaw,ulaw

Wie sieht aber nun meine extensions.conf aus für den Fall, daß ich einen eingehenden Anruf auf der 621 direkt an zwei externe Nummern weiterleiten will? Das eigentliche Wählen sollte ja mit Dial(SIP/01711234567@fritzbox-out&SIP/01711234567@fritzbox-out,50,o) gehen oder? Aber ich wähle ja gar keine Extension an sich sondern will den Call weiterleiten während er noch klingelt...

Zudem funktioniert das Herauswählen über die FritzBox Extension 622 auch nicht. Mit einem User (nennen wir ihn Christian) der sich am Asterisk ordnungsgemäß anmelden kann und Dialplan

exten => _X.,1,Dial(SIP/fritzbox-out/${EXTEN}) bekomme ich immer folgenden Fehler:

== Using SIP RTP CoS mark 5
> 0x571ea8a0 -- Strict RTP learning after remote address set to: 192.168.101.65:5062
-- Executing [01715393716@incoming:1] Dial("SIP/christian-00000007", "SIP/01715393716@fritzbox-out") in new stack
== Using SIP RTP CoS mark 5
-- Called SIP/01715393716@fritzbox-out == Everyone is busy/congested at this time (1:0/0/1)
-- Auto fallthrough, channel 'SIP/christian-00000007' status is 'CHANUNAVAIL'

Ein "sip show peers" zeigt aber, daß alles ordnungsgemäß registriert ist:

pi3*CLI> sip show peers
Name/username Host Dyn Forcerport Comedia ACL Port Status Description
christian/christian 192.168.101.65 D Auto (No) No 5060 Unmonitored
fritzbox-in/asteriskin 192.168.101.1 No No 5060 OK (4 ms)
fritzbox-out/asteriskout 192.168.101.1 No No 5060 OK (3 ms)


Wo liegt mein Denkfehler bzw. Umsetzungsfehler?
Danke im Voraus für Eure Unterstützung!
 
Moins


Du hast einen syntaktischen Fehler...
exten => _X.,1,Dial(SIP/fritzbox-out/${EXTEN})
...den du nur korrigieren musst...
Code:
exten => _X.,1,Dial(SIP/${EXTEN}@fritzbox-out,120)
Über den ersten Peer könntest du auch rausrufen, aber alle Anrufe die über die FRITZ!Box reinkommen, tun dies immer über den ersten gefundenen Peer mit der passenden IP.

Da du den Asterisk scheinbar nur mit authorisierten Peer/User betreibst, solltest Du dich noch mit den sicherheitsrelevanten Direktiven "allowguest" und "allwaysauthreject" beschäftigen.
Beide gehören in die sip.conf unter: [general]
Siehe den Thread: https://www.ip-phone-forum.de/threads/cache-löschung-aus-asterisk.295637/

PS: Nicht nur Google, sondern auch metager.de erlaubt zur Suche den site: Parameter
Beispiel: Asterisk allowguest allwaysauthreject site:ip-phone-forum.de
 
Zuletzt bearbeitet:
Hi,

Vielen Dank für den Hinweis - was die Syntax angeht stand ich wohl auf dem Schlauch. Und ja, ich betreibe den Asterisk eigentlich nur mit authorisierten Peers / Usern. Aber ich habe mal zu Testzwecken die Konfiguration wie folgt geändert:

sip.conf
allowguest=yes
allwaysauthreject=no


extensions.conf
exten => _X.,1,Dial(SIP/${EXTEN}@fritzbox-out,120)

Trotzdem funktioniert mit einem korrekt angemeldeten User kein Anruf auf internen oder externen Nummern:
== Using SIP RTP CoS mark 5
> 0x57251c10 -- Strict RTP learning after remote address set to: 192.168.101.65:5062
-- Executing [01715393716@incoming:1] Dial("SIP/christian-00000000", "SIP/01711234567@fritzbox-out,120") in new stack
== Using SIP RTP CoS mark 5
-- Called SIP/01715393716@fritzbox-out
== Everyone is busy/congested at this time (1:0/0/1)
-- Auto fallthrough, channel 'SIP/christian-00000000' status is 'CHANUNAVAIL'


Irgendwas mache ich also immer noch grundfalsch - aber was?

Danke im Voraus!
 
Oje, genau andersrum wird ein fester und sicherer Schuh draus...
Code:
; sip.conf
[general]
allowguest=no ; standard = yes
allwaysauthreject=yes ; standard = no

Sind Anrufe auf Mobilfunknummern gesperrt ?

Probier mal eine interne Nummer für den Anfang...
Code:
exten => _**.,1,Verbose(1,(${EXTEN}@${CONTEXT}) Fritz!Box internal Call from: ${CALLERID(all)})
exten => _**.,2,Dial(SIP/${EXTEN}@fritzbox-out,120)
Zum Beispiel: **600

Nochwas
Wie alt ist deine Fritz!Box ?
Es gelten die Anmeldedaten des angelegten IP-Telefons in der Fritz!Box.
Die sind seit geraumer Zeit mindestens 8 Zeichen und Benutzer/Kennwort müssen unterschiedlich sein.

Beispiel für die sip.conf...
Code:
defaultuser=asteriskin
fromuser=asteriskin
Kein: username=
Also schon lange nicht mehr: 620 bis 629
 
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.