VoIP Neuling braucht Hilfe
-
Hallo,
habe seit einer Woche einen IP Telefonie Zugang und bekomme keine anständige Telefonie hin.
Mal läuft das Telefon bis zur Zwangstrennung, dann registriert es sich gar nicht. Habe schon viel probiert (NAT Outbound, siproxd, etc), aber nix geht. Mittlerweile sehe ich den Wald vor lauter Bäumen nicht mehr.Hat jemand mit pfSense auch VoIP mit der Telekom am Laufen? Wer kann mir helfen?
Wäre super dankbar.Gruß
Matthias -
Hier!
Konfiguration hängt von den VoIP-Endgeräten ab. Was hast Du denn für Geräte? Die entscheidenden Informationen sind die Ports, die durch diese Geräte benutzt werden.
Ich habe mir dafür eine FritzBox Fon 5050 bei ebay besorgt. Die gibt es häufig für 1 € zzgl. Versand. Damit kann man bis zu drei Telefone (ich habe zwei) und/oder eine ISDN-Anlage (habe ich nicht) betreiben. Ich habe auch andere VOIP-Anbieter und Wahlregeln dafür konfiguriert.
Dafür kann ich das mal beschreiben:
Meine FB hat eine feste IP im internen LAN. Dafür habe ich einen Alias 'Fritzbox' in der pfSense angelegt.
Die FB benutzt den SIP-Port 5060 ind die RTP-Ports ab 7078 bis 7019. Der SIP-Port 5060 und die RTP-Ports müssen von außen erreicht werden, also braucht man Port-Weiterleitungen auf FB und diese Ports. Dann muß die NAT für die FB static konfiguriert sein.
Dafür habe ich konkret folgende Einstellungen:
-
Firewall, NAT, Outbound auf manuell stellen und ganz oben eine Regel einfügen mit Source Fritzbox und Static Port Yes
-
Firewall, Interface LAN, Quelle FritzBox, Zielport 5060 in der Firewall freigeben. Damit darf die FB Hosts im Internet auf Port 5060 ansprechen.
-
Firewall: NAT: Port Forward: Port-Weiterleitung für den Port 5060 auf die FritzBox. Hosts im Internet, die meine öffentliche IP auf Port 5060 ansprechen, landen auf der FB.
-
Firewall, Interface LAN, Quelle Fritzbox, Quellports 7078 bis 7019, Ziel beliebige Ports freigeben. Damit können RTP-Verbindungen von der FB ausgehend von den RTP-Ports auf beliebige Host im Internet und auf beliebige Ports stattfinden. Die RTP-Ports im Internet legt die andere Seite fest!
-
Firewall: NAT: Port Forward: Port-Weiterleitungen Ports 7078 bis 7019 auf die FritzBox. Die FB gib der anderen Seite Ports in diesem Bereich an, daher müssen auch diese per Weiterleitung erreichbar sein. Damit die durch die FB festgelegten Ports auch so bleiben, braucht es den static port YES in der NAT, sonst könnten die Ports durch pfSense anders festgelegt werden.
Ich habe keine weiteren packages in pfSense installiert. Einen STUN-Server habe ich nicht konfiguriert.
So klappt das seit mehreren Wochen absolut problemlos auch mit anderen Anbietern.
![Firewall Aliases.png](/public/imported_attachments/1/Firewall Aliases.png)
![Firewall Aliases.png_thumb](/public/imported_attachments/1/Firewall Aliases.png_thumb)
![Firewall NAT Outbound.png](/public/imported_attachments/1/Firewall NAT Outbound.png)
![Firewall NAT Outbound.png_thumb](/public/imported_attachments/1/Firewall NAT Outbound.png_thumb)
![Firewall NAT Port Forward.png](/public/imported_attachments/1/Firewall NAT Port Forward.png)
![Firewall NAT Port Forward.png_thumb](/public/imported_attachments/1/Firewall NAT Port Forward.png_thumb)
![Firewall Rules WAN.png](/public/imported_attachments/1/Firewall Rules WAN.png)
![Firewall Rules WAN.png_thumb](/public/imported_attachments/1/Firewall Rules WAN.png_thumb)
![Firewall Rules LAN.png](/public/imported_attachments/1/Firewall Rules LAN.png)
![Firewall Rules LAN.png_thumb](/public/imported_attachments/1/Firewall Rules LAN.png_thumb) -
-
Hallo Flo,
erst einmal herzlichen Dank für die schnelle Info. Super aufbereitet!
Einige Fragen habe ich doch noch:
Bei den Regeln für das Outbound NAT stehen noch einige drunter, oder? Es ist nicht nur die eine Regel für VoIP drin? (Screenshot?)
Warum brauchst Du denn ein Port Forward? Die Firewall Regel lassen doch den Traffic da hin, wo er hin soll.
Die Port Angaben hast Du von Deinem Provider?! Ich habe die Telekom, die hat andere Angaben (z.B. kein RTP?!). Ich habe das mal adaptiert und probiere es aus.
Brauche ich denn die LAN Firewall Regeln? Ich habe doch sowieso eine Allow All Regel drin (siehe Screen shot)
Gruß
Matthias![Bildschirmfoto 2014-06-01 um 13.34.12.jpg](/public/imported_attachments/1/Bildschirmfoto 2014-06-01 um 13.34.12.jpg)
![Bildschirmfoto 2014-06-01 um 13.34.12.jpg_thumb](/public/imported_attachments/1/Bildschirmfoto 2014-06-01 um 13.34.12.jpg_thumb) -
Bei den Regeln für das Outbound NAT stehen noch einige drunter, oder? Es ist nicht nur die eine Regel für VoIP drin? (Screenshot?)
Ja, da sind noch etliche Regeln drin, die ich im Screenshot ausgeblendet habe. Wenn Du das NAT von automatisch auf manuell schaltest, generiert pfSense eine Menge Regeln. Die müssen nicht angepaßt werden, aber die neue Regel muß ganz oben stehen.
Warum brauchst Du denn ein Port Forward? Die Firewall Regel lassen doch den Traffic da hin, wo er hin soll.
Man braucht sowohl die Firewall-Regel, um den Traffic vom Internet überhaupt mal reinzulassen, als auch den Port Forward. Beim Einrichten eines Port Forward werden die entsprechenden Firewall-Regeln auf Wunsch gleich mit angelegt. In meinen Screenshots sind das die Firewall-Regeln, deren Beschreibung mit "NAT" anfängt. Siehe beigefügter Screenshot.
Die Port Angaben hast Du von Deinem Provider?! Ich habe die Telekom, die hat andere Angaben (z.B. kein RTP?!). Ich habe das mal adaptiert und probiere es aus.
Die Angaben von der Telekom kenn ich auch:
Benutzte Ports und Übertragungsprotokolle:
UDP (out): Ports 5060, 30000-31000, 40000-41000, 3478, 3479
UDP (in): Ports 5070, 5080, 30000-31000, 40000-41000
TCP (out): Port 80, 443Das habe ich von einer FAQ-Seite meiner Kollegen (http://hilfe.telekom.de/hsp/cms/content/HSP/de/3378/FAQ/theme-45859561/Telefonie/theme-45859560/Anschluss-und-Tarife/theme-45859549/Telefonieren-und-Surfen/theme-82239611/IP-basierter-Anschluss/faq-350884716).
Die Ports 5060, 5070, 5080 sind sicher die SIP-Ports. 3478 und 3479 sind die Ports für den STUN-Server. Die Port-Ranges 30000-31000 und 40000-41000 sind wohl die RTP-Ports.
Ich vermute, daß diese Angaben auf Speedports zutreffen. Sofern Du nur Telekom als VoIP-Provider hast, könntest Du vermutlich die Port Ranges 30000-31000 und 40000 bis 41000 als Zielports bei den Firewall-Regeln für den ausgehenden RTP-Traffic festlegen (wenn Du nicht ohnehin eine Allow-All-Regel hast, s.u.). Die eingehenden UDP-Ports werden durch Deine Endgeräte festgelegt, nicht die Telekom.
Die Angaben, welche Port eine FritzBox Fon 5050 verwendet, habe ich von http://www.wehavemorefun.de/fritzbox/Voip.cfg.
Brauche ich denn die LAN Firewall Regeln? Ich habe doch sowieso eine Allow All Regel drin (siehe Screen shot)
Dann sind die von mir beschriebenen Firewall-Regeln auf dem LAN-Interface unnötig. Allerdings kannst Du diese Regeln dennoch mit aufnehmen (vor Deiner Allow-All-Regel), und dort das Logging aktivieren. Das erleichtert das Verfolgen des Traffic im Firewall-Log (bei Dynamic, sonst kann man das natürlich auch Filtern).
![Firewall NAT Portforward Edit.png](/public/imported_attachments/1/Firewall NAT Portforward Edit.png)
![Firewall NAT Portforward Edit.png_thumb](/public/imported_attachments/1/Firewall NAT Portforward Edit.png_thumb) -
Danke für die Info.
Habe die Regelnd mal drin gelassen, das mit dem Logging leuchtet ein.
Die Ports auf der von Dir genannten Seite kannte ich. Da steht aber auch, dass sie für andere Clients sind, nicht unbedingt Speedports. Habe die Einstellungen so gemacht, es scheint zu gehen, obwohl mein Telefon Yealink Port 5060 in den Einstellungen hat!?
Ich teste mal weiter.
Gruß & schönes Wochenende
Matthias -
Hast Du das Yealink W52P Dect? Da wäre ich dann an Erfahrungen interessiert insb. bzgl. Klangqualität. Das gehört aber evtl. nicht in das pfSense-Forum …
-
Nein, ist ein T46G.
sollte ein ISDN Telefon ablösen.
Habe noch ein Linksys SPA8000, ist aber noch nicht integriert.
Das wird dann noch mal spannend. -
Flo,
hast Du einen STUN-Server eingetragen?
Bei funktioniert nach einem Reconnect der Router nix mehr. Ich muss den Router (pfSense) neu starten. Irgendwie merkt der sich im NAT was, was dann nicht mehr passt.
Hast Du eine Ahnung? Gibt es noch NAT Einstellungen, die ich machen muss. Ausser den Regeln?! -
Ich habe keinen STUN-Server eingestellt.
Mit STUN kann das VoIP-Gerät herausfinden, mit welcher IP-Adresse und mit welchem Port es nach außen kommuniziert, auch wenn es hinter NAT steht. Damit kann es anderen Hosts im Internet mitteilen, unter welchem Port es erreichbar ist. Mit dem static Port-Mapping in der NAT ist das aber unnötig, weil der Port ja gleich bleibt. Damit dürfte es STUN hier auch nicht brauchen.
Trotzdem kannst Du das natürlich ausprobieren, denn schaden kann es auch nicht.
Weitere NAT-Einstellungen habe ich nicht.
Was mir noch einfällt: In der FritzBox gibt es eine Einstellung:
Portweiterleitung des Internet-Routers für Internettelefonie aktiv halten
Das habe ich aktiviert und als Intervall 5 Minuten eingestellt. Erläuterung in der FritzBox dazu:
Diese Option kann dann erforderlich werden, wenn der Internet-Router einkommende Internettelefonate nicht mehr an FRITZ!Box weiterleitet. FRITZ!Box hält die Portweiterleitungen des Internet-Routers für Internettelefonie aktiv.
Laut Firewall-Log kontaktiert die FritzBox tatsächlich alle 4,5 Minuten den Zielserver.
Eigentlich müßte das auch ohne diese Einstellung gehen, da ich ja eine Port-Weiterleitung von außen auf die FritzBox habe. D.h. eingehender Traffic sollte auch auf de FritzBox kommen, wenn die Firewall keine Verbindung mehr kennt. Aber das könnte genau den Unterschied bei einer Änderung der IP-Adresse ausmachen. Solche übersteht meine Konfiguration auch problemlos. Bei einer neuen IP-Adresse muß natürlich eine neue Registrierung des VoIP-Gerätes bei dern Servern im Internet erfolgen. Bei meiner Konfiguration dürfte es vermutlich bis zu 4,5 Minuten dauern, bis nach einer Neuverbindung der Firewall mit Änderung der IP-Adresse mein Anschluß von außen wieder erreichbar ist. Ich habe das aber noch nicht ausprobiert.
Kannst Du mal nach einer Änderung der öffentlichen WAN-IP-Adresse Dein VoIP-Telefon neu starten und geht das dann?
Wenn ja, dann wäre die Frage, wie Du das Gerät dazu bringst sich periodisch neu bei der Gegenstelle zu registrieren.
Kannst Du mal loggen, welcher Traffic auf SIP-Ports (5060?) stattfindet, insbesondere:
-
Periodische Kontakte ins Internet
-
Was passiert vor und nach einem Reconnect und einem Reboot der pfense
-
Was passiert nachNeustart des VoIP-Telefons
-
-
Ich habe nochmals alles neu konfiguriert. Jetzt gleich mit beiden VoIP Geräten (Yealink Telefon und Linksys Analog Telefonanlage). Dazu habe ich mir jeweils die RTP Ports rausgesucht und die im Nat eingetragen. Dann den 5060 sip Port auf beide Geräte weitergeleitet.
Und: ich habe die Registrierung alle 10 Minuten aktiviert. Auf beiden Geräten ist dies möglich. Mit der pfSense habe ich mit dem Packet Capture geschaut. Bis jetzt läuft es.
Ausserdem habe ich gelernt, dass beim Telekom IP Anschluss die Zwangstrennung nur noch alle 180 Tage ist, Nicht mehr jeden Tag!
Die Idee mit dem STUN Server habe ich wieder ad acta gelegt. Ich hatte im Wikipedia nachgelesen und die Lösung, die Du vorgeschlagen hast, ist wohl am besten.Ich beobachte mal weiter.
Bis jetzt läuft es stabil.Ich möchte mich noch einmal für Deine freundliche und hilfsbereite Art bedanken!
Gruß
Matthias -
Gerne geschehen, ich drücke die Daumen, daß es läuft!
-
Hallo Flo,
also bis jetzt läuft alles. Nur die Unterbrechung der WAN Leitung lässt den Register des Yealink Telefons m,anchmal scheitern. Da habe ich beim Hersteller Support nachgefragt.
Die Zwangstrennung bei Telekom IP ist ja nur alle 180 Tage, damit kann ich erst einmal leben.
Ansonsten klappt es sehr gut, die Sprachqualität ist auch OK.Ich habe noch eine Frage zu Deiner Konfiguration. Habe gesehen, dass Du auch IPTV hast. Das war aber nicht Telekom, oder?
Musst Du für dieses Interface eigentlich auch das NAT einschalten? Ich meine die automatischen Regeln, die beim Outbound angelegt werden. Oder kann man die löschen?Gruß
Matthias -
Ich habe Entertain, also IPTV von der Telekom. (Sozusagen Triple-Play von der Telekom mit pfSense. ;))
Dafür habe ich neben dem WAN-Interface das WAN_IPTV mit VLAN8 angelegt. Hierfür werden tatsächlich genau wie für das WAN-Interface NAT-Regeln generiert. Die habe ich einfach gerade so gelassen wie sie waren. Ob man das löschen kann, weiß ich nicht. Ich vermute schon, aber das müßte ich ausprobieren …
-
Ah, ok. Ich hatte sie deaktiviert, das IPTV lief trotzdem. Ich werde sie mal löschen.
Sage mal, das Öffnen des Port 5060 im WAN ist das nötig?
Ich hatte gestern seltsame Anrufe eines anderen Servers auf diesem Port 506 mit der Rufnummer "100". Mehrfach. Habe jetzt den Server blockiert.
Sollte den der Port nicht automatisch auf sein, da der Verbindungsaufbau ja von Innen (Telefon) mit der Registrierung läuft? Wenn ich auf Port 80 surfe, ist der Port ja auch nicht explizit auf, sondern durch den Client getriggert?
Ich will nicht alle Telekom Server in die Regel eintragen, damit nur echte Anrufe kommen.Für die RTP Ports verstehe ich das, weil di ja nur implizit im SIP Protokoll an den SIP Server geschickt werden. Sie werden ja erst beim Telefonieren benutzt. Daher kann die Firewall nicht wissen, welcher Port wohin weitergeleitet werden soll. Daher die Regeln.
Gruß
matthias -
Hm, gute Frage. :-\
Theoretisch kann Dich tatsächlich jemand anrufen, ohne daß der Telekom-Server involviert ist. Dafür müßte der Port von außen für unbekannte Hosts geöffnet sein. Aber braucht man das?
Wenn man SIP nur mit bekannten Servern macht, die man selbst anspricht, dann hast Du recht: Die Verbindung müßte durch die periodischen Neuregistrierungen eigentlich offengehalten werden.
Probier es einfach mal aus. Im schlimmsten Fall wird ein eingehendes Telefonat nicht signalisiert. Ich teste das die Tage auch mal selbst.
Falls es nicht geht, würde ich den Port wieder öffnen aber eingehende Verbindungen auf die erforderlichen Server einschränken. Das ist zwar etwas pflegeintensiver, aber man kann die Server ja unter einem Alias zusammenfassen und da mit DNS-Namen statt IP-Adressen konfigurieren.
-
Genau das mit den Servern in einer Alias Liste habe ich aktuell im Telekom Forum gefragt. Da habe ich schwer "Haue" bekommen wegen dem offenen 5060 Port.
Das wollte ich mit Dir auch mal diskutieren. Ich mache mal den Port heute Abend zu und schaue, was passiert.Im Firewall Log sind auch Port 5061 5062 und 5063 drin. Das würde ja für die Theorie sprechen, dass man den Port 5060 nicht aufmachen muss.
Eine Liste der Server habe ich bekommen:
19950221 194.25.0.0/16 ALLOCATED PA
19961127 193.158.0.0/16 ALLOCATED PA
19970416 193.159.0.0/16 ALLOCATED PA
19970416 195.145.0.0/16 ALLOCATED PA
19970919 62.156.0.0/16 ALLOCATED PA
19971222 195.243.0.0/16 ALLOCATED PA
19980824 62.157.0.0/16 ALLOCATED PA
19981119 212.184.0.0/16 ALLOCATED PA
19990216 212.185.0.0/16 ALLOCATED PA
19990305 62.158.0.0/16 ALLOCATED PA
19990305 62.159.0.0/16 ALLOCATED PA
19991118 62.155.0.0/16 ALLOCATED PA
19991216 62.154.0.0/16 ALLOCATED PA
20000204 62.153.0.0/16 ALLOCATED PA
20000204 62.224.0.0/16 ALLOCATED PA
20000509 62.225.0.0/16 ALLOCATED PA
20000512 62.226.0.0/15 ALLOCATED PA
20000728 217.0.0.0/13 ALLOCATED PA
20001026 217.80.0.0/12 ALLOCATED PA
20010404 217.224.0.0/11 ALLOCATED PA
20010806 80.128.0.0/11 ALLOCATED PA
20020417 81.28.64.0/20 ALLOCATED PA
20040310 84.128.0.0/10 ALLOCATED PA
20050503 87.128.0.0/11 ALLOCATED PA
20060330 87.160.0.0/11 ALLOCATED PA
20060703 91.0.0.0/10 ALLOCATED PA
20070606 79.192.0.0/10 ALLOCATED PA
20080212 93.192.0.0/10 ALLOCATED PA
20100607 46.80.0.0/12 ALLOCATED PA
20050113 2003::/19Gruß
Matthias -
OK, danke für die Klärung!
Sind das in der Liste wirklich alles SIP-Server der Telekom? Mir kommt die Zahl der Server hoch vor. Immerhin ist tel.t-online.de in der Liste enthalten.
> tel.t-online.de [...] Non-authoritative answer: tel.t-online.de canonical name = ims.voip.t-ipnet.de. ims.voip.t-ipnet.de canonical name = ims001.voip.t-ipnet.de. ims001.voip.t-ipnet.de canonical name = s-ipp-a01.isp.t-ipnet.de. Name: s-ipp-a01.isp.t-ipnet.de Address: 217.0.17.42
Die Adresse 217.0.17.42 ist im Subnetz 217.0.0.0/13 enthalten.
Ich muß da mal noch etwas recherchieren.
-
Die Liste hat mir einer aus dem Telekom Forum geschickt. Ist ein RIPE Auszug.
Gruß
Matthias -
Das liest sich aber für mich eher nach einer AS Liste welche Prefixe alle auf die Telekom registriert sind. Das müssen dann aber nicht alles Prefixe für VOIP sein (und werden es auch nicht).
-
Das glaube ich ehrlich gesagt auch. Irgendwo gab es mal für eine Asterisk Config eine Liste von Telekom SIP Servern… Die wäre sicherlich geeigneter. Aber ob die vollständig war, weiss ich nicht. Daher kam ja meine Überlegung.