[Frage] RTP Ports in Debug anders als in Config

xrated

Mitglied
Mitglied seit
2 Jul 2012
Beiträge
786
Punkte für Reaktionen
1
Punkte
18
Ich habe die RTP Ports in Asterisk rtp.conf auf 7078-7097 eingestellt und in der Fritzbox entsprechend forgewarded. Jetzt im Debug von RTP fällt mir auf das ganz andere Ports verwendet werden. Könnte das die Gesprächsabbrüche erklären die ich seit kurzer Zeit bei einem bestimmten Provider habe (beim 1&1 VoIP Konto und bei sipcall ist das Problem nicht).

weitere Parameter:
externaddr=meineip
externrefresh=10
registertimeout=70 (ist noch drin weil ich damals Probleme nach 24h disconnect mit Openwrt und conntrack hatte)
registerattempts=0
session-timers=refuse (war vorher default, keine Änderung)
dtmfmode=auto (soll ja angeblich auch zu abbrüchen führen wenn falsch)
nat=force_rport
directmedia=no
qualify=yes
qualifyfreq=600
srvlookup=no
allowoverlap=no
udpbindaddr=0.0.0.0
tcpenable=yes
tcpbindaddr=0.0.0.0

Hat sonst noch jemand eine Idee an was die Abbrüche liegen könnten? Bei der DSL Leitung sehe ich keine Probleme im 24h Log der Fritzbox.
 
Magst Du das Debug mal zeigen? Die rtp.conf legt ja die lokalen Ports von Asterisk fest, die sollten eigentlich auch so eingehalten werden.

Was passiert bei einem Abbruf auf SIP Ebene? Mach da bitte auch ein Debug.
 
rtp debug?

Code:
== Using SIP RTP CoS mark 5
    -- Executing [08001507090@outgoing-phones:1] Goto("SIP/14-00000000", "outgoing-sipgate,08001507090,1") in new stack
    -- Goto (outgoing-sipgate,08001507090,1)
    -- Executing [08001507090@outgoing-sipgate:1] Dial("SIP/14-00000000", "SIP/sipgate_out/08001507090,,TK") in new stack
  == Using SIP RTP CoS mark 5
    -- Called SIP/sipgate_out/08001507090
    -- SIP/sipgate_out-00000001 is ringing
       > 0x7fb968014500 -- Probation passed - setting RTP source address to 212.9.44.5:25364
Got  RTP packet from    212.9.44.5:25364 (type 08, seq 030738, ts 000160, len 000160)
Got  RTP packet from    212.9.44.5:25364 (type 08, seq 030739, ts 000320, len 000160)
Got  RTP packet from    212.9.44.5:25364 (type 08, seq 030740, ts 000480, len 000160)

Andere Ports gehen auch nicht, weil die 7078-7097 ja eigentlich von der Fritzbox selbst belegt sind aber die habe ich freigemacht und nutze diese weil es da QoS Regeln gibt.

Edit aus Sip Debug:
Audio is at 7078
Peer audio RTP is at port 217.116.117.11:25960



Anscheinend hab ich das verwechselt weil ausgehend!=eingehend, Asterisk scheint mit 7078 zu senden aber im RTP Debug wird nur der Port vom Gegenüber angezeigt.
Got RTP packet from 217.10.77.42:18082 (type 08, seq 005712, ts 303678688, len 000160)
Sent RTP packet to 192.168.5.191:16384 (type 08, seq 011093, ts 303678688, len 000160)
 
Zuletzt bearbeitet:
Hm, ich hätte spontan schon gedacht, dass der lokale Port auch irgendwo im RTP Debug zu finden ist :noidea: Im SIP Debug auf jeden Fall, für die rufende Seite im SDP Teil des INVITE, für die andere Seite im Progress oder im OK.

In Deinem Fall sind das aber die remote Ports, also alles in Ordnung. Hätte mich wie gesagt gewundert, wenn Asterisk die conf ignorieren würde.

Bleibt noch die Frage, warum das Gespräch abreißt. Dazu könntest Du ein SIP Debug machen, vielleicht findet sich ein hangup cause oder anderweitige Informationen. Wenn der Fehler nicht reproduzierbar ist wird es schwierig, dann müsstest Du fast das debug in der logger.conf einschalten und statt sip set debug on nur sip set debug peer XY. Die messages wird dadurch halt riesig.
 
ich hatte es jetzt mal geschafft das in sngrep zu sehen, dass Gespräch wird ganz normal via Bye beendet (Providerseitig) und dann folgt ein Ok.
3x hatte ich jemand angerufen und es ist irgendwann abgebrochen. Sogar 1x als er mich angerufen hat.
Und Intervalle sind ziemlich genau 15min, einmal ist es exakt nach 30min abgebrochen.
Kann das mit session-timer zusammenhängen? Derjenige hat Telekom mit Zyxel 5501 und da kann man ja 0 (also wörtlich) einstellen.
Bei Asterisk gäbs ja noch session-expires=1800 aber wird das bei session-times=refuse überhaupt verwendet?

RFC 4028 Section 10
if the side not performing refreshes does not receive a
session refresh request before the session expiration, it SHOULD send
a BYE to terminate the session, slightly before the session
expiration. The minimum of 32 seconds and one third of the session
interval is RECOMMENDED.
 
Zuletzt bearbeitet:
Kann das mit session-timer zusammenhängen?

Das wäre nach der Beschreibung meine erste Vermutung gewesen. Wir hatten hier schon mal einen Thread, wo Asterisk das refuse scheinbar ignoriert. Die Aushandlung wäre ggf im INVITE und dem dazugehörigen OK zu finden.

Steht in dem BYE Paket ein Hangup Cause?
 
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.