Diplomarbeit Prototypische Implementierung eines „Virtual Handshaking“ zwischen zwei Telefonen zum Austausch multimedialer assoziierter Daten von Markus Thurner 28.04.2008 Institut für Informatik Lehrstuhl für Kommunikationssysteme
Inhalt Entstehung Zielsetzung Grundlagen Analyse Entwurf und Implementierung Zusammenfassung und Ausblick Institut für Informatik Lehrstuhl für Kommunikationssysteme
1. Entstehung Inhalt 07.05.2007 erstes großes Meeting Strategie-Workshop mit Siemens 24.05.2007 zweites Meeting Vorschläge der Studenten bezüglich Anwender- beziehungsweise Nutzersicht in Form einer Präsentation 26.07.2007 letztes Treffen mit Siemens Definition der Diplomarbeiten zu Openstage Applikationen Institut für Informatik Lehrstuhl für Kommunikationssysteme
2. Zielsetzung 1. Entstehung Austausch elektronischer Visitenkarten während des Telefonats Möglichkeiten: Automatische Aktualisierung des Adressbuchs Darstellung der Kontakte auf dem Telefon Manuelle Einpflegung in das Adressbuch entfällt Institut für Informatik Lehrstuhl für Kommunikationssysteme
2. Zielsetzung Austausch elektronischer Visitenkarten während des Telefonats Austausch der Daten über eine heterogene Netzstruktur SIP-Server SIP-Server Plain old telephony Signalisierung POT Nutzlast Gateway Gateway Teilnehmer A Firmennetzwerk A Teilnehmer B Firmennetzwerk B Heterogene IP- & Telefonwelt 0 – 50 % of connections 50 – 100 % of connections Institut für Informatik Lehrstuhl für Kommunikationssysteme
2. Zielsetzung 3. Grundlagen Verbindungsaufbau über Session Initiation Protocol (SIP) Verwendet Hilfsprotokoll Session Description Protocol (SDP) Transport der Sprachpakete etc. über Realtime Transport Protocol (RTP) Netzübergang wird durch Gateways sichergestellt Media Gateways Signalling Gateways SIP-Server SIP-Server Plain old telephony Signalisierung POT Nutzlast Gateway Gateway Teilnehmer A Firmennetzwerk A Teilnehmer B Firmennetzwerk B Heterogene IP- & Telefonwelt Institut für Informatik Lehrstuhl für Kommunikationssysteme
3. Grundlagen 4. Analyse SIP SoftPhone Frei zugänglicher Quellcode Vollständig in Java implementierter Protokollstack MjSipUA RFC 3261 konforme Implementierung Dokumentation leider unvollständig Call Control-Ebene / Verwaltet Telefonat Sequenzielle Anordnung / Auswerten von Requests Fasst Transaktionen zu einer Sitzung zusammen Transaktionsverwaltung / Timeouts Versenden und Empfangen von SIP-Nachrichten Institut für Informatik Lehrstuhl für Kommunikationssysteme
4. Analyse Datenaustausch via DTMF Dual-Tone Multifrequency (Wählverfahren) Sowohl in analogen als auch in IP-Netzen verwendbar Versenden von DTMF-Signalen nach RFC 4733 innerhalb von RTP-Paketen Erste Möglichkeit: Durch Angabe der überlagerten Frequenzen Institut für Informatik Lehrstuhl für Kommunikationssysteme
4. Analyse Datenaustausch via DTMF Dual-Tone Multifrequency (Wählverfahren) Sowohl in analogen als auch in IP-Netzen verwendbar Versenden von DTMF-Signalen nach RFC 4733 innerhalb von RTP-Paketen Zweite Möglichkeit: Durch Angabe von Events Institut für Informatik Lehrstuhl für Kommunikationssysteme
4. Analyse Anforderungen an die Gateways Physikalische Schnittstellen SIP-Standard / Sprachcodecs SS7 Signalisierung RFC 4733 Hardware für die Verarbeitung von DTMF-Signalen SIP-Server SIP-Server Plain old telephony Signalisierung POT Nutzlast Gateway Gateway Teilnehmer A Firmennetzwerk A Teilnehmer B Firmennetzwerk B Heterogene IP- & Telefonwelt Institut für Informatik Lehrstuhl für Kommunikationssysteme
Eigenschaft ´;´ Parameter ´:´ Wert 4. Analyse vCard Format RFC 2426 Virtual Card Format Standardisiertes Dateiformat für digitale Visitenkarten Einfache Dateien in Klartext Bietet Möglichkeiten, Audio- und Videodaten anzuhängen Eigenschaft ´;´ Parameter ´:´ Wert Institut für Informatik Lehrstuhl für Kommunikationssysteme
4. Analyse Übertragung der vCard Umwandlung der Textdatei in DTMF-Signale ungeeignet Zuordnung eigener, auf die SoftClients bezogener Adressen Verwendung des weit verbreiteten E-Mail Dienstes Vorraussetzung: Endgeräte benötigen Zugang zu einem Mail Server SIP-Server SIP-Server Plain old telephony Signalisierung POT Nutzlast Gateway Gateway Mail Server Teilnehmer A Firmennetzwerk A Teilnehmer B Firmennetzwerk B Mail Server Heterogene IP- & Telefonwelt Institut für Informatik Lehrstuhl für Kommunikationssysteme
5. Entwurf und Implementierung 4. Analyse 5. Entwurf und Implementierung Erweiterung des Graphical User Interface Adresszeile und vereinfachtes Adressbuch für die Zielrufnummer Infozeile gibt den aktuellen, am SIP-Server angemeldeten Account an Statusanzeige gibt an, in welchem Status sich der Client befindet Wähltaste zum Initiieren eines Anrufs Auflegtaste, um den Anruf zu beenden oder um den aktuellen Vorgang abzubrechen Taste zum Öffnen der VHS-Oberfläche Institut für Informatik Lehrstuhl für Kommunikationssysteme
5. Entwurf und Implementierung Erweiterung des Graphical User Interface Institut für Informatik Lehrstuhl für Kommunikationssysteme
5. Entwurf und Implementierung Abfangen und Initialisieren von Ereignissen Provider → Listener Modell Listener-Klasse wartet auf Ereignisse Provider-Klasse meldet Ereignisse Institut für Informatik Lehrstuhl für Kommunikationssysteme
5. Entwurf und Implementierung Initialisierung des VHS und Versenden der DTMF Signale Alice Gateway 1 Gateway 2 Bob RTP RTP RE-INVITE TRYING (100) RE-INVITE OK (180) OK (180) ACK ACK DTMF via RTP DTMF via RTP PSTN RTP Pakete PSTN Signalisierung (z.B. SS7) SIP Signalisierung Netzinterne DTMF Übertragung Institut für Informatik Lehrstuhl für Kommunikationssysteme
5. Entwurf und Implementierung Initialisierung des VHS und Versenden der DTMF Signale Klasse UserAgent realisiert alle wesentlichen Funktionen eines SoftPhones Startet und beendet Media-Anwendung Reagiert auf SIP-Signalisierungsnachrichten Erzeuge RE-INVITE mit neuem Session Descriptor Erweiterung des Listeners für RE-INVITE Nachrichten Erweiterung des Listeners für OK (180) Nachrichten Institut für Informatik Lehrstuhl für Kommunikationssysteme
5. Entwurf und Implementierung Erzeugen von RTP Paketen Zur Generierung der RTP-Pakete wird auf die Klasse RtpPacket zurückgegriffen Für die Generierung der nach RFC 4733 vorgeschriebenen Nutzlast wurde eine RtpPayload Klasse erstellt Institut für Informatik Lehrstuhl für Kommunikationssysteme
5. Entwurf und Implementierung Senden und Empfangen von DTMF-Signalen DTMFtransmitter eigentliche Programmlogik RtpStreamSender wurde für einzelne Events modifiziert RtpStreamReceiver schreibt ankommende Daten in ein RtpPaket Objekt Institut für Informatik Lehrstuhl für Kommunikationssysteme
5. Entwurf und Implementierung Senden und Abrufen von E-Mail Versende eigene vCard Soll eigene vCard versendet werden ? Ja Alice Bob Nein Teste E-Mailkonto auf neue E-Mails Beende VHS Werte vCard aus Keine neuen E-Mails vorhanden Neue E-Mail im Postfach Nein Call-ID ≠ Betreff Ja Stimmt Betreff mit Call-ID überein? Rufe E-Mail ab Dem Inhalt vertrauen ? Call-ID = Betreff Institut für Informatik Lehrstuhl für Kommunikationssysteme
5. Entwurf und Implementierung Senden und Abrufen von E-Mail Client enthält drei wesentliche Funktionen Abrufen per POP3 Senden durch SMTP Wenn vCard angekommen, dann rufe E-Mail ab Institut für Informatik Lehrstuhl für Kommunikationssysteme
5. Entwurf und Implementierung Auswerten / Erzeugen der Daten vCardAnalyzer zum Auslesen lokal gespeicherter vCards vCardGenerator schreibt Daten in eine neue Datei Institut für Informatik Lehrstuhl für Kommunikationssysteme
5. Entwurf und Implementierung Institut für Informatik Lehrstuhl für Kommunikationssysteme
5. Entwurf und Implementierung 6. Zusammenfassung und Ausblick Erfolgschancen Überprüfen auf verloren gegangene Pakete nimmt zu viel Zeit in Anspruch Jedes Paket wird nur einmal gesendet Mind. in 10% der getesteten Versuche tritt ein Paketverlust auf Alternative Ansätze Anbieten der vCards über Webseiten wie MySpace oder Facebook Klassisches Telefonnetz veraltet ISDN nahezu überall verfügbar Anstatt DTMF-Signale zu versenden eventuell den 64k/bit Signalisierungskanal verwenden (ISUP-Nachrichten) Institut für Informatik Lehrstuhl für Kommunikationssysteme