[o2] VoIP-Probleme mit O2-LTE

Mal eine ganze andere Idee, wenn YATE bei dir eh auf einem OpenWRT-Router läuft, könntest du doch auch noch z.B. WireGuard installieren, dir einen 1 EURO Server dazu holen und darüber den VOIP-Verkehr routen. Dann hast du je nach Anbieter sogar eine IPv4 und ein ganzes IPv6 Netzwerk dazu, sowie sämtliche anderen Freiheiten.
 
Die Aussage "o2 behandelt VoIP anders als Vodafone" halte ich für grundsätzlich falsch!
Da wird nichts "behandelt" ! Alle LTE-Anbieter haben Carrier Grade NAT. Vodafone baut vielleicht die Verbindung nicht so schnell ab wie o2. Ansonsten wird das transparent weitergereicht.
Oder probiere die Easybell-eigene App aus. Wenn es mit dieser App und o2 geht, dann liegt es an Yate oder deinen Einstellungen.
 
Sobald ich weitere Ergebnisse habe, werde ich hier berichten.
Eigentlich brauchen wir nur einen Mitschnitt. Kann sein, dass YATE den Port gar nicht aufmacht. Aber dann dürfte auch Vodafone nicht gehen. Kann sein, dass YATE den Port zu spät aufmacht. Letzteres würde Deine Beobachtung erklären, warum es in einem andern Netz, anders läuft: Deren Firewall erkennt zu viele Anfragen von Außen und sperrt den Port für eine gewisse Zeit. Kann aber auch sonst was Unmögliches sein. Lass uns den Mitschnitt anschauen.
 
wenn YATE bei dir eh auf einem OpenWRT-Router läuft, könntest du doch auch noch z.B. WireGuard installieren, dir einen 1 EURO Server dazu holen und darüber den VOIP-Verkehr routen.
Ich habe bisher noch keine Erfahrung mit VPN-Software. Deinen Vorschlag kann ich daher nicht mal eben umsetzen. Da muss ich mich erst ein wenig einarbeiten. Aber Deinen Vorschlag werde ich an meine Gedächtnis-Pinwand heften. Vielen Dank fürs Mitdenken.

Vodafone baut vielleicht die Verbindung nicht so schnell ab wie o2.
Genau das meinte ich mit "behandelt anders". Sorry, wenn ich mich da so unklar ausgedrückt habe.
probiere die Easybell-eigene App aus
Geht nicht, da ich kein Smartphone habe.

Lass uns den Mitschnitt anschauen.
Danke für Dein Angebot. Welchen Zeitpunkt soll ich Dir herausschneiden?

DM41: 3 Beiträge zusammengeführt. Bei Nachträgen bitte Beitrag bearbeiten.
 
Zuletzt bearbeitet von einem Moderator:
Welchen Zeitpunkt soll ich Dir herausschneiden?
Kurz vor dem eingehenden Gespräch und dann bis Du abgehoben hast. Du kannst das auch selbst: Filtere in Wireshark auf „sdp || rtp“. Schau Dir an, ab wann RTP-Pakete von Dir weggehen, also den zeitlichen Abstand zur ersten bzw. letzten SDP-Nachricht.
 
Schau Dir an, ab wann RTP-Pakete von Dir weggehen, also den zeitlichen Abstand zur ersten bzw. letzten SDP-Nachricht.

Ich habe in den letzten Tagen weitere Tests durchgeführt (an Vorschlägen hat es ja nicht gemangelt) und dabei fleißig tcpdump-Mitschnitte angefertigt, diese analysiert und darauf basierend neue Tests gemacht.

Der Aufwand hat sich gelohnt: VoIP läuft jetzt auch für eingehende Anrufe via O2-LTE. Der Durchbruch gelang mit keepalive=10 (Sekunden), bei Vodafone genügte ein keepalive=20.

Ich möchte mich abschließend bei allen bedanken, die mit ihren Ideen und Vorschlägen mir geholfen haben, das Problem zu lösen.

Bleibt gesund und munter.
 
Ist das das Digium Asterisk „keepalive“ aus dem Channel-Driver chan_sip? Was passiert dann genau: Double CRLF-Refresh auf SIP-Ebene oder irgendwas auf RTP-Ebene?
 
Ist das das Digium Asterisk „keepalive“ aus dem Channel-Driver chan_sip?

Ich kenne Digium Asterisk nur vom Namen her, bei mir kommt YATE zum Einsatz.

In YATE gibt es eine Konfig-Datei accfile.conf für alle VoIP-Accounts, bei denen sich YATE als Client registriert. Je Account kann man eine Reihe von Angaben machen, dazu zählt auch die Option keepalive.

Des weiteren gibt es noch zwei weitere Konfig-Dateien ysipchan.conf und yrtpchan.conf, in denen man SIP- bzw. RTP-spezifische Angaben machen kann. Diese gelten generell, d.h. für alle Accounts in accfile.conf.

Was passiert dann genau: Double CRLF-Refresh auf SIP-Ebene oder irgendwas auf RTP-Ebene?

Das kann ich so aus dem Kopf heraus nicht mehr sagen, da müßte ich noch mal in die Mitschnitte schauen.
 
müßte ich noch mal in die Mitschnitte schauen
Das wäre lieb. Denn YATE basiert auf Digium Asterisk. Wäre interessant, ob die was Eigenes machen bzw. was genau gemacht wird – 10 Sekunden kommt mir arg kurz vor. Ich will das mal hier nachbauen.
 

Sorry, es hat etwas gedauert, aber ich mußte mich in den letzten Tagen dringend um andere Sachen kümmern.

Hier nun der Auszug aus dem tcpdump-Mitschnitt eines eingehenden Rufes (ich hoffe, ich habe das Richtige ausgesucht):

23:39:23.876672 IP 195.185.37.60.5060 > 10.132.138.115.47906: SIP: INVITE sip:<meine-rufnummer>@10.132.138.115:47906 SIP/2.0
23:39:23.876672 IP 195.185.37.60.5060 > 10.132.138.115.5060: SIP: INVITE sip:<meine-rufnummer>@10.132.138.115:5060 SIP/2.0
23:39:23.884300 IP 10.132.138.115.5060 > 195.185.37.60.5060: SIP: SIP/2.0 100 Trying
23:39:23.886963 IP 10.132.138.115.47906 > 195.185.37.60.5060: SIP: SIP/2.0 100 Trying
23:39:23.893754 IP 10.132.138.115.5060 > 195.185.37.60.5060: SIP: SIP/2.0 404 Not Found
23:39:23.936620 IP 195.185.37.60.5060 > 10.132.138.115.5060: SIP: ACK sip:<meine-rufnummer>@10.132.138.115:5060 SIP/2.0
23:39:23.981602 IP 10.132.138.115.47906 > 195.185.37.60.5060: SIP: SIP/2.0 180 Ringing
23:39:34.017707 IP 10.132.138.115.47906 > 195.185.37.60.5060: SIP: SIP/2.0 200 OK
23:39:34.097930 IP 10.132.138.115.4056 > 195.185.37.60.21762: UDP, length 172
23:39:34.117796 IP 10.132.138.115.4056 > 195.185.37.60.21762: UDP, length 172

195.185.37.60 = IP-Adresse von sip.easybell.de
10.132.138.115 = von O2 meinem LTE-Router zugewiesene IP-Adresse
 
Sieht nach RTP-Keep-Alive aus. Du schickst sehr, sehr spät das erste RTP-Paket (8 Sekunden nach dem SDP-OK). Normal müsste sofort nach dem SDP-OK ein erstes RTP-Paket raus, weil Du ansonsten diese ganze Zeitspanne Du Dein Gegenüber nicht hörst. Folglich müsstest Du laut dem Mitschnitt für ganze acht Sekunden Dein Gegenüber nicht hören. Habe ich das richtig herausgelesen? Du hast durch das RTP-Keep-Alive einen Workaround gefunden. Ja. Aber das ist weder die Ursache noch eine saubere Lösung.

Was genau ist an YATE angeschlossen, mit was genau telefonierst Du? An dem VOIP/SIP-Client wird vielleicht irgendwie Sprech-Pausen erkannt (VAD).

Was ich in Deinem Mitschnitt nicht verstehe: Warum bekommst Du zwei Anrufe? Ist ja ganz wild.
 
Du schickst sehr, sehr spät das erste RTP-Paket (8 Sekunden nach dem SDP-OK).
Zwischen dem SDP-OK und dem erstem RTP-Paket liegen 0,08 sec.
Folglich müsstest Du laut dem Mitschnitt für ganze acht Sekunden Dein Gegenüber nicht hören.
Es gab nichts zu hören, da keine Verbindung mit dem Anrufer (bei dem hat es die ganze Zeit nur geklingelt).
Was genau ist an YATE angeschlossen, mit was genau telefonierst Du?
Eine Gigaset GoBox100.
Was ich in Deinem Mitschnitt nicht verstehe: Warum bekommst Du zwei Anrufe? Ist ja ganz wild.
Es sind zwei INVITE, die an unterschiedliche Ports gehen. Interpretierst Du das als zwei Anrufe?
 
Aus reiner Neugierde: Warum dann überhaupt der YATE?
Naja, bei nur einem IP-Phone wäre YATE natürlich Overkill.

Doch bei mir sind es 2 GoBox100 (mit je 2 Mobilteilen), 2 FB7490 (mit je 2 Analog-Telefonen) und 2 D-Link VoIP-Router (mit je einem Analog-Telefon). Die alle melden sich bei Yate an und können auch untereinander telefonieren (ohne eine externe Leitung zu belegen).

YATE verteilt eingehende Anrufe auf die einzelnen Telefone und regelt, wer wohin telefonieren darf.

YATE läuft bei mir auf einem OpenWRT-Router: für den Verkehr mit VoIP-Providern nutzt es die WAN-Schnittstelle des Routers, während die Verbindung mit den internen Telefonen über die LAN-Schnittstelle des Routers laufen. Im Ergebnis einmal NAT gespart.

Diese Kombination läuft bei mir seit mehreren Jahren völlig reibungslos.
 
Wenn Du irgendwie in den Logs, Mitschnitten oder sonst beschreiben kannst, was dieser Parameter Keep-Alive in YATE genau macht … würde ich mich freuen, das zu lesen. Freue mich, dass es nun bei Dir klappt. Aber ich verstehe nämlich technisch noch nicht, warum eine Änderung dieses Parameters auf einen solch niedrigen Wert geholfen hat.
 
was dieser Parameter Keep-Alive in YATE genau macht
Hier zu finden

Aber ich verstehe nämlich technisch noch nicht, warum eine Änderung dieses Parameters auf einen solch niedrigen Wert geholfen hat.
Das geht mir genauso. Ich habe seinerzeit einfach aufs Blaue an diversen Parametern gedreht. Da ich mich im Moment um andere Dinge kümmern muss, werde ich die Klärung zu einem späteren Zeitpunkt nachholen.
 
Ja, bitte vergiss uns dann nicht. Wäre nämlich wirklich interessant zu wissen, denn „interval for NAT keep alive“ ist sehr vage. Kann alles sein (Layer SIP oder Layer RTP oder sogar beides).
 
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.