[[Vorlage(Archiviert)]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Paketquellen_freischalten: Bearbeiten von Paketquellen] [:Terminal: Ein Terminal öffnen] [:Editor: Einen Editor öffnen] [:Programme_kompilieren: Pakete aus dem Quellcode erstellen] }}} [[Inhaltsverzeichnis(2)]] Möchte man mehrere SIP-Anwendungen (beispielsweise [:Ekiga:] oder Hardware-SIP-Telefone) hinter einem Router betreiben, so kann es vorkommen, dass Netzwerk-Ports speziell weitergeleitet werden müssen, da sonst die Verbindungen nicht so funktionieren, wie sie sollten. Um dies zu vermeiden, kann man den speziellen Proxy-Server [sourceforge2:siproxd:siproxd] {en} (SIP proxy/masquerading daemon) nutzen. Leider ist die aktuellste Version des Programmes nicht in den Ubuntu-Quellen verfügbar. Diese lässt sich jedoch bei Bedarf sehr leicht kompilieren, da sie nur wenige Abhängigkeiten benötigt. Im Normalfall sollte auch die Version aus den offiziellen Paketquellen ihre Aufgabe wunderbar erfüllen. {{{#!vorlage Hinweis sipproxyd nutzt nur was, wenn der Proxy auf dem Gateway ins Internet installiert ist! }}} = Installation = Sipproxy ist in den offiziellen Paketquellen enthalten. Es muss das folgende Paket installiert [1] werden: {{{#!vorlage Paketinstallation siproxd, universe }}} Anschließend wird in der Konfigurationsdatei '''/etc/default/siproxd''' der Proxy aktiviert werden. Dies geschieht mit einem Editor mit Root-Rechten [4]. In der einzigen Zeile der Datei {{{ ENABLED=1 }}} muss aus der `0` eine `1` gemacht werden. Anschließend kann der Dienst über den Befehl {{{#!vorlage Befehl sudo /etc/init.d/siproxd start }}} sofort gestartet und benutzt werden. Mehr zum Thema kann im Artikel [:Dienste:] nachgelesen werden. = Benutzung = Um die Konfiguration von siproxd an die Gegebenheiten anzupassen, muss nun die '''/etc/siproxd.conf''' editiert werden [4] (Root-Rechte erforderlich). == Netzwerkkonfiguration == Zuerst muss die Netzwerkkonfiguration angepasst werden. Falls siproxd auf einem Rechner läuft, der gleichzeitig als Router fungiert, so kann direkt die externe und die interne Netzwerkschnittstelle angegeben werden. Also zum Beispiel: {{{ # The interface names of INBOUND and OUTBOUND interface. if_inbound = eth0 if_outbound = ppp0 }}} Sollte siproxd auf einem Rechner hinter einem Router laufen, so definiert man die Netzwerkschnittstelle als Ein- und Ausgang und trägt zusätzlich die externe IP bzw. die Adresse eines DynDNS Dienstes ein. {{{ # The interface names of INBOUND and OUTBOUND interface. if_inbound = eth0 if_outbound = eth0 host_outbound = rechnername.dnydns.org ## bzw. feste externe IP }}} == Zugangsrechte == Im nächsten Schritt kann festgelegt werden, wer mit dem siproxd Kontakt aufnehmen darf. Eigentlich reicht es hier, die Option `hosts_allow_reg` zu setzen. Hier sollten die internen IPs erlaubt werden. Also zum Beispiel: {{{ # Access control. hosts_allow_reg = 192.168.0.1/24 #hosts_allow_sip = 123.45.0.0/16,123.46.0.0/16 #hosts_deny_sip = 10.0.0.0/8,11.0.0.0/8 }}} == Als Hintergrundprozess starten == Für den ersten Start ist es praktisch siproxd so einzurichten, dass er nicht im Hintergrund startet. So kann man leicht erkennen, dass der Dienst sein Werk korrekt verrichtet und die Clients sich auch anmelden. Daher trägt man {{{ # Shall we daemonize? daemonize = 0 }}} ein. Zusätzlich kann man auch festlegen, unter welchen Benutzerrechten der Dienst laufen soll. Die Voreinstellung `nobody` ist jedoch schon sinnvoll gewählt und kann so belassen werden. {{{ # Secure Enviroment settings: user = nobody }}} == Erster Test == Um die erstellte Konfiguration zu testen, ist es ratsam, siproxd von Hand mit dem Befehl {{{#!vorlage Befehl siproxd -d -1 2 }}} zu starten. Anschließend konfiguriert (s.u.) und startet man einen SIP-Client, der den siproxd anspricht. Erscheinen Meldungen wie {{{ ---BUFFER DUMP follows--- 52 45 47 49 53 54 45 52 20 73 69 70 3a 73 69 70 REGISTER sip:sip 67 61 74 65 2e 64 65 20 53 49 50 2f 32 2e 30 0d gate.de SIP/2.0. 0a 43 53 65 71 3a 20 32 20 52 45 47 49 53 54 45 .CSeq: 2 REGISTE 52 0d 0a 56 69 61 3a 20 53 49 50 2f 32 2e 30 2f R..Via: SIP/2.0/ ... }}} so ist der Server korrekt konfiguriert. Man sollte jetzt auch schon Gespräche über den SIP-Proxy-Dienst führen können. == Automatischer Start == Nach diesem ersten Test sollte man siproxd wieder so konfigurieren, dass es im Hintergrund startet. Dazu in der '''/etc/siproxd.conf''' wieder {{{ daemonize = 1 }}} eintragen. Danach kann man den Befehl {{{#!vorlage Befehl siproxd }}} beispielsweise in die [:rc.local:] eintragen, so dass der Proxy-Server automatisch startet. = Konfiguration der Clients = SIP-Client-Programmen oder SIP-Hardware muss gesagt werden, den SIP-Proxy-Dienst zu nutzen. Am Beispiel [:Ekiga:] wird erklärt, wie dies einzurichten ist. Andere Anwendungen müssen ähnlich konfiguriert werden. Nach dem Start von Ekiga geht man in die Einstellungen unter * ''"Bearbeiten -> Einstellungen"'' und deaktiviert in den ''"Netzwerk-Einstellungen"'' NAT und den STUN-Server. Anschließend trägt man die interne IP des siproxd-Rechners in den ''"SIP-Einstellungen"'' als ''"Ausgangs-Proxy"'' ein. = Links = * [:Internet-Telefonie:] {Übersicht} Übersichtsartikel # tag: Internet, Kommunikation, Server, voip