Oscar Protocol

Channels

Oscar Protocol uses 5 Channels to multiplex information over one Socket Connection.

ChannelDescription
0x01New Connection Negotiation
0x02SNAC Messages
0x03FLAP-level Error
0x04Close Connection Negotiation
0x05Keep alive

Flap

Flap is the low-level message exchange Protocol in Oscar. Every Message in Oscar is wrapped into a Flap. A Flap consists of a Flap Header and a Channel and Message dependent Body.

ValueTypeDescription
2AbyteID - Start Token that with fixed value.
0xNNbyteChannel
0xNN 0xNNwordMessage Sequence Number
0xNN 0xNNwordBody length in bytes

The content of the Flap Body depends on the Channel over which the Flap was transmitted.

ChannelBody Type
0x01Raw Byte data AND TLV data types - TODO - Description
0x02SNAC Messages
0x03Error Messages - TODO - Description
0x04Close Connection Negotiation - TODO - Description
0x05Keep Alive Messages - TODO - Description

New ConnectionNegotiation

Messages sent over Channel 0x01 must fit into

Notation

0xNN is an arbitrary byte represented by two Hexadecimal digits.