Fritzbox DECT als Asterisk Client

basti1985

Neuer User
Mitglied seit
13 Mrz 2009
Beiträge
49
Punkte für Reaktionen
2
Punkte
8
Hallo ich habe eine FB 7590 als Asterisk Client eingerichtet. die FB kann sich am Asterisk anmelden und externe anrufe werden signalisiert.
Nehme ich den Anruf an einem der DECT Telefonie entgegen wird zwar eine Verbindung aufgebaut allerdings gibt es kleinen Ton (weder ich höre den Anrufer noch hört der Anrufer mich). Bei ausgehen anrufen von DECT aus besteht das selbe Problem.

Ein Anruf von DECT zu Asterisk Nebenstelle geht in beide Richtungen ohne Probleme
Ich denke das ganze hat zumindest mit einer früheren Version schon mal funktioniert. FB OS ist 7.12.
Wenn ich mich mit Linphone an der Fritzbox Anmelde kann ich ebenfalls ohne Probleme über den Asterisk raus und rein telefonieren.

Laut DECT Monitor der FB unterstützen beide Telefone G726, meine Vermutung irgendetwas passt mit dem codec nicht, nur wo liegt das Problem?

Code:
asterisk*CLI> sip show peer 10


  * Name       : 10
  Description  :
  Secret       : <Set>
  MD5Secret    : <Not set>
  Remote Secret: <Not set>
  Context      : default
  Record On feature : automon
  Record Off feature : automon
  Subscr.Cont. : <Not set>
  Language     : de
  Tonezone     : <Not set>
  AMA flags    : Unknown
  Transfer mode: open
  CallingPres  : Presentation Allowed, Not Screened
  Callgroup    : 1
  Pickupgroup  : 1
  Named Callgr :
  Nam. Pickupgr:
  MOH Suggest  :
  Mailbox      :
  VM Extension : asterisk
  LastMsgsSent : 32767/65535
  Call limit   : 0
  Max forwards : 0
  Dynamic      : Yes
  Callerid     : "Fritzbox" <10>
  MaxCallBR    : 384 kbps
  Expire       : 1526
  Insecure     : no
  Force rport  : Auto (No)
  Symmetric RTP: No
  ACL          : No
  ContactACL   : No
  DirectMedACL : No
  T.38 support : No
  T.38 EC mode : Unknown
  T.38 MaxDtgrm: 4294967295
  DirectMedia  : No
  PromiscRedir : No
  User=Phone   : No
  Video Support: No
  Text Support : No
  Ign SDP ver  : No
  Trust RPID   : No
  Send RPID    : No
  Path support : No
  Path         : N/A
  TrustIDOutbnd: Legacy
  Subscriptions: Yes
  Overlap dial : Yes
  DTMFmode     : rfc2833
  Timer T1     : 500
  Timer B      : 32000
  ToHost       :
  Addr->IP     : 192.168.178.1:5060
  Defaddr->IP  : (null)
  Prim.Transp. : UDP
  Allowed.Trsp : UDP
  Def. Username: 10
  SIP Options  : 100rel replaces replace
  Codecs       : (alaw|gsm|g726)
  Auto-Framing : No
  Status       : OK (6 ms)
  Useragent    : AVM FRITZ!Box 7590 154.07.12 (Jul 3 2019)
  Reg. Contact : sip:[email protected];uniq=7A472259F53781D126ADF508664C9
  Qualify Freq : 60000 ms
  Keepalive    : 0 ms
  Sess-Timers  : Accept
  Sess-Refresh : uas
  Sess-Expires : 1800 secs
  Min-Sess     : 90 secs
  RTP Engine   : asterisk
  Parkinglot   :
  Use Reason   : No
  Encryption   : No
  RTCP Mux     : No
 
Moinsen


Persönlich tendiere ich eher zu mindestens 4 stelligen Nebenstellennummern, konkret: 1000 bis 1009
Und auch die Codecs sehen bei mir, auch für DECT, anders aus...
Codecs : (g722|alaw|ulaw)
( gsm brauchst du nicht, hat nichts mit Mobilfunk zu tun ;) )
...und geht in einem Rutsch mit: allow=!all,g722,alaw,ulaw
Unter [general] und/oder in der Peerkonfiguration.
Probier mal diese Einstellungen aber ruf vorher mit dem DECT über die FRITZ!BOX die Kurzwahl **797 an und geh in die Echtzeitanzeige...
Telefonie > Eigene Rufnummern > Sprachübertragung
( Bei Ansicht: Erweitert )
Screenshot_20190826-184708.png
...und überzeug dich davon, dass G.722-HD auch damit funktioniert.
 
Hallo danke für den Tip. Was auffällig ist, bei Anrufen von und nach extern. In Empfangsrichtung kein Codec ausgehandelt wird. Siehe Anhang.
 

Anhänge

  • asterisk_debug.png
    asterisk_debug.png
    123 KB · Aufrufe: 31
Es fällt vor Allem auf, dass kein G.722 ( G.722-HD ) ausgehandelt werden kann, insbesondere direkt über die FRITZ!BOX Kurzwahl.
Denke mal du musst mit allow=!all,alaw,ulaw leben.
 
Was ja nicht das Problem ist, wenn es denn funktionieren würde. Ich hab Jetzt unter Telefoniegerät -> HD-Telefonie bevorzugt eingetragen, da wird keine Verbindung aufgebaut.
Die Frage ist halt warum da kein Codec ausgehandelt wird.
Laut DECT Monitor kann phone1 G726 und Phone2 G722 und G726
 
Was die ( Asterisk <--> FRITZ!BOX ) da aushandeln, kannst du in der Asteriskkonsole mit...
sip set debug peer 10
...rauskriegen.
Auch, nach der Aushandlung bei laufender Verbindung mit...
sip show channels
 
Zuletzt bearbeitet:
Anbei der Debug-log. für mich sieht das alles recht plausibel aus.
 

Anhänge

  • peer_debug.txt
    6.9 KB · Aufrufe: 5
Ja, die Codecaushandlung verlief korrekt...
Code:
Capabilities: us - (g722|alaw|ulaw), peer - audio=(ulaw|alaw)/video=(nothing)/text=(nothing), combined - (alaw|ulaw)
Zu erkennen ist, dass das DECT zwar uLAW vor aLAW präferiert, dies aber zugunsten des von Asterisk präferierten aLAW verworfen wird ( Serverpriorität ).
...was auch korrekt ist.
So würde auch eine Aushandlung mit einem Amerikaner aussehen ;)
( Die uLAW präferieren )
Die FRITZ!BOX unterscheidet das so:
 
Zuletzt bearbeitet:
Eben, allerdings sieht es auf seiten der FB immer noch wie in #3 aus.
 
Das wiederum deutet dann auf einen Fehler im Dialplan von Asterisk hin.
...oder eine zu lange Verzögerung beim Aufbau von RTP Audio.
Zeig mal deine Extensions ;) ( extensions.conf )
 
Zuletzt bearbeitet:
siehe anhang
 

Anhänge

  • extensions.conf.txt
    1.1 KB · Aufrufe: 10
  • dialplan_show.txt
    15 KB · Aufrufe: 9
Code:
exten => _[0'+']X.,1,Answer()
exten => _[0'+']X.,n,Wait(1)
exten => _[0'+']X.,n,Set(CALLERID(all)=03xxxxxxxx)
exten => _[0'+']X.,n,Dial(SIP/${EXTEN}@vf,,tT)
exten => _[0'+']X.,n,Hangup()
Das scheint mir der Bug zu sein.
Kein Answer() vor einem Dial() ist die Faustregel.
...und das Wait(1) brauchst du da auch nicht.
Probiers mal aus.
 
peer vf zeigt mir jetzt g722 vorher war das alaw
asterisk*CLI> sip show channels
Peer User/ANR Call ID Format Hold Last Message Expiry Peer
178.15.141.148 03xxxxx 7dc5f9026cac799 (g722) No Rx: ACK vf
192.168.178.1 10 502995322de6720 (alaw) No Tx: ACK 10

an dem Problem löst das allerdings nichts. Auf seiten der FB wird in empfangsrichtung nach wie vor kein codec verhandelt.

Mal ne andere FRage, wo bekommen ich firmware 6.92. her? auf dem offizellen avm servern gibts die nicht mehr.
ich bile mir mir mit der hat das alles schon mal funktioniert.
 
Wenn, dann brauchste eine Recovery, für ein Downgrade.
Und die kannste hier im Forum anfragen...

Wie siehts eigentlich mit deinem SIP Routing aus ?
Schliesslich muss Asterisk bei dir ja auch zwischen localnet= und externip=/externhost= RTP richtig adressieren können/sollen/wollen.
Vodafone kann ja nichts mit deiner NAT IP anfangen.

Beispiel
In meinem DoppelNAT brauch ich...
( sip show settings )
Code:
Network Settings:
---------------------------
  SIP address remapping:  Enabled using externaddr
  Externhost:             <none>
  Externaddr:             192.168.178.20:5070
  Externrefresh:          180
  Localnet:               192.168.0.0/255.255.255.0
                          192.168.188.0/255.255.255.0
...damit Audio zwischen NAT 2 ( *.188.* ) und NAT 1 ( *.178.* ) funktioniert.
 
Zuletzt bearbeitet:
nochmal als hinweis.
Wenn ich mich mit einem SIP-phone an der FB anmelde klappts ja auch mit der Codec Aushandlung über die extension 10, welche für das dect benutzt werden soll. Zudem meldet sich der Asterisk direkt bei Vodafone an. Wie gesagt die Softphones gehen ja alle ohne Probleme.

Zu deinem NAT:
Wenn ich dich Richtig verstehe sitzt dein Asterisk im 188 Netz ?
Liege ich richtig in der annahm, das deine FB die 192.168.178.20 hat?
Wo meldet sich dein Asterisk an? Beim Provider oder an der FB?

Mein Aufbau:
ISP <-> FB <-> Firewall mit Asterisk (lauscht sowohl auf WAN (192.168.178.xx) und LAN 192.168.xx.xx)
 
Mein Asterisk meldet sich nirgendwo an.
Kein register= aktiv.
FRITZ!BOXEN ( 3 Stück ) registrieren sich ( bzw. Internetrufnummern ) am Asterisk.
Die FRITZ!BOX im 1. NAT hat die 192.168.178.1 - Die im 2. NAT hat die 192.168.188.1 - Asterisk hat die 192.168.188.9 (wlan0) und 192.168.0.1 (tether) und ist freigegeben zum 1. NAT.
Das 1. NAT sieht nur die Asteriskfreigabe: 192.168.178.20:5070
 
Die NAT Einstellungen helfen auch nicht.

Network Settings:
---------------------------
SIP address remapping: Enabled using externaddr
Externhost: <none>
Externaddr: 192.168.178.100:5060
Externrefresh: 10
Localnet: 192.168.0.0/255.255.0.0
 
Bei mir isses DoppelNAT, bei dir, schätz ich mal, muss externaddr= ziemlich wahrscheinlich auf deine öffentliche IPv4 und den für Asterisk zur Internetseite freigegebenen SIP Port zeigen.
Wenn du DynDNS benutzt, dann bleibt externaddr= leer und dein DynDNS Name und Asterisk Port kommt in externhost= rein.

Du solltest auch dein register= checken ob die IPs korrekt sind.
Wie heisst dein Vodafone Peer für ausgehende Anrufe "vf" ? - Dann: sip set debug peer vf
...der "Rückkanal" steht in: Contact:
Das Netz *.178.* gehört, laut deinem Schema, auch zu: localnet
...sonst versagt die NAT Erkennung.
 
Zuletzt bearbeitet:
sorry für alle Unannehmlichkeiten. Firewall range 7078-7097 UDP war das Problem.
 
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.