Jump to content

TOC protocol

From Alfawiki
TOC protocol
Company typeProtocol
IndustryInstant messaging
FounderAOL
DefunctJuly 2012 (2012-07)
FateDiscontinued by AOL
Area served
Internet users of AOL Instant Messenger
ProductsTOC-based clients including TiK, TAC, TNT, TIC (Java client)

The TOC protocol (short for Talk to OSCAR protocol) was implemented by certain third-party AOL Instant Messenger clients as well as several official AOL clients. Around August 19, 2005, AOL ceased supporting TOC and discontinued its use in active instant messaging applications such as those for AOL Instant Messenger and ICQ. AOL created multiple TOC-based clients, including TiK and TAC—both developed using Tcl/Tk—as well as TNT, which was written in Emacs Lisp. These clients were all open source. Additionally, AOL released a Java client initially named TIC, which later evolved into the Quick Buddy web applet. The TOC protocol specification was publicly available to encourage developers to adopt it as an alternative to the proprietary OSCAR protocol. In July 2012, the termination of TOC2 servers by AOL marked the end of AIM connectivity through TOC.

TOC utilized an ASCII-based communication method and provided fewer capabilities compared to OSCAR, which employed a binary format supporting features like buddy icons, file transfers, and advertising.

How it works

The TOC protocol operated as a wrapper around the OSCAR protocol. Specifically, the TOC server functioned as an OSCAR client that listened on a socket and translated messages between the two protocols. During login, the TOC client specified an OSCAR login server (such as or ), which the TOC server then used on behalf of the client.

Similar to OSCAR, TOC encapsulated messages using FLAP, but it modified FLAP to communicate over the same port typically used by an HTTP server. By default, the TOC server ran in HTTP mode, making it indistinguishable from a standard web server. When a client sent "" followed by two CRLF sequences instead of a normal HTTP request, TOC switched into reading FLAP messages. After retrieving the user's profile data, the client reconnected to the TOC server operating as an HTTP server that served the profile in HTML format.

Within FLAP, two distinct message formats existed: client-to-server messages were structured like Unix-style command lines featuring whitespace-delimited arguments with support for quoting and escape sequences; server-to-client messages were simpler ASCII strings separated by colons, resembling Unix configuration files. This approach simplified client development due to straightforward parsing and command construction.

In contrast, OSCAR's binary data format introduced greater complexity in interpretation.

TOC2

The TOC2 protocol represents an enhanced iteration of the original TOC ("Talk to OSCAR") protocol and was supported by a limited selection of AOL Instant Messenger clients. Although AOL did not officially document TOC2, some clients have since incorporated TOC2 plugins following AOL’s shutdown of TOC servers. Like its predecessor, TOC2 is an ASCII-based protocol with fewer features than the OSCAR, but it does enable support for buddy icons and receiving file transfers (though not sending). Functioning as a wrapper around OSCAR, TOC2 facilitates relatively simple migration from TOC.

Notable improvements over TOC1.0 include:

  • Resolution of visibility problems when connecting with an empty buddy list.
  • Expanded permission management commands such as toc2_add_permit, toc2_remove_permit, toc2_add_deny, and toc2_remove_deny that provide comprehensive access control.
  • Enhanced buddy list and group handling through commands like toc2_new_group and toc2_del_group, allowing batch additions or removals of buddies with group assignments.
  • Minor syntax updates along with additional parameters in some commands; however, certain usages remain unclear.
  • Most command names include a '2' suffix (for example, IM_IN2, UPDATE_BUDDY2).
  • Login restrictions limiting up to 10 ScreenNames per IP address.

See also

Implementations

TOC
TOC2