TOC protocol

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.[1]

TOC was an ASCII-based protocol, while OSCAR is a binary protocol. In addition, TOC contained fewer features than its OSCAR counterpart. OSCAR provides such functionality as buddy icons, file transfer, and advertising.

How it works

TOC acted as a wrapper for the OSCAR protocol. In the grand scheme of things, the TOC server was nothing but an OSCAR client that happened to listen on a socket, translating messages between the two protocols. Upon login, the TOC client specified an OSCAR login server (presumably either or that the TOC server used on behalf of the client.

TOC used FLAP to encapsulate its messages just as OSCAR does, however, FLAP has been hacked in such a way that it can be implemented on the same port as an HTTP server. By default, the TOC server operated in HTTP mode, indistinguishable from a typical web server. If a connecting client, in place of an HTTP request, writes the string "FLAPON" followed by two CRLFs, TOC would switch gears and start reading FLAP messages. Upon getting a user's profile, the client was expected to re-connect to TOC and use it as an HTTP server, which would host the user's profile in HTML.

Once connected, two basic message formats for communications inside of FLAP existed. Client-to-server messages were sent in a format resembling a Unix-style command line: commands with whitespace-separated arguments, quoting and backslash escape sequences. Server-to-client messages were much simpler: they were sent as colon-separated ASCII strings, in a manner similar to many Unix config files. Thus, it was quite easy to write a client, as the incoming messages were very easy to parse, and outgoing commands were easy to generate.

This is in contrast to OSCAR, which due to the binary representation of data can be more difficult to understand.

Other Languages
Nederlands: Toc (protocol)