Protocols/OSCAR/SNAC/ICBM ERR

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 Origin Name Foodgroup Service Status Version
0x0004, 0x0001 Any ICBM__ERR ICBM BOS Active 1.25

This is the error SNAC for the ICBM foodgroup.

SNAC Header

Foodgroup uint16 (word) 00 04
Subgroup uint16 (word) 00 01
Flags uint16 (word) 00 00
Request ID uint32 (dword) xx xx xx xx

SNAC Data

Error code is required, however the TLV chain is optional depending on the error code and/or other information the user needs to be provided.

Name Length Value Note
Code uint16 (word) xx xx [Class: ERROR__CODE]
TLV blob xx .. [Class: ERROR__TAGS]

Class: ICBM__ERROR_SUBCODE

These are subcodes used with standard errors.

Unconfirmed: 2 bytes The error code. - 0x0004 - User is not availabe (ie. not online). - 0x0009 - Message type not supported by recipient. - 0x0010 - Message could not be sent because you have blocked the recipient. (You also get this when you try to send a message to an ICQ user from an AIM account.)

Name Value Note
ICBM__ERROR_SUBCODE_REMOTE_IM_OFF 0x01 Used with NOT_LOGGED_ON
ICBM__ERROR_SUBCODE_REMOTE_RESTRICTED_BY_PC 0x02 Used with NOT_LOGGED_ON; the remote side denied because of parental controls
ICBM__ERROR_SUBCODE_NEED_SMS_LEGAL_TO_SEND 0x03 User tried to send a message to an SMS user and is required to accept the legal text first
ICBM__ERROR_SUBCODE_SMS_WITHOUT_DISCLAIMER 0x04 Client tried to send a message to an SMS user without the character counter being displayed
ICBM__ERROR_SUBCODE_SMS_COUNTRY_NOT_ALLOWED 0x05 Client tried to send a message to an SMS user but the SMS matrix said the country code combination not permitted
ICBM__ERROR_SUBCODE_SMS_UNKNOWN_COUNTRY 0x08 Client tried to send to an SMS user but the server could not determine the country
ICBM__ERROR_SUBCODE_CANNOT_INITIATE_IM 0x09 An IM cannot be initiated by a BOT
ICBM__ERROR_SUBCODE_IM_NOT_ALLOWED 0x0A An IM is not allowed by a consumer BOT to a user
ICBM__ERROR_SUBCODE_CANNOT_IM_USAGE_LIMITED 0x0B An IM is not allowed by a consumer BOT due to reaching a generic usage limit, not common
ICBM__ERROR_SUBCODE_CANNOT_IM_DUSAGE_LIMITED 0x0C An IM is not allowed by a consumer BOT due to reaching the daily usage limit
ICBM__ERROR_SUBCODE_CANNOT_IM_MUSAGE_LIMITED 0x0D An IM is not allowed by consumer BOT due to reaching the monthly usage limit
ICBM__ERROR_SUBCODE_OFFLINE_IM_NOT_ACCEPTED 0x0E User does not accept offline IMs
ICBM__ERROR_SUBCODE_OFFLINE_IM_EXCEED_MAX 0x0F Exceeded max storage limit
ICBM__ERROR_SUBCODE_NO_ALIAS_MATCH 0x64 NOT CURRENTLY DOCUMENTED
ICBM__ERROR_SUBCODE_MULTI_ALIAS_MATCH 0x65 NOT CURRENTLY DOCUMENTED

From Aleksandr Shutko: SNAC(04,01) ICBM__ERR


This snac mean that server can't send your message to recipient because it invalid, too large, wrong type or not supported by receiver. See also SNAC(04,0A), SNAC(04,0C) for more info. Most used error types:

0x04 - you are trying to send message to offline client ("")
0x09 - message not supported by client
0x0E - your message is invalid (incorrectly formated)
0x10 - receiver/sender blocked

There is more values. See also error types complete list.

 00 04   word   SNAC family
 00 01   word   SNAC subtype
 00 00   word   SNAC flags
 xx xx xx xx   dword   SNAC request-id
 xx xx   word   error code (see list above)
 00 08   word   TLV.Type(0x08) - error subcode, from tlv tags list
 xx xx   word   TLV.Length
 xx xx   word   error subcode


Example SNAC dump with flap header:


  2A 02 EF D9 00 0C 00 04  00 01 00 00 00 00 00 14  *...............
  00 0E                                             ..


ICBM SNACs

SNAC List
Subgroup Origin Name
0x0001 Any ICBM__ERR
This is the error SNAC for the ICBM foodgroup.
0x0002 Client ICBM__ADD_PARAMETERS
This SNAC is typically sent prior to sending the OSERVICE__CLIENT_ONLINE so that the host is properly initialized with the clients' preferences.
0x0003 Client ICBM__DEL_PARAMETERS
These are the delete all parameters for a given channel.
0x0004 Client ICBM__PARAMETER_QUERY
This SNAC requests ICBM parameters from the host.
0x0005 Host ICBM__PARAMETER_REPLY
This SNAC is sent by the host in response to a ICBM__PARAMETER_QUERY.
0x0006 Client ICBM__CHANNEL_MSG_TOHOST
This is the basic inter-client message after which the group was named (Inter-Client Basic Messages).
0x0007 Host ICBM__CHANNEL_MSG_TOCLIENT
This is the ICBM__CHANNEL_MSG_TOHOST after it has been reformatted by the host and sent to the destination client.
0x0008 Client ICBM__EVIL_REQUEST
This requests that the specified user is sent an EVIL notification.
0x0009 Host ICBM__EVIL_REPLY
The reply tells the requester, the sender of an ICBM__EVIL_REQUEST SNAC, how much EVIL, if any, was applied to the recipient.
0x000A Host ICBM__MISSED_CALLS
When the host is unable to send one or more messages to the client, the host sends this SNAC to the client to let it know that it missed some messages ("calls").
0x000B Any ICBM__CLIENT_ERR
This error notice is one of the few SNACs that can be sent to the host and received by a client.
0x000C Host ICBM__HOST_ACK
This SNAC is sent by the host upon receipt of any ICBM__CHANNEL_MSG_TOHOST which includes the optional ICBM__TLV_TAGS_REQUEST_HOST_ACK TLV.
0x000D NCD ICBM__SIN_STORED
This is not currently documented. Want to contribute?
0x000E NCD ICBM__SIN_LIST_QUERY
This is not currently documented. Want to contribute?
0x000F NCD ICBM__SIN_LIST_REPLY
This is not currently documented. Want to contribute?
0x0010 Client ICBM__SIN_RETRIEVE
This requests ICBM__CHANNEL_MSG_TOCLIENT messages be generated for each of the stored ICBMs. Any message retrieved is deleted.
0x0011 NCD ICBM__SIN_DELETE
This is not currently documented. Want to contribute?
0x0012 NCD ICBM__NOTIFY_REQUEST
This is not currently documented. Want to contribute?
0x0013 NCD ICBM__NOTIFY_REPLY
This is not currently documented. Want to contribute?
0x0014 Any ICBM__CLIENT_EVENT
This SNAC is sent as a control message, sent by a client to inform the recipient of an event, or by the host informing of an event.
0x0017 Host ICBM__SIN_REPLY
The host successfully processed the request to retrieve all the offline messages.