OSCAR protocol

Last updated

OSCAR (Open System for CommunicAtion in Realtime) is AOL's proprietary instant messaging and presence information protocol. It was used by AOL's AIM instant messaging system and ICQ.

Contents

Despite its name, the specifications for the protocol remain proprietary. AOL has gone to great lengths to keep competitors (namely Microsoft, XMPP, and Cerulean Studios) from implementing compatible clients for their proprietary messaging systems. [1] [2] In 2002, AOL signed a contract with Apple, Inc., allowing them to use OSCAR (as well as AOL's own code libraries) in their iChat application. This allowed iChat users to interact with ICQ and AIM users directly. The deal also permitted users of Apple's .Mac service to log in to the AIM network using their .Mac email addresses. (This has carried over to Apple's MobileMe service.)

As of 2009, large parts of the protocol had been reverse-engineered and implemented by a number of third-party clients.

The OSCAR protocol can be used separately from AOL's network. In fact, AOL expands on the general concept of OSCAR, adding systems for service-side buddy lists and icons, as well as features for file transfers using Bonjour.

On March 6, 2006, AOL released the AIM SDK and launched a developer website, allowing developers to build plugins for AIM Triton, and build their own custom clients, which connect over the OSCAR protocol. They had not, at that point, however, released any information about the protocol itself.

On March 5, 2008, AOL released portions of the OSCAR protocol documentation. Google also provided the ability to sign in to AIM network via the Google Talk client built into Gmail.

Packet structure

All packets sent over OSCAR are encapsulated in the same manner. All 16-bit integers sent over the network are unsigned, and big endian (see Endianness.) This is the same for 32-bit integers, and 8-bit integers (or bytes.)

FLAP header

A special Frame Layer Protocol (FLAP [3] ) container encloses every packet. It carries information about packet size, channel, and its number in sequence.

Offset (hex)FieldType/Size (in bytes)Remarks
00FLAP IDbyte/1Always contains 2A. It is mark of packet start.
01Channelbyte/11 = login, 2 = SNAC layer, 3 = error, 4 = disconnect
02Number in sequenceint16/2Incremented by 1 each time a packet sent. Wraps to 0 after FFFF.
04Data sizeint16/2Size does not include FLAP header

SNAC data

Within almost every packet sent over channel 2, packets contain a SNAC (Simple Network Atomic Communication). There is always either one or zero of these contained in a packet, and therefore they do not contain (nor do they need to) a length.

Offset (hex)FieldType/Size (in bytes)Remarks
00Foodgroupint16/2The general type of the packet
02Typeint16/2The specific type of the packet
04Flagsint16/2
06Request IDint32/4A request ID, this can be random but clients cannot send this with the Highest Order Bit set.

Implementations

Programming
language
Implementations
C libpurple
GnomeICU
C# NOscar
C++ QOscar (Qt)
C# 2.0 OscarLib
Go retro-aim-server
aim-oscar-server
Java joscar
Instant Messenger Lib
daim
Objective-C LibOrange
OCaml mlOscar
Python TwistedWords Archived 2011-04-12 at the Wayback Machine
Perl Net::OSCAR
PHP WebIcqPro

See also

Related Research Articles

<span class="mw-page-title-main">AIM (software)</span> Instant messaging service

AIM was an instant messaging and presence computer program created by AOL, which used the proprietary OSCAR instant messaging protocol and the TOC protocol to allow registered users to communicate in real time.

ICQ New is a cross-platform instant messaging (IM) and VoIP client. The name ICQ derives from the English phrase "I Seek You". Originally developed by the Israeli company Mirabilis in 1996, the client was bought by AOL in 1998, and then by Mail.Ru Group in 2010.

<span class="mw-page-title-main">Instant messaging</span> Form of communication over the internet

Instant messaging (IM) technology is a type of online chat allowing immediate transmission of messages over the Internet or another computer network. Messages are typically transmitted between two or more parties, when each user inputs text and triggers a transmission to the recipient(s), who are all connected on a common network. It differs from email in that conversations over instant messaging happen in real-time. Most modern IM applications use push technology and also add other features such as emojis, file transfer, chatbots, voice over IP, or video chat capabilities.

Trillian is a proprietary multiprotocol instant messaging application created by Cerulean Studios. It is currently available for Microsoft Windows, Mac OS X, Linux, Android, iOS, BlackBerry OS, and the Web. It can connect to multiple IM services, such as AIM, Bonjour, Facebook Messenger, Google Talk (Hangouts), IRC, XMPP (Jabber), VZ, and Yahoo! Messenger networks; as well as social networking sites, such as Facebook, Foursquare, LinkedIn, and Twitter; and email services, such as POP3 and IMAP.

<span class="mw-page-title-main">Pidgin (software)</span> Open-source multi-platform instant messaging client

Pidgin is a free and open-source multi-platform instant messaging client, based on a library named libpurple that has support for many instant messaging protocols, allowing the user to simultaneously log in to various services from a single application, with a single interface for both popular and obsolete protocols, thus avoiding the hassle of having to deal with new software for each device and protocol.

<span class="mw-page-title-main">XMPP</span> Communications protocol for message-oriented middleware

Extensible Messaging and Presence Protocol is an open communication protocol designed for instant messaging (IM), presence information, and contact list maintenance. Based on XML, it enables the near-real-time exchange of structured data between two or more network entities. Designed to be extensible, the protocol offers a multitude of applications beyond traditional IM in the broader realm of message-oriented middleware, including signalling for VoIP, video, file transfer, gaming and other uses.

iChat Messaging application for Mac OS X

iChat is a discontinued instant messaging software application developed by Apple Inc. for use on its Mac OS X operating system. It supported instant text messaging over XMPP/Jingle or OSCAR (AIM) protocol, audio and video calling, and screen-sharing capabilities. It also allowed for local network discussion with users discovered through Bonjour protocols.

<span class="mw-page-title-main">Miranda NG</span> Free instant messenger for Microsoft Windows

Miranda NG is an open-source multiprotocol instant messaging application, designed for Microsoft Windows. Miranda NG is free software distributed under the GNU GPL-2.0-or-later.

<span class="mw-page-title-main">Centericq</span> Instant messaging interface

Centericq is a text mode menu- and window-driven instant messaging interface that supports the ICQ, Yahoo!, AIM, MSN, IRC, XMPP, LiveJournal, and Gadu-Gadu protocols.

The TOC protocol, or Talk to OSCAR protocol, was a protocol used by some third-party AOL Instant Messenger clients and several clients that AOL produced itself. Sometime near August 19, 2005, AOL discontinued support for the protocol and no longer uses it in any of the instant messaging clients it actively maintains, such as its Windows and Mac clients for the AOL Instant Messenger and ICQ systems. However, it once did produce several of its own TOC clients, including TiK and TAC which are written in Tcl/Tk, TNT which is written in Emacs Lisp, all of which are open source, and a Java client originally called TIC which later became the Quick Buddy web applet. AOL also provided the TOC protocol specification openly to developers in the hopes that they will use it instead of the proprietary OSCAR protocol they use themselves. In July 2012, AOL turned off the TOC2 servers and it is no longer possible to connect to AIM using this protocol.

<span class="mw-page-title-main">Gadu-Gadu</span> Instant messaging software

Gadu-Gadu is a Polish instant messaging client using a proprietary protocol. Gadu-Gadu was the most popular IM service in Poland, with over 15 million registered accounts and approximately 6.5 million users online daily. Gadu-Gadu's casual gaming portal had some 500,000 active users at the end of March 2009. Users send up to 300 million messages per day.

Tencent QQ, also known as QQ, is an instant messaging software service and web portal developed by the Chinese technology company Tencent. QQ offers services that provide online social games, music, shopping, microblogging, movies, and group and voice chat software. As of March 2023, there were 597 million monthly active QQ accounts.

<span class="mw-page-title-main">Psi (instant messaging client)</span> Instant messaging client

Psi is a free instant messaging client for the XMPP protocol which uses the Qt toolkit. It runs on Linux, Windows, macOS and OS/2.

HCL Sametime Premium is a client–server application and middleware platform that provides real-time, unified communications and collaboration for enterprises. Those capabilities include presence information, enterprise instant messaging, web conferencing, community collaboration, and telephony capabilities and integration. Currently it is developed and sold by HCL Software, a division of Indian company HCL Technologies, until 2019 by the Lotus Software division of IBM.

naim (software) Messaging and chat program

naim is a messaging and chat program written by Daniel Reed in C; it supports the protocols AIM, ICQ, IRC, and RPI's Lily CMC protocols. Unlike most messaging clients, it is not graphical; it runs from the console using the ncurses library. naim is free software, licensed under the GNU GPL.

Wireless Village is a set of specifications for mobile instant messaging and presence services. It is intended to be a standard for cellphones and mobile devices to use these services across platforms.

Jimm is an alternative open-source instant messaging client for the ICQ network. It is written in Java ME and should work in most of mobile devices that follow MIDP specification.

<span class="mw-page-title-main">Empathy (software)</span> Open source instant messaging and VoIP client

Empathy was an instant messaging (IM) and voice over IP (VoIP) client which supported text, voice, video, file transfers, and inter-application communication over various IM communication protocols.

<span class="mw-page-title-main">Quiet Internet Pager</span>

QIP is a multiprotocol instant messaging client. It is a closed source freeware program originally developed by Ilgam Zyulkorneev. In 2008 it was bought by RosBusinessConsulting media group and named most popular RBC service in 2009.

<span class="mw-page-title-main">Instantbird</span> Cross-platform instant messaging client

Instantbird is a discontinued cross-platform instant messaging client based on Mozilla's XULRunner and the open-source library libpurple used in Pidgin. Instantbird is free software available under the GNU General Public License. Over 250 add-ons allow user customization of, and addition of, features. On October 18, 2017, Florian Quèze announced that "... we are stopping development of Instantbird as a standalone product."

References

  1. "AOL blocks Trillian IM access • The Register". The Register .
  2. "AOL vs. Trillian continues | News | Geek.com". Archived from the original on 2016-09-18. Retrieved 2018-02-05.
  3. "FLAP - Frame Layer Protocol". AOL Developer Network. AOL. 2008-03-05. Archived from the original on 2008-03-08. Retrieved 2009-11-01.