Protocols/OSCAR/Foodgroups/ICQ

From NINA Wiki
Jump to navigation Jump to search
OSCAR Protocol
IntroductionTermsClients
Basic
DatatypesFLAPSNACTLV
UUIDsErrorsTool IDs
Host Interaction
Rate LimitsMigrationMessages
Other Services
ADMINADVERTALERT
BARTBOSBUCPCHAT
CHAT_NAV
Tutorials
Sign OnBARTRendezvous
ICBMLocateBuddies
Foodgroups
OSERVICE (0x0001)
LOCATE (0x0002)
BUDDY (0x0003)
ICBM (0x0004)
ADVERT (0x0005)
INVITE (0x0006)
ADMIN (0x0007)
POPUP (0x0008)
PD (0x0009)
USER_LOOKUP (0x000A)
STATS (0x000B)
TRANSLATE (0x000C)
CHAT_NAV (0x000D)
CHAT (0x000E)
ODIR (0x000F)
BART (0x0010)
FEEDBAG (0x0013)
ICQ (0x0015)
BUCP (0x0017)
ALERT (0x0018)
PLUGIN (0x0022)
UNNAMED_FG_24 (0x0024)
MDIR (0x0025)
ARS (0x044A)
ID Name Service Status Version
0x0015 ICQ BOS Active 1.2

SNACs for ICQ-specific features, primarily in legacy ICQ clients which use OSCAR.


Subgroup Origin Name
0x0001 Any ICQ__ERR
This is the error SNAC for the ICQ foodgroup.
0x0002 Client ICQ__DB_QUERY
Information request used by legacy ICQ clients.
0x0003 Host ICQ__DB_REPLY
Host information response to ICQ__DB_QUERY.

Common TLVs

From Aleksandr Shutko: SNAC(15,xx) - list of the TLVs SNAC(15,xx) TLV_LIST


There was some changes in ICQ service protocol in family 0x15 since ICQ2001 client. First came changes in search sequence - search became tlv-based. Then was changed info-update sequence in ICQLite. Here is the list of TLVs used in tlv-based requests:

  310     0x0136     uint32    User uin (search)
  320     0x0140     sstring    User firstname    
  330     0x014A     sstring    User lastname    
  340     0x0154     sstring    User nickname    
  350     0x015E     ecombo    User email    
  360     0x0168     acombo    Age range to search (search)
  370     0x0172     uint16    User age    
  380     0x017C     uint8    User gender    
  390     0x0186     uint16    User spoken language    
  400     0x0190     sstring    User home city name    
  410     0x019A     sstring    User home state abbr    
  420     0x01A4     uint16    User home country code    
  430     0x01AE     sstring    User work company name    
  440     0x01B8     sstring    User work department name    
  450     0x01C2     sstring    User work position (title)    
  460     0x01CC     uint16    User work ocupation code    
  470     0x01D6     icombo    User affilations node    
  490     0x01EA     icombo    User interests node    
  510     0x01FE     icombo    User past info node    
  530     0x0212     icombo    User homepage category/keywords    
  531     0x0213     hcombo    User homepage url    
  550     0x0226     sstring    Whitepages search keywords string (search)
  560     0x0230     uint8    Search only online users flag (search)
  570     0x023A     bcombo    User birthday info (year, month, day)    
  600     0x0258     sstring    User notes (about) text    
  610     0x0262     sstring    User home street address    
  620     0x026C     uint32    User home zip code    
  630     0x0276     sstring    User home phone number    
  640     0x0280     sstring    User home fax number    
  650     0x028A     sstring    User home cellular phone number    
  660     0x0294     sstring    User work street address    
  670     0x029E     sstring    User work city name    
  680     0x02A8     sstring    User work state name    
  690     0x02B2     uint16    User work country code    
  700     0x02BC     uint32    User work zip code    
  710     0x02C6     sstring    User work phone number    
  720     0x02D0     sstring    User work fax number    
  730     0x02DA     sstring    User work webpage url    
  760     0x02F8     uint8    User 'show web status' permissions    
  780     0x030C     uint8    User authorization permissions    
  790     0x0316     uint8    User GMT offset    
  800     0x0320     sstring    User originally from city    
  810     0x032A     sstring    User originally from state    
  820     0x0334     uint16    User originally from country (code)    



  sstring - uint16 value (length) and then asciiz string
  ecombo - sstring and uint8 value (email permission)
  acombo - two uint16 values (min age & max age)
  icombo - uint16 value (category) and then sstring (keywords)
  bcombo - uint16 value (year), uint16 - month, uint16 - day
  hcombo - uint16 value (category ?) and then sstring


ICQ Direct Connection

Types

 

Direct connection type

 
 

<a name="m0005"></a>     ICQ clients can send messages and files using peer-to-peer connection called "direct connection" (DC). Each ICQ client may have different internet connection: direct, proxy, firewall or other and to establish DC one client should know connection type of another client. This connection type also used by direct connections and called "DC type". Here is the list of values:

  0x0000   DC_DISABLED     Direct connection disabled / auth required
  0x0001   DC_HTTPS     Direct connection thru firewall or https proxy
  0x0002   DC_SOCKS     Direct connection thru socks4/5 proxy server
  0x0004   DC_NORMAL     Normal direct connection (without proxy/firewall)
  0x0006   DC_WEB     Web client - no direct connection



Versions

 

Direct connection protocol version

 
 

<a name="m0006"></a>     ICQ clients can send messages and files using peer-to-peer connection called "direct connection" (DC). Here is the list of direct connection protocol versions:

  0x0004   DCP_ICQ98     ICQ98
  0x0006   DCP_ICQ99     ICQ99
  0x0007   DCP_ICQ2000     ICQ2000
  0x0008   DCP_ICQ2001     ICQ2001
  0x0009   DCP_ICQLITE     ICQ Lite
  0x000A   DCP_ICQ2003B     ICQ2003B



ICQ Statuses

X

Marriage

 

<a name="marital"></a>Marital status code list

 
 

<a name="m0008"></a>     There was some new fields added to ICQ client data. One of them is marital status field. Here is the marital status code list:

  0x0000 (00)   MARITAL_NONE     Marital status not specified
  0x000A (10)   MARITAL_SINGLE     User is single
  0x000B (11)   MARITAL_LONGRS     User is in a long-term relationship
  0x000C (12)   MARITAL_ENGAGED     User is engaged
  0x0014 (20)   MARITAL_MARRIED     User is married
  0x001E (30)   MARITAL_DIVORCED     User is divorced
  0x001F (31)   MARITAL_SEPARATED     User is separated
  0x0028 (40)   MARITAL_WIDOWED     User is widowed