Message 0x56
Complaint List
0x56 Structure
| Type | Description | Offset | |
| uint32_t | type | 0 | |
| uint16_t | sub-type | 4 | |
| uint16_t | empty | 6 | |
| uint16_t | against user_id | 8 | Subtype 1 only, Empty Otherwise |
| uint16_t | empty | 10 | |
| uint32_t | empty | 12 | |
| uint32_t | big-endian unix timestamp | 16 | Subtype 3 Only, Empty Otherwise |
| uint32_t | empty | 20 | |
| uint32_t | empty | 24 | Subtype 1 Only |
| VentriloNetString | complaint message | 28 | Subtype 1 Only |
| VentriloNetString | against username | 24 | Subtype 3 Only |
| VentriloNetString | by username | (after against user) | Subtype 3 Only |
| VentriloNetString | complaint message | (after by user) | Subtype 3 Only |
Subtypes
| Sub-Type | Description |
| 0x00 | Open Complaint List |
| 0x01 | Send Complaint |
| 0x02 | Flush Complaints |
| 0x03 | Receive Complaint |
Notes
When a user sends a complaint, every admin with rights immediately receives it. By default, Ventrilo has 'Auto open' checked in the complaint window, so it opens immediately. Auto open is a client side only setting. Offsets 24+ only exist in subtypes 1 and 3 Offset 24 is a uint32 of value 0 in subtype 1, a VentriloNetString in subtype 3 The next item is a VentriloNetString (both 1 and 3) In subtype 3, there is another VentriloNetString after There are a lot of pieces of the 0x56 packet that are always 0, noted in stucture. If the user being complained about logs out (even if they log in again) before the complaint is sent, ventrilo generates 'The intended user is no longer valid', and no packets are sent. If nothing is types in the complaint message, ventrilo generates 'You must provide a reason why you are sending the complaint.', and no packets are sent.
Packet flow for Sending a Complaint
-Transaction Begins- Client Sends Type 0x56 - Subtype 0x01 - Empty - Against UserID - Empty - Empty - Timestamp 0x00 - Empty - Empty - Complaint Message Server Sends (to all users with rights to read complaints) Type 0x56 - Subtype 0x03 - Empty - Against UserID 0x00 - Empty - Empty - Timestamp - Empty - Against Username - By Username - Complaint Message -Transaction Complete-
Packet Flow for Opening Complaint Window
-Transaction Begins- Client Sends Type 0x56 - Subtype 0x00 - Empty - Against UserID 0x00 - Empty - Empty - Timestamp 0x00 - Empty .. if no complaints exist, transaction complete; if complaints do exist, continue... Server Responds Type 0x56 - Subtype 0x03 - Empty - Against UserID 0x00 - Empty - Empty - Timestamp - Empty - Against Username - By Username - Complaint Message .. repeat for all complaints .. -Transaction Complete-
Packet Flow for Flushing All Complaints
-Transaction Begins- Client Sends Type 0x56 - Subtype 0x02 - Empty - Against UserID 0x00 - Empty - Empty - Timestamp 0x00 - Empty -Transaction Complete-
