Fritzbox Hinter OPNsense Eingehende Anrufe Werden nach 30 Sek. aufgelegt

Started by Painter35, October 20, 2023, 12:48:32 AM

Previous topic - Next topic
Hallo,

Ich bin neu hier in OPNsense und komme mit einem Problem nicht weiter.

Mein Setup: PPPoE von Vodafon --> OPNSense-Box --> Fritzbox7590 --> Verschiedene DECT Geräte von Gigaset

Firewall:
       Forwards: Quelle: *    Quell Port: 5060-5061      Protokoll: TCP/UDP      Ziel: *    Ziel Port: *     Ziel-IP-Umleiten: Fritzbox     Zielport-Weiterleiten:5060-5061    Beschreibung: SIP
                      Quelle: *    Quell Port: 7077-7109      Protokoll: TCP/UDP      Ziel: *    Ziel Port: *     Ziel-IP-Umleiten: Fritzbox     Zielport-Weiterleiten:7077-7109    Beschreibung: RTP
       Regeln: Passend zu den Forwards( Automatisch Generiert)

Problem Beschreibung:

Ausgehenden Anrufe funktionieren einwandfrei.
Bei Eingehenden Anrufen werden die Telefonate nach ca. 30 Sekunden Beendet und im Display des Angerufenen und des Anrufers steht Aufgelegt.

Lösungs Versuche:

   Nach Aus und Einschalten der Telefoneinstellungen In der Fritzbox unter dem Punkt: Rufnummer bearbeiten --> Anmelden immer über eine Internetverbindung
   hat es für kurze Zeit wieder funktioniert und dann wieder nicht.

   Suche nach weiteren Ports für die Weiterleitung die ich vergessen haben könnte.(Leider bis jetzt erfolglos)

   Siproxd Verwenden.(Noch nicht versucht aber habe das auch noch nicht verstanden und glaube es ist unnötig)

Fragen:

Habt Ihr Lösungsvorschläge?

Gibt es eine Möglichkeit den Datenverkehr leicht zu Analysieren um eventuell fehlgeleitete Pakete zu finden?

Hab grade gesehen es gibt einen Thread zu Siproxd und Voip konnte mir da aber auch nicht helfen. Hat vielleicht jemand ne Idee ob man den Post da hin verschieben kann oder muss ich ihn selbst da nochmal posten?

Portweiterleitung habe ich bei mir etwas anders aufgebaut:

Schnittstelle: WAN
TCP/IP Version: IPv4
Protokoll: UDP
Quelle: ip_voip_ext (Alias mit Adressen des VOIP Anbieters)
Quellportbereich: *
Ziel: WAN Adresse
Zielportbereich: _ports_voip (Alias mit 5060 und 5064 bei easybell)
Ziel-IP umleiten: ip_voip_int (Alias mit IP Fritzbox)
Zielport weiterleiten: _ports_voip (Alias mit 5060 und 5064 bei easybell)
etc...

Für die RTP-Ports habe ich keine Portweiterleitung angelegt.
Ist die angegebenen RTP-Port-Range vom Provider so vorgegeben?

Danke schonmal für die Antwort

Ich hatte es erst ähnlich also auch die 5060 als Zielport und das hat auch anfangs funktioniert aber dann hatte ich auf einmal Blocks in der Firewall weil der quellport war zwar noch 5060 aber der zielport ein anderer deshalb hatte ich die Regel geändert. Die rtp port range hatte ich von der anschlussbeschreibung von vodafone (https://www.vodafone.de/media/downloads/pdf/ip-anlagen-anschluss-schnittstellenbeschreibung.pdf).
Ohne portweiterleitung bei den rtp port hat mir die eingehende Sprache gefehlt deshalb hab ich das gemacht.


Nachtrag: die RTP portrange sollte warscheinlich kleiner ausfallen da ich nicht so viele sprachkanäle hab ansonsten sollte sie aber passen.

Es heisst aber Ziel-Port weiterleiten und nicht Quellport weiterleiten!
Dein Zielport ist mit einem * angegeben, wo eigentlich 5060-5061 stehen sollte.

Quellport: * (jeglicher)
Zielport: 5060-5061
Zielport weiterleiten: 5060-5061

Ebenso die NAT-Regel für die RTP-Range anpassen...

Du solltest noch die Schreibweise für die Portrange prüfen.
Ich denke, dass es ein Doppelpunkt anstelle des Bindestrichs sein muss.
 

Es ist noch wichtig im "Firewall: NAT: Outbound" eine Regel zu erstellen, die beim Masquerieren der RTP Ports nach außen "Static Port" aktiviert.

Das es nach 30 Sekunden abbricht klingt stark danach das sich der UDP Port ändert und dann die Sprachpakete nicht mehr an der Fritzbox ankommen.

Edit: Hier hatte ich mal screenshots gepostet: https://forum.opnsense.org/index.php?topic=33160.msg160520#msg160520
Der Screenshot mit DNAT SNAT zeigt die Regeln gut. Die Firewall Regel braucht man nur bei mehr als einem Gateway, für dich uninteressant. Stell dein Outbound NAT aber auf Hybrid.
Hardware:
DEC740

Hallo
danke für die guten Tipps

Habe die Outbound-regeln erstestellt(Siehe Screenshot) und die Firewallregeln wieder so angepasst wie ich sie vorher hatte (siehe anderer Screenshot).
Was die Schreibweise der Portrange angeht hatte ich mich nur beim schreiben des Threads vertan da ich die regel aus dem Kopf aufgeschrieben hab, da ich zu dem zeitpung nicht vor ort war.

Aktuell geht es aber ich warte erstmal noch ein wenig ob es weiterhin geht bis ich entgültige schlüsse ziehe da es ja vorher auch kurz geklappt hat und auf einmal konnte man von Außen nicht mehr anrufen da der Zielport ja auf einmal nicht mehr 5060 war.

Zu den Screenshots: Alias SIP Ports --> 5060, 5061
                               Alias RTP Ports --> 7077:7109

Nachtrag:

Also nach knapp einer halben bis dreivirtelstunde hab ich wieder das gleiche problem das die Anrufe nach 30 Sekunden Aufgelegt werden.

Hier noch ein Screenshot der Life-block-Ansicht bei einem Anruf.

Was der Grund war weshalb ich die regel so geändert hatte.

Hast Du in den Verbindungseinstellungen der Fritzbox "Portweiterleitung des Internet-Routers für Telefonie aktiv halten" auf die minimale Zeit von 30 Sekunden eingestellt?
Intel N100, 4* I226-V, 2* 82559, 16 GByte, 500 GByte NVME, ZTE F6005

1100 down / 800 up, Bufferbloat A+

Warum ist beim Outbound NAT die Quelle "Voip_Server" und bei den Port Forward Regeln "192.168.40.41"

Ich hoffe das ist beides die Fritzbox?
Hardware:
DEC740

Nein hatte das auf einer Minute stehen habe es Umgestellt auf 30 sek. und schaue ob es jetzt funktioniert.

Ja ist es hatte den Alias noch nicht in den Forward Regeln eingetragen aber hinter dem Alias verbirgt sich die 192.168.40.51

Wenn das Offenhalten noch nicht klappt, Firewall "Firewall Optimization" mal auf "conservative" stellen.
Intel N100, 4* I226-V, 2* 82559, 16 GByte, 500 GByte NVME, ZTE F6005

1100 down / 800 up, Bufferbloat A+

Hat leider auch nicht geholfen  weder die 30 sek. noch die einstellung auf konservativ zu stellen.

Aber es geht ja wenn man raus telefoniert nur halt wenn man angerufen wird wird nach 30 Sekunden Aufgelegt.

Ich hatte sowas hier mal gefunden:
https://www.ip-phone-forum.de/threads/fritzbox-trennt-eingehende-anrufe-nach-32-sekunden.303654/

Gibts ne Möglichkeit wie ich an solche infos im meinem Netzwerk komme?

Na klar, du gehst einfach auf:
"Interfaces: Diagnostics: Packet Capture"

Da kannst du dann eine pcap Datei erstellen. Dann mache einen Anruf und warte bis er sich beendet.
Mit der pcap Datei kannst du dann z.B. in Wireshark filtern, auf das SIP Protokoll und schauen ob wirklich kein ACK zurückkommt.

Ich bin mir nicht sicher ob du über die GUI auf dem WAN interface was brauchbares bekommst. In der Shell mit TCPDUMP muss man den BPF "pppoes" setzen damit man die PPPOE Frames filtern kann.

Ich würde erstmal auf dem LAN interface mitschneiden.
Hardware:
DEC740

Danke für den tipp.

Hab im Anhang ein bei anem Beispielanruf mitgeschnitten und Sip gefiltert.

Es wird ein bye request gesendet und das Gepräch beendet obwohl niemand die Auflegen-taste betätigt hat