[gelöst] VoIP,Ekiga,Sipgate,Firewall,Router,Konfiguration

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Theophil T.
Beiträge: 402
Registriert: 22.10.2006 20:24:59
Lizenz eigener Beiträge: MIT Lizenz

[gelöst] VoIP,Ekiga,Sipgate,Firewall,Router,Konfiguration

Beitrag von Theophil T. » 16.09.2007 10:01:42

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
Zuletzt geändert von Theophil T. am 11.11.2007 14:34:31, insgesamt 1-mal geändert.

Theophil T.
Beiträge: 402
Registriert: 22.10.2006 20:24:59
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von Theophil T. » 26.10.2007 23:00:17

Nach Verzögerungen aus anderem Grund ist die Verbindung jetzt eingerichtet.

Es geht ohne Portfreischaltung. Mit dem STUN-Server stun.ekiga.net funktioniert alles.
PS: Die Firewalls blocken alle Pakete von außen, ins Internet werden alle Pakete weitergeleitet.

Theophil

Theophil T.
Beiträge: 402
Registriert: 22.10.2006 20:24:59
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von Theophil T. » 11.11.2007 14:29:03

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

Benutzeravatar
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

Beitrag von McAldo » 19.01.2008 19:18:36

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:

Code: Alles auswählen

$IPTABLES -A FORWARD -p udp --destination-port 5000:5100 -j ACCEPT
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
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)

Theophil T.
Beiträge: 402
Registriert: 22.10.2006 20:24:59
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von Theophil T. » 19.01.2008 20:30:41

Hallo McAldo,

bei mir heisst die iptables-Regel

Code: Alles auswählen

$IPTABLES -A INPUT -p udp -m multiport --ports port:port -j ACCEPT
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

Benutzeravatar
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

Beitrag von McAldo » 19.01.2008 23:04:57

Diese Regel hier scheitert:

Code: Alles auswählen

$IPTABLES -A INPUT -p udp -m multiport --port 5000:5100 -j ACCEPT
Wenn ich dann neu starte kommt diese Meldung:

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.
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
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)

Theophil T.
Beiträge: 402
Registriert: 22.10.2006 20:24:59
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von Theophil T. » 20.01.2008 12:14:33

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

Antworten