OSCAR (acronyme de Open System for CommunicAtion in Realtime) est le protocole le plus important d'AOL pour la messagerie instantanée et l'information de présence. Actuellement, OSCAR est utilisé par les deux principaux systèmes de messagerie instantanée d'AOL : ICQ et AIM.

Malgré son nom, les spécifications du protocole sont propriétaires. AOL a fait de grands efforts pour empêcher ses concurrents (à savoir Microsoft, XMPP et ) d'implanter des clients compatibles avec leurs systèmes de messagerie instantanée propriétaires. En 2002, AOL a signé un contrat avec Apple lui permettant d'utiliser OSCAR (ainsi que ses bibliothèques logicielles) dans son application iChat. Cela a permis aux utilisateurs d'iChat d'interagir directement avec les utilisateurs d'ICQ et d'AIM. L'accord a également permis aux utilisateurs du service .Mac d'Apple de se connecter au réseau AIM en utilisant leurs adresses électroniques .Mac (cette possibilité a, par la suite, été implantée sur le service MobileMe d'Apple).

En 2009, une grande partie du protocole avait été exposée par rétro-ingénierie et mise en œuvre par un nombre toujours croissant de clients tiers.

Le protocole OSCAR peut être utilisé indépendamment du réseau d'AOL. En fait, AOL étend le concept général de OSCAR, en ajoutant des systèmes de listes et des icônes secondaires de service, ainsi que des fonctionnalités pour les transferts de fichiers (à l'aide d'Apple_Bonjour).

Le , AOL a publié le SDK AIM et a lancé un site du développeur, ce qui permet aux développeurs de créer des plug-ins pour AIM et de construire leurs propres clients personnalisés qui se connectent via le protocole OSCAR. Cependant, AOL n'avait pas, à cette date, publié d'information sur le protocole lui-même.

Le , AOL a publié des portions de la documentation du protocole OSCAR.

Google offre également la possibilité de se connecter au réseau AIM à travers le client Google Talk intégré dans Gmail.

Structure de paquet

Tous les paquets envoyés sur OSCAR sont encapsulés de la même manière. Tous les nombres entiers de 16 bits envoyés sur le réseau ne sont pas signés et sont de type big endian (voir endianness). Il en est de même pour les nombres entiers de 32 bits et de 8 bits.

Entête FLAP Un conteneur FLAP (Frame Layer Protocol) renferme chaque paquet. Il contient des informations sur la taille du paquet, son canal et son numéro de séquence. Offset (hex) Champ Type/Taille (en octets) Remarques00FLAP IDbyte/1Contient toujours 2A. C'est la marque de début de paquet.01Canalbyte/11 = connexion, 2 = couche SNAC, 3 = erreur, 4 = déconnecter02Numéro de séquenceint16/2Incrémenté de 1 chaque fois qu'un paquet est envoyé. Recommence à 0 après FFFF.04Taille de donnéeint16/2La taille n'inclut pas l'entête de la FLAP. Donnée SNAC Dans presque tous les paquets envoyés sur le canal 2, les paquets contiennent un SNAC (Simple Network Atomic Communication). Il y a toujours un ou zéro de ces contenus dans un paquet. Par conséquent, les paquets ne contiennent pas (et n'ont pas besoin) d'un champ de longueur. Offset (hex) Champ Type/Taille (en octets) Remarques00Foodgroupint16/2Le type général du paquet02Typeint16/2Le type spécifique de la foodgroup04Flagsint16/206ID de requêteint32/4Il peut être aléatoire, mais le bit le plus significatif ne peut être 1.

Implémentations Langage deProgrammation Implémentations ClibpurpleGnomeICUC#NOscar C++C# 2.0OscarLib JavajoscarInstant Messenger Lib Objective-CLibOrangeOCamlmlOscar PythonTwistedWords PerlNet::OSCAR PHPWebIcqPro

Référence

Voir aussi Liens externes Official OSCAR-Documentation (Requires Login) - No longer available (12.07.2010) UnOfficial AIM/OSCAR Protocol Specification Archived Official Documentation FAIM: FAIM/AIM/OSCAR Protocol Specification

Catégorie:AOL Catégorie:Logiciel de messagerie instantanée