Protocols/OSCAR/SNAC/ICBM ADD PARAMETERS: Difference between revisions
No edit summary |
No edit summary |
||
Line 53: | Line 53: | ||
| How often the client wants to receive ICBMs in milliseconds | | How often the client wants to receive ICBMs in milliseconds | ||
|} | |} | ||
=== From Aleksandr Shutko: SNAC(04,02) client set icbm parameters request === | |||
<table width=640 bgcolor=darkblue cellSpacing=0 cellPadding=0 border=0><tr><td> | |||
<table width=100% cellSpacing=2 cellPadding=0 border=0><tr><td bgcolor=#4040FF > | |||
<table width=100% cellSpacing=0 cellPadding=0 border=0><tr> | |||
<td><b><font color="white">SNAC(04,02) </font></b></td> | |||
<td width=70% align=right><b><font color="white">ICBM__ADD_PARAMETERS </font></b> | |||
</td></tr></table> | |||
</td></tr></table> | |||
</td></tr></table> | |||
<br> | |||
<table width=640 cellSpacing=0 cellPadding=0 border=0> | |||
<tr> | |||
<td> | |||
Client use this snac to set its icbm parameters like max_msgsize, max sender_evil... | |||
You can request these parameters from server using | |||
[[Protocols/OSCAR/SNAC_04_04|SNAC(04,04)]]. Server will reply via | |||
[[Protocols/OSCAR/SNAC_04_05|SNAC(04,05)]]. See also | |||
[[Protocols/OSCAR/SNAC_04_01|SNAC(04,01)]] for more information. | |||
<br><br> | |||
Message flags used to indicate specific client abilities:<br><br> | |||
bit1: messages allowed for specified channel<br> | |||
bit2: missed calls notifications enabled for specified channel<br> | |||
bit4: client supports typing notifications<br><br> | |||
<table width=640 bgcolor=darkblue cellSpacing=0 cellPadding=0 border=0><tr><td> | |||
<table width=100% cellSpacing=2 cellPadding=0 border=0><tr><td bgcolor=#E9E9E9 > | |||
<table width=636 cellSpacing=0 cellPadding=0 align=center border=0> | |||
<tr> | |||
<td width=169> 00 04</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=55%>SNAC family</td> | |||
</tr> | |||
<tr> | |||
<td> 00 02</td> | |||
<td> </td> | |||
<td>word</td> | |||
<td> </td> | |||
<td>SNAC subtype</td> | |||
</tr> | |||
<tr> | |||
<td> 00 00</td> | |||
<td> </td> | |||
<td>word</td> | |||
<td> </td> | |||
<td>SNAC flags</td> | |||
</tr> | |||
<tr> | |||
<td> xx xx xx xx</td> | |||
<td> </td> | |||
<td>dword</td> | |||
<td> </td> | |||
<td>SNAC request-id</td> | |||
</tr> | |||
</table> | |||
</td></tr> | |||
<tr><td bgcolor=#E9E9E9> | |||
<table width=636 cellSpacing=0 cellPadding=0 align=center border=0> | |||
<tr> | |||
<td width=169> xx xx</td> | |||
<td width=5> </td> | |||
<td>word</td> | |||
<td width=5> </td> | |||
<td width=55%>channel to setup</td> | |||
</tr> | |||
<tr> | |||
<td> xx xx xx xx</td> | |||
<td> </td> | |||
<td>dword</td> | |||
<td> </td> | |||
<td>message flags</td> | |||
</tr> | |||
<tr> | |||
<td> xx xx</td> | |||
<td> </td> | |||
<td>word</td> | |||
<td> </td> | |||
<td>max message snac size</td> | |||
</tr> | |||
<tr> | |||
<td> xx xx</td> | |||
<td> </td> | |||
<td>word</td> | |||
<td> </td> | |||
<td>max sender warning level</td> | |||
</tr> | |||
<tr> | |||
<td> xx xx</td> | |||
<td> </td> | |||
<td>word</td> | |||
<td> </td> | |||
<td>max receiver warning level</td> | |||
</tr> | |||
<tr> | |||
<td> xx xx</td> | |||
<td> </td> | |||
<td>word</td> | |||
<td> </td> | |||
<td>minimum message interval (sec)</td> | |||
</tr> | |||
<tr> | |||
<td> 00 00</td> | |||
<td> </td> | |||
<td>word</td> | |||
<td> </td> | |||
<td>unknown parameter (also seen 03 E8)</td> | |||
</tr> | |||
</table> | |||
</td></tr></table> | |||
</td></tr></table> | |||
</td></tr></table> | |||
<br>Example SNAC dump with flap header: | |||
<table width=640 bgcolor=darkblue cellSpacing=0 cellPadding=0 border=0><tr><td> | |||
<table width=100% cellSpacing=2 cellPadding=0 border=0><tr> | |||
<td bgcolor=#E9E9E9> | |||
<font size=3><pre style="font-size: 13px"> | |||
2A 02 33 73 00 1A 00 04 00 02 00 00 00 00 00 02 *.3s............ | |||
00 00 00 00 00 03 1F 40 03 E7 03 E7 00 00 00 00 .......@........ | |||
</pre></font> | |||
</td></tr></table> | |||
</td></tr></table> | |||
=== ICBM SNACs === | === ICBM SNACs === | ||
{{Protocols/OSCAR/Foodgroups/ICBM/SNACs/Simple}} | {{Protocols/OSCAR/Foodgroups/ICBM/SNACs/Simple}} | ||
[[Category:With_Contrib]] | |||
[[Category:Stub]] | [[Category:Stub]] | ||
[[Category:AOL]] | [[Category:AOL]] |
Latest revision as of 04:40, 13 February 2021
OSCAR Protocol |
Introduction • Terms • Clients |
Basic |
Datatypes • FLAP • SNAC • TLV |
UUIDs • Errors • Tool IDs |
Host Interaction |
Rate Limits • Migration • Messages |
Other Services |
ADMIN • ADVERT • ALERT |
BART • BOS • BUCP • CHAT |
CHAT_NAV |
Tutorials |
Sign On • BART • Rendezvous |
ICBM • Locate • Buddies |
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, 0x0002 | Client | ICBM__ADD_PARAMETERS | Unspecified | BOS | Active | 1.25 |
This SNAC is typically sent prior to sending the OSERVICE__CLIENT_ONLINE so that the host is properly initialized with the clients' preferences.
Although it can be sent at any time to update the situation. The default flag settings allow everything and have missed call notifications turned on. The default values for the other values may be obtained from the server by issuing a PARAMETER_QUERY.
SNAC Header
Foodgroup | uint16 (word) | 00 04 |
Subgroup | uint16 (word) | 00 02 |
Flags | uint16 (word) | 00 00 |
Request ID | uint32 (dword) | 00 00 00 00 |
SNAC Data
The minInterICBMInterval is the minimum spacing the server will allow between ICBMs sent to the client. This is used in conjunction with maxIncomingICBMLen to limit the impact that incoming ICBMs can have on the client's total available bandwidth. The "channel" field specifies to which channel these parameters apply. There are a maximum number of channel "slots" available to a client.
The exact number can be obtained via a ICBM__PARAMETER_QUERY. A channel number of 0 (zero) is the reserved channel number to be used to set the default parameters for all channels. Therefore, the channel 0 parameters will be applied to all channels unless channel specific parameters are supplied via the ICBM__ADD_PARAMETERS call which overrides the defaults. The maximum number of slots does not apply to channel 0.
Name | Type | Notes |
---|---|---|
channel | uint16 (word) | [Class: ICBM__CHANNELS] To which channel these parameters apply, or 0 for the defaults |
icbmFlags | uint32 (dword) | [Class: ICBM__PARAMETER_FLAGS] Controlling flags |
maxIncomingICBMLen | uint16 (word) | Maximum size of an ICBM the client wants to receive; the range is from 80 to 8000 |
maxSourceEvil | uint16 (word) | When receiving an ICBM, the maximum evil level of the sender; the range is from 0 to 999 |
maxDestinationEvil | uint16 (word) | When sending an ICBM, the maximum evil level of destination; the range is from 0 to 999 |
minInterICBMInterval | uint32 (dword) | How often the client wants to receive ICBMs in milliseconds |
From Aleksandr Shutko: SNAC(04,02) client set icbm parameters request
|
Client use this snac to set its icbm parameters like max_msgsize, max sender_evil...
You can request these parameters from server using
SNAC(04,04). Server will reply via
SNAC(04,05). See also
SNAC(04,01) for more information.
Message flags used to indicate specific client abilities:
|
Example SNAC dump with flap header:
|
ICBM SNACs
|