OSCAR ( Open System for Communication in Realtime ) es el protocolo de mensajería instantánea e información de presencia patentado por AOL . Fue utilizado por el sistema de mensajería instantánea AIM de AOL y por ICQ .
A pesar de su nombre, las especificaciones del protocolo siguen siendo propietarias. AOL ha hecho grandes esfuerzos para evitar que los competidores (en concreto, Microsoft , XMPP y Cerulean Studios) implementen clientes compatibles para sus sistemas de mensajería propietarios. [1] [2] En 2002, AOL firmó un contrato con Apple, Inc. , que les permitía utilizar OSCAR (así como las propias bibliotecas de códigos de AOL) en su aplicación iChat . Esto permitió a los usuarios de iChat interactuar directamente con los usuarios de ICQ y AIM. El acuerdo también permitió a los usuarios del servicio .Mac de Apple iniciar sesión en la red AIM utilizando sus direcciones de correo electrónico .Mac. (Esto se ha trasladado al servicio MobileMe de Apple ).
A partir de 2009 [actualizar], grandes partes del protocolo habían sido diseñadas a la inversa e implementadas por varios clientes externos.
El protocolo OSCAR se puede utilizar independientemente de la red de AOL. De hecho, AOL amplía el concepto general de OSCAR, añadiendo sistemas para listas de amigos e iconos del lado del servicio, así como funciones para transferencias de archivos mediante Bonjour .
El 6 de marzo de 2006, AOL lanzó el SDK de AIM y lanzó un sitio web para desarrolladores, que permitía a los desarrolladores crear complementos para AIM Triton y crear sus propios clientes personalizados, que se conectan mediante el protocolo OSCAR. Sin embargo, en ese momento no habían publicado ninguna información sobre el protocolo en sí.
El 5 de marzo de 2008, AOL publicó partes de la documentación del protocolo OSCAR. Google también proporcionó la posibilidad de iniciar sesión en la red AIM a través del cliente Google Talk integrado en Gmail .
Todos los paquetes enviados a través de OSCAR se encapsulan de la misma manera. Todos los números enteros de 16 bits enviados a través de la red no tienen signo y son big endian (consulte Endianness ). Esto es lo mismo para los números enteros de 32 bits y los números enteros de 8 bits (o bytes).
Un contenedor especial de Protocolo de Capa de Trama (FLAP [3] ) encierra cada paquete. Lleva información sobre el tamaño del paquete, el canal y su número en secuencia.
En casi todos los paquetes enviados por el canal 2, hay un SNAC (Simple Network Atomic Communication). Siempre hay uno o ninguno de estos en un paquete y, por lo tanto, no contienen (ni necesitan tener) una longitud.