USMInT: Informationen zum Betrieb im Netz "Lehrstuhl für Telekommunikationsnetze" TKN TU Berlin der "Technischen Universität Berlin" TU Berlin


Universelle Skalierbare
Multimediadienste im Internet

USMInT

o  Einführung
o  Installation  
o  Session Initiation Protocol  

o  FAQ
o  Demo-Setup
o  weiterführende Links

.

Die im folgenden bereitgestellten Informationen sollen zur Unterstützung des alltäglichen Betriebs der aus dem Projekt USMInT hervorgegangenen Software dienen. Da in der Installation und dem Betrieb immer wieder Fragen auftauchten, sollen auf diesen Seiten Tips und Tricks zur USMInT-Software bereitgestellt werden. 

Was bietet das Mint-Projekt?

Das Projekt Universelle Skalierbare Multimedia Dienste im Internet (USMInT) diente der Entwicklung einer integrierten Umgebung zur Nutzung von multimedialen Diensten im Internet. Seine Einsatzgebiete sind Teleteaching, Videokonferenzen und Broadcasting von Audio- und Videoströmen. Im Gegensatz zu den MBONE-Applikationen der ersten Generation wurde in USMInT Wert auf eine

  1. benutzerfreundliche Bedienung und
  2. die Bereitstellung bzw. Verbesserung der Quality of Service
gelegt. Hierzu bietet Mint eine einheitliche Benutzeroberfläche und verschiedene Agenten, wobei diese entweder für den Transport spezieller Datenformate (Video-, Audioagent) oder zur Steuerung von QoS-Features eingesetzt werden. Alle Module weisen die Fähigkeit auf, über einen Konferenzbus miteinander zu kommunizieren. Die Verbindung von Audio- und Videoübertragung mit den grundlegenden Fähigkeiten eines Telefoniesystems erlauben die Nutzung von USMInT als Ersatz für das klassische Telefonnetz. Hierfür ist neben der Erzeugung bzw. Verarbeitung von Video- und Audiodaten naturgemäß auch ein Callmanagement (Verbindungsaufbau, -abbau, QoS-Handling) erforderlich. Zur praktischen Erprobung der Software wurde diese am Lehrstuhl dauerhaft integriert. Mit Abschluß des Projektes steht die jedem Interessierten zur Benutzung zur Verfügung.

Im Februar 2000 wurde in die Infrastruktur des Lehrstuhl-Netzes die Mint-Software neu integriert. Dies beendet die gleichzeitige Nutzung mehrerer unterschiedlicher Versionen der Software. Es steht nun einheitlich die Version 2.0 Patchlevel 2 bereit. Als Betriebssysteme werden Linux 2.2 oder Solaris 2.5.1 vorausgesetzt. Unter MacOS IX bzw. den diversen Windowsvarianten (Win98, WinNT 4.0, W2k) läuft die Software nicht.

Im folgenden werden nun Informationen zur Installation, Konfiguration und dem Betrieb von USMInT gegeben.

Die Software des Mint-Projektes besteht aus mehreren Teilmodulen. Hierbei nimmt die zentrale Benutzerschnittstelle ISC (Integrated Session Controller) den wichtigsten Platz ein. Er bietet eine gemeinsame Konfigurationsoberfläche für alle weiteren medienspezifischen Medienagenten. Verknüpfungen zwischen Dokumenten/Filetypen und Anwendungsprogrammen werden im Un*xbereich über MIME (Multipurpose Internet Mail Extensions) gesteuert. Der Nutzer kann über in seinem Homeverzeichnis abgelegte Mailcap-Dateien festlegen, welche Applikation mit welchen Dateien verknüpft wird. USMInT trägt daher spezielle Einträge in die Mailcapdatei ein, die die USMInT-Agenten mit den entsprechenden Medientypen verbinden. Eine institutsangepaßte Mailcapdatei für Linux bzw. Solaris wird während der Userinstallation automatisch im Homeverzeichnis angelegt. Eine Übersicht zwischen Medium und verwendetem Agenten gibt die nächste Tabelle:

Verknüpfungen Medien - Anwendungen

.
  - Solaris 2.5.1 - Linux 2.2 - Bemerkungen

Audio

- NeVoT 3.35 - VAT 4.2b .

Video

- NeViT, VIC - VIC NeViT setzt für den Einsatz eine installierte Xil-Bibliothek voraus. Ob eine solche unter Solaris installiert ist, kann mit dem Tool pkginfo überprüft werden. Dann ist auch unter /opt/SUNWits/Graphics-sw ein Verzeichnis xil zu finden.
NeViT erzeugt als Datenstrom ausschließlich MJPEG-codierte Sequenzen. Daher ist es möglich, eine sehr hochbandbreitige Videosequenz zu erzeugen.

Postscript

- netGhost - netGhost netGhost stellt eine erweiterte ghostview-Variante dar. Mit ihr lassen sich zwar keine Postscriptdokumente verteilen (kein Multicast-FTP), jedoch kann der Mauszeiger als virtueller Zeigestock benutzt werden. Alle netGhost-Clients sehen die Bewegungen des Servers synchron.

Voting

- mpoll - mpoll .

Floor
Controlling

- ifloor - ifloor .

Kommunikation zwischen den Modulen

Die einzelnen Applikationen und der ISC kommunizieren mittels eines Conference-Busses. ACHTUNG: Dieser Bus ist nicht kompatibel zu dem in den Tools VIC und VAT angetroffenen Bus zur interanwendungsspezifischen Kommunikation! In USMInT müssen alle Agenten über eine lokale Multicastadresse dem sogenannten PMM-Conferencebus (PMM - Pattern Matching Multicast) beitreten. Dieser stellt letztendlich nur eine Multicastadresse dar (hier: 225.2.0.1/5010). Alle Module senden ASCII-codierte Nachrichten unter Nutzung des PMM-Protokolles. Tritt eine Applikation dieser PMM-Multicastsession bei, so erhält sie Zugang zur Mint-internen Kommunikation. Das bedeutet auch, daß die Mint-Anwendungen fernsteuerbar sind, wenn PMM-Nachrichten von außen an den Rechner, auf dem USMInT, läuft geschickt werden. Dies stellt eine nicht unerhebliche Sicherheitslücke dar, nicht zuletzt deswegen, weil die eintreffenden Nachrichten teilweise direkt an den TCL-Interpreter zur Ausführung übergeben werden. Der Einsatz auf kritischen Maschinen sollte daher wohl bedacht erfolgen! Abhilfe könnte ein Ersatz des Multicastkommunikation durch einen Unix-Socket-basierten TCP-Multiplexer erfolgen. (Freiweillige werden gesucht.) Die Nutzung von Multicast setzt einen multicastfähigen Kernel unter Linux voraus, daß bedeutet, daß das IGMP-Protokoll eincompiliert sein muß.

Wo ist die Software installiert?

Die Software ist von allen Infrastrukturrechnern aus unter /home/mint/bin zu finden. Das gilt sowohl für Solaris- als auch Linuxmaschinen. Es genügt, diesen Pfad in die eigene $PATH-Umgebungsvariable aufzunehmen, da unter ~mint/bin Shellskripte installiert sind, die das für die entsprechende Architektur notwendige Binary automatisch starten. Unter /home/mint/${OS_TYPE}/mint/bin sind die ausführbaren Dateien zu finden.

Was ist konkret zu tun?

Unter /home/mint/etc/ liegt ein Installationsskript, das die Einrichtung eines Useraccounts für USMInT vornimmt. Da sich im Lauf der Zeit meist viel Müll in der Mailcap-Datei ansammelt, ist ein Blick hinein und eventuelles Aufräumen in selbiger von Zeit zu Zeit ratsam. Unter Aufruf von 

rechnername > /home/mint/etc/user-install.sh

werden alle benötigten Dateien in das HOME-Verzeichnis des Benutzer kopiert und die Mailcap-Datei(en) angepasst. Für jede Architektur steht eine eigene Mailcapdatei zur Verfügung, die bei Aufruf des ISC-Startshellskriptes entsprechend als ~/.mailcap verlinkt wird. Zusätzlich sollte /home/mint/bin im Pfad stehen. Ein anschließender Aufruf des ISC mittels

rechnername > /home/mint/bin/isc

sollte die Anwendung starten. Unter Benutzung von "Create Session" können Agenten für verschiedenen Medientypen gestartet werden. Der Dialog ist weitgehend selbsterklärend. Das Bentzerhandbuch von USMInT kann auf den WWW-Seiten der GMD Fokus eingesehen werden (ReadThatFineManual!).

Die USMInT-Software unterstützt neben der Übertragung von echtzeitbasierten Daten auch einige ISDN-ähnliche Komfortmerkmale. Dazu gehört ein automatisierter Verbindungsaufbau unter Nutzung der EMail-Adresse des Rezipienten. Hierfür wird eine institutsweite NFS-basierte Datenbank genutzt (/home/lsdb), in der jeder User verzeichnet wird. Diese LocationService-Database wird durch den lswhod-Daemon gespeist. Ein Eintrag in der Datenbank umfaßt den Namen des Nutzers als Verzeichnis und einer oder mehreren Dateien, die den Loginstandort des Nutzers verzeichnen.

Die SIP-Funktionalität wird durch einen zweiten Daemon, den SIPd bereitgestelltt. Nach dem Aufruf des ISC können über den Invite-Button Einladungen gestartet werden. Zusätzlich stehen Funktionen wie ein Telefonbuch bereit.

Allgemeines

Q1.1:

Welche Betriebssysteme werden unterstützt ?

A1.1:

Derzeit laufen Solaris 2.5.x und Linux in den Kernelversionen 2.0.x und 2.2.x. Entwicklerversionen der 2.3-Serie sind derzeit ungetestet. Freiwillige vor ...
Wichtiger als die Kernelversion ist die verwendete libc-Version. Das aktuell installierte Linux-Mint nutzt die glibc in der Version 2.1. Eine alte libc5-Version ist nicht mehr vorhanden!

Q1.2:

Warum stehen unter Solaris und Linux unterschiedliche Medienagenten bereit ?

A1.2:

Für Solaris stehen für Audio und Video die Agenten NeVoT und NeViT bereit. Unter Benutzung von NeViT kann ein Highbandwidthvideodatenstrom in Motion-JPEG-Kodierung erzeugt werden. Unter Linux gibt es integrierte Versionen von VIC und VAT.

Q1.3:

Müssen für die Tcl/Tk-Bibliotheken Umgebungsvariablen gesetzt werden ?

A1.3:

Alle Tcl/Tk-Libs sind statisch in die Anwendungen gelinkt; d.h. daß keine Umgebungsvariablen TCL_LIBRARY bzw. TK_LIBRARY gesetzt oder Bibliotheken ausgetauscht werden müssen.  Die Tcl/Tk-Dateien stehen im übrigen unter /home/mint/software/tcltk/$(OS_TYPE).

Q1.4:

Läßt sich die Installation einfach clonen?

A1.4:

Ja und Nein. Mit dem entsprechenden Zeitaufwand natürlich, aber schnelles Clonen ... Unter Anpassung der entsprechenden Links in den Shellskripten und Verzicht auf die Funktionalität des Session Initiation Protocols kann USMInT recht schnell auf einer anderen Maschine zum Laufen gebracht werden. Wichtig: Kernel 2.2 oder besser, glibc Version 2.1 oder höher und Multicastsupport im Kernel sind unabdingbar!

Q1.5:

Beim Start des ISC erscheint nur ein verkrüppelter Initialisierungsdialog.

A1.5:

Dies tritt auf, wenn kein Multicastsupport in den Kernel eincompiliert wurde. In der Datei /var/log/boot.msg müssen die Zeilen:
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP

stehen. Wichtig hierbei ist die IGMP-Unterstützung; Multicastrouting wird nicht benötigt.

Q1.6:

Wie können die Debugausgaben eingeschaltet werden?

A1.6:

Alle Debuggingausgaben werden über das ISC-Startskript nach /dev/null umgeleitet. Wird hingegen direkt das ISC-Binary gestartet, ist das Debugging auf dem Terminal vorhanden.


Video

Q2.1:

Welche Videohardware wird unterstützt und hat mein Rechner Videounterstützung?

A2.1:

Unter Solaris werden sowohl die SunVideo/Xil-Kombination als auch Parallaxkarten unterstützt. In der Linuxversion ist die generische Video4Linux-Schnittstelle in der Version 1 integriert. Verfügbare Videohardware:
- Solaris 2.5 - SUN-SBus-Videokarten - Linux 2.2 - BT848-PCI-Karten
- adam, eva, max, mint, moritz - alle Linuxinfrastrukturmaschinen, ftat78, Labormaschinen

Q2.2:

Welche Videoformate können benutzt werden und welche Kameratypen stehen zur Verfügung?

A2.2:

Es kann sowohl mit NTSC- als auch mit PAL-basierten Kameras gearbeitet werden.

Q2.3:

Warum funktioniert der JPEG-Codec in VIC nicht korrekt ?

A2.3:

Dies ist ein Fehler in VIC; nicht in der Mint-Software. Da die alte VIC-Version (zu finden unter http://www-nrg.ee.lbl.gov/vic/) nicht mehr weiterentwickelt wird, ist mit einem Fixing dieses Bugs auch nicht mehr zu rechnen. Die "UCL Networked Multimedia Research Group" hat die VIC-Entwicklung übernommen und sowohl den M-JPEG-Codec gefixt als auch einen H.263-Codec integriert. Der Sourcecode kann unter http://www-mice.cs.ucl.ac.uk/multimedia/software/ gefunden werden. Freiwillige werden für eine Integration dieser Version in Mint gesucht...

Q2.4:

Beim Start stürzt VIC mit einem Segmentation fault ab.

A2.4:

VIC benötigt zum Starten eine Datei ~/.RTPdefaults, die durch den Benutzer angelegt werden muß. Folgende Zeilen sollten in der Datei stehen:

*rtpName: Maxel Mustermann
*rtpEmail: maxel@mustermann.de


Audio:

Q3.1:

Wird Fullduplex unter Linux benötigt?

A3.1:

Nein.

Q3.2:

Die Audiocontrol startet nicht mehr.

A3.1:

Sollte diese einmal abstürzen, so bleibt u.U. eine Datei namens /var/tmp/pmm_audioctl.pid zurück. Vor einem Nachstarten, muß diese entfernt werden.


SIP

Q4.1:

Beim Versuch einer Einladung erhalte ich die Meldung "could not connect to ftmail:5060".

A4.1:

Deutliches Anzeichen dafür, daß der sipd auf dem Mailserver ausgefallen ist ;)
Bitte Mail an Andreas Köpsel.

Im weiteren soll Aufbau und Funktionsweise des Demo-Setups füri USMInT erläutert werden. Dies soll all denjenigen helfen, die einmal in die Verlegenheit kommen, eine solche Demo betreuen zu müssen. Das folgende Dokument sollte bewußt als MoP betrachtet werden, also als eine direkte Handlungsanweisung.

Überblick

Mint bietet zwei entscheidende Verbesserungen gegenüber den bisher genutzten MBONE-Tools. Dazu gehören die einheitliche Benutzerschnittstelle und die Integration von Quality of Service. Letzteres wird durch das Integrated Services Model der IETF bzw. Adaptionsmechanismen erreicht. Die Demonstration zerfällt in zwei Bereiche:

  1. Der Vorführung der Invitation-Funktionalität der SIP Implementierung und
  2. der Vorführung der RSVP-Unterstützung und eines Adaptionsalgorithmuses.

Hardware

Als Hardware stehen im Laborraum FT124 drei Maschinen zur Verfügung:

  • Mint, (130.149.49.219), gleichzeitig der Multicastrouter für das gesamte Institutsnetz,
  • moritz (130.149.49.239), ausgestattet mit einem speziellen CBQ-Scheduler für die Demo und
  • ftat78 (130.149.49.131), ein Demo-PC (eventuelle Wireless-Anbindung über PCMCIA-Slot vorhanden).

Software

Um nicht mehr eine explizite Demoversion betreuen zu müssen, wurde die Demo mit in das Insitutsnetz integriert. Alle benötigten Tools stehen also unter /home/mint bereit. Zur Darstellung der Quality-of-Service-Eigenschaften der Software ist ein Bottleneck unabdingbar. Dieser wurde auf moritz durch einen CBQ-Scheduler eingerichtet, der auf dem Netzwerkinterface le0 zwei Serviceklassen anbietet, wobei für allen normalen Verkehr die Defaultklasse mit nur 600kbit/sec. zu nutzen ist. Das bedeutet, daß das Netzinterface der Maschine moritz nur noch wie ein 600kbit/sec.-Interface arbeitet mit allen Konsequenzen für den darüber fließenden NFS-, DNS- und sonstigen Verkehr. Andere Benutzer oder speicherintensive Anwendungen, Simulationen sollten vor der Demo entfernt werden. Die restlichen 9,4Mbit/sec. stehen einer priorisierten Klasse zur Verfügung, die später allen priorisierten Flows zugewiesen werden kann. Zur Ansteuerung des Schedulers muß ein spezieller RSVP-Daemon gestartet werden. Dieser kann unter /home/mint/SunOS/mint/bin/rsvpd.sol.cbq gefunden werden; der unter /home/mint/bin stehende RSVPd kann den CBQ-Scheduler nicht ansprechen. Im weiteren der genaue Handlungsablauf der Demo:

  1. Session Initiation unter Nutzung des SIPs:

    • User A loggt sich auf mint, User B auf moritz ein, User B darf keinen Video/JPEG-Eintrag in seiner Mailcapdatei haben.
    • Beide Benutzer starten unter /home/mint/SunOS/mint/bin den RSVPd-Daemon rsvpd -D -d 31 -l 7. User A sollte ein Ping auf moritz laufen lassen, um die ARP-Einträge für moritz auf USMInT nicht austimen zu lassen. Geschieht dies, so können beide RSVPds keine Nachrichten mehr austauschen. Dies ist ein Bug in der RSVPd-Implementierung, nicht in Mint.
    • User B startet einen ISC nebst Audio- und Videoagenten. Als Videocodec soll JPEG und damit der Videoagent NeViT benutzt werden. Nur dieser ist in der Lage, eine ausreichend hohe Datenrate zu erzeugen. Sollte bei Nutzung von JPEG doch VIC starten, so muß der Eintrag in der Mailcap-Datei überprüft werden. Für Audio wird PCM benutzt und damit NeVoT.
    • User B startet eine Audioübertragung durch den Play-Mechanismus im Audiokonfigurationsdialog oder bsp. eine externe Audioquelle (Line-In nicht vergessen zu aktivieren in der Audiocontrol!). Die Videodatenrate sollte auf ca. 150kbps begrenzt sein (erinnere: NFS-Server Kontakt!).
    • Über den Invite-Button wird der entsprechende Dialog aufgerufen und die Mailadresse von User A auf mint eingetragen, also bsp. user@ft.ee.tu-berlin.de, nicht etwa user@mint.ee.tu-berlin.de, sonst ist die ortsunabhängige Einladung nicht sichtbar. Als Medientypen bleiben MJPEG und PCM eingetragen. Nach Absetzen des Requests wird eine nicht-kompatible Videocodierung signalisiert, die durch ein Modify-Request geändert werden kann. Erneutes Abschicken des Anrufs führt zur
    • akustischen Benachrichtigung von User A auf mint. Annehmen des Anrufs, ISC und Medienagenten (NeVoT und VIC) werden automatisch gestartet.
  2. RSVP Unterstützung/ Admission Control:

    • Die von moritz ausgehende Datenrate beträgt zu diesem Zeitpunkt ca. 210kbps (64kbps PCM und ca. 150kbps Video). Im folgenden wird der Videostrom auf ca. 1,1Mbps erhöht. Ab jetzt sollte die Maschine nicht mehr zum Swappen (bsp. Windowmanager, Starten weiterer Applikationen oder nur weiterer Fenster des ISCs) in Richtung NFS-Server gebracht werden. Passiert dies doch, bleibt die Maschine hängen und die Demo ist geplatzt!!! Daher sollte das Audiokonfigurationsfenster auf moritz immer geöffnet bleiben auf dem Desktop, da im nächsten Schritt
    • über den Reservierungsbutton im Audiodialog die RSVP-Unterstützung gestartet wird. Es müssen PATH-Pakete mit PCM-QoS-Parametern versendet werden. Daher müssen die QoS-Parameter eingetragen werden mit PCM-typischen Werten (Bsp: b=p=r=8000, m=20, M=9180).
    • Im weiteren muß der PATH-Radiobutton aktiviert werden. Auf der Ausgabe des RSVPds auf mint sollten nach einigen Sekunden PATH-Informationen erscheinen. Die Audioqualität auf moritz sollte unter den Verlusten merklich leiden, kann über eine weitere Erhöhung der Videorate eventuell noch beeinflußt werden. Die Gesamtrate an Video- und Audiostrom kann 600kbps nicht überschreiten, d.h., daß es zu einer Congestion in der TX-Queue von moritz kommt.
    • Nach dem Aufrufen der RSVP Unterstützung auf mint (Audiokonfigurationsdialog, Button Reservierung) werden die eingehenden PATH-Pakete im neu aufpoppenden Fenster angezeigt.
    • Durchführung der Reservierung: Nach Klicken auf den QoS-Parameterbutton für Wildcard Filterstyle (WF) (WICHTIG: Der RSVPd unter Solaris crasht mit Fixed Filterstyle (FF) in dieser RSVPd-Version. Ebenfalls ein Bug im RSVPd, nicht in USMInT. Wer Lust hat, kann hier nochmals debuggen, aber vier Wochen Debugging zeigten keine Fehler im Mint-Code.) werden die gleichen Parameter wie auf moritz eingestellt und die Reservierung wird aktiviert durch den WF-Radiobutton. Bei Eintreffen der RESV-Pakete von mint auf moritz wird der Audiostrom in eine höhere Prioritätsklasse umgeschaltet und erleidet somit keine Verluste mehr.
    • Effekt anhören und freuen, daß es bis hierhin geklappt hat :)
    • Gleichzeitig wird die Videoqualität sehr schlecht werden (nahezu Stillstand der Bilder). Dies liegt an der hier verwendeten MJPEG-Codierung, bei der Bilder nur decodiert werden, wenn alle Fragmente eines Bildes auch ankommen. Da für Video eine Restbandbreite von ca. 540kbps bereitsteht, aber die effektive Datenrate 1,1Mbps beträgt, geht im Mittel jedes zweite Pakete verloren, wodurch praktisch gar kein Frame komplett empfangen wird.
    • Auf moritz wird nun die Applicationcontrol gestartet (Videokonfigurationsdialog). Der Algorithmus Direct Adjustment bietet die schnellste und stabilste Adaption. Er sollte eingeschaltet werden. Nach einiger Zeit adaptiert sich die Videorate auf ca. 540kbps und ca. 6-7fps. Die Videoqualität sollte sich verbessern und stabilisieren.

USMInT

- Projektseite bei der GMD-Fokus
- Projektseite TKN TU Berlin
- Lehrstuhl Kommunikationstechnik der TU Cottbus
- Deutsches Forschungs Netz - abgeschlossene Projekte im Bereich Multimedia-Teledienste

MBONE

- The UCL Networked Multimedia Research Group - Übersicht MBONE-Applikationen
- www.mbone.de - MBONE-Seite des DFN
- MBONE Informationen des BZVD der TU Dresden

RFC/MIME/PMM/RSVP

- MIME - Übersicht über MIME an der TU Chemnitz
- PMM - Pattern Matching Multicast
- RTP - Realtime Transport Protocol
- RSVP - Resource Reservation Protocol
Bei Fragen oder Ergänzungen bitte EMail an: Andreas Köpsel, letzte Änderung am 11.Juli 2000

Viewable With Any Browser