SNAC(04,06)/CH1  CLI_SEND_ICBM_CH1 

Client use this snac to send message thru server on channel 1. All clients use this snac to send plain-text messages to an old clients and to clients that doesn't support channel 2 messages. TLV(0x03) and TLV(0x06) is optional.

 00 04   word   SNAC family
 00 06   word   SNAC subtype
 00 00   word   SNAC flags
 xx xx xx xx   dword   SNAC request-id
 xx xx xx xx
 xx xx xx xx
qword   msg-id cookie
 00 01 word   message channel
 xx byte   screenname string length
 xx .. string   screenname string
 00 02   word   TLV.Type(0x02) - message data
 xx xx   word   TLV.Length
 05   byte   fragment identifier (array of required capabilities)
 01   byte   fragment version
 xx xx   word   Length of rest data
 xx ...   array   byte array of required capabilities (1 - text)
 01   byte   fragment identifier (text message)
 01   byte   fragment version
 xx xx   word   Length of rest data
 00 00   word   Message charset number
 ff ff   word   Message language number
 xx ..   string (ascii)   Message text string
 00 03   word   TLV.Type(0x03) - request an ack from server
 00 00   word   TLV.Length
 empty
 00 06   word   TLV.Type(0x06) - store message if recipient offline
 00 00   word   TLV.Length
 empty

Example SNAC dumps with flap header:

  2a 02 23 6c 00 47 00 04  00 06 00 00 00 01 00 06  *.#l.G..........
  67 c3 15 01 3d 3a 00 00  00 01 07 31 30 30 30 30  g...=:.....10000
  30 30 00 02 00 23 05 01  00 01 01 01 01 00 1a 00  00...#..........
  00 ff ff 74 65 73 74 20  63 68 61 6e 6e 65 6c 20  ...test channel 
  31 20 6d 65 73 73 61 67  65 00 06 00 00           1 message....


  Main | Basic | Login | Snaclist | Sequences | Misc | Changes | Credits | Terms