PhonerLite mit Sipgate über Vodafone Kabelrouter: Eingehende Anrufe funktionieren nur gelegentlich

81Tom

Neuer User
Mitglied seit
9 Nov 2015
Beiträge
43
Punkte für Reaktionen
0
Punkte
6
Hallo, ich telefoniere über Sipgate Basic.
Neben einer Bria App auf meinem iPhone und PhonerLite im Büro (Telekom/Fritzbox), nutze ich auch zu Hause PhonerLite, hier jedoch über den Vodafone Kabelrouter.

Ausgehende Telefonate klappen zu Hause einwandfrei und die Sprachqualität ist super. Bei eingehenden Telefonaten klingelt es jedoch vielleicht in 1/4 aller Anrufe, , in den Fällen ist die Statusanzeige von PhonerLite dann auch meistens rot, während es auf meinem iPhone über Bria klingelt (da ist dann aber die Sprachqualität trotz Wlan oft mies).

Habt Ihr eine Idee, an welchen Einstellungen das liegen kann? Wie auch im Büro auf der Fritzbox, habe ich mich genau an die Anleitung gehalten.

Aktiviert bei Netzwerkeinstellungen: Port 5160, UDP, Multicast DNS, IPV6, Qos, Windows Firewall, GRUU
Aktiviert bei Codecs: G.711 A-Law, G.711u-Law, GSM, G722 WB, G729, DTMF

Viele Grüße

Tom
 
Da kommen dann wohl in 3 von 4 Fällen keine INVITE-Pakete mehr durch die Router-Firewall. Abhilfe dürfte hier eine permanente Portfreigabe für die IPv6-Adresse des Client-PCs schaffen (mit der Portnummer 5160, wenn das wie oben eingestellt ist), die man im Router einrichtet (sofern der das zuläßt). Dann verfällt der "ausgehende Tunnel", der durch die Registrierung bei sipgate aufgebaut wird, nicht mehr im Router und die eingehenden Pakete zerschellen nicht länger an der Firewall. Wenn's dann doch mal klappt mit dem "Angerufenwerden", dann ist vermutlich das Timeout im Router noch nicht erreicht und die INVITEs kommen an ihr Ziel.

Voraussetzung ist natürlich, daß der PC auch tatsächlich eine öffentlich erreichbare IPv6-Adresse zugewiesen bekommt vom Router. Meines Wissens hat weder Phoner noch Phoner Lite eine entsprechende Einstellung, um Timeouts in einer Firewall zu vermeiden - üblicherweise erfolgt das ja durch regelmäßige Kommunikation mit dem Registrar beim Provider. Wobei ich selbst üblicherweise nur Phoner (ohne Lite) empfehle - wenn ich mich richtig erinnere, waren bei letzterem auch keine zusätzlichen Möglichkeiten vorhanden (was sich aber geändert haben könnte).
 
Zuletzt bearbeitet:
  • Like
Reaktionen: KunterBunter
Sipgate schickt normal von sich aus ein Double-CRLF, ein Keep-Alive um das NAT aufrecht zu erhalten. Auch PhonerLite soll angeblich ein solches Keep-Alive senden. Ich habe aktuell kein Zugang zu Windows, um Dein Szenario mal nachzubauen (und bei Sipgate ist viel im Umbau, vielleicht bist Du trotz gleichem Tarif auf einer anderen Plattform). Daher wäre wohl das Sinnvollste Du schneidest im Hintergrund alles über Wireshark mit. In Wireshark filterst Du dann auf „udp.port == 5060“. Vielleicht sehen wir so gemeinsam was los ist.
  1. Sendet PhonerLite alle paar Sekunden was?
  2. Schickt Sipgate alle paar Sekunden was?
  3. In beiden Fällen die selbe IP-Adresse, IPv4 oder IPv6?
An Port-Freigaben zu schrauben braucht man daher erstmal nicht, weil das eben anders funktionieren müsste. Auch das SIP-REGISTER Expiry wird während dem Verbindungsaufbau ausgehandelt und viele Zeitspannen werden schlicht ignoriert. Durch das separate Keep-Alive auch erstmal nicht anzuschauen.
 
In Wireshark filterst Du dann auf „udp.port == 5060“.
Bist Du der Ansicht, daß das tatsächlich etwas bringt?

Und wenn da IPv6 verwendet wird:
Aktiviert bei Netzwerkeinstellungen: Port 5160, UDP, Multicast DNS, IPV6, Qos, Windows Firewall, GRUU
, wo ist dann das NAT, was (nach dem Forum von Phoner) das Senden dieser CRLF-Messages aktivieren soll? Welcher "Vodafone Kabelrouter" (siehe #1) macht denn bei IPv6 noch NAT für einen Client?
 
Du hast bei einer Firewall wie der AVM FRITZ!Box aber auch der Vodafone Station eine „Stateful Firewall“. Das bedeutet, dass immer noch die Ports nach einer gewissen Zeit zumacht werden. Man könnte jetzt ermitteln, wann genau … Aber nein, Sipgate schickt sein Double-CRLF sowohl in IPv4 als auch IPv6. Daher müsste das eigentlich tun. Ich habe ja nichts gegen Herumgerate. Aber warum nicht nachschauen, was genau passiert, also Analysieren. Vielleicht ist die Ursache etwas ganz anderes.
 
Die Letzte Aktualisierung von PhonerLite war...
https://lite.phoner.de/download_de.htm schrieb:
Letztes Update: 18. Februar 2022

3.00​

  • Fix: Contact-Header war abhängig von der gerufenen Request-URI bei eingehenden Rufen
  • Fix: Skalierung teilweise fehlerhast
Quelle: https://lite.phoner.de/download_de.htm
Deswegen frag ich mich gerade welche Version @81Tom wohl installiert hat.
 
Wo steht denn, daß ich etwas gegen "Nachschauen" hätte? Ich kann nur die "Theorien" in #4 nicht nachvollziehen - beim "Port 5160" vielleicht sogar noch "gerade so", falls EINER der beiden Ports tatsächlich 5060 sein sollte (so steht's ja auch im SRV-Record von sipgate), denn da würde ja nach beiden (Ziel- UND Quell-Port) gefiltert. Wobei bei IPv6 eigentlich auch die Verwendung von Port 5160 nicht nötig ist, denn der PC sollte ja seine EIGENE öffentliche IPv6-Adresse haben und dann kommt man sich da auch nicht ins Gehege, wenn der Router tatsächlich selbst SIP-Endpoint sein sollte - denn der Router hat dann schlicht seine eigene IPv6-Adresse, solange es nicht tatsächlich NAT6 gibt (was eher unwahrscheinlich sein dürfte).

Aber das war ja auch nicht die einzige Theorie in #4 ... der von Dir verlinkte Thread aus dem Phoner-Forum (von 2008) beschreibt ja explizit, daß von Phoner selbst nur dann ein CRLF im 25-Sekunden-Rhythmus gesendet wird, wenn da ein NAT-Szenario erkannt wird und meine (bisher unbeantwortete) Frage an Dich war nur, wo man da bei IPv6 (und das ist nun mal nach #1 explizit in Benutzung) ein solches NAT-Szenario finden würde. Oder hast Du "neuere Informationen", wie das bei IPv6 mit Phoner Lite dann aussieht? Wenn ja, warum verlinkst Du dann einen 14 Jahre alten Thread aus dem Support-Forum dort?



Und man kann SELBSTVERSTÄNDLICH auch "erst nachsehen" ... wenn man sich diesen Aufwand auch wirklich aufladen WILL. Längst nicht jeder hat Wireshark auf seinem PC - auf meiner Workstation läßt sich z.B. erst gar kein "frischer" Capture-Treiber mehr installieren und ich mußte mich obendrein zwischen einer (älteren) Version eines Netgear-Programms zur Konfiguration von Switches (das will "winpcap" sehen) und dem "neuen" Capture-Driver in Wireshark ("npcap" aus dem "nmap"-Projekt) entscheiden, weil auch der Kompatibilitätslayer von "npcap" mit der Netgear-Software (die basiert noch auf Adobe Air) nicht funktioniert.

Wenn man sich also jede Menge zusätzliche Arbeit machen WILL und obendrein Risiken für ggf. schon installierte Software eingehen MÖCHTE (eine Wireshark-Installation will dann eben auch "npcap" installieren und dafür "winpcap" rauswerfen - mein Netgear-Beispiel ist längst nicht die einzige Software, die ihrerseits auf "winpcap" gesetzt hat), dann KANN man sich auch ein Wireshark installieren ... man MUSS es aber auch nicht, um hier einer Lösung näher zu kommen. Erst dann, wenn man mit dem Versuch der Freigabe tatsächlich keine Besserung erzielt, MUSS man sich weitere Gedanken machen.

Man KANN aber genauso gut den Weg nehmen, der deutlich schneller sein dürfte (zumal man auch mit einem Wireshark-Mitschnitt NICHT sehen würde, warum bzw. ob EINGEHENDE SIP-Pakete an der Firewall im Router scheitern) und einfach mal die vorgeschlagene Port-Freigabe umsetzen (wie schon mal geschrieben: wenn der (unbekannte) Router das zuläßt).

Haben sich damit die Probleme erledigt (das muß man dann ja auch erst mal eine Weile beobachten), kann man sich den Mitschnitt auch sparen - zumal der eben auch "sehr unhandlich" wäre, denn die minimale Dauer für einen solchen Mitschnitt wären dann die Spanne zwischen zwei REGISTER-Aktionen und die kommen ggf. nur im 15-Minuten-Abstand beim Phoner (Lite) - stand m.E. jedenfalls irgendwo, da kann ich mich aber auch irren.

Aber ich bin natürlich auch gespannt darauf, welche "alternative Theorie" (anstelle einer Blockade von INVITE-Paketen durch den Router) Du "anbieten" möchtest für die beobachteten Symptome ... zumal Du - genauso wie alle anderen - es hier mit vielen Unbekannten zu tun hast ... beginnend mit dem unbekannten Wert, der im Router für das Timeout einer ausgehenden UDP-"Verbindung" genutzt wird.

WENN ein Wireshark-Mitschnitt WIRKLICH Sinn machen soll, dann muß der schon - und zwar zu dem Zeitpunkt, wo vom Provider ein INVITE eintrifft, was nicht bis zum SIP-Client durchkommt - VOR der Firewall auf der WAN-Seite erfolgen - was eine FRITZ!Box zwar auch tatsächlich bietet, aber ob das beim erwähnten "Vodafone Kabelrouter" auch so ist, kannst Du im Moment noch gar nicht einschätzen ... dazu müßte man schon mindestens noch wissen, was das für ein Modell ist.



Ich bin sicherlich der Letzte, der etwas gegen eine (sinnvolle) systematische Fehlersuche hat ... aber man kann es auch problemlos übertreiben und selbst bei ziemlich "eindeutigen Symptomen" erst mal viel Brimborium und Chichi betreiben - jedoch wird ein Allgemeinmediziner bei erst seit kurzem auftretendem Husten auch nicht gleich den Computertomographen anwerfen, um ein Lungenkarzinom auszuschließen. Wenn die Symptome nach einigen Tagen nicht verschwunden sind ... dann vielleicht schon, aber vorher schadet die "Untersuchung" dem Patienten mehr als die (vermutliche) Ursache - eine simple Erkältung.

Übertragen auf das Problem hier heißt das dann, daß ein versuchsweises Einrichten der Port-Weiterleitung (für die IPv6-Adresse des PCs mit dem SIP-Client) der deutlich schnellere Weg wäre, auch tatsächlich durch den Wegfall des Problems eine "Lösung" zu erzielen (war's das nicht, ist so eine Freigabe sogar wieder schneller entfernt, als man Wireshark (restlos) aus einer Windows-Installation getilgt hat) ... und wenn man unbedingt "mitschneiden" will, verbietet es ja auch niemand, daß man das parallel zur Freigabe noch macht.

Was sieht man eigentlich, wenn da von der sipgate-Seite KEINE Pakete (die von Dir postulierten CRLF) kommen, die den Tunnel offen halten? Woran erkennt man dann die Ursache für deren Fehlen? Wie sieht man in einem solchen Mitschnitt dann, WANN genau die Firewall die UDP-Verbindung wegen des Timeouts abräumt oder ob die noch offen wäre und nur KEINE Pakete kommen? Wie könnte man aus dem Fehlen von Paketen auf die Ursachen für dieses Fehlen schließen?

Mir fehlt (schon wieder ein "fehlen") jedenfalls etwas die Phantasie für die Antworten auf diese Fragen ... aber vielleicht ist es ja sogar ein Problem eines DNS-Timeouts, wo dann ein SRV-Record von sipgate (die haben eine TTL von 8 Stunden) verfällt und der Client damit keinen Domain-Namen und/oder Port für _sip._udp.sipgate.de mehr findet? Das ist genauso "geraten" ... und mit hoher Wahrscheinlichkeit ebenfalls Blödsinn (ich weiß nicht mal sicher, ob Phoner (Lite) überhaupt SRV-Records auswertet) - aber ich käme auch nicht auf die Idee, im allerersten Schritt zu versuchen, DAS als Ursache auszuschließen.



Und am Ende weiß ich auch gar nicht, wie Du auf diese Frage kommst:
Schickt Sipgate alle paar Sekunden was?
Was soll sipgate denn da schicken (bei IPv6) und warum? Ich habe mir mal den Spaß gemacht, das (auf einer FRITZ!Box und dann auch an deren WAN-Seite) mitzuschneiden:
sipgate-sip-traffic.PNG
Wo wären denn da die von Dir offenbar erwarteten CRLF-Pakete geblieben und was sagt deren Fehlen jetzt über MEINE SIP-Registrierung per IPv6? (Spoiler: Bei mir funktionieren eingehende Anrufe und wie man sieht, wird auch alle 540 Sekunden (ca. 9 Minuten) ein neues REGISTER an den Registrar gesendet.)
 
@81Tom wenn Probleme mit Wireshark auftauchen, einfach melden. Dann versuche ich meinen Windows-Computer freizuschaufeln und Deine Situation so nahe wie möglich nachzustellen. Problem ist, dass Sipgate gerade im Fluss ist. Die Frage ist nämlich, auf welcher Plattform Du bist (neu oder alt). Sipgate hat früher Double-CRLF geschickt. Dieses Verhalten hat Sipgate auch beibehalten, als sie ihren IPv6-Server eingeführt haben.
Port-Weiterleitung … Lösung
Eine Port-Weiterleitung ist bei VoIP/SIP keine Lösung sondern ein Workaround. PhonerLite hat einfach so zu funktionieren. Sollte die Ursache sein, dass Sipgate kein Keep-Alive mehr schickt, sollte die Ursache sein, dass PhonerLite bei IPv6 generell kein Keep-Alive schickt, dann wäre das an PhonerLite zu melden …
 
Hallo und Danke für eure Tips!
Als erstes habe ich PhonerLite von 2.8 auf 3.0 geupdatet, was aber keine Änderung brachte. Eine Portfreigabe kann ich in meinem Vodafone Kabelrouter leider grundsätzlich nicht einrichten, da nicht vorgesehen :(
Ich bin mit PhonerLite aber nicht verheiratet, wenn ihr mir ein problemloseres Programm empfehlen könnt, wechsle ich lieber, als lange nach Lösungen zu suchen.
 
Eine Port-Weiterleitung ist bei VoIP/SIP keine Lösung sondern ein Workaround.
Wie kommst Du auf dieses "schmale Brett"?

Wer den verlinkten Blog-Eintrag bei sipgate RICHTIG liest, wird auch bis zum "Fazit" gelangen, daß gegen wechselnde Adressen und/oder Ports von der Provider-Seite nichts unternommen werden könne - was auch erklären könnte, warum man diesen Unsinn nicht mehr verwendet inzwischen (es sind 8 Jahre vergangen). Das ist nun mal eine Protokollverletzung bei SIP - weder RFC3261, noch RFC2616 spezifizieren den Empfang einer "leeren" Nachricht (egal ob als Request oder Response) und die darauf folgende Reaktion - genau DAS ist daher auch etwas, was man guten Gewissens als "Workaround" beschreiben kann.

Die Theorie mit den wechselnden Ports können wir bei IPv6 (hier) auch schon ad acta legen - da es keine PAT gibt, sollte sich Phoner (Lite) auch immer mit dem eingestellten Absender-Port beim Registrar melden. Ob hier dann tatsächlich die "privacy extensions" des IPv6 aktiv sind und Windows daher - neben einer "festen" IPv6-Adresse - auch noch "temporäre" benutzt, benötigt auch kein WireShark zur Klärung, sondern lediglich einen Blick in die lokale Netzwerk-Konfiguration (ipconfig /all).

Wobei ich dem Autoren von Phoner (Lite) auch genug Expertise zutraue (Du nicht?), daß er beim Erzeugen seines Sockets und beim bind() an die zu verwendende Adresse dann auch dafür sorgt, daß das bei IPv6 die erwähnte "feste" Adresse ist bzw. daß diese zumindest beim Aussenden eines Pakets auch verwendet wird (er muß sie schließlich auch in seine SIP-Messages in Textform mit einbauen).

Und dann ist eine Portfreigabe für diese Adresse und den gewünschten Port alles andere als ein Workaround - das ist sogar (aus Sicht der Firewall) die sauberste Lösung ... denn alles andere, was irgendwie einen solchen "Tunnel" für eine gewisse Zeit "am Leben" halten soll, ist von so vielen weiteren, unbekannten Faktoren abhängig (einer davon ist die Timeout-Spanne für einen UDP-"Tunnel"), daß AN DIESER STELLE alle "Umgehungsmaßnahmen" für ein solches Timeout nur das sind, was "Workaround" im Ursprung bedeutet. Weil's so schön zum "Hauptsponsor" des Boards hier paßt, mal ein Link zum Thema "SIP und NAT", auch wenn der vorwiegend auf IPv4 abstellt - die "grundlegende Frage", was nun "Workaround" und was "Lösung" ist, beantwortet er auch auf seine eigene Weise, die mit Deiner Sicht wohl ebenfalls nicht übereinstimmt: https://www.3cx.de/voip-sip/nat/



Daß man für eine solche Port-Freigabe (oder -Weiterleitung, egal, wie man das nun nennen will) dann NATÜRLICH auch eine feste IPv6-Adresse des Clients braucht (auf die Unterteilung in Netz- und Interface-Identifier gehe ich jetzt nicht auch noch ein), steht bei mir schon in der allerersten Antwort - und dann IST auch eine solche Freigabe (sowohl die Ziel-IP als auch der Port SIND bekannt) die sauberste Lösung, weil sie NICHT mehr von anderen Einstellungen beim Provider oder im SIP-UAC/-UAS abhängig ist.



Wenn der Router gar keine Freigaben kann, c'est la vie ... anderen Router besorgen. Für 4,99 EUR/Monat gibt's bei VF eine 6660 - das ist (was man so hört) auch ein gerne von der Hotline geäußerter Tipp, wenn sich Kunden über die eingeschränkte Funktionalität der Vodafone Station beschweren.

Wobei das Modell der VFS ja IMMER NOCH unbekannt ist - da IPv4 und IPv6 da nun mal komplett anders arbeiten, verstecken sich derartige Einstellungen auch mal an Stellen, wo man sie vielleicht nicht erwartet - wobei das GUI der Vodafone Station wohl nur für IPv4 überhaupt Port-Freigaben vorsieht und das "komplett versteckt" (auch im "Experten-Modus"), wenn nur DS-Lite anliegt. Andererseits gibt es auch Vermutungen, daß einige Versionen der Firmware (unter "Vodafone Station" rangieren ja mehrere Modelle verschiedener Hersteller) GAR KEINE funktionierende Firewall für IPv6-Traffic bereitstellen - dann ist das Endgerät selbst dafür verantwortlich.

Wobei mich das auch noch auf die Frage bringt, welche Rechte für Phoner Lite in der Windows-Firewall hinterlegt sind ... da sollte auch schon dauerhaft die Genehmigung zum "bind()" an den verwendeten Port vorhanden sein (vielleicht aber auch gleich wieder "an alle Ports", das kann man ja leicht mit den erweiterten Firewall-Einstellungen überprüfen).
 
Hallo, es handelt sich um ein TouchstoneTG3442DE Router.
Den Wireshark Mitschnitt habe ich eben versucht, aber ein Filter auf Port 5060 oder 5160 hat keine Daten angezeigt, vielleicht habe ich da was falsch gemacht.
Was die Windowsfirewall angeht habe ich nur die Möglichkeit zum zulassen/nicht zulassen von PhonerLite gefunden, aber keine weitergehenden Einstellmöglichkeiten.
 
Eine Port-Weiterleitung ist bei VoIP/SIP keine Lösung sondern ein Workaround.
Wie kommst Du auf dieses „schmale Brett“?
Siehe …
Wenn Du Fragen zu VoIP/SIP im Allgemeinen, Firewall, IPv6 und Keep-Alives im Speziellen hast, einfach einen neuen Thread aufmachen. Dann erkläre ich alles gerne.
es sind 8 Jahre vergangen
Nur soviel: Als ich das letzte Mal Sipgate Basic mitgeschnitten hatte – vor einem Jahr vor deren Umstellung –, war dieses (sinnvolle und explizit sogar erlaubte) Verhalten noch zu sehen.
eine Portfreigabe für diese Adresse und den gewünschten Port
Nur soviel: Das gibt es in unseren „normalen“ Routern nicht. Stattdessen würdest Du eine Port-Freigabe für einen Port auf eine interne IP-Adresse aufmachen. Folglich bist Du nicht nur für Deinen VoIP/SIP-Anbieter sondern für die ganze Welt erreichbar (auf diesem Port). Das ist mehr, als Du willst. Will man nicht. Und Du musst es manuell in einem anderen Gerät einrichten. Will man nicht.
Den Wireshark Mitschnitt habe ich eben versucht, aber ein Filter auf Port 5060 oder 5160 hat keine Daten angezeigt
Merkwürdig. Anstatt auf den UDP-Port filtere mal nur auf „sip“. Dann siehst Du den Quell- bzw. Ziel-Port. Auf einen davon filterst Du dann, also wieder „udp.port == 5060“. Achte auch darauf, dass Du Wireshark mit entsprechenden Rechten ausführst (z. B. als Administrator) bzw. das richtige Interface erwischst (also nicht Ethernet sondern WLAN und so weiter).
Ich bin mit PhonerLite aber nicht verheiratet, wenn ihr mir ein problemloseres Programm empfehlen könnt
Eigentlich müsste es tun, daher wäre interessant zu wissen, was wirklich die Ursache ist. Das mit dem Port-Binding in der Firewall ist ja lediglich eine Arbeitstheorie. Könnte also auch mit anderen SIP-Clients passieren, vielleicht dort seltener und Du merkst es dann nicht. Aber es passiert. Und die Analyse hilft vielleicht auch vielen anderen Nutzern (wenn es denn ein Software-Bug ist der gemeldet gehört).
 
Danke, ich habe scheinbar den falschen Befehl zum Filtern genutzt, mit deinem hat es geklappt.
Allerdings konnte ich in der letzten halben Stunde den Fehler nicht mehr nachstellen - es hat immer funktioniert.
Einzige Änderung: Ich habe den Stun Server nachgetragen, das war vorher leer (sollte laut Sipgate Anleitung auch leer sein).
Ich halte die nächsten Tage nochmal die Augen offen, wäre ja super, wenn es das schon gewesen wäre.
 
Du verarschst damit ja nicht nur mich, sondern auch alle anderen, die hier mitlesen oder das später noch mal finden. Du willst doch jetzt nicht ernsthaft (D)einen eigenen Beitrag, der obendrein keine einzige Erklärung anbietet, WARUM eine Portweiterleitung nur ein "Workaround" sein soll (wie genau AVM das macht, interessiert hier NIEMANDEN, denn es geht nicht um einen AVM-Router), als "Begründung" anführen? (EDIT: Der Link, der im Zitat nicht mehr enthalten ist, geht nach: https://www.ip-phone-forum.de/posts/2394638)

Das erinnert mich stark an den "ARD-Faktenchecker" ... alles, was die da jemals als "Quellenangaben" verlinken, sind auch nur ihre eigenen, früheren Behauptungen. Das nennt man dann - glaube ich - "Blase".

EINEN Link auf eine andere Position (Zitat:
Einer der einfachsten Wege, diese Probleme zu umgehen ist Portweiterleitung.
) habe ICH Dir oben geliefert - und das war NICHT von mir selbst, mithin auch kein "Zirkelschluß". Wenn Du jetzt selbst immer zum "Beweis" Deiner Behauptungen mutierst, sind natürlich alle weiteren Diskussionen überflüssig.

Nur soviel: Als ich das letzte Mal Sipgate Basic mitgeschnitten hatte – vor einem Jahr vor deren Umstellung –, war dieses (sinnvolle und explizit sogar erlaubte) Verhalten noch zu sehen.
Zeigen ... schon die Frage, ob Du nun IPv4 oder IPv6 mitgeschnitten hast (was Du ja offenbar gar nicht als "wesentlich" ansiehst, sonst müßte man es als "Rahmenbedingung" ja zumindest mal erwähnen), macht da ja einen erheblichen Unterschied und ich habe hingegen derartiges NOCH NIE bei einer IPv6-Verbindung zu sipgate (die Verifikation meiner Adresse durch sipgate ist mittlerweile auch schon 11 Jahre und 2 Monate her) gesehen - und ich befasse mich auch viel mit Netzwerk-Mitschnitten.

Wenn es bei sipgate tatsächlich "Spezialisten" gab/gibt, die 2x CRLF für KEINE "protocol violation" hielten (komme ich gleich noch mal drauf zurück), dann mag das sein - nicht ganz umsonst schrieb ich exakt auch:
was auch erklären könnte, warum man diesen Unsinn nicht mehr verwendet inzwischen
Wobei selbst in dem Blog-Beitrag von sipgate, den Du oben verlinkt hast, nichts von "2x CRLF" steht, sondern nur:
Wenn wir ein Endgerät hinter NAT erkennen, treffen wir von unserer Seite Vorkehrungen, um die Verbindung stabil zu halten. Dazu gehört z.B. auch, dass wir alle 15 Sekunden ein kleines Paket zum Endgerät schicken, um die Verbindung offen zu halten. Auch die Geräte an IPv6-Anschlüssen erkennen wir recht zuverlässig und „behandeln“ sie so.

Aber Du weißt ja jetzt, daß das nicht nur von sipgate so praktiziert wurde, sondern auch noch, daß es sich dabei um:
dieses (sinnvolle und explizit sogar erlaubte) Verhalten
handeln würde.

Da ich dann wohl doch zu blind bin zum Suchen bzw. zum Finden der richtigen Stelle ... "beschäme" mich doch künftig einfach gleich dadurch, daß Du auf die entsprechende Stelle in der Spezifikation verlinkst, wo dieses Verhalten "explizit sogar erlaubt" ist. Das wäre ja "erhellend" - sowohl für mich als auch für "Mitleser".

Ich hoffe, das ist nicht zuviel verlangt - üblich ist es ja eigentlich, daß man seine Behauptungen (spätestens wenn sie die eines anderen in Zweifel ziehen), dann auch (automatisch und "unaufgefordert") belegt oder zumindest mal "nachvollziehbar" begründet. In der SIP-Spezifikation (RFC s.o.) und der HTML-Spezifikation (auf die sich SIP bei den Message-Formaten bezieht) wüßte ich jedenfalls nicht, wo das "explizit erlaubt" wäre ... aber ich kenne natürlich auch nicht "jede Zeile" darin, nur die (für mich) wichtigsten.

Aber man könnte sich ja vielleicht auch mal die Frage stellen, warum andere Hersteller (u.a. ja auch AVM und auch Asterisk bei seinem "qualify") das dann nicht auch "einfach mal so" mit einer leeren Message machen ... beim Asterisk findet man die Online-Hilfe auch recht einfach, wenn man mal danach sucht: https://www.voip-info.org/asterisk-sip-qualify/ - ich zitiere mal auch hier:
This feature may also be used to keep a UDP session open to a device that is located behind a network address translator (NAT). By sending the OPTIONS request, the UDP port binding in the NAT (on the outside address of the NAT/firewall device) is maintained by sending traffic through it. If the binding were to expire, there would be no way for Asterisk to initiate a call to the SIP device.
(zwar auch alt, aber immer noch gültig und auch so implementiert)

Da werden also AUCH "richtige" Messages (nämlich OPTIONS) gesendet (hier ja dann auch "von der Providerseite") und nicht nur irgendeine "leere Zeile" (das zweite CRLF ist ja beim HTTP-Protokoll, auf das SIP aufsetzt bei den "basic rules", auch immer als "Abschluß" für den Message-Header erforderlich).

Und hast Du Dir mal ein Paket, was eine FRITZ!Box sendet, wenn man "Portweiterleitung offenhalten" einstellt, genau angesehen? Ich kenne das jedenfalls auch nur so, daß da binäre Nullen (und zwar vier an der Zahl) gesendet werden und das sind nun mal KEINE Daten, die man als SIP-Message (egal ob Request oder Response) interpretieren könnte.

Aber vielleicht hilft eben doch zur Klärung eventuell noch verbleibender Zweifel der (möglichst auch noch eigene) Blick in die entsprechenden Spezifikationen und auf RFC3261 hatte ich zwar oben auch schon verwiesen, aber für Dich zitiere ich natürlich auch gerne noch daraus (https://datatracker.ietf.org/doc/html/rfc3261#section-7):
Both types of messages consist of a start-line, one or more header fields, an empty line indicating the end of the header fields, and an optional message-body.
Das steht also ganz EINDEUTIG nichts von "zero or any count of header fields", sondern "one or more" und auch nichts von "an optional start-line". Wo wäre denn bei Deinen "2x CRLF" jetzt diese "start-line" und das eine, mindestens geforderte "header field" genau zu finden?



Sei also nicht böse, wenn ich auf:
Dann erkläre ich alles gerne.
dann lieber dankend verzichte ... ich "traue" Deinen Erklärungen irgendwie nicht so richtig, so lange die nur immer wieder auf Deine eigenen, früheren Ausführungen verweisen. Wobei die ja auch nicht immer so gaaanz korrekt sind - und üblicherweise wartet man auf Antworten auf Fragen zu Deinen "Theorien" ja so lange, daß man das ganze Thema schon längst wieder verdrängt hat bzw. Du legst ja erheblichen Wert auf die Feststellung, daß Du nicht antworten MUSST - was zweifellos auch richtig ist, mich aber nicht vom Stellen der Fragen abhalten kann.
 
Ich kann es nur anbieten. Wenn Du irgendwann einmal Interesse hast zu lernen, einfach einen neuen Thread aufmachen, alle Punkte, die Du nicht verstehst, als Frage formulieren. Und dann erkläre ich das gerne solange, bis es verstanden ist. Das Angebot gilt auch für jeden Passiv-Leser hier. Die Frage ist ja hier nicht, wie RFCs zu lesen sind, sondern

PhonerLite, mit Sipgate Basic, hinter dem Touchstone TG3442DE, am Vodafone Cable-Anschluss​

Und ich werde hier nicht vom Hölzchen aufs Stöckchen kommen, solange nicht neugierig gefragt wird. Nur soviel: Der Verweis zeigt auf ein Zitat von @chrsto , der das genauso sieht wie ich. Dort konnte ich sogar nachweisen – ein Schritt weiter, darauf habe ich verlinkt –, dass seine einzig bekannte Ausnahme gar keine Ausnahme ist. Und ja, ich hatte dieses Verhalten sowohl in IPv4 als auch IPv6 gesehen (wie ich Post #8 bereits mit „beibehalten“ geschrieben hatte). Und nochmal zurück zu meinen Erfahrungen und daher meinen Annahmen:
  1. Sipgate müsste ein Keep-Alive machen, also dürfte das Problem nicht auftreten.
  2. PhonerLite müsste ein Keep-Alive machen, also dürfte das Problem nicht auftreten.
  3. PhonerLite bietet keine Einstell-Möglichkeit, also müsste es das egal bei welchen IP-Version/Router tun.
  4. Wir wissen nicht einmal über welche IP-Version es bei 81Tom passiert.
Folglich kann ich mir keinen Reim auf sein Fehlerbild machen und habe ihm angeboten, dass mit Wireshark (zusammen) zu überprüfen. Was spricht gegen dieses Angebot? Sollte herauskommen, dass Sipgate kein Keep-Alive mehr macht, und sollte herauskommen, dass PhonerLite (bei IPv6) kein Keep-Alive macht – dann wäre das an @Phoner zu melden. Er kann dann entscheiden, ob das zu beheben ist oder @81Tom einen anderen Weg gehen muss – wenn es denn überhaupt die Ursache ist.
scheinbar den falschen Befehl zum Filtern genutzt, mit deinem hat es geklappt.
Was genau hast Du genommen: „sip“ oder „udp.port == 5060“? Bitte bei „sip“ vorsichtig sein: Dort siehst Du nur die SIP-Nachrichten. Diese Keep-Alives siehst Du nur wenn Du auf
a) (Quell- oder Ziel-) Adresse oder​
b) (Quell- oder Ziel-) Port oder​
c) „udp“​
filtern würdest.
Ich habe den Stun Server nachgetragen
Kann sein, dass das ein anderes Keep-Alive aktiviert hat. Kann also gut sein, dass es das „gelöst“ hat.
in der letzten halben Stunde den Fehler nicht mehr nachstellen - es hat immer funktioniert
Vorsicht. Solange Du das Timeout Deines Routers nicht kennst bzw. nicht weißt, wann das letzte „SIP-Paket“ übermittelt wurde, kannst Du zufällig immer zur richtigen bzw. falschen Zeit angerufen haben. Oben hatte ich einen Link, wie man das Timeout ermittelt. Eine andere Möglichkeit ist, wenige Sekunden vor dem nächsten re-REGISTER anzurufen. Wenn das Timeout denn überhaupt die Ursache ist. Daher oben die Fragen.
 
@81Tom:
Eigentlich sollte es sich - wenn das Eintragen des STUN-Servers tatsächlich DAUERHAFT helfen sollte - nur um einen Seiteneffekt handeln. Per se ist - sofern die Aussage "IPv6" in #1 stimmt und von "Dual-Stack" steht da ja auch nichts - bei IPv6 aber gar keine NAT-Funktionalität im Weg, so daß die Verwendung von "Session Traversal Utilities for NAT" (das ist dann "STUN") da auch nur wenig Sinn ergibt.
phonerlite_network.PNG

Selbst wenn Phoner Lite für den Kontakt zum STUN-Server den eigenen UDP-Port verwenden sollte, müßte der Zielport am STUN-Server eigentlich 3478 sein und damit ist so eine Abfrage dann eigentlich auch nicht dazu geeignet, einen ausgehenden "Tunnel" durch eine IPv6-Firewall am Leben zu erhalten.

Plausibel wäre da dann vielleicht noch eine falsche unglückliche Implementierung des STUN-Clients, der vielleicht trotz IPv6 und OHNE tatsächlich ausgeführte "Network Address Translation" (aka NAT) eine solche zu erkennen glaubt und daher dann tatsächlich zusätzlichen Traffic erzeugt (der dann hoffentlich auch hier nicht wirklich weiterhin aus 2x CRLF besteht, wie das wohl 2008 mal beschrieben wurde) - so, wie das im Phoner-Forum zu lesen war. DAS findet man dann aber tatsächlich sogar mit einem Packet-Dump zwischen Router und PC (also auch auf der Netzwerkschnittstelle des PCs) heraus ... denn dann müßte man solche Pakete dort ja auch sehen.



@sonyKatze:
Um das mal "ins Reine" zu formulieren: Wenn jemand Deine Aussagen für "fragwürdig" hält und Dich darum bittet, diese doch näher zu erläutern (bleiben wir doch einfach mal dabei, wo das mit den 2x CRLF denn jetzt "explizit erlaubt" wäre - das ist ja etwas Konkretes und Faßbares und nicht auf "frühere Beobachtungen" angewiesen), dann bestimmst immer noch Du, welche Form derjenige dann zu wählen hat, damit Du Dich dazu bereit erklärst, es eventuell doch in Erwägung zu ziehen, Dich dazu noch einmal zu äußern.

Derweil bleibt dann der Unsinn (nach meinen Darlegungen hinsichtlich der Standards lasse ich mich dann doch zu dieser Charakterisierung hinreißen) in diesem Thread hier (wo Du das ja selbst geäußert hast) weiterhin stehen und zwar "unwidersprochen"? Sorry - nicht mit mir. Meine "Fragen" zielen ja auch nicht darauf, daß Du MIR etwas erklären sollst, wie etwas funktioniert - ich frage nach "Begründungen" für doch sehr fragwürdige Theorien und nach Belegen für fragwürdige Aussagen. Es geht mir also NICHT darum, von Dir etwas "zu lernen" oder meine eigenen Kenntnisse durch Fragen an Dich zu vertiefen ... es geht darum, Quellen, Belege, Erklärungen für wilde und eben bis dato unbewiesene Behauptungen zu erhalten.

Ich möchte eigentlich auch nur andere Leser darauf aufmerksam machen, wie wenig fundiert Deine Ausführungen an manchen Stellen wirklich sind - von den Vorschlägen zur "Fehlersuche", wo ich immer noch auf eine Erläuterung warten würde, WAS GENAU man denn mit einem Packet-Dump zwischen Router und PC zu diesem Problem erkennen würde und was man daraus dann für (eindeutige) Schlüsse ziehen könnte, bis hin zu Deiner freimütigen und unbewiesenen Behauptung, zwei aufeinanderfolgende CRLF-Zeichen würden eine "erlaubte" SIP-Message darstellen.

Und wenn Du Dich dann auch noch der Präzisierung verweigerst ... was sollen denn "die Leute" dann von Deinen Ausführungen halten? Mit diesen "Ausflüchten" untergräbst Du letztlich nur Deine eigene Glaubwürdigkeit ... und wenn Du tatsächlich der Ansicht bist, Deine "Erklärungen" würden hier nur stören: Nun, es bliebe Dir ja unbenommen, diese Antworten und Erklärungen selbst in einem neuen Thread zu geben und von hier dann dorthin zu verlinken.

Ich werde aber - schon aufgrund bisheriger Erfahrungen - den Teufel tun und das alles noch einmal selbst in einem neuen Thread "fragen" (wo es dann gar keinen eigenen Kontext mehr hat, denn der Quatsch von Dir stünde ja weiterhin hier in diesem Thread und nicht in dem neuen, solange ich das nicht auch noch alles "kopiere") ... ich habe auch (steht oben schon mal) nicht vergessen, daß Du Dein Recht, nur auf die Fragen zu antworten, die Dir auch "passen", sehr ernst nimmst und es gibt noch genügend andere Fragen meinerseits, die (auch ohne daß da ein "fehlender Zusammenhang" zum Thread-Kontext zu erkennen war) noch auf eine Antwort von Dir warten - z.B. in diesem Thread hier: https://www.ip-phone-forum.de/threa...liche-sicherheitsprobleme.307255/post-2376885

Was sollte mich jetzt zur Vermutung veranlassen, Du würdest das - nachdem ich das alles noch einmal "neu gefragt" habe an anderer Stelle - diesmal anders handhaben? Ich sehe keinen plausiblen Grund, ausgehend von den bisher mit Dir gemachten Erfahrungen. Andere mögen sich halt ihre eigene Meinung dazu bilden ...
 
Da ich oben mit eingebunden wurde:

Ja, ich halte Portweiterleitungen bei VoIP für falsch.

Zum Thema CRLF möchte ich aus der technischen Unterlage für SIP Trunk der Telekom zitieren, auch wenn das zu Sipgate nicht ganz passt:

11.6 Keepalive
Um NAT-Bindungen aufrechtzuerhalten, werden Firewall-Richtlinien und auch die Überwachung einer TCP-Verbindung mittels Keep-Alive-Mechanismen empfohlen. Der bevorzugte Mechanismus ist das Senden von CR/LF. Im Falle eines Verbindungsabbruchs kann CR/LF ein TCP-RST auslösen und die TCP-Sitzung rechtzeitig beenden, anstatt auf den
Ablauf einer Sitzung zu warten. Dieser Aspekt ist auch wichtig, um die Registrierung aufrechtzuerhalten, wenn ein Verbindungsausfall auftritt.

Das Keep-Alive sollte je nach lokaler Umgebung und Anforderungen des Kunden konfigurierbar sein. Der Anfangswert für die Keep-
Alive-Frequenz sollte 120 Sekunden betragen, wie in RFC 5626 empfohlen.

Die Verwendung von SIP-OPTIONS sollte vermieden werden, um die Last und die Anzahl der SIP-Anfragen zu reduzieren.
 
Bei der Telekom ist das dann - zumindest nach dem Zitat - eine Entscheidung auf der Basis der eigenen Ressourcen (falls sich das auf "outgoing keep-alives" wie beim "qualify" im Asterisk beziehen sollte). Das Vorgehen der Telekom mag zwar dann (als immer noch größter Provider in D) etwas mit der "normativen Kraft des Faktischen" zu tun haben (wenn man das tatsächlich auch für UDP-Registrierungen machen sollte und EXAKT um solche (UDP over IPv6) geht es nach den Angaben in #1 ja), ist aber dennoch bei UDP (ich wiederhole das von oben jetzt nicht noch einmal) ein Verstoß gegen das SIP-Protokoll ... auch den Hinweis, daß sich AVM wohl nicht an diese "Technische Richtlinie" (ich nehme jedenfalls mal an, daß das aus einer TR stammt - gibt's keinen öffentlich erreichbaren Link, damit man selbst nachlesen kann?) hält (wenn das nicht ohnehin für den SIP-Trunk der Telekom noch etwas anderes ist, als für "normale" Registrierungen), denn dort sendet man (nachprüfbar) eben kein CRLF, sondern binäre Nullen - auch hier wieder "per UDP", WEIL das eben auch wieder einen Unterschied macht (komme ich gleich noch drauf).

Im Extremfall könnte man das "Beschäftigen" eines SIP-Parsers (der bei einer "leeren" UDP-Nachricht ja trotzdem erst mal feststellen muß, daß diese NICHT den Protokollvorgaben entspricht) sogar als mutwilligen Ressourcenverbrauch und als "Angriff" bewerten - zumal die einzige "verläßliche" Angabe, wer da mit dem Parser eigentlich gerade Haschmich spielt, die Absenderadresse im UDP-Paket wäre, die man bekanntlich auch leicht fälschen kann - daher ist das für UDP (und ich erinnere gerne auch noch mal daran, daß es hier von Beginn an nur um UDP ging, falls man nicht die Angaben von @81Tom in #1 wieder komplett in Zweifel ziehen will und dafür gibt es in meinen Augen KEINEN Grund) eben auch NICHT SPEZIFIZIERT, daß man mit "ping" und "pong" (die Antwort - auf die ja der zitierte Telekom-Text auch nicht weiter eingeht - spielt für "echtes" Keepalive ja auch noch eine Rolle (sonst soll die Verbindung ja als "failed" angesehen werden) und so muß der Client auf der anderen Seite das dann auch noch implementieren - obwohl er nach dem SIP-RFC auch nicht zur Benutzung von Keepalive-Mechanismen "verpflichtet" ist ... wenn das jemand als Provider "fordert", dann vielleicht wieder wegen der erwähnten "normativen Kraft", aber nicht basierend auf RFCs, zumindest nicht nach RFC 3261.

Und das bringt mich dann wieder zu der Feststellung, daß im zitierten Text aus der TR explizit auch wieder von TCP die Rede ist (ob der Kontext stimmt, kann man eben ohne Quellenangabe nicht erkennen), wo es andere Mechnismen gegen solche "Angriffe" gibt ... es wäre jetzt spannend zu wissen, ob diese "Empfehlung" (man sollte ein "sollte vermieden werden" auch nicht mit einem "darf nicht" verwechseln) auch für UDP gilt (RFC 5626 sagt: nein). Auch ist es natürlich der Telekom überlassen, was sie gerne (von ihren Kunden) als "keep-alive" sehen MÖCHTE ... wenn deren Parser sich an der - ich hoffe mal, auch von Dir (@chrsto) nicht bestrittenen - Verletzung des Protokolls nicht stören, ist das deren Problem.

Denn gleichzeitig steht da eben auch nichts davon, daß die Telekom ihrerseits selbst solche Pakete als Keepalive SENDEN würde (erst recht nicht abseits von TCP), wie es hier ja für sipgate behauptet wurde ... was angesichts der "Unkenntnis" der Telekom-Registrare, wie sich die jeweiligen Implementierungen der SIP-Stacks auf der Kundenseite bei einer solchen Verletzung des Protokolls verhalten würden, sicherlich auch besser ist ... und auch hier noch mal: Bei UDP könnte man - wenn ein Parser/SIP-Stack darauf allergisch ist und "zumacht", auch wieder wunderbar DoS-Angriffe auf einen SIP-"Anschluß" fahren - bei TCP ist das Problem automatisch geringer, weil nur der richtige Absender sein Paket durch den vorgelagerten TCP-Stack bis zum SIP-Parser kriegen sollte. Wenn die Telekom-Implementierung ihrerseits mit "pong" auf ein "ping" von einem Client reagieren sollte, ist das natürlich in Ordnung - zumindest innerhalb einer TCP-Verbindung und auch dann ist so eine Antwort (zumindest nach RFC 5626) eben NICHT 2x CRLF, sondern das "pong" ist nur noch als einmal CRLF spezifiziert.

Man sollte eben auch WISSEN, daß in RFC 5626 das Senden von 2x CRLF wieder GANZ EXPLIZIT auf "connection-oriented transports" beschränkt wird - da ist dann auch wieder der "threat"-Aspekt nicht weiter zu berücksichtigen: https://datatracker.ietf.org/doc/html/rfc5626#section-3.5.1 und damit sind wir wieder beim SIP-RFC, wo zwar auch geregelt ist (https://datatracker.ietf.org/doc/html/rfc3261#section-7.5):
Implementations processing SIP messages over stream-oriented transports MUST ignore any CRLF appearing before the start-line.
- aber da ist auch nicht genau festgelegt, wie damit umzugehen wäre, wenn es dann gar keine "start-line" danach mehr gibt. Es hat ja auch seine Gründe (man kann sich ja auch noch mal die "Security considerations" zum SIP-Protokoll ansehen), warum das als Technik NUR für TCP (oder STCP) zugelassen ist - bei UDP kann ein Angreifer den Registrar einfach mit Paketen mit gefälschter Absenderadresse "flooden" und wenn der dann (oder ein vorgelagertes IPS/IDS) den vermeintlichen Absender aussperrt, ist das exakt ein Beispiel für "tearing down sessions" - auch ohne dafür eine BYE-Message zu brauchen. Bei TCP-Verbindungen kann man sich (in gewissen Grenzen) zumindest sicher sein, daß man die richtige Adresse "aussperrt".

Ich habe ja nicht umsonst auch mehrmals versucht, immer wieder "nachzufassen" und eine "echte Antwort" zu provozieren, in der dann auch GENAU enthalten sein sollte, was da wo und von wem gesendet wird und welche "Rahmenbedingungen" dafür zutreffen müssen. Angesichts vergangener Versuche, mich von der Seite "anzupflaumen" (vielleicht hier noch ein Beispiel: https://www.ip-phone-forum.de/threa...liche-sicherheitsprobleme.307255/post-2376841), fühle ich mich eben (erst recht dann, wenn so eine Antwort direkt im Widerspruch zu meiner davor steht) manchmal versucht (aber nur selten, üblicherweise versinkt das im Rauschen), meinerseits zu "challengen", was da tatsächlich an "Wissen" hinter solchen Angaben steckt ... und ich finde die "Fragen", die ich dann meinerseits aufgeworfen habe hinsichtlich der Thesen, jetzt nicht sooo abwegig und bin sogar der Ansicht, sie hätten beim Versuch einer korrekten Antwort auch "auf die richtige Spur" geführt - höchstens noch meine Annahme, ich würde tatsächlich mal eine "ernsthafte" Antwort mit Begründungen und Quellenangaben erhalten, war da offensichtlich erneut "zu naiv".



Ja, ich halte Portweiterleitungen bei VoIP für falsch.
Nehme ich zur Kenntnis, aber mit welcher Begründung? Denn jetzt stehe ja auch ich mit meiner Ansicht, daß es - in einigen Szenarien, ich habe das ja auch nicht pauschal als Lösung für jeden Fall und alles "beworben" - auch Fälle gibt, wo das notwendig sein kann (wenn es denn machbar ist), nicht alleine und falls es noch einen Link braucht: https://www.voip-info.org/nat-and-voip/.

Wenn es keine Option GIBT, einen Keepalive-Mechanismus nach RFC5626 zu aktivieren (und noch mal: Das ist eine optionale(!) Erweiterung des Protokolls und NICHT Bestandteil von RFC3261.), dann bleibt am Ende gar nichts anderes - wie gesagt, wenn die restliche Technik das auch noch unterstützt.

Hinzu kommt noch, daß auch die Keepalive-Mechanismen nach RFC5626 eigentlich noch keine "reliable connection" garantieren - denn in der Zeit, die zwischen zwei Keepalive-Aktionen vergeht, kann die Verbindung aus vielen anderen Gründen auch noch abreißen (nur ein UA, der auch auf dem Edge-Router läuft, würde das direkt "erfahren" können) und daher ergeben sich da dann auch immer noch "Lücken" in der Erreichbarkeit des SIP-UA. Dagegen spezifiziert dann RFC5626 als eine Option die Verwendung von MEHREREN Registrierungen ... ich weiß selbst auch nicht, welche Provider (in D) da tatsächlich so weit mit dem RFC konform sind, daß sie auch das klaglos akzeptieren.



Was wurden denn hier bisher für "Postulate" niedergeschrieben, denen ich nicht folgen will (ich nehme jetzt nur mal die letzten)?
  1. Sipgate müsste ein Keep-Alive machen, also dürfte das Problem nicht auftreten.
  2. PhonerLite müsste ein Keep-Alive machen, also dürfte das Problem nicht auftreten.
  3. PhonerLite bietet keine Einstell-Möglichkeit, also müsste es das egal bei welchen IP-Version/Router tun.
  4. Wir wissen nicht einmal über welche IP-Version es bei 81Tom passiert.
Gehen wir das doch mal der Reihe nach durch ... wo steht denn, daß sipgate das machen MÜSSE? Die einzige "Quelle" dafür ist ein acht Jahre alter Blog-Eintrag bei sipgate, daß man das 2014 so machen wollte oder gemacht hat. Wie genau, steht da auch nicht, die 2x CRLF sind ja nicht im Blog zu lesen - und auch kein Bezug auf RFC5626, wobei dessen Spezifikation ja ohnehin NICHT für ein Keepalive seitens des Registrars gilt. Dort ist zwar auch desöfteren nur von "UA" (und nicht explizit von "UAC") die Rede, aber ein Registrar ist dort auch kein "UAS", sondern eben "registrar". Und dann wäre da noch eine vermeintliche (aber "unbelegte" - auch das hätte ja schnell wieder "zeigen" können, ob das nun UDP oder TCP war) Beobachtung, daß es irgendwann mal so gewesen sein soll.

Der Registrar kann zwar einen UA zu Keepalives auffordern (dafür gibt es den "Flow-Timer"-Header: https://datatracker.ietf.org/doc/html/rfc5626#section-10 und der gilt auch für beide Keepalive-Techniken in RFC5626), aber er selbst sendet (jedenfalls nach der Spezifikation) nicht aktiv irgendwelche Keepalives aus. Wenn das sipgate also tatsächlich 2014 selbst so gemacht haben SOLLTE (ich glaub's ja immer noch nicht, erst recht nicht per UDP), dann ist das auch durch RFC 5626 "nicht gedeckt" ... aber ich lasse mich ja mit entsprechender Quellenangabe auch vom Gegenteil überzeugen - RFC5626 ist ja auch schon von 2009 und war 2014 "in Kraft".

Aber auch die "Beobachtung", daß sipgate da 2x CRLF senden würde, ist ja "alt" (irgendwo steht noch, daß das mindestens ein Jahr her ist, seitdem das "geprüft" wurde) und dennoch soll dann irgendwie aus einem Mitschnitt zwischen Router und SIP-Client (also auf der LAN-Seite der - vermuteten - IPv6-Firewall) erkannt werden, wo da ein Problem besteht, wenn diese Pakete "nicht ankommen"? Wie ich oben gezeigt habe, stimmt - zumindest in meiner Konstellation, die mit der in #1 beschriebenen übereinstimmt - schon die Annahme nicht, daß seitens sipgate irgendwelche "keep-alives" gesendet werden müßten ... was soll dann deren Fehlen in dem "vorgeschlagenen" WireShark-Mitschnitt am Ende beweisen?

Insofern hat sich auch Punkt 4 erledigt, denn es steht ja explizit in #1, daß nur IPv6 aktiviert ist ... angesichts der "vollständigen" Aufzählung aller anderen Checkboxen, kann man sicherlich auch getrost ausschließen, daß da "Dual-Stack" ebenfalls gewählt wurde und dann bleibt bei aktiviertem "IPv6" nicht mehr so viel übrig als Alternative.

Oder, wenn man das auch noch in Zweifel ziehen will, man kann ebenso gut auch eine komplette Unterbrechung der Internet-Verbindung als "Problem" postulieren, die dann eingehende Anrufe blockiert ... nein, stimmt nicht ganz, denn der SIP-Client auf dem Smartphone signalisiert den ja noch - wenn der dann auch in demselben (W)LAN ist ... und so weiter - DAS ist es dann, was ICH "vom Hölzchen aufs Stöckchen" nennen würde, wenn man anstelle der wahrscheinlichsten Ursachen eines Problems (siehe "Occam's razor"), erst mal klären will, ob die Elektronen vom Anbieter beim Stromfluß auch den richtigen Spin haben.

Punkt 2 - Phoner Lite "müsste" ein Keepalive senden? Ja, aber ein solches Keepalive ist eben - wenn es der Spezifikation in RFC5626 entsprechen soll - nicht automatisch auch "2x CRLF" - erst recht nicht, wenn hier UDP verwendet wird (und erneut: Exakt das steht so in #1.). Aus dem verlinkten Post im Phoner-Forum geht jedenfalls auch wieder nicht hervor, was da tatsächlich geschieht - hier wäre dann vielleicht wieder eine Überlegung (beim Leser bzw. bei demjenigen, der das als "Quelle" nutzen wollte) angebracht gewesen, daß RFC5626 erst 2009 festgeklopft wurde, obwohl der Draft dafür schon aus 2005 stammt - aber auch mein "Hinweis" auf das Alter des Beitrags hat ja offenbar nichts gebracht, zumindest nichts "Sichtbares" in der Reaktion.

Obendrein beschreibt der Autor von Phoner da ja auch noch explizit, daß das nur aktiviert wird, wenn ein NAT-Gateway im Verbindungsweg erkannt wird. Wo das NAT hier beim IPv6 sein soll, ist immer noch unbeantwortet (komme ich aber auch wieder später drauf zurück).

Auch Punkt 3 ist "zweideutig" ... am Ende läßt der sich sogar als "Forderung" an den Autoren von Phoner Lite interpretieren, der solle doch bitte gefälligst sein Programm entsprechend ändern, falls RFC5626 (noch) nicht unterstützt wird. Ich persönlich würde hier ja erst mal hingehen und mir das Programm und seine Dokumentation ansehen - man erlebt manche Überraschung. Ich habe jedenfalls auf der Suche nach einer Beschreibung, was der STUN-Server in Phoner Lite denn nun genau macht (wenn das nach dem Eintragen eines Namens jetzt funktioniert, macht mich das neugierig), auch noch das hier gefunden:
https://lite.phoner.de/config_de.htm - ich zitiere mal:
Selbst die Verwendung von STUN garantiert jedoch nicht immer eine reibungslose Kommunikation. Restriktive Firewalls muss man im Fehlerfall also so konfigurieren, dass auf den UDP -Ports 5060 und 5062 eine Portweiterleitung zu dem PC mit PhonerLite erfolgt.
Nun bezieht sich das zwar (vermutlich) auch eher auf IPv4, wobei es bei IPv6 (und wieder: sofern der Router es zuläßt) auch verwendet werden kann ... aber ich finde es auch reichlich "kühn", wenn ein Dritter (obendrein ohne den Willen oder vielleicht ja doch auch ohne die Fähigkeit, das dann entsprechend zu begründen) auch noch mit dem Autoren einer Software "streiten" will, was denn nun das "richtige Vorgehen" wäre. Wenn Phoner Lite tatsächlich nicht die Keepalives nach RFC 5626 implementiert haben SOLLTE (wie geschrieben, komme ich später noch mal drauf zurück), dann "müßte" das Programm auch keine Keepalives senden. Der Webseite kann man leider nicht entnehmen, was da konkret an Standards unterstützt wird - oder ich habe das auch nicht finden können.

Aber schon die Beschäftigung mit Phoner (und ich selbst habe mir Phoner Lite auch tatsächlich erst erneut angesehen, als ich es "ganz genau" wissen wollte - aber immerhin kannte ich Phoner und dessen Konfigurationsmöglichkeiten und Anzeigen wenigstens ... und da hat sich nach meiner Erinnerung ja tatsächlich vieles geändert) hätte wieder eine viel einfachere Methode, die SIP-Dialoge zu verfolgen, aufgezeigt - die "Debug-Ausgabe" (die auch schon im Thread von 2008 erwähnt wird - man KONNTE also ohne weiteres auch wissen, daß es diese Ausgaben gibt) zeigt ja die SIP-Messages (Requests und Responses) an und wenn man tatsächlich "Zweifel" daran haben sollte (worauf gründen die sich eigentlich genau?), was da verwendet wird, dann reicht ein Blick ins Fenster und man braucht immer noch keinen WireShark-Mitschnitt, um solche "basics" zu prüfen - die Begründung, warum man den Aussagen in #1 und/oder den Einstellungen im Programm nicht trauen will, fehlt ja weiterhin.



Mich würde ja schon mal "aus Prinzip" interessieren, WIE GENAU eigentlich jetzt ein Programm auf einem Rechner mit einer öffentlichen IPv6-Adresse ermitteln soll, ob da irgendwo noch eine IPv6-Firewall im Weg steht, die den Empfang von beliebigen(!) Paketen aus dem Internet auf diesem Rechner ver- oder behindert. Ich wüßte keinen zuverlässigen Weg ... denn hier (UDP, IPv6, Rechner mit öffentlicher Adresse) gibt es meines Wissens keinen Grund für irgendein "NAT" (und ein Mitschnitt auf dem PC oder irgendwoanders auf der LAN-Seite des Routers würde das auch immer noch nicht zeigen können) und da stellt sich dann die Frage, warum man dort eines entdecken und damit definierte Keep-Alive-Mechanismen aktivieren sollte.

Was könnte man also noch machen? Man könnte an einen Server im Internet eine Aufforderung senden, seinerseits einen Verbindungsversuch zu einer angegebenen IP-Adresse, einem vorgegebenen Port und mit einem vorgegebenen Protokoll zu starten. Nur wie sollte das bei UDP wieder so funktionieren, daß damit KEIN (D)DoS-Angriff möglich wird, bei dem einfach ein Client (bzw. natürlich eine entsprechende Meute, denn Wölfe jagen nun mal im Rudel) solche Verbindungsversuche auslöst, die aber gar nicht an seine eigene Adresse gehen (die bei UDP ja auch gefälscht sein kann)?

Da müßte man (wenn man eine Firewall für UDP-Pakete "entdecken" wollte auf diesem Weg) also erst mal eine TCP-Verbindung aufbauen, in der dann so ein "Request" gesendet werden kann und dürfte dann auch nur wieder dahin senden, wo diese TCP-Verbindung ihren Ursprung hatte (einen zufälligen UDP-Port sollte man beim bind() ja "reservieren" können) - allerdings könnte man das Ergebnis dann wieder über die TCP-Verbindung an den Absender übermitteln.

Gibt es so einen Service (als Implementierung) irgendwo und/oder ist das irgendwo in einer Spezifikation oder einem Draft aufgetaucht? Ich kenne so etwas nicht, das muß aber noch lange nicht heißen, daß es so etwas auch nicht gibt - wie gesagt, ich "merke" mir nur die wichtigen RFCs (und auch nicht im Kopf, sondern in entsprechenden Notizen), die mich bei meinen Tätigkeiten auch tatsächlich tangieren.



Zurück zum Phoner Lite ... wenn der Code für Keepalives in Phoner Lite (ich hoffe mal, daß der Autor dann schlauer ist als @sonyKatze und bei UDP-Verbindungen auch STUN-Requests verwendet anstelle von "2x CRLF") tatsächlich nur dann "anspringen" sollte, wenn ein NAT-Gateway im Weg ist, dann wäre das ja auch wieder eine Erklärung, warum irgendwann keine INVITE-Messages mehr angekommen sind. Da kann man dann darüber NACHDENKEN, ob das nun mit Keepalives oder mit Portfreigaben besser geregelt wäre - wenn tatsächlich Phoner Lite RFC5626 korrekt umsetzen soll(te), wäre das natürlich die "optimale" Lösung.

Aber das würde noch nicht erklären, warum es mit eingetragenen STUN-Server nun nicht mehr auftritt - zumindest nicht dann, wenn das TATSÄCHLICH ein STUN-Server nach RFC 5389 sein sollte, der auf Port 3478 auf eingehende Request wartet (https://datatracker.ietf.org/doc/html/rfc5389#section-18.4), denn so eine Abfrage würde ja nicht dazu führen, daß die Verbindung zum SIP-Registrar wieder neuen Traffic registriert und daher das Timeout neu startet.

Was vielleicht noch sein KANN ... wenn die Angabe eines STUN-Servers in Phoner Lite tatsächlich einen Mechanismus nach RFC 5626 aktiviert, dann würde das zumindest erklären, wieso die Angabe eines STUN-Servers vielleicht/wohl geholfen hat, aber dafür sollte eigentlich gar keine "Adresse" erforderlich sein (erst recht nicht, wenn die noch von der des Registrars abweicht), denn dann sollen diese STUN-Requests ja INNERHALB desselben "Flows" abgearbeitet werden:
To detect this, STUN requests are sent over the same flow that is being used for the SIP traffic.
Wenn das hingegen ein "externer" STUN-Server sein soll, der nur der Feststellung, ob da tatsächlich NAT verwendet wird, dienen würde, dann dürfte dieser (und natürlich auch die STUN-Requests innerhalb derselben "UDP connection", die für die SIP-Registrierung verwendet wird) gar kein NAT FESTSTELLEN können und es gäbe somit auch keine Notwendigkeit, irgendein Keepalive zu aktivieren. DAS ist dann (in meinen Augen, diese Ansicht muß ja auch niemand teilen) tatsächlich eine "Unklarheit", die man eventuell in der Beschreibung zu Phoner Lite noch berücksichtigen sollte ... aber auch nur dann, wenn das tatsächlich parallel auch "STUN keep-alives" nach RFC 5626 aktiviert und das so beabsichtigt ist.

Soweit ich das kenne, sendet sipgate auch keine eigenen "Flow-Timer"-Header mit (zumindest nicht an meine FRITZ!Box mit IPv6 und UDP) ... damit sollte (wenn man RFC 5626 unterstützen WILL) das Berechnen der Keepalive-Intervalle dann wieder komplett in den Händen des UA liegen: https://datatracker.ietf.org/doc/html/rfc5626#section-4.4

EDIT: Ach so ... eins noch zur Frage, ob man nun RFC 5626 unterstützen MUSS oder nicht - man kann ja auch mal bei sipgate in die Hilfen schauen: https://teamhelp.sipgate.de/hc/de/articles/204546511-Einseitige-Sprachübertragung-nicht-erreichbar- ... und ich werde bei Gelegenheit auch mal prüfen, was eigentlich AVM in den FRITZ!Boxen GENAU macht (auch mal bei neueren Versionen des FRITZ!OS), wenn man kein "Portweiterleitung offenhalten" eingestellt hat. Nach der Theorie, daß man RFC 5626 unterstützen MÜSSE, sollten dann ja auch von einer FRITZ!Box mit aktueller Firmware bei IPv6 und UDP entsprechende STUN-Requests INNERHALB der UDP-Connection gesendet werden - ich denke mal, die wären mir aufgefallen. Allerdings gebe ich hierbei dann auch zu, daß ich das mit neueren Firmware-Versionen meinerseits nicht getestet habe. Ich bin ja mal gespannt ...

Und als (vorläufig) letztes ... mittlerweile habe ich dann durch Internet-Suche auch selbst die 1TR-114 und 1TR-119 gefunden - letztere ist es dann vermutlich, aus der oben zitiert wurde.

EDIT: Und als wirklich "allerletzte Anmerkung", falls jemand Zweifel haben sollte, ob ich RFC 5626 auch wirklich schon kannte, als ich immer wieder nach "Quellen" fragte: https://www.ip-phone-forum.de/threads/informationen-zum-einsatz-vom-pfsense.283317/post-2171606 - mittlerweile auch schon wieder sechs Jahre her (und nein, es ist kein Alzheimer diagnostiziert bei mir).
 
Zuletzt bearbeitet:
Nehme ich zur Kenntnis, aber mit welcher Begründung?

Sicherheitsbedenken.

Es widerstrebt mir unnötigerweise Zugriffe unkontrolliert und dauerhaft von außen zuzulassen. Deine (deine, nicht Deine) Software/Hardware unterstützt das nicht? Pech gehabt, nehme ich etwas anderes. Der Provider setzt es voraus? Nimm einen anderen.

KISS

Natürlich könnte man den Zugriff von außern durch einen bestimmten IP Bereich beschränken, was das Setup unnötigerweise komplex macht. Ändert der Provider die Hostnamen/ IP Adressen? Funktioniert diese Frei-/Sperrliste zuverlässig?

Zum Theme CRLF möchte ich mich nicht weiter äußern. Da habe ich etwas missverstanden. Ich habe deinen Beitrag nicht sorgfältig genug gelesen und deine Äußerungen so verstanden, dass CRLF gar nicht ok ist. Selbstverständlich nur TCP, nicht UDP. Dort verlangt die Telekom Keepalives bzw. leere UDP Nachrichten.
 
Sicherheitsbedenken.
Nehme ich auch zur Kenntnis ... aber mir fehlt offensichtlich noch Hintergrundinformation, WARUM DU dann als "Quelle" herangezogen wirst und nicht nur als "da sieht das jemand auch so wie ich".

Was wäre denn jetzt das, was Deinen Standpunkt zur "Begründung" für die Behauptung:
Eine Port-Weiterleitung ist bei VoIP/SIP keine Lösung sondern ein Workaround.
machen sollte?

Ich vermute mal, Du wirst jetzt auch nicht am Entwurf entsprechender Standards beteiligt gewesen sein und wenn Du jetzt nicht irgendeine herausgehobene Funktion bei einem Provider oder etwas in der Richtung haben solltest und Deine Ansichten DAHER besonderes Gewicht haben sollten, verstehe ich immer noch nicht, wie ein Link auf Deine Ansicht(en) irgendwie als "Beleg" für die Behauptung dienen soll, für die ich nach einer "Quelle" gefragt hatte.

Hast DU dafür vielleicht eine Erklärung?
 
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.