HOME

TheInfoList



OR:

The TOC protocol, or Talk to OSCAR protocol, was a
protocol Protocol may refer to: Sociology and politics * Protocol (politics), a formal agreement between nation states * Protocol (diplomacy), the etiquette of diplomacy and affairs of state * Etiquette, a code of personal behavior Science and technology ...
used by some
third-party Third party may refer to: Business * Third-party source, a supplier company not owned by the buyer or seller * Third-party beneficiary, a person who could sue on a contract, despite not being an active party * Third-party insurance, such as a Veh ...
AOL Instant Messenger AIM (AOL Instant Messenger) 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. AIM wa ...
client Client(s) or The Client may refer to: * Client (business) * Client (computing), hardware or software that accesses a remote service on another computer * Customer or client, a recipient of goods or services in return for monetary or other valuabl ...
s and several clients that
AOL AOL (stylized as Aol., formerly a company known as AOL Inc. and originally known as America Online) is an American web portal and online service provider based in New York City. It is a brand marketed by the current incarnation of Yahoo! Inc. ...
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 Tik or TIK may refer to: *Tik (dance), a Greek dance *TIK (band), a Ukrainian folk rock band *Tik (methamphetamine), a drug colloquially known in South Africa as "tik" *Tiu Keng Leng station, Hong Kong, station code * TiK, a messaging program *Tik ...
and TAC which are written in
Tcl TCL or Tcl or TCLs may refer to: Business * TCL Technology, a Chinese consumer electronics and appliance company ** TCL Electronics, a subsidiary of TCL Technology * Texas Collegiate League, a collegiate baseball league * Trade Centre Limited ...
/ Tk,
TNT Trinitrotoluene (), more commonly known as TNT, more specifically 2,4,6-trinitrotoluene, and by its preferred IUPAC name 2-methyl-1,3,5-trinitrobenzene, is a chemical compound with the formula C6H2(NO2)3CH3. TNT is occasionally used as a reage ...
which is written in
Emacs Emacs , originally named EMACS (an acronym for "Editor MACroS"), is a family of text editors that are characterized by their extensibility. The manual for the most widely used variant, GNU Emacs, describes it as "the extensible, customizable, ...
Lisp A lisp is a speech impairment in which a person misarticulates sibilants (, , , , , , , ). These misarticulations often result in unclear speech. Types * A frontal lisp occurs when the tongue is placed anterior to the target. Interdental lispi ...
, 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. TOC was an
ASCII ASCII ( ), abbreviated from American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices. Because ...
-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 Advertising is the practice and techniques employed to bring attention to a product or service. Advertising aims to put a product or service in the spotlight in hopes of drawing it attention from consumers. It is typically used to promote a ...
.


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 Socket may refer to: Mechanics * Socket wrench, a type of wrench that uses separate, removable sockets to fit different sizes of nuts and bolts * Socket head screw, a screw (or bolt) with a cylindrical head containing a socket into which the hexa ...
, 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 The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, ...
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 "" followed by two
CRLF Newline (frequently called line ending, end of line (EOL), next line (NEL) or line break) is a control character or sequence of control characters in character encoding specifications such as ASCII, EBCDIC, Unicode, etc. This character, or a ...
s, 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 The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScri ...
. Once connected, two basic message formats for communications inside of FLAP existed. Client-to-server messages were sent in a format resembling a
Unix Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
-style command line: commands with
whitespace White space or whitespace may refer to: Technology * Whitespace characters, characters in computing that represent horizontal or vertical space * White spaces (radio), allocated but locally unused radio frequencies * TV White Space Database, a mec ...
-separated arguments, quoting and
backslash The backslash is a typographical mark used mainly in computing and mathematics. It is the mirror image of the common slash . It is a relatively recent mark, first documented in the 1930s. History , efforts to identify either the origin o ...
escape sequence In computer science, an escape sequence is a combination of characters that has a meaning other than the literal characters contained therein; it is marked by one or more preceding (and possibly terminating) characters. Examples * In C and ma ...
s. Server-to-client messages were much simpler: they were sent as colon-separated
ASCII ASCII ( ), abbreviated from American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices. Because ...
strings, in a manner similar to many
Unix Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
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.


TOC2

The TOC2 protocol is an updated version of the TOC protocol, or "Talk to OSCAR" protocol. Its existence was never documented by
AOL AOL (stylized as Aol., formerly a company known as AOL Inc. and originally known as America Online) is an American web portal and online service provider based in New York City. It is a brand marketed by the current incarnation of Yahoo! Inc. ...
and it is only used in a few
AOL Instant Messenger AIM (AOL Instant Messenger) 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. AIM wa ...
clients. Some clients are beginning to offer plugins for TOC2 in light of AOL's recent shutdown of their TOC servers. Like its predecessor, TOC2 is an ASCII protocol and lacks some features of
OSCAR Oscar, OSCAR, or The Oscar may refer to: People * Oscar (given name), an Irish- and English-language name also used in other languages; the article includes the names Oskar, Oskari, Oszkár, Óscar, and other forms. * Oscar (Irish mythology), ...
, but unlike TOC, TOC2 is known to support buddy icons and receiving file transfers (not sending). TOC2 operates in essentially the same way as TOC, as a wrapper for OSCAR.
Porting In software engineering, porting is the process of adapting software for the purpose of achieving some form of execution in a computing environment that is different from the one that a given program (meant for such execution) was originally des ...
code from TOC to TOC2 is remarkably easy as well. Because of the similarities between TOC1.0 and TOC2.0, they are better defined by their differences, of which there are only a few: * In TOC1.0, connecting with an empty buddy list would make it so that others are not able to see you online. This has been corrected in TOC2.0. * In TOC1.0, there is a toc_add_deny command, but no toc_remove_deny. TOC2.0 corrects this as well. * The sign on process is basically the same as TOC1.0, but with a few new parameters: version, a number, and a code created based on the username and password. The purpose of the number is unknown. The default is 160 and it seems to have no effect if changed. * Permitting and denying have been revamped and are much easier and full-featured in TOC2.0. The commands toc2_add_permit, toc2_remove_permit, toc2_add_deny, and toc2_remove_deny are all present and accessible at any time. * Buddy list commands have also been improved. Group management is easier with the toc2_new_group and toc2_del_group commands. Also, it is possible to add or remove more than one buddy at a time, and choose the groups they are in. * A few syntax changes have also been made, and parameters have been added to some commands. The uses of these parameters are still undetermined. * Aside from this the only changes from TOC are the fact that a '2' was added on most commands both CLIENT->SERVER and vice versa. E.g. IM_IN2, UPDATE_BUDDY2, etc. * TOC2 also limits the number of ScreenNames that can log in from a single IP address (10).


See also

*
Comparison of instant messaging protocols The following is a comparison of instant messaging protocols. It contains basic general information about the protocols. Table of instant messaging protocols See also * Comparison of cross-platform instant messaging clients *Comparison of Int ...


References


External links


Detailed Specification

TOC1 Protocol specification

TOC2 Protocol specification

History of AIM, OSCAR and TOC


Implementations

;TOC:
Py-TOC
(python)
Net::AIM
(perl)
PHPTocLib
(php)
Tik
(Tcl/Tk)
TNT
(Emacs Lisp)
TAC
(Tcl, non-GUI)
AOL Quick Buddy Applet (TIC)
(Java Applet) *
naim Naim (also spelled Na'im, Nayeem, Naeem, Naiem, Nahim, Naheem, Nyhiem, Nihiem, Nyheim, Niheem, or Nahiem) ( ar, نعیم, he, נעים) is a male given name and surname. Notable persons with the name include: * Naim ibn Hammad (died 843 AD), ...
(ncurses, non-GUI)
miniaim
(C++)
SimpleAIM
(Java) ;TOC2:
Fluent.Toc
(C#)
Raven::Aim
(perl)
Plugin for Miranda Instant Messenger

PHPTocLib
(PHP)
BlueTOC
(PHP)
TerraIM
(C++) *
TNT Trinitrotoluene (), more commonly known as TNT, more specifically 2,4,6-trinitrotoluene, and by its preferred IUPAC name 2-methyl-1,3,5-trinitrobenzene, is a chemical compound with the formula C6H2(NO2)3CH3. TNT is occasionally used as a reage ...
(
Emacs Lisp Emacs Lisp is a dialect of the Lisp programming language used as a scripting language by Emacs (a text editor family most commonly associated with GNU Emacs and XEmacs). It is used for implementing most of the editing functionality built into Em ...
) {{AOL Inc. Instant messaging protocols AOL