Hallo,
2 PC's (Debian Etch) sollen miteinander über das Internet mit Ekiga eine VoIP-Verbindung herstellen. Sie sind jeweils im eigenen LAN hinter einem Router mit integrierter Firewall (Fritzbox bzw. DLink DI-524) angeschlossen. Außerdem läuft auf jedem PC ein iptables-Firewall-Skript.
Zu dem Thema habe ich folgende Infos gefunden:
http://www.debianforum.de/forum/viewtop ... p+firewall
http://www.tecchannel.de/kommunikation/ ... da/433069/
Ekiga-Hilfe und -Dokumentation
Meine Frage ist jetzt, ob jemand eigene Erfahrung hat, wie die Portfreischaltung in so einem Fall am besten geht.
Kann das mit STUN funktionieren? Oder besser die Ports manuell freigeben? Reichen für eine Telefon-Verbindung (SIP) UDP (und TCP?) 5060 und die RTP-Ports?
Viele Grüße und danke
Theophil
[gelöst] VoIP,Ekiga,Sipgate,Firewall,Router,Konfiguration
-
- Beiträge: 402
- Registriert: 22.10.2006 20:24:59
- Lizenz eigener Beiträge: MIT Lizenz
[gelöst] VoIP,Ekiga,Sipgate,Firewall,Router,Konfiguration
Zuletzt geändert von Theophil T. am 11.11.2007 14:34:31, insgesamt 1-mal geändert.
-
- Beiträge: 402
- Registriert: 22.10.2006 20:24:59
- Lizenz eigener Beiträge: MIT Lizenz
-
- Beiträge: 402
- Registriert: 22.10.2006 20:24:59
- Lizenz eigener Beiträge: MIT Lizenz
Inzwischen haben wir weitere Erfahrungen gemacht, die vielleicht anderen nützlich sind.
Mit einem Sipgate-Account kommt es mit der o.g. Konfiguration zu Fehlermeldungen bei der Signalisierung (Teilnehmer nicht erreichbar) oder nach der Rufannahme. Wir haben verschiedene Varianten getestet, stabil und fehlerfrei geht es bei uns so:
Ekiga:
Konten, Zeitlimit für Anmeldung (=Intervall für "Anmeldungs-Refresh" am Server des Providers): 180 (sec)
STUN-Server: stun.sipgate.net:10000
über den gconf-editor
apps, ekiga, general, nat: binding_timeout (Zeitintervall für "Refresh" des IP/Port-Mappings): 20
dito, protocols, ports: rtp_port_range(Audio- und Video-Daten): ca. 10 Ports aus dem Bereich 5000-5059, Grund: Es laufen mehrere Clients bei uns im LAN, die jeweils verschiedene Portbereiche haben. Wahrscheinlich sind auch andere Portbereiche möglich, so lange keine Adresskonflikte entstehen.
dito: udp_port_range (SIP-Signalisierung): ca. 10 Ports aus dem Bereich 5061-5100, s.o., auf 5060 hört die Fritzbox selbst.
dito: sip: listen_port: der erste aus dem udp_port_range
Schaue ich im Provider-Account nach, wie der Rechner registriert ist, finde ich nicht diesen Port, sondern einen aus dem "udp_port_range", in dieser Hinsicht ist mir die Funktion von Ekiga nicht ganz klar.
registrar_registration_timeout (gleiche Funktion wie Einstellung unter "Konten"?): 180
Router und Firewall:
Portweiterleitung bzw. -Freigabe der o.g. UDP-Ports an den jeweiligen Rechner.
Die minimale Größe der Portbereiche haben wir nicht getestet, ein einzelner SIP-Port reichte jedenfalls nicht.
Sprachqualität:
War zunächst saumäßig (von Ekiga zu Ekiga), bin dann erst nach längerem Testen möglicher Ursachen auf die einfache Lösung gekommen: bei den Audiocodec-Einstellungen Sprechpausenerkennung und Echo-Unterdrückung deaktivieren!
Jitter-Puffer bei uns 50-150msec
Als Codec Speex 20,8kbps bei unseren DSL-Anschlüssen mit 256/2048 kbit/s im up- und download sehr gute Sprachqualität.
Theophil
Mit einem Sipgate-Account kommt es mit der o.g. Konfiguration zu Fehlermeldungen bei der Signalisierung (Teilnehmer nicht erreichbar) oder nach der Rufannahme. Wir haben verschiedene Varianten getestet, stabil und fehlerfrei geht es bei uns so:
Ekiga:
Konten, Zeitlimit für Anmeldung (=Intervall für "Anmeldungs-Refresh" am Server des Providers): 180 (sec)
STUN-Server: stun.sipgate.net:10000
über den gconf-editor
apps, ekiga, general, nat: binding_timeout (Zeitintervall für "Refresh" des IP/Port-Mappings): 20
dito, protocols, ports: rtp_port_range(Audio- und Video-Daten): ca. 10 Ports aus dem Bereich 5000-5059, Grund: Es laufen mehrere Clients bei uns im LAN, die jeweils verschiedene Portbereiche haben. Wahrscheinlich sind auch andere Portbereiche möglich, so lange keine Adresskonflikte entstehen.
dito: udp_port_range (SIP-Signalisierung): ca. 10 Ports aus dem Bereich 5061-5100, s.o., auf 5060 hört die Fritzbox selbst.
dito: sip: listen_port: der erste aus dem udp_port_range
Schaue ich im Provider-Account nach, wie der Rechner registriert ist, finde ich nicht diesen Port, sondern einen aus dem "udp_port_range", in dieser Hinsicht ist mir die Funktion von Ekiga nicht ganz klar.
registrar_registration_timeout (gleiche Funktion wie Einstellung unter "Konten"?): 180
Router und Firewall:
Portweiterleitung bzw. -Freigabe der o.g. UDP-Ports an den jeweiligen Rechner.
Die minimale Größe der Portbereiche haben wir nicht getestet, ein einzelner SIP-Port reichte jedenfalls nicht.
Sprachqualität:
War zunächst saumäßig (von Ekiga zu Ekiga), bin dann erst nach längerem Testen möglicher Ursachen auf die einfache Lösung gekommen: bei den Audiocodec-Einstellungen Sprechpausenerkennung und Echo-Unterdrückung deaktivieren!
Jitter-Puffer bei uns 50-150msec
Als Codec Speex 20,8kbps bei unseren DSL-Anschlüssen mit 256/2048 kbit/s im up- und download sehr gute Sprachqualität.
Theophil
- McAldo
- Moderator
- Beiträge: 2069
- Registriert: 26.11.2003 11:43:36
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Terra / Sol-System / Milchstraße
Und wenn das alles nicht funktioniert? Bin jetzt nach deiner Anleitung vorgegangen und habe die Einstellungen auf dem Rechner im LAN entsprechend gemacht. Auf dem Rechner mit Firewall habe ich folgende Regel eingefügt:
Die Anmeldung am Sipserver scheint zu klappen, jedenfalls meldet Ekiga, dass ein Konto angemeldet ist. Wenn ich dann einen anderen Rechner anrufe, der direkt am Internet hängt (jedoch auch mit FW), dann klingelt es zwar, aber bei Annahme des Verbindungswunsches wird abgebrochen. Andersrum genauso.
McAldo
Code: Alles auswählen
$IPTABLES -A FORWARD -p udp --destination-port 5000:5100 -j ACCEPT
McAldo
Achte auf deine Gedanken, denn sie werden Worte.
Achte auf deine Worte, denn sie werden Handlungen.
Achte auf deine Handlungen, denn sie werden Gewohnheiten.
Achte auf deine Gewohnheiten, denn sie werden dein Charakter.
Achte auf deinen Charakter, denn er wird dein Schicksal.
(Talmud)
Achte auf deine Worte, denn sie werden Handlungen.
Achte auf deine Handlungen, denn sie werden Gewohnheiten.
Achte auf deine Gewohnheiten, denn sie werden dein Charakter.
Achte auf deinen Charakter, denn er wird dein Schicksal.
(Talmud)
-
- Beiträge: 402
- Registriert: 22.10.2006 20:24:59
- Lizenz eigener Beiträge: MIT Lizenz
Hallo McAldo,
bei mir heisst die iptables-Regel
In Richtung Internet keine Beschränkungen.
Ist Dein Router, falls vorhanden, hinsichtlich seiner Firewall entsprechend eingerichtet? Geht denn VoIP ohne die Firewalls?
Viele Grüße
Theophil
bei mir heisst die iptables-Regel
Code: Alles auswählen
$IPTABLES -A INPUT -p udp -m multiport --ports port:port -j ACCEPT
Ist Dein Router, falls vorhanden, hinsichtlich seiner Firewall entsprechend eingerichtet? Geht denn VoIP ohne die Firewalls?
Viele Grüße
Theophil
- McAldo
- Moderator
- Beiträge: 2069
- Registriert: 26.11.2003 11:43:36
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Terra / Sol-System / Milchstraße
Diese Regel hier scheitert:
Wenn ich dann neu starte kommt diese Meldung:
Ich habe da noch Sarge laufen und laut Manpage ist die Angabe bei Multiport port,port,port,...
Das Modul multiport ist geladen. Ins Internet darf alles. ohne FW hab ich noch nicht versucht.
McAldo
Code: Alles auswählen
$IPTABLES -A INPUT -p udp -m multiport --port 5000:5100 -j ACCEPT
Code: Alles auswählen
Starting Maske Firewall Script iptables v1.2.11: invalid port/service `5000:5100' specified
Try `iptables -h' or 'iptables --help' for more information.
Das Modul multiport ist geladen. Ins Internet darf alles. ohne FW hab ich noch nicht versucht.
McAldo
Achte auf deine Gedanken, denn sie werden Worte.
Achte auf deine Worte, denn sie werden Handlungen.
Achte auf deine Handlungen, denn sie werden Gewohnheiten.
Achte auf deine Gewohnheiten, denn sie werden dein Charakter.
Achte auf deinen Charakter, denn er wird dein Schicksal.
(Talmud)
Achte auf deine Worte, denn sie werden Handlungen.
Achte auf deine Handlungen, denn sie werden Gewohnheiten.
Achte auf deine Gewohnheiten, denn sie werden dein Charakter.
Achte auf deinen Charakter, denn er wird dein Schicksal.
(Talmud)
-
- Beiträge: 402
- Registriert: 22.10.2006 20:24:59
- Lizenz eigener Beiträge: MIT Lizenz
Moin, moin!
Es wäre natürlich interessant, ob VoIP ohne die Firewalls geht, bevor Du Dir viel Mühe mit iptables machst.
Es sieht ja so aus, dass die SIP-Anmeldung beim SIP-Server klappt und das SIP-Signal mit dem Verbindungswunsch die Firewalls auf dem Router und den Rechnern mit den Endgeräten passieren kann.
Per Default ist das ja Port udp 5060, bzw. die Ports, die Du eingestellt hast. In Richtung Internet geht ja, wie Du schreibst, wie bei mir alles durch.
Offensichtlich funktioniert dann die Übertragung der Sprach- und Statusdaten via rtp nicht, evtl. ist da bei Dir noch ein Firewall-Problem. Wahrscheinlich kennst Du Dich mit iptables aber besser aus als ich. Lassen Deine Regeln denn auf allen Firewalls die Ports in beide Richtungen durch? Du hast ja offensichtlich nur eine Regel für den Forward-Filter (auf dem Router?) gepostet. Wie ist NAT konfiguriert?
Viele Grüße
Theophil
Es wäre natürlich interessant, ob VoIP ohne die Firewalls geht, bevor Du Dir viel Mühe mit iptables machst.
Es sieht ja so aus, dass die SIP-Anmeldung beim SIP-Server klappt und das SIP-Signal mit dem Verbindungswunsch die Firewalls auf dem Router und den Rechnern mit den Endgeräten passieren kann.
Per Default ist das ja Port udp 5060, bzw. die Ports, die Du eingestellt hast. In Richtung Internet geht ja, wie Du schreibst, wie bei mir alles durch.
Offensichtlich funktioniert dann die Übertragung der Sprach- und Statusdaten via rtp nicht, evtl. ist da bei Dir noch ein Firewall-Problem. Wahrscheinlich kennst Du Dich mit iptables aber besser aus als ich. Lassen Deine Regeln denn auf allen Firewalls die Ports in beide Richtungen durch? Du hast ja offensichtlich nur eine Regel für den Forward-Filter (auf dem Router?) gepostet. Wie ist NAT konfiguriert?
Viele Grüße
Theophil