Benutzer-Werkzeuge

Webseiten-Werkzeuge


lager:oeff_netze:voip_mjsip

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
lager:oeff_netze:voip_mjsip [2015/02/10 17:06] richardlager:oeff_netze:voip_mjsip [2025/11/19 16:15] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 2: Zeile 2:
 ====== Laborübung zu VoIP mit mjsip ====== ====== Laborübung zu VoIP mit mjsip ======
  
 +===== Überblick zur Übung =====
  
-Für die Übung zu VoIP wird der SIP-Proxy ''mjsip'' als vermittelndes Element eingesetzt. Im folgenden ist ein kurzes Howto inklusive einer Beispielkonfiguration, die an die eigenen Bedürfnisse anzupassen ist. +Der grundsätzliche Netzaufbau wird im folgenden Bild dargestellt. Es handelt sich um zwei Clients auch UA((UA: User Agent)) (hier als Softphone also als PC-Software) genannt und einem Server auch SIP-Proxy oder kurz Proxy bezeichnet
 {{ :lager:oeff_netze:bilder:w02-voip-laboraufbau.png | Laboraufbau}} {{ :lager:oeff_netze:bilder:w02-voip-laboraufbau.png | Laboraufbau}}
  
-===== Vorbereitung ===== +Im Ordner ''/home/keinpasswort/tools/mjsip/'' liegen alle notwendigen Scripte und Konfigurationsdateien.
-Der ''mjsip''-Proxy basiert auf ''java'', daher wird eine Runtime-Umgebung für Java benötigtMit dem folgenden Befehl lässt sich überprüfen, welche ''java''-Version installiert ist: +
-<code> java -version </code>+
  
-Mögliche Ausgabe: +In den jeweiligen Ordnern ''proxy'' und ''ua'' befinden sich Start-Scripte (mit der Endung ''.sh''und Unterordner für die Konfiguration ''config''.
-<code> +
-Java(TM) SE Runtime Environment (build 1.7.0_65-b17) +
-Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)</code>+
  
-Sollte keine ''java''-Runtime-Umgebung((''jre'': java runtime enviroment)) installiert sein, kann sie mit dem folgenden Befehl installiert werden.  +Das gesamte Paket ist so aufgebaut, dass sie auf einem PC laufen kann. Allerdings werden dann nur ''localhost'' IP-Adressen verwendet ((''localhost''-IP-Adressen aus dem Bereich ''127.0.0.0/24'')). Realistischer ist es allerdings die UAs und den Proxy auf jeweils unterschiedlichen PCs zu betreiben.
-<code>sudo apt-get install openjdk-7-jre</code>+
  
-HINWEIS: Im Netzwerklabor ist eine geeignete ''java''-Version bereits installiert.+^ Netzelement ^ ''localhost''-Adresse ^ Port ^ 
 +| Proxy | 127.0.0.2 | 5060  | 
 +| Alice | 127.0.0.1 | 5070  | 
 +| Bob | 127.0.0.1 | 5080  |
  
 +HINWEIS: Der Standard-Port für SIP ist ''5060''. Die beiden Ports ''5070'' bzw. ''5080'' für die UAs werden verwendet, damit alle Netzelement lokal auf einem PC arbeiten können.
  
-===== mjsip SIP-Proxy =====+Die Kommunikation ist in zwei Phasen unterteilt. 
 +  Registrierung (Anmeldung am Proxy
 +  - Call-Auf-/Abbau (eigentliches Telefonat)
  
-==== Download des Proxy ==== 
-Der Proxy selbst wird unter  [[http://www.mjsip.org/mjproxy.html| www.mjsip.org]] beschrieben. Dort kann er auch [[http://www.mjsip.org/download/mjproxy_1.7.zip| als mjproxy heruntergeladen]] werden. 
-Weitere Informationen finden sich auf der Homepage der Entwickler. 
  
-In der ZIP-Datei befindet sich das Start-Skript ''proxy.sh''. Unglücklicherweise haben die Entwickler als Zeilenende die DOS/Windows Variante ''^M''  verwendet. Das Skript funktioniert daher nicht direkt. 
  
-Durch öffnen und wieder speichern im richtigen Format kann dieses Problem gelöst werden. Hierzu öffnet man die ausgepackte Datei mit ''gedit''Der ''Speichern unter''-Dialog enthält die Möglichkeit das Zeilenende von ''Windows'' auf ''Unix/Linux'' umzustellen: +===== Der mjsip SIP-Proxy =====
-{{ :lager:oeff_netze:bilder:voip_mjproxy_save.png?600 | Zeilenende korrigieren}}+
  
 +==== Wichtige Proxy-Dateien ====
 +Der Proxy liegt im Unterordner ''proxy'' wird dort über die Datei ''proxy.sh'' gestartet. (ggf. muss noch per ''cd <ORDNER>'' ((cd: **c**hange **d**irectory)) gewechselt werden). ''proxy.sh'' ist bereits als ausführbar markiert((ausführbar machen durch: ''chmod +x <DATEINAME>'')). 
 +<code>./proxy.sh</code>
  
-Alternativ kann die Orginal-Datei durch die Folgende ersetzt werden: +Im Unterordner ''config'' befinden sich die KonfigurationsdateienDer Proxy-Server selbst wird in der Datei ''server.cfg'' konfiguriertDie User können in ''aaa.db'' bzw. ''user.db'' angelegt werden.
-<file bash proxy.sh> +
-#!/bin/sh +
-echo : +
-echo : +
-echo : ----------------------- SIP-Proxy ----------------------- +
-echo : +
-java -classpath lib/sip.jar:lib/server.jar local.server.Proxy -f config/server.cfg $1 $2 $3 $4 $5 $6 $7 $8 $9 +
-</file>+
  
-Wie immer bei Skripten muss die Datei nach dem herunterladen durch das setzen des eXecute-Bits noch ausführbar gemacht werden. +Datei ^ Aufgabe ^ 
-<code>chmod +x proxy.sh</code>+| ''proxy.sh'' | Startscript für den Proxy verweist auf die ''config/server.cfg''
 +| ''config/server.cfg'' | Konfigurationsdatei für den Proxy | 
 +| ''config/aaa.db'' | Nutzerdatenbank mit Benutzernamen und Passwörtern | 
 +| ''config/user.db'' | Enthält angemeldete Nutzern und ist zunächst leer |
  
-Im Unterordner ''config'' befinden sich die Konfigurationsdateien. Der Proxy-Server selbst wird in der Datei ''server.cfg'' konfiguriert. Die User können in ''aaa.db'' bzw. ''user.db'' angelegt werden. 
  
-Die im zip-Archive enthaltene Datei ''config/mjsip.cfg.txt'' enthält eine ausführliche Beschreibung der einzelnen Parameter.+==== Konfiguration des Proxy ==== 
 +Die Datei ''config/mjsip.cfg.txt'' enthält eine ausführliche Beschreibung der einzelnen Parameter.
 Vertiefender Hinweis: Auf der ''mjsip''-Homepage findet man unter dem Menüpunkt ''Dokumentation'' ein Tutorial-PDF, in dem einige Zustandsdiagramme gezeigt werden. Vertiefender Hinweis: Auf der ''mjsip''-Homepage findet man unter dem Menüpunkt ''Dokumentation'' ein Tutorial-PDF, in dem einige Zustandsdiagramme gezeigt werden.
 Hier die wichtigsten Parameter für die ''server.cfg'' und deren Bedeutung: Hier die wichtigsten Parameter für die ''server.cfg'' und deren Bedeutung:
Zeile 56: Zeile 49:
 | ''host_port'' | ''host_port'' ist der lokal genutzt Port | ''host_port=5060'' | | ''host_port'' | ''host_port'' ist der lokal genutzt Port | ''host_port=5060'' |
 | ''default_transport_protocols'' | Protokoll auf Schicht 4; also TCP bzw. UDP; es können auch beide genutzt werden | ''transport_protocols=udp'' | | ''default_transport_protocols'' | Protokoll auf Schicht 4; also TCP bzw. UDP; es können auch beide genutzt werden | ''transport_protocols=udp'' |
 +| ''expires'' | Zeit in Sekunden nach der sich ein UA erneut anmelden muss (sogenanntes ''REREGISTER''); vgl. ''Contact parameter: expires=100\r\n''| ''expires=10'' |
 | ''call_log'' | Aktiviert das Speichern von Signalisierungsinformationen | ''call_log=yes'' | | ''call_log'' | Aktiviert das Speichern von Signalisierungsinformationen | ''call_log=yes'' |
 | ''domain_names'' | Domains bzw. IP-Adressen, die der Proxy nutzen soll | ''domain_names=example.com example.net 127.0.0.2'' | | ''domain_names'' | Domains bzw. IP-Adressen, die der Proxy nutzen soll | ''domain_names=example.com example.net 127.0.0.2'' |
Zeile 69: Zeile 63:
 | ''log_path'' | Pfad für die ''log''-Dateien | ''log_path=log'' | | ''log_path'' | Pfad für die ''log''-Dateien | ''log_path=log'' |
  
-Die User werden in der Datei aaa.db (s. Parameter ''authentication_db'') eingerichtet. Die Syntax sieht wie folgt aus:+Die User werden in der Datei ''aaa.db'' (s. Parameter ''authentication_db'') eingerichtet. Die Syntax sieht wie folgt aus:
  
 ''user= 100@DOMAIN''\\ ''user= 100@DOMAIN''\\
Zeile 89: Zeile 83:
 Zusätzlich gibt es noch die Möglichkeit einen Session-Border-Controller((SBC)) zu starten. Die Konfigurationsdatei ist ''sbc.cfg''. Zusätzlich gibt es noch die Möglichkeit einen Session-Border-Controller((SBC)) zu starten. Die Konfigurationsdatei ist ''sbc.cfg''.
  
-In der Datei ''mjsip.cfg.txt'' sind alle verfügbaren Parameter in Bereich unterteilt und ausführlich beschrieben.+In der Datei ''mjsip.cfg.txt'' sind alle verfügbaren Parameter für diesen Bereich in ''Section 6: SBC'' ausführlich beschrieben.
  
  
-===== Der Client =====+===== Der mjua-Client ===== 
 + 
 +Aus dem ''mjsip''-Projekt stammt ebenfalls der Client ''mjua'' ((ua: User Agent)). Dieser ist mit einer sehr spartanischen GUI ausgestattet, so dass nur einfache Calls möglich sind. Aufgerufen wird der ''ua'' über die folgenden Befehle: 
 + 
 +==== Wichtige Client-Dateien ==== 
 +Der Client liegt im Unterordner ''ua'' wird dort über die Datei ''alice.sh'' bzw. ''bob.sh'' gestartet. (ggf. muss noch per ''cd <ORDNER>'' ((cd: **c**hange **d**irectory)) gewechselt werden). ''proxy.sh'' ist bereits als ausführbar markiert((ausführbar machen durch: ''chmod +x <DATEINAME>'')).  
 +<code>./alice.sh</code> 
 +bzw.  
 +<code>./bob.sh</code> 
 + 
 +Will man eine eigene Konfigurationsdatei (hier: ''myconfig.cfg'' der Pfad muss relativ angegeben werden)verwenden, so kann dies über diesen Aufruf geschehen: 
 +<code>uaw.sh -f myconfig.cfg</code> 
 + 
 +Im Unterordner ''config'' befinden sich die Konfigurationsdateien. Es existieren zwei Beispiel-Konfigurationen für ''Alice'' und ''Bob'' in den Dateien ''alice.cfg'' bzw. ''bob.cfg''
 + 
 +Die folgende Tabelle enthält alle wichtigen Dateien und die jeweilige Aufgabe. 
 +^ Datei ^ Aufgabe ^ 
 +| ''alice.sh'' | Startscript für den ''Alice''-UA verweist auf die ''config/alice.cfg''
 +| ''bob.sh'' | Startscript für den ''Bob''-UA verweist auf die ''config/bob.cfg''
 +| ''config/alice.cfg'' | Konfigurationsdatei für den Proxy | 
 +| ''config/bob.cfg'' | Nutzerdatenbank mit Benutzernamen und Passwörtern | 
 +| ''config/buddy.lst'' | Enthält die bekannten ''Buddies'' für beide Clients, also die Freundesliste | 
 + 
 +==== Konfiguration der UAs ==== 
 +Die Konfigurationsdateien sind so vorbereitet, dass sich die Clients ''Alice'' und ''Bob'' (auf einem PC) gegenseitig über den Proxy anrufen können. Diese Konfigurationen können als Ausgangspunkt für eigene Konfigurationen dienen, bei denen z.B. alle Netzelemente auf unterschiedlichen PC laufen. 
 +HINWEIS: Vor allem die IP-Adressen als Domänen sind hier anzupassen. 
 + 
 +Die Datei ''config/mjsip.cfg.txt'' enthält eine ausführliche Beschreibung der einzelnen Parameter. 
 + 
 +Hier die wichtigsten Parameter für die UAs ''config/alice.cfg'' bzw. ''config/bob.cfg'' und deren Bedeutung: 
 + 
 +^Parameter ^Bedeutung ^Beispiel ^ 
 +| ''host_port'' | ''host_port'' ist der lokal genutzt Port | ''host_port=5060''
 +| ''transport_protocols'' | Protokoll auf Schicht 4; also TCP bzw. UDP; es können auch beide genutzt werden | ''transport_protocols=udp''
 +| ''display_name'' | Selbstvergebener Name, der im Client angezeigt wird und dem Anrufer signalisiert wird; vgl. ''FROM''-Feld  | ''user=Alice-DISPLANAME''
 +| ''user'' | Ist der sogenannte AOR((AOR: address of record; besteht aus dem Benutzername und der Domain )) und wird für das Feld ''contact'' im ''SIP''-Protokoll genutzt | ''user=Alice''
 +| ''proxy'' | Muss mit einer im Proxy konfigurierten Domäne passen; im Labor die IP-Adresse des Servers; vgl. ''domain_names'' in der Proxy-Konfiguration | ''auth_realm=127.0.0.2''
 +| ''auth_user'' | Muss zu einem im Proxy konfigurierten Benutzer passen | ''user=alice''
 +| ''auth_realm'' | Muss mit einer im Proxy konfigurierten Domäne passen; im Labor die IP-Adresse des Servers; vgl. ''domain_names'' in der Proxy-Konfiguration | ''auth_realm=127.0.0.2''
 +| ''auth_passwd'' | Muss zu einem im Proxy konfigurierten Benutzer passen | ''auth_passwd=pippo''
 +| ''do_register'' | Der Client führt zunächst ein ''REGISTER'' durch | ''do_register=yes''
 +| ''keepalive_time'' | Der Client sendet UDP-Pakete an den OUTBOUND-Proxy sofern dieser vorhanden ist | ''keepalive_time=60''
 +| ''buddy_list_file'' | Enthält die bekannten ''Buddies'' für beide Clients, also die Freundesliste | ''buddy_list_file=config/buddy.lst''
 +| ''audio'' | Aktiviert die Audio-Übertragung | ''audio=yes''
 +| ''video'' | Aktiviert die Video-Übertragung | ''video=no''
 +| ''bin_rat'' | Pfad zum RAT-Audio-Übertragungsprogramm ((RAT: Robust Audio Tool)) | ''bin_rat=rat''
 +| ''bin_vic'' | Pfad zum VIC-Video-Konferenzprogramm ((VIC: Video Conferencing Tool)) | ''bin_vic=vic''
 +| ''debug_level'' | Es werden zusätzliche Inforamtionen gespeichert; 0 bedeutet deaktiviert; je höher, umso mehr Informationen werden gespeichert | ''debug_level=3''
 +| ''log_path'' | Pfad für die ''log''-Dateien | ''log_path=log''
 +Vertiefender Hinweis: Auf der ''mjsip''-Homepage findet man unter dem Menüpunkt ''Dokumentation'' ein Tutorial-PDF, in dem einige Zustandsdiagramme gezeigt werden. 
 + 
 +==== Audio- / Videokonfiguration ==== 
 +Die Audio- bzw. Video-Übertragung wird mit den folgenden Parametern eingestellt. Geregelt ist die im [[https://tools.ietf.org/html/rfc4566 | RFC 4566]] im sogenannten ''SDP'' ((SDP: Session Description Protocol)) eine Unterprotokoll für SIP.  
 +Innerhalb des ''SDP'' werden die Parameter für das RTP ((RTP: **R**eal-Time **T**ransport-**P**rotocol)) festgelegt. Eine Liste mit möglichen Codecs findet sich [[http://de.wikipedia.org/wiki/Real-Time_Transport_Protocol| hier (deutsch)]] und [[http://en.wikipedia.org/wiki/RTP_audio_video_profile| hier (englisch)]] 
 + 
 +<code> 
 +# AUDIO CONFIGURATION 
 +media=audio 3000 rtp/avp   
 +media_spec=audio 0 PCMU 8000 160 
 +media_spec=audio 8 PCMA 8000 160 
 +# Parameter-Description 
 +
 +# Parameter: media 
 +
 +# media= <TYPE> <PORT> <MEDIA_PROTOCOL> 
 +# <TYPE>: audio 
 +# <PORT>: 3000 gemeint ist der UDP-Port 
 +# <MEDIA_PROTOCOL>: rtp/avp 
 +
 +# Parameter: media_spec 
 +
 +# media= <TYPE> <MEDIA_FORMAT> <CODEC> <RATE> <FRAME_SIZE> 
 +# <TYPE>: audio 
 +# <MEDIA_FORMAT>: audio 
 +# <CODEC>: PCMA  
 +# <RATE>: 8000 
 +# <FRAME_SIZE>: 160 gemeint ist die Anzahl von Bytes pro Paket 
 +</code> 
 + 
 +Der Codec ''PCMA'' steht für **P**ulse **C**ode **M**odulation nach dem sogenannten **a**-Law. Es gibt noch die **µ**-Law-Variante. 
 + 
 +===== Aufgaben ===== 
 + 
 +Protokollieren Sie den folgende Vorgänge mit: 
 + 
 +  - Anmeldung der Benutzer (einmal korrekt, einmal mit falschem Passwort, einmal mit falschem Benutzernamen) 
 +  - Verbindungsaufbau (einmal zu korrektem Ziel, einem zu nicht existierendem Ziel) 
 +  - Wiederanmeldung (Reregister) der Benutzer 
 +  - Überprüfen Sie auf welchem ''port'' die jeweiligen Programme (Clients/Proxy) laufen. 
 + 
 +**HINWEIS**: Mit folgendem Befehl können die ''ports'' angezeigt werden. 
 +<code> 
 +# Zeigt nur die verwendeten Ports an 
 +lsof -i -P -n | grep LISTEN 
 + 
 +Ausgabe: 
 +java    18254 keinpasswort   20u  IPv6  48914      0t0  TCP *:5060 (LISTEN) 
 +java    18425 keinpasswort   20u  IPv6  48045      0t0  TCP *:5070 (LISTEN) 
 + 
 + 
 +# Zeigt alle Verbindungen inkl. der IP-Adressen an 
 +netstat -tulpn | grep LISTEN 
 + 
 +Ausgabe: 
 +(Es konnten nicht alle Prozesse identifiziert werden; Informationen über 
 +nicht-eigene Processe werden nicht angezeigt; Root kann sie anzeigen.) 
 +tcp        0      0 127.0.0.1:2601          0.0.0.0:              LISTEN      -                
 +tcp        0      0 127.0.0.1:2602          0.0.0.0:              LISTEN      -                
 +tcp        0      0 127.0.0.1:2604          0.0.0.0:              LISTEN      -                
 +tcp        0      0 0.0.0.0:22              0.0.0.0:              LISTEN      -                
 +tcp6            0 :::5070                 :::                   LISTEN      18425/java       
 +tcp6            0 :::80                   :::                   LISTEN      -                
 +tcp6            0 :::22                   :::                   LISTEN      -                
 +tcp6            0 :::5080                 :::                   LISTEN      18533/java       
 +tcp6            0 :::5060                 :::                   LISTEN      18254/java  
 + 
 +</code> 
 + 
 +Zusatzaufgabe (optional): Leiten Sie die Registrierung und Verbindungsauf-/abbau über zwei Proxys. 
 + 
 +Achten Sie insbesondere auf die Statusmeldungen. 
 + 
 +Arbeiten Sie zunächst auf einem Rechner (Alice, Bob und Proxy). 
 + 
 +Verwenden Sie anschließend pro Netzelement EINEN Rechner (also alle getrennt). Planen Sie Ihre IP-Adressen und passen Sie die jeweiligen Konfigurationsdateien an. 
 + 
 +===== Proxy-to-Proxy Signalisierung ===== 
 + 
 +Die folgende Konfiguration kann für die Verbindung von zwei Domainen auf zwei unterschiedlichen Proxies verwendet werden. 
 + 
 +<code> 
 +domain_names=example.com example.net 192.168.33.119 
 +... 
 +domain_proxying_rules={domain=192.168.33.116,nexthop=192.168.33.116:5060} 
 +</code> 
 +Dabei ist ''192.168.33.116'' die "fremde" Domain und ''192.168.33.119'' die eigene Domain (s. ''domain_names''). 
 +ACHTUNG: Der Parameter ''outbound_proxy'' darf für die Proxies nicht verwendet werden (LOOP-Bildung). 
 +Auf den Clients kann der ''outbound_proxy'' als Default-Gateway interpretiert werden. Sprich alle Calls außerhalb der eigenen Domain (''192.168.33.119'') gehen an diesen Proxy (i.d.R. der eigene Proxy). 
 + 
 +===== Alternative Clients ===== 
 +==== Linphone-Client ====
 Die Konfiguration des Clients ist [[lager:oeff_netze:voip#sip-client_softphone_linphone|hier]] beschrieben.  Die Konfiguration des Clients ist [[lager:oeff_netze:voip#sip-client_softphone_linphone|hier]] beschrieben. 
 +
 +
 +==== YATE-Client ====
 +Derzeit ist der Client nicht auf den Labor-PCs installiert. Es wird demnach eine VM benötigt.
 Als Alternative zu diesem Client kann der ''yate-qt4''((yate: yet another telephone engine)) Client verwendet werden. Als Alternative zu diesem Client kann der ''yate-qt4''((yate: yet another telephone engine)) Client verwendet werden.
 <code>sudo apt-get install yate-qt4</code> <code>sudo apt-get install yate-qt4</code>
-Der Client wird im Untermenü ''Internet'' einsortiert.+ 
 +Der ''YATE''-Client wird im Untermenü ''Internet'' einsortiert.
  
 Die Software ist [[http://yateclient.yate.ro/|hier]] beschrieben.  Die Software ist [[http://yateclient.yate.ro/|hier]] beschrieben. 
Zeile 102: Zeile 241:
  
 {{:lager:oeff_netze:bilder:voip_yate_accountconfig.png?200 | Yate Konfiguration}} {{:lager:oeff_netze:bilder:voip_yate_accountconfig.png?200 | Yate Konfiguration}}
 +
 +
 +===== Installation außerhalb des Labornetzes =====
 +HINWEIS: Im Netzwerklabor ist eine geeignete ''java''-Version bereits installiert, d.h. der folgende Abschnitt kann ignoriert werden. Er wird nur der Vollständigkeit halber aufgeführt.
 +
 +Der ''mjsip''-Proxy basiert auf ''java'', daher wird eine Runtime-Umgebung für Java benötigt. Mit dem folgenden Befehl lässt sich überprüfen, welche ''java''-Version installiert ist:
 +<code> java -version </code>
 +
 +Mögliche Ausgabe:
 +<code>
 +Java(TM) SE Runtime Environment (build 1.7.0_65-b17)
 +Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)</code>
 +
 +Sollte keine ''java''-Runtime-Umgebung((''jre'': java runtime enviroment)) installiert sein, kann sie mit dem folgenden Befehl installiert werden. 
 +<code>sudo apt-get install openjdk-7-jre</code>
 +
 +
 +
 +
 +
 +===== mjsip-Quelle =====
 +Für die Übung zu VoIP wird die Software ''mjsip'' als vermittelndes Element und Client eingesetzt. Diese Software  wird unter  [[http://www.mjsip.org/mjproxy.html| www.mjsip.org]] im Original bereitgestellt. 
 +
 +Die dort abgelegte Version 1.7 enthält in den Start-Scripten kleinere Fehler, daher wird hier ein Paket bereitgestellt, welches diese Fehler nicht enthält und etwas anders aufgebaut ist.
 +
 +==== Korrekturen für die Start-Scripte ====
 +
 +Hier die Download-Links, der Original-Software:
 +^ Netzelement ^ Download ^
 +| UA / Client | [[http://www.mjsip.org/download/mjua_1.7.zip| DOWNLOAD]] |
 +| Proxy | [[http://www.mjsip.org/download/mjproxy_1.7.zip| DOWNLOAD]] |
 +
 +Weitere Informationen finden sich auf der Homepage der Entwickler.
 +
 +In den ZIP-Datei befinden sich mehrere Start-Skripte z.B. ''proxy.sh'' und ''uaw.sh''. Unglücklicherweise haben die Entwickler als Zeilenende die DOS/Windows Variante ''^M''((''^M'' steht für STRG-M)) verwendet. Das Skript funktioniert daher nicht direkt.
 +
 +Durch öffnen und wieder speichern im richtigen Format kann dieses Problem gelöst werden. Hierzu öffnet man die ausgepackte Datei mit ''gedit''. Der ''Speichern unter''-Dialog enthält die Möglichkeit das Zeilenende von ''Windows'' auf ''Unix/Linux'' umzustellen:
 +{{ :lager:oeff_netze:bilder:voip_mjproxy_save.png?600 | Zeilenende korrigieren}}
 +
 +Alle notwendigen Dateien wurden korrigiert und in dem folgenden Archive zusammengepackt und liegt hier zum 
 +
 +**{{:lager:oeff_netze:mjsip.tar.gz|DOWNLOAD}}** bereit.
 +
lager/oeff_netze/voip_mjsip.1423587999.txt.gz · Zuletzt geändert: (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki