Message Types
The two messaging clients use completely different wire protocols. Pick the section that matches the class you are using.L2PSMessagingPeer protocol frames (port 3006)
Every frame on this protocol carries{ type, payload, timestamp, requestId? }. The requestId correlates a server response with the client request that produced it.
Client → server
Server → client
MessageStatus (in StoredMessage.status)
delivered, queued, sent, failed, l2ps_pending, l2ps_batched, l2ps_confirmed.
ErrorCode (in error frames)
INVALID_MESSAGE, REGISTRATION_REQUIRED, INVALID_PROOF, PEER_NOT_FOUND, L2PS_NOT_FOUND, L2PS_SUBMIT_FAILED, RATE_LIMITED, INTERNAL_ERROR.
MessageType (in MessageEnvelope.type)
text, media, reaction, system, transfer.
MessagingPeer protocol (legacy, port 3005)
The legacy signaling-server client uses a flat{ type, payload } envelope (Message interface). The type is one of:
This protocol does not include
history, message_sent, message_queued, peer_joined, peer_left, or ack — those are L2PSMessagingPeer-only.