- OSCAR (Protokoll)
-
OSCAR im TCP/IP‑Protokollstapel: Anwendung OSCAR Transport TCP Internet IP (IPv4, IPv6) Netzzugang Ethernet Token
BusToken
RingFDDI … OSCAR (Open System for Communication in Realtime) ist ein Instant Messaging-Protokoll, welches von AOL für den AOL Instant Messenger (AIM) entwickelt wurde und nach der Übernahme von ICQ für beide Messenger verwendet wird. Es gibt jedoch diverse freie ICQ-Clients, welche bereits vor der Veröffentlichung des Protokolls einwandfrei funktioniert haben.
Das Protokoll war lange Zeit unveröffentlicht, auch wenn das "open" im Namen Gegenteiliges vermuten ließ. Daher waren sämtliche Dokumentationen keineswegs Spezifikationen, sondern lediglich durch Reverse Engineering entstandene Werke. Mit der Vorstellung der AIM-Entwicklerplattform Open AIM 2.0 durch AOL im März 2008 wurde auch das OSCAR-Protokoll offen gelegt. Diese Maßnahme sollte zu weniger Kompatibilitätsproblemen mit Multi-Protokoll-Messengern führen, welche oftmals bei Protokolländerungen auftraten.
Inhaltsverzeichnis
Versionsbezeichnungen
Fälschlicherweise wird OSCAR auch als ICQv7, v8, v9 und v10 bezeichnet. Dies ist nicht korrekt, da das originale ICQ-Protokoll stets von Direktverbindungen zwischen den Clients Gebrauch macht, OSCAR hingegen ist von Grund auf anders aufgebaut und setzt auf Verbindungen über den Server. Außerdem unterscheiden sich Version 7-10 nicht im Protokoll, sondern lediglich in den vom Server angebotenen Services, was von OSCAR sehr liberal gehalten wird.
Aufbau
OSCAR arbeitet auf einer bestehenden TCP-Verbindung und besteht selbst aus zwei Protokollschichten.
Die niedrigere, genannt Frame Layer Application Protocol (FLAP), setzt direkt auf TCP auf. Der FLAP-Header beginnt mit dem hexadezimalen Wert 2A zur Erkennung des FLAP-Pakets. Es folgt ein Kanal (siehe unten), eine Sequenznummer zur Fehlererkennung und die Größe der angehängten Daten.
Der Kanal ist ähnlich den Ports bei TCP und UDP, steht allerdings stets für einen bestimmten Vorgang. Mögliche Kanäle sind:
1 Neuer Verbindungsaufbau 2 SNAC-Paket (siehe unten) 3 FLAP-Fehler 4 Verbindungsaufbau beenden 5 Keep-Alive Wird ein anderer Kanal als 2 verwendet, werden meist Daten im Type-Length-Value-Format (TLV) angehängt.
Auf Kanal 2 folgt ein Paket des Typs Simple Network Atomic Communication (SNAC), dem zweiten großen Teil des OSCAR-Protokolls. SNAC-Paket-Typen sind organisiert in sogenannten Foodgroups. Jede Foodgroup hat eine ID-Nummer und jeder darin organisierte Nachrichten-Typ eine weitere Kennung. So steht z. B. Foodgroup 4, Typ 20 für eine Nachricht, in welcher ein Client den anderen informiert, dass sein Nutzer gerade einen Text tippt oder aber damit aufgehört hat. Prinzipiell kann dieser Nachrichten-Typ auch über andere Vorgänge informieren, definiert sind aber nur die beiden. Typ 1 jeder Foodgroup stellt eine spezifische Fehlermeldung dar.
Nach dem Login teilt der Server mit, welche Foodgroups er unterstützt; nur diese kann/soll der Client nutzen. Nach Spezifikation folgt auf das Senden anderer ein Verbindungsabbruch durch den Server. Die Foodgroups sind von Programmierern prinzipiell beliebig erweiterbar.
Definiert sind:
1 OSERVICE Grundlegende Dienste: Begrüßung und Bekanntgabe der unterstützten Foodgroups, Behandlung der Durchsatz-Limitierung (Antispam-Maßnahme) und Migration zu einem anderen Server (um den aktuellen warten zu können) 2 LOCATE Setzen und Abrufen von Benutzer-Informationen wie Profildaten oder Abwesenheitsnotizen 3 BUDDY Benachrichtigungen über den Status anderer Nutzer 4 ICBM Inter Client Basic Message - Behandeln von Textnachrichten 6 INVITE Einladen von Nutzern (per E-Mail); nur AIM 9 PD Permit/Deny - Sichtbarkeit für einzelne Nutzer verwalten 16 BART Buddy Art - Hoch- und Runterladen von „Buddy Icons“, Klängen und Hintergrundbildern 19 FEEDBAG Verwalten der serverseitigen Kontaktliste und Einstellungen iServed dokumentiert im Gegensatz zur Spezifikation auch die Foodgroups 5, 7, 8, 10 - 15, 21 und 23
Implementierungen
Im folgenden werden Clients aufgelistet, die das OSCAR-Protokoll oder das alte ICQ-Protokoll unterstützen. Einige von ihnen sind Multi-Protokoll-Clients, die neben ICQ auch z.B. AIM, IRC, XMPP, MSN, Yahoo! und weitere unterstützen.
Die Nutzung alternativer Clients wird in den Nutzungsbedingungen der Dienstanbieter z. B. in den Nutzungsbedingungen von ICQ oder den Nutzungsbedingungen von AIM oft explizit untersagt.
Betriebssysteme
Betriebssysteme, unter denen die Clients laufen (ohne Emulation oder Laufzeitumgebung wie Wine).
Windows Mac OS X Unix, Linux, BSD AmigaOS J2ME iOS &RQ Ja Nein Nein Nein Nein Nein Adium Nein Ja Nein Nein Nein Nein AIM Ja Ja Ja Nein Nein Ja ICQ Ja Ja Ja Nein Ja Ja eMP.CQ! Ja Nein Nein Nein Nein Nein Jimm Nein Nein Nein Nein Ja Nein climm Ja 1 Ja Ja Ja Nein Nein Kopete Nein Ja Ja Nein Nein Nein Miranda IM Ja Nein Nein Nein Nein Nein Pidgin (libpurple) Ja Ja Ja Nein Nein Nein qip Ja Nein Nein Nein Nein Nein QutIM Ja Nein Ja Nein Nein Nein SIM-IM Ja Ja Ja Nein Nein Nein Trillian Ja Ja Nein Nein Nein Ja YsmICQ Ja Ja Ja Nein Nein Nein Windows Mac OS X Unix, Linux, BSD AmigaOS J2ME iOS Fußnote 1: Benötigt ein ANSI-kompatibles Terminal.
Funktionen
Information darüber, welche Funktionen die einzelnen Programme unterstützen.
Verschlüsselung Dateitransfer Grafische Smileys Spiele veränderbares Aussehen Plugin-System 3 Externe Zusatzprogramme 4 &RQ Teilweise6 Ja Ja Nein Ja Ja Ja Adium Ja Ja Ja Nein Teilweise Ja Nein AIM Nein Ja Ja Teilweise Ja Ja Ja ICQ Nein Ja Ja Ja Ja Ja Ja eMP.CQ! Nein Ja Ja Nein Nein Nein Nein Jimm Nein Ja2 Ja Nein Nur Farben Ja Nein climm Ja5 Ja Nein Nein Ja Nein Nein Kopete Ja Ja Ja Nein Ja Ja Ja Miranda IM Ja (mit Plug-in) Ja Ja Teilweise (mit Plug-in) Ja (mit Plug-in) Ja Ja Pidgin (libpurple) Ja Ja Ja Nein Ja (mit GTK) Ja Nein qip Ja6 Ja Ja Nein Ja Inoffiziell Ja SIM-IM Ja5 Ja Ja Nein Ja Ja Ja Trillian Teilweise (SecureIM) Ja Ja Nein Ja Ja Ja YsmICQ Ja6 Ja Nein Nein Nein Nein Nein Verschlüsselung Dateitransfer Grafische Smileys Spiele veränderbares Aussehen Plugin-System Externe Zusatzprogramme Fußnote 2: Nur Senden.
Fußnote 3: Plugin-System, um die standardmäßigen Features zu erweitern oder neue hinzuzufügen (Client oder Protokoll).
Fußnote 4: Add-ons werden in der Regel nicht vom Autor vorgesehen und sind eigenständige Programmteile.
Fußnote 5: SSL-verschlüsselte Direktverbindung; kompatibel sind licq, climm und Sim-IM.
Fußnote 6: Proprietär; nur zu sich selbst kompatibel.Weitere Konferenzmöglichkeiten
Informationen darüber, welche sonstigen Möglichkeiten der Kommunikation die Clienten unterstützen.
Audio Chat Multi-Person Audio Chat Video Chat Multi-Person Video Chat SMS (mobile) Messaging Trillian Ja n/A Ja n/A nein &RQ Nein Nein Nein Nein Ja AIM Ja Ja Ja Ja (Nur nach Update) Ja ICQ Ja Ja (seit Version pro2003b) Ja Ja Ja eMP.CQ! Nein Nein Nein Nein Nein Jimm Nein Nein Nein Nein Nein climm Nein Nein Nein Nein Ja qip Nein Nein Nein Nein Nein YsmICQ Nein Nein Nein Nein Nein SIM-IM Nein Nein Nein Nein Ja Audio Chat Multi-Person Audio Chat Video Chat Multi-Person Video Chat SMS (mobile) Messaging Siehe auch
Weblinks
Kategorien:- Synchronous Conferencing-Protokoll
- Netzwerkprotokoll auf Anwendungsschicht
Wikimedia Foundation.