Share to: share facebook share twitter share wa share telegram print page

 

OSCAR (Protokoll)

OSCAR im TCP/IP-Protokollstapel:
Anwendung OSCAR
Transport TCP
Internet IP (IPv4, IPv6)
Netzzugang Ethernet Token
Bus
Token
Ring
FDDI

OSCAR (Open System for Communication in Realtime; deutsch Offenes System für Kommunikation in Echtzeit) 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 wurde.

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 offengelegt. Diese Maßnahme sollte zu weniger Kompatibilitätsproblemen mit Multi-Protokoll-Messengern führen, welche oftmals bei Protokolländerungen auftraten. Es gab jedoch diverse freie ICQ-Clients, welche bereits vor der Veröffentlichung des Protokolls einwandfrei funktioniert haben.

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 Keepalive

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 unterstützen neben ICQ noch andere Protokolle wie z. B. AIM, IRC, XMPP, MSN, Yahoo Messenger.

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 Emulationen oder Laufzeitumgebungen wie Wine).

Windows macOS 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 ja
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 macOS Unix, Linux, BSD AmigaOS J2ME iOS
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 Plug-in-System 3 Externe Zusatzprogramme 4
&RQ teils 6 ja ja nein ja ja ja
Adium ja ja ja nein teils ja nein
AIM nein ja ja teils ja ja ja
ICQ nein ja ja ja ja ja ja
eMP.CQ! nein ja ja nein nein nein nein
Jimm nein ja 2 ja nein Nur Farben ja nein
climm ja 5 ja nein nein ja nein nein
Kopete ja ja ja nein ja ja ja
Miranda IM ja (mit Plug-in) ja ja teils (mit Plug-in) ja (mit Plug-in) ja ja
Pidgin (libpurple) ja ja ja nein ja (mit GTK) ja nein
qip ja 6 ja ja nein ja Inoffiziell ja
SIM-IM ja 5 ja ja nein ja ja ja
Trillian teils (SecureIM) ja ja nein ja ja ja
YsmICQ ja 6 ja nein nein nein nein nein
Verschlüsselung Dateitransfer Grafische Smileys Spiele veränderbares Aussehen Plug-in-System Externe Zusatzprogramme
2 
Nur Senden.
3 
Plugin-System, um die standardmäßigen Features zu erweitern oder neue hinzuzufügen (Client oder Protokoll).
4 
Add-ons werden in der Regel nicht vom Autor vorgesehen und sind eigenständige Programmteile.
5 
SSL-verschlüsselte Direktverbindung; kompatibel sind licq, climm und Sim-IM.
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 k. A. ja k. A. nein
&RQ nein nein nein nein ja
AIM ja ja ja ja (Nur nach Update) ja
ICQ ja ja (ab 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

Kembali kehalaman sebelumnya


Index: pl ar de en es fr it arz nl ja pt ceb sv uk vi war zh ru af ast az bg zh-min-nan bn be ca cs cy da et el eo eu fa gl ko hi hr id he ka la lv lt hu mk ms min no nn ce uz kk ro simple sk sl sr sh fi ta tt th tg azb tr ur zh-yue hy my ace als am an hyw ban bjn map-bms ba be-tarask bcl bpy bar bs br cv nv eml hif fo fy ga gd gu hak ha hsb io ig ilo ia ie os is jv kn ht ku ckb ky mrj lb lij li lmo mai mg ml zh-classical mr xmf mzn cdo mn nap new ne frr oc mhr or as pa pnb ps pms nds crh qu sa sah sco sq scn si sd szl su sw tl shn te bug vec vo wa wuu yi yo diq bat-smg zu lad kbd ang smn ab roa-rup frp arc gn av ay bh bi bo bxr cbk-zam co za dag ary se pdc dv dsb myv ext fur gv gag inh ki glk gan guw xal haw rw kbp pam csb kw km kv koi kg gom ks gcr lo lbe ltg lez nia ln jbo lg mt mi tw mwl mdf mnw nqo fj nah na nds-nl nrm nov om pi pag pap pfl pcd krc kaa ksh rm rue sm sat sc trv stq nso sn cu so srn kab roa-tara tet tpi to chr tum tk tyv udm ug vep fiu-vro vls wo xh zea ty ak bm ch ny ee ff got iu ik kl mad cr pih ami pwn pnt dz rmy rn sg st tn ss ti din chy ts kcg ve 
Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9