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 [17.02.2015 17:34] richardlager:oeff_netze:voip_mjsip [05.09.2019 11:06] (aktuell) richard
Zeile 4: Zeile 4:
 ===== Überblick zur Übung ===== ===== Überblick zur Übung =====
  
-Der grundsätzliche Netzaufbau wird im folgenden Bild dargestellt. Es handelt sich um zwei Clients auch UA((UA: User Agent))genannt und einem Server auch SIP-Proxy oder kurz Proxy bezeichnet. +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}}
  
-Alle notwendigen Dateien wurden in einem Archive zusammengepackt und liegt hier zum {{:lager:oeff_netze:mjsip.tar.gz|DOWNLOAD}} bereit. +Im Ordner ''/home/keinpasswort/tools/mjsip/'' liegen alle notwendigen Scripte und Konfigurationsdateien.
-In den jeweiligen Ordnern ''proxy'' und ''ua'' befinden sich Start-Scripte (mit der Endung .sh) und Unterordner für die Konfiguration ''config''.+
  
-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.+In den jeweiligen Ordnern ''proxy'' und ''ua'' befinden sich Start-Scripte (mit der Endung ''.sh'') und Unterordner für die Konfiguration ''config''
 + 
 +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.
  
 ^ Netzelement ^ ''localhost''-Adresse ^ Port ^ ^ Netzelement ^ ''localhost''-Adresse ^ Port ^
Zeile 17: Zeile 18:
 | Bob | 127.0.0.1 | 5080  | | 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.+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.
  
 Die Kommunikation ist in zwei Phasen unterteilt. Die Kommunikation ist in zwei Phasen unterteilt.
Zeile 165: Zeile 166:
  
 Der Codec ''PCMA'' steht für **P**ulse **C**ode **M**odulation nach dem sogenannten **a**-Law. Es gibt noch die **µ**-Law-Variante. 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 ===== ===== Alternative Clients =====
Zeile 212: Zeile 271:
 ^ Netzelement ^ Download ^ ^ Netzelement ^ Download ^
 | UA / Client | [[http://www.mjsip.org/download/mjua_1.7.zip| DOWNLOAD]] | | UA / Client | [[http://www.mjsip.org/download/mjua_1.7.zip| DOWNLOAD]] |
-UA / Client | [[http://www.mjsip.org/download/mjproxy_1.7.zip| DOWNLOAD]] |+Proxy | [[http://www.mjsip.org/download/mjproxy_1.7.zip| DOWNLOAD]] |
  
 Weitere Informationen finden sich auf der Homepage der Entwickler. Weitere Informationen finden sich auf der Homepage der Entwickler.
Zeile 220: Zeile 279:
 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: 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}} {{ :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.1424190869.txt.gz · Zuletzt geändert: 05.07.2018 10:03 (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki