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
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.
|
| |