ID
Origin
Name
Foodgroup
Service
Status
Version
0x0004, 0x000A
Host
ICBM__MISSED_CALLS
Unspecified
BOS
Active
1.25
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").
It does this at the earliest possible time (e.g., at the first available time slot allowed by minInterICBMInterval). So if user A sends a message to user B, and the server denies sending to user B because of size, user A gets an error and user B gets a missed call.
Foodgroup
uint16 (word)
00 04
Subgroup
uint16 (word)
00 0A
Flags
uint16 (word)
00 00
Request ID
uint32 (dword)
00 00 00 00
SNAC Data
Name
Type
Notes
missedCallArray
Rest of SNAC array of ICBM Missed Call
Information about the messages that were missed
Datatype: ICBM Missed Call
This represents a single missed IM from a sender, sent to the potential receiver.
Name
Type
Notes
channel
uint16 (word)
Channel on which the missed message was
senderInfo
OSERVICE__USERINFO
Information about the sender
numMissed
uint16 (word)
How many messages were dropped
reason
uint16 (word)
[Class: ICBM__MISSED_CALL_REASONS ] Why the IM failed
Class: ICBM__MISSED_CALL_REASONS
These are the reasons sent to a receiver why they could not receive an IM from a sender.
Name
Value
Notes
ICBM__MCR_TOO_LARGE
0x0001
Sender's message was too large
ICBM__MCR_RATE_EXCEEDED
0x0002
Sender exceeded the receiver's rate limit
ICBM__MCR_EVIL_SENDER
0x0004
Message rejected because sender is EVIL
ICBM__MCR_EVIL_RECEIVER
0x0008
Message rejected because receiver is EVIL
SNAC(04,0A)
ICBM__MISSED_CALLS
This snac mean that somebody send you a message but server can't deliver it to you for some reason. It contain information about user,
who send you a message, number of missed messages and reason. Known reason types:
0 - Message was invalid
1 - Message was too large
2 - Message rate exceeded
3 - Sender too evil (sender warn level > your max_msg_sevil)
4 - You are too evil (sender max_msg_revil > your warn level)
See also SNAC(04,02) , SNAC(04,05)
for more information about message limitations and additional info about online userinfo block.
00 04
word
SNAC family
00 0A
word
SNAC subtype
00 00
word
SNAC flags
xx xx xx xx
dword
SNAC request-id
Following structure may be repeated more then once
xx xx
word
missed message type (channel)
xx
char
uin string length
xx ..
string
uin string
xx xx
word
warning level
00 04
word
Number of TLV in fixed part (user online info)
00 01
word
TLV.Type(0x01) - user class
xx xx
word
TLV.Length
00 06
word
TLV.Type(0x06) - user status
xx xx
word
TLV.Length
00 0F
word
TLV.Type(0x0F) - online time
xx xx
word
TLV.Length
xx xx xx xx
dword
Client online time
00 03
word
TLV.Type(0x03) - signon time
xx xx
word
TLV.Length
xx xx xx xx
dword
Time when client gone online
xx xx
word
number of missed messages
xx xx
word
Reason (see list above)
Example SNAC dumps with flap header:
2A 02 12 05 00 38 00 04 00 0A 00 00 8E 36 C7 B1 *....8.......6..
00 02 07 36 32 31 38 38 39 35 00 00 00 04 00 01 ...6218895......
00 02 00 06 00 04 00 02 00 00 00 0F 00 04 00 00 ................
00 00 00 03 00 04 3D E7 38 8B 00 01 00 01 ......=.8.....
ICBM SNACs
SNAC List
Expand
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.