OSCAR (protocole)

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir Oscar.
OSCAR (protocole)
Fonction Messagerie instantanée
Sigle OSCAR
Port ?

OSCAR pour Open System for CommunicAtion in Realtime est le produit phare de messagerie instantanée et des informations de présence du protocole d'AOL. Actuellement, OSCAR est utilisée pour deux principaux systèmes de messagerie instantanée d'AOL: ICQ et AIM.

Malgré son nom, les spécifications du protocole restent propriétaires. AOL a fait de grands efforts pour garder les concurrents (à savoir Microsoft, XMPP, et Cerulean Studios) de mettre en œuvre les clients compatibles pour leurs systèmes de messagerie propriétaires. En 2002, AOL a signé un contrat avec Apple Inc, leur permettant d'utiliser OSCAR (ainsi que ses propres bibliothèques de code d'AOL) dans leur application iChat. Cela a permis aux utilisateurs d'iChat d'interagir avec ICQ et AIM directement les utilisateurs. L'accord a également permis aux utilisateurs du service d'Apple Mac de se connecter au réseau AIM en utilisant leurs adresses e-mail Mac (cela a reporté sur le service MobileMe d'Apple).

En 2009, une grande partie du protocole ont été ingénierie inversée et mis en œuvre par un nombre toujours croissant de clients tiers.

Le protocole OSCAR peut être utilisé séparément à partir du réseau d'AOL. En fait, AOL étend sur 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 Bonjour). Le 6 mars 2006, AOL a publié le SDK AIM et a lancé un site du développeur, ce qui permet aux développeurs de créer des plugins pour AIM Triton, et construisent leurs propres clients personnalisés, qui se connectent via le protocole OSCAR. Ils n'avaient pas, à ce stade, cependant, publié aucune information sur le protocole lui-même.

Le 5 mars 2008, AOL a publié des portions de la documentation du protocole OSCAR. Google offre également la possibilité de signer en réseau AIM via le client Google Talk intégré dans Gmail.

Structure de paquet[modifier | modifier le code]

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 big endian (voir Endianness). C'est le même pour les nombres entiers de 32 bits, et les nombres entiers 8 bits (ou un octet).

Entête FLAP[modifier | modifier le code]

Un rappel sur FLAP (Frame Layer Protocol[1]) conteneur qui enferme chaque paquet. Il comporte des informations sur la taille du paquet, la chaîne et son numéro dans l'ordre.

Offset (hex) Champ Type/Taille (in bytes) Remarques
00 FLAP ID byte/1 Contient toujours 2A. Il est la marque de début de paquet.
01 Canal byte/1 1 = connexion, 2 = couche SNAC, 3 = erreur, 4 = déconnecter
02 Nombre de séquence int16/2 Incrémenté de 1 à chaque fois qu'un paquet envoyé. Encapsule à 0 après FFFF.
04 Taille de donnée int16/2 Taille n'inclut pas l'entête de la FLAP.

Donnée SNAC[modifier | modifier le code]

Dans presque tous les paquets envoyés sur le canal 2, les paquets contiennent un SNAC (simple réseau atomique Communication). Il y a toujours un ou zéro de ces contenus dans un paquet, et par conséquent, ils ne contiennent pas (et n'ont pas besoin d') une longueur.

Offset (hex) Champ Type/Taille (en octets) Remarques
00 Foodgroup int16/2 Le type général de paquet
02 Type int16/2 Le type spécifique de la foodgroup
04 Flags int16/2
06 Requête ID int32/4 Une requête ID, ce qui peut être aléatoire, mais les clients ne peuvent pas envoyer de Bit de Poids Fort.

Implémentations[modifier | modifier le code]

Langage de
Programmation
Implémentations
C libpurple
GnomeICU
C# NOscar
C++ QOscar (Qt)
C# 2.0 OscarLib
Java joscar
Instant Messenger Lib
« daim » (ArchiveWikiwixArchive.isGoogleQue faire ?). Consulté le 2013-12-17
Objective-C LibOrange
OCaml mlOscar
Python TwistedWords
Perl Net::OSCAR
PHP WebIcqPro

Voir aussi[modifier | modifier le code]

Références[modifier | modifier le code]

  1. « FLAP - Frame Layer Protocol », AOL Developer Network, AOL,‎ 2008-03-05 (consulté le 2009-11-01)

Liens externes[modifier | modifier le code]