Mikrotik: Voip mit SIP Phones in verschiedenen Subnetzen mit FritzBox
Hallo,
ich habe das Problem, dass ich verschiedene SIP-Clients in unterschiedlichen Subnetzen habe, die mit meinem Server FritzBox7412 keine Verbindung aufbauen können:
Folgendes Setup:
VLAN 20: Sip-Server, FB 7412 (Registrar)
VLAN 20: 4 x Cisco 79xx mit SIP-Firmware
VLAN 10: Softphone Phoner
VLAN 60: Android FritzFon App
Clients, die sich im selben Subnetz befinden, wie der Server, bauen problemlos Verbindungen zu internen und externen Rufnummern auf.
Clients aus den Subnetzten VLAN 10 und VLAN 60 finden den Server (FB7412) nicht.
VLANs sind über Layer 2 separiert und Layer 3 (Drop all) generell separiert VLAN 3 Routing zwischen denn o.a. Subnetzten ist aber über eine FW-Regel erlaubt. Diese funktioniert auch.
VLAN 10, VLAN 20 und VLAN 60 sind Teilnehmer der Adressliste VLANFriends.
Was genau muss ich noch erlauben, damit Clients in einem anderen Subnetz den Server finden? Hat jemand Erfahrungen damit?
Gruß,
Spartacus
ich habe das Problem, dass ich verschiedene SIP-Clients in unterschiedlichen Subnetzen habe, die mit meinem Server FritzBox7412 keine Verbindung aufbauen können:
Folgendes Setup:
VLAN 20: Sip-Server, FB 7412 (Registrar)
VLAN 20: 4 x Cisco 79xx mit SIP-Firmware
VLAN 10: Softphone Phoner
VLAN 60: Android FritzFon App
Clients, die sich im selben Subnetz befinden, wie der Server, bauen problemlos Verbindungen zu internen und externen Rufnummern auf.
Clients aus den Subnetzten VLAN 10 und VLAN 60 finden den Server (FB7412) nicht.
VLANs sind über Layer 2 separiert und Layer 3 (Drop all) generell separiert VLAN 3 Routing zwischen denn o.a. Subnetzten ist aber über eine FW-Regel erlaubt. Diese funktioniert auch.
add action=accept chain=forward comment=\
"Allow inter VLAN communication with VLAN friends" dst-address-list=\
VlanFriends in-interface-list=LAN src-address-list=VlanFriends
VLAN 10, VLAN 20 und VLAN 60 sind Teilnehmer der Adressliste VLANFriends.
Was genau muss ich noch erlauben, damit Clients in einem anderen Subnetz den Server finden? Hat jemand Erfahrungen damit?
Gruß,
Spartacus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 432652
Url: https://administrator.de/contentid/432652
Ausgedruckt am: 23.11.2024 um 12:11 Uhr
38 Kommentare
Neuester Kommentar
Wenn du transparent routest ohne NAT musst du logischerweise gar nix eintragen !! Das es jetzt kein Firewall Blocking zwischen den VLANs gibt mal vorausgesetzt !!
In den Cisco Telefonen muss im XML Setup das NAT deaktiviert sein !
Mehr ist nicht zu beachten !
Das macht eine zielführende Hilfe nicht gerade einfach !!
In den Cisco Telefonen muss im XML Setup das NAT deaktiviert sein !
Mehr ist nicht zu beachten !
Clients aus den Subnetzten VLAN 10 und VLAN 60 finden den Server (FB7412) nicht.
- Default Gateways der Endgeräte in den VLANs jeweils auf die VPN IP Adresse des Routers eingestellt ?
- Können Endgeräte in diesen VLANs die FB 7412 fehlerlos pingen ?
- Hast du dort irgendwelche Firewall Regeln aktiv zw. diesen VLANs ?? Wenn ja erstmal rausnehmen und die VoIP Funktion wasserdicht testen. Danach kanns nur an den (falschen) Regeln liegen !
Das macht eine zielführende Hilfe nicht gerade einfach !!
Ich hatte irgendwo gelesen, dass das SIP Protokoll Probleme macht, wenn über Subnetze hinweg kommuniziert werden soll.
Nein, das ist kompletter Quatsch solange kein NAT (Adress Translation) im Spiel ist. Das ist es ja (hoffentlich) bei dir in den lokalen VLANs auch nicht ?!STUN usw. ist einzig nur relevant wenn irgendwo NAT am Werk ist. Siehe dazu auch HIER.
In einem transparent gerouteten L3 Netzwerk ist das kein Thema da spielt es keinerlei Rolle in welchem Subnetz sich SIP Clients und Server befinden. Das ist alles transparent.
Zu 98% hast du dir hier mit einer FW Regel den Ast abgesägt.
Deaktiviere die mal komplett und dann sollte das gehen.
Ein Quercheck hier mit einem Phoner Client an einer FB zeigt das auch sofort.
Ansonsten ist doch der Wireshark immer dein bester Freund
Der Unterschied ist m.E. dasss im VLAN20 noch ein IGMPV3 REquest von der FritzBox gesendet wird.
Das hat mit VoIP nichts zu tun. IGMP wird rein nur für Multicast (IP-TV etc.) verwendet !Fritzbox hat nur eine TTL von1
Das ist vermutlich mDNS. Das ist dann ein local Multicast mit 224.0.0.251 das nur im lokalen Segment bleibt. Da nützt dir auch PIM nichts Aber vergessen...gaaanz andere Baustelle und weit weg von VoIP.
Das nutzt nur SIP und RTP.
Sieh dir mal nur die SIP Fehlermeldungen an !! Die sind doch selbsterklärend !
Diese SIP Clients gibt es entweder gar nicht oder sie sind nicht authorisiert ! (User/Pass Fehler)
Das hat doch dann logischerweise rein gar nichts mit dem Netzwerk zu tun. Geroutet wird das ja fehlerfrei.
Du hast ein Konfig Problem in der Applikation selber !
Nimm einen Client der lokal fehlerfrei funktioniert und platziere den dann mal in einem anderen IP Netz.
Vermutlich funktionieren die o.a. gesnifferten Clients auch lokal gar nicht, da die SIP Authentisierung am Server grundsätzlich scheitert ?!
Irgendwas war da mit der FritzBox das die SIP Clients immer Usernamen identisch zur Nummer haben mussten oder sowas.
Das hier:
https://www.heise.de/select/ct/2017/14/1499100639264556
und die Kommentare dort beschreiben das.
Es liegt mit 100% iger Sicherheit NICHT an dem Multicast-Request. SIP arbeitet nicht auf Multicast. (2)
Und am Routing wie an der Firewall sollte es auch nicht liegen - denn du hast ja bewiesen, dass sich Client und Server unterhalten - bidirektionale Kommunikation ist also ebenfalls vorhanden.
Jetzt müssten wir vielleicht einfach mal klären, was "funktioniert nicht" konkret bedeutet.
Zumindest Phoner ist ordentliche Software und zeigt Fehlermeldungen an.
Was passiert denn, wenn du Phoner in ein VLAN != VLAN 20 hängst?
Kann Phoner sich registrieren (unten links im Fenster leuchtet ein grüner Punkt)?
Falls ja: Kannst du Anrufe starten resp. bekommst du eingehende Anrufe signalisiert?
Falls ja: Besteht eine Audioverbindung in beide Richtungen?
Was genau ist der Fehler, der auftritt?
Dass die Registrierung scheinbar funktioniert, sehe ich aus deinem Wireshark-Screenshot.
Daher verstehe ich nicht, was nicht funktionieren soll.
Vielleicht magst du einmal konkret benennen, was exakt nicht funktioniert und vielleicht davon auch nochmal einen Wireshark-Dump anfertigen.
Bis hierher können wir aber sicher sagen:
Da wir eine SIP-Kommunikation sehen, die augenscheinlich fehlerfrei läuft, können wir Routing, Firewall und sonstiges getrost ausschließen.
(2) Ja, wenn jetzt jemand kommt und mich belehrt, dass es sehr wohl SIP über Multicast gibt: Ja, das gibt es in professionellen Umgebungen. Nicht bei einer FritzBox
Und am Routing wie an der Firewall sollte es auch nicht liegen - denn du hast ja bewiesen, dass sich Client und Server unterhalten - bidirektionale Kommunikation ist also ebenfalls vorhanden.
Jetzt müssten wir vielleicht einfach mal klären, was "funktioniert nicht" konkret bedeutet.
Zumindest Phoner ist ordentliche Software und zeigt Fehlermeldungen an.
Was passiert denn, wenn du Phoner in ein VLAN != VLAN 20 hängst?
Kann Phoner sich registrieren (unten links im Fenster leuchtet ein grüner Punkt)?
Falls ja: Kannst du Anrufe starten resp. bekommst du eingehende Anrufe signalisiert?
Falls ja: Besteht eine Audioverbindung in beide Richtungen?
Was genau ist der Fehler, der auftritt?
Dass die Registrierung scheinbar funktioniert, sehe ich aus deinem Wireshark-Screenshot.
Daher verstehe ich nicht, was nicht funktionieren soll.
Vielleicht magst du einmal konkret benennen, was exakt nicht funktioniert und vielleicht davon auch nochmal einen Wireshark-Dump anfertigen.
Bis hierher können wir aber sicher sagen:
Da wir eine SIP-Kommunikation sehen, die augenscheinlich fehlerfrei läuft, können wir Routing, Firewall und sonstiges getrost ausschließen.
(2) Ja, wenn jetzt jemand kommt und mich belehrt, dass es sehr wohl SIP über Multicast gibt: Ja, das gibt es in professionellen Umgebungen. Nicht bei einer FritzBox
Wenn Phoner "Not found" sagt, meint er damit, dass der Server genau das zurückgemeldet hat
Auf die Schraube, an der du drehen musst, zeigst du vermutlich im zweiten Screenshot bereits mit dem Cursor: Aktiviere mal das Häkchen, dass sich die Clients aus dem Internet registrieren dürfen. Für die FritzBox ist alles, was nicht ihr eigenes Subnetz ist, "das Internet".
Auf die Schraube, an der du drehen musst, zeigst du vermutlich im zweiten Screenshot bereits mit dem Cursor: Aktiviere mal das Häkchen, dass sich die Clients aus dem Internet registrieren dürfen. Für die FritzBox ist alles, was nicht ihr eigenes Subnetz ist, "das Internet".
Ja Zoiper zum Bleistift: https://www.zoiper.com/en/voip-softphone/download/current
Was passiert da?
Gar nichts !!! Das siehst du ja selber ! SSDP ist ein Service Discovery Protokoll und hat mit VoIP per se rein gar nix zu tun.Die App sendet nicht einmal einen SIP Request raus, die reagiert also rein gar nicht in Bezug auf VoIP. Einen VoIP Call initiierst du aber schon mit der App, oder ?
Bist du dir sicher das du die richtige IP Adresse als SIP Server konfiguriert hast ??
Oder misst du mit dem Wireshark schlicht am falschen Port ?
Kannst du ja sehen wenn du dir mal die HE Tools: https://play.google.com/store/apps/details?id=net.he.networktools&hl ...
auf deine Android Gruselgurke installierst und mal pingst. Dann solltest du ja im Wireshark jedenfalls ICMP Echos und die Echo Replys sehen von der FB wenn du diese pingst. Das würde dir dann zeigen dasa du wenigstens am richtigen Port snifferst !!!
Der Sniffer läuft auch jeweils im selben Subnetz wie das Smartphone...
Hoffentlich dann mit einem Monitor Port am Switch ??!!Wenn du den da nur so angeklemmt hast, dann kann er natürlich den Smatrphone zu FB Traffic niemals mitschneiden. Logisch, denn der Switch forwardet ja nur Mac Adress spezifisch.
Ohne Mirror Port siehst du dann nur die Broadcast Pakete im netz
Guckst du auch hier:
https://www.heise.de/ct/artikel/Fehler-erschnueffeln-221587.html
Kapitel: Hardware aufsetzen
Vermutlich hast du also gar keinen Traffic mitgesniffert..?!
Sonst kann es nur so sein das das Ziel keine Pakete aus fremden IP netzen annimmt. Die FB verhält sich ja etwas krank dazu wie Kollege @LordGurke oben schon aufgeführt hat.
Wenn der SIP Server dann natürlich so einen Unsinn macht und sich nicht wirklich IP konform verhält oder andere (Sicherheits) Mechanismen hat musst du natürlich dort ansetzen und NICHT am Netzwerk.
dass die Kommunikation zwischen AVM FritzBox und AVM App gar nicht über SIP läuft?
Dürfte wohl ausgeschlossen sein da AVM ja vollständig SIP basiert ist.Fehler ist zu 98% deine falsche Sniffer Anordnung so das du gar nichts vom relevanten Traffic siehst.
Denk mal in Ruhe drüber nach wie ein Switch funktioniert !
https://www.elektronik-kompendium.de/sites/net/0811021.htm
ch habe doch noch eine Chance. Der Cisco SG200 kann Portspiegelung.
Wollt ich grade sagen...du hast doch einen Switch der den Namen auch verdient ch weiß jetzt aber nicht, wie ich am Cisco das VLAN 60 (WLAN über den cAP AC) mitschneiden kann
Auch das ist doch kinderleicht...Du hast 2 Optionen...
- Entweder spigelst du den cAP Port also da wo der Client ist.
- Oder am FritzBox Port speiegeln also am Server.
Den Trunk Port kannst du natürlich auch spiegeln. Hier kannst du dann sogar die VLAN Tags in den Paketen sehen !
Hier als Beispil mal VLAN 14 Tag:
Du bist da also genau auf dem richtigen Weg !
ch habe immer noch den eindruck, die App versucht die FB über einen Multicast Request zu finden, bevor die Registrierung läuft
Nein, das ist Unsinn. Multicasting wird im VoIP Umfeld nicht genutzt !Kannst du doch auch selber am Sniffer Trace sehen. Mach das Paket auf und sieh rein !
Die Multicast Gruppe 239.255.255.250 wird von SSDP genutzt. Damit machen sich Dienste im lokalen LAN bekannt:
https://de.wikipedia.org/wiki/Simple_Service_Discovery_Protocol
Das TTL von 1 zeigt das diese Annoucements nur lokal bleiben. Sie können also NICHT geroutet werden.
Gesetzt den Fall du hättest Recht würde durch die nicht mögliche Routing Fähigkeit keine SSDP in andere Segmente kommen.
Abgesehen davon wäre für das Routen von Multicast PIM notwenig was die FB gar nicht supportet.
Vergiss das also und entspann dich das hat mit VoIP nix zu tun
Vermutlich wird die App per Multicast nach FritzBoxen suchen und sie darüber finden. Und eventuell wird sie sich dann zukünftig auch auf Hostnames (z.B. über mDNS) verlassen um die "bekannte" Box zu finden.
Die Frage ist, ob man der App auch statische eine Konfiguration verpassen kann, damit eben kein Multicast benötigt wird.
Da ich diese App nicht kenne, weiß ich nicht mal, ob die tatsächlich auf SIP setzt oder ob da irgendein anderes krudes Protokoll von AVM implementiert wurde.
Abschnitt 5 hier suggeriert zumindest, dass das gehen müsste:
https://avm.de/service/fritzapps/fritzapp-fon/wissensdatenbank/publicati ...
Die Frage ist, ob man der App auch statische eine Konfiguration verpassen kann, damit eben kein Multicast benötigt wird.
Da ich diese App nicht kenne, weiß ich nicht mal, ob die tatsächlich auf SIP setzt oder ob da irgendein anderes krudes Protokoll von AVM implementiert wurde.
Abschnitt 5 hier suggeriert zumindest, dass das gehen müsste:
https://avm.de/service/fritzapps/fritzapp-fon/wissensdatenbank/publicati ...
Das hört sich so an als wenn dein Smartphone gar nicht in dem entsprechenden VLAN 20 oder 60 ist ?
Fragt sich WIE du das Smartphone in dieses VLAN bringst ? Möglich also das schin grundsätzlich was dort falsch läuft ??
Wie bereits mehrfach gesagt: Einfacher Test ist wenn du vom Smartphone mit den oben genennten HE-Tools einfach mal die FB anpingst. Da "siehst" du im Sniffer doch immer die ICMP Echo und Echo Reply Pakete und kannst dann ganz sicher sein das du im richtigen Segment bist. Hast du das verher verifiziert ?
Wie der Lord oben auch schon zu recht vermutet ist anzunehmen das sich die FB bzw. der Client über ein lokales SSDP Multicast untereinander bekannt machen. Das ist sogar zwingend wenn du in der Fritz Fone App NICHT den SIP Server, sprich die FB, statisch mit ihere IP oder Hostnamen konfiguriert hast.
Ein SIP Telefonie Client muss ja zwingend immer wissen wo er hinmuss und das muss man ihm logischerweise konfigurieren wie man das an SIP Clients wie dem oben zitierten Zoiper ja auch macht und auch an allen VoIP Telefonen.
Hast du das nicht gemacht kann die Übermittlung der IP Adresse der FB dann nur automatisch passieren, und dann vermutlich mit dem SSDP Multicast oben. Das wäre nicht ungewöhnlich. AVM macht das vermutlich damit DAUs, die ja deren Hauptclientel sind, sich nicht mit für sie kryptischen IP Adressen rumschlagen müssen. Macht also Sinn...
Da das SSDP Multicast mit 239.255.255.250 aber ein site-local Multicast Frame (TTL=1) ist kann der nicht geroutet werden.
Gesetzt den Fall also FritzBox und Client machen sich mit SSDP bekannt was zu vermuten ist würden die sich niemals zu "sehen" bekommen wenn sie in unterschiedlichen Subnetzen sind. Klar, denn sie haben keinen Kontakt via SSDP um ihre IP Adressen untereinander bekannt zu machen.
Lösung kann dann nur sein das man in der Phone App die FritzBox als SIP Server statisch definiert mit iherer IP Adresse.
Wenn AVM das nicht vorsieht ist das Pech. Da es aber auch über ein geroutetes ! VPN funktioniert bei AVM muss es also auch mit einer statischen Zuweisung gehen !!!
Vielleicht hilft dir ja die Anleitung wie man es fürs VPN einrichtet ?! Es ist in jedem Falle KEIN Netzwerkproblem sondern eins der Anwendung ! Soviel ist sicher...!
Fragt sich WIE du das Smartphone in dieses VLAN bringst ? Möglich also das schin grundsätzlich was dort falsch läuft ??
Wie bereits mehrfach gesagt: Einfacher Test ist wenn du vom Smartphone mit den oben genennten HE-Tools einfach mal die FB anpingst. Da "siehst" du im Sniffer doch immer die ICMP Echo und Echo Reply Pakete und kannst dann ganz sicher sein das du im richtigen Segment bist. Hast du das verher verifiziert ?
Wie der Lord oben auch schon zu recht vermutet ist anzunehmen das sich die FB bzw. der Client über ein lokales SSDP Multicast untereinander bekannt machen. Das ist sogar zwingend wenn du in der Fritz Fone App NICHT den SIP Server, sprich die FB, statisch mit ihere IP oder Hostnamen konfiguriert hast.
Ein SIP Telefonie Client muss ja zwingend immer wissen wo er hinmuss und das muss man ihm logischerweise konfigurieren wie man das an SIP Clients wie dem oben zitierten Zoiper ja auch macht und auch an allen VoIP Telefonen.
Hast du das nicht gemacht kann die Übermittlung der IP Adresse der FB dann nur automatisch passieren, und dann vermutlich mit dem SSDP Multicast oben. Das wäre nicht ungewöhnlich. AVM macht das vermutlich damit DAUs, die ja deren Hauptclientel sind, sich nicht mit für sie kryptischen IP Adressen rumschlagen müssen. Macht also Sinn...
Da das SSDP Multicast mit 239.255.255.250 aber ein site-local Multicast Frame (TTL=1) ist kann der nicht geroutet werden.
Gesetzt den Fall also FritzBox und Client machen sich mit SSDP bekannt was zu vermuten ist würden die sich niemals zu "sehen" bekommen wenn sie in unterschiedlichen Subnetzen sind. Klar, denn sie haben keinen Kontakt via SSDP um ihre IP Adressen untereinander bekannt zu machen.
Lösung kann dann nur sein das man in der Phone App die FritzBox als SIP Server statisch definiert mit iherer IP Adresse.
Wenn AVM das nicht vorsieht ist das Pech. Da es aber auch über ein geroutetes ! VPN funktioniert bei AVM muss es also auch mit einer statischen Zuweisung gehen !!!
Vielleicht hilft dir ja die Anleitung wie man es fürs VPN einrichtet ?! Es ist in jedem Falle KEIN Netzwerkproblem sondern eins der Anwendung ! Soviel ist sicher...!
- Das Telefoniegerät in der FB, mit dem sich die Fon App verbinden soll, wurde manuell mit "Neues Gerät einrichten" angelegt und mit Benutzernamen und Passwort belegt. Die Option "Anmeldung aus dem Internet erlauben" muss nicht aktiviert werden, wenn die Fon App über eine VPN-Verbindung Verbindung sucht.
- Die erste Verbindung der Fon App mit diesem neuen Telefoniegerät geschieht aus dem Heimnetz (s. Schritt 5).
- In der FB ist im Reiter "Anmeldung im Heimnetz" die Option "Anmeldung mit FRITZ!Box-Benutzernamen und Kennwort" ausgewählt und ein Benutzer mit Admin-Rechten wurde im Reiter "Benutzer" angelegt. Dieser Benutzer wird in der Fon App zur Verbindung mit der FB verwendet.
- Nach Einrichtung des Admin-Benutzers und der obigen Anmeldeoption werden die Anmeldedaten in der Fon App für diese FB gelöscht. Dann wird die Fon App mit der FB neu verbunden mit Benutzer/Passwort aus Schritt 3.
- Nach der ersten Verbindung der Fon App mit der FB wird das im ersten Schritt angelegte Telefoniegerät in der Fon App ausgewählt. Das findet wieder erst mal im Heimnetz statt
- Jetzt kann man die Fon App über die VPN-Verbindung testen..
Ab Android 4.x hat Android einen SIP Client schon gleich mit an Bord !
https://app.sipgatebasic.de/konfiguration/163/android-softphones-integri ...
Ansonsten gibt es unendlich viele:
https://play.google.com/store/search?q=sip&c=apps&authuser
https://app.sipgatebasic.de/konfiguration/163/android-softphones-integri ...
Ansonsten gibt es unendlich viele:
https://play.google.com/store/search?q=sip&c=apps&authuser
Was soll ein "Cisco Trunk Port" sein in deinem Verständnis ? Ein normaler Tagged Link ?
Das ist dann richtig wenn du mit MSSIDs arbeitest, also mehrere WLANs auf dem AP aufspannst.
Nutzt du denn einen Cisco Switch ?
Letztlich aber egal, denn es ist richtig bei MSSIDs.
Wie man eine simple Grundkonfig damit macht kannst du hier nachlesen:
Mikrotik VLAN Konfiguration ab RouterOS Version 6.41
Das ist dann richtig wenn du mit MSSIDs arbeitest, also mehrere WLANs auf dem AP aufspannst.
Nutzt du denn einen Cisco Switch ?
Letztlich aber egal, denn es ist richtig bei MSSIDs.
Wie man eine simple Grundkonfig damit macht kannst du hier nachlesen:
Mikrotik VLAN Konfiguration ab RouterOS Version 6.41
MSSIDs = Multiple SSIDs. Das sind APs die mehrere WLANs (SSIDs) aufspannen können und diese dann an VLAN IDs mappen.
Guckst du hier im Praxisbeispiel letztlich also genau das was du auch machst.
Sind das Cisco Catalysten oder SoHo Modelle ?
Guckst du hier im Praxisbeispiel letztlich also genau das was du auch machst.
Sind das Cisco Catalysten oder SoHo Modelle ?
VLANs unabhängig vom Port konfigurieren kann
Die VLAN Konfiguration ist per se immer unabhängig vom Port.Aber was du vermutlich meinst sind dynmaische VLANs mit 802.1x, oder ?
Ja, das ist richtig, die sind bei den SG Modellen erst ab SG300 und höher supportet. Dort kannst du dann je nach Abhängigkeit von der Mac Adresse oder den 802.1x Credentials des Endgerätes dynamische in VLAN zu weisen. Dieses Forentutorial beschreibt wie man das macht:
Netzwerk Zugangskontrolle mit 802.1x und FreeRadius am LAN Switch
Und ja, das geht natürlich (nur) im Layer 2. Besser gesagt es ist so oder so rein eine Layer 2 Funktion und geht nur im L2. Mit Routing bzw. L3 Forwarding hat das rein gar nix zu tun. VLANs sind immer Layer 2 ! Weisst du auch selber...