#commucat #ccp #protocols

commucat-proto

Framing and codec layer for the CommuCat CCP-1 protocol

24 stable releases

Uses new Rust 2024

1.0.103 Oct 22, 2025
1.0.102 Oct 5, 2025
1.0.60 Sep 29, 2025

#1233 in Encoding

MPL-2.0 license

77KB
2K SLoC

commucat-proto

Framing and data structures for the CommuCat CCP-1 protocol.

  • Frames are encoded as varint length + frame type + channel_id + sequence + payload bytes.
  • Control payloads serialize as JSON (ControlEnvelope); media payloads remain opaque (FramePayload::Opaque).
  • The call module contains the signalling models (CallOffer/Answer/End/Stats, CallTransport, incremental ICE updates).
  • The optional obfuscation feature enables experimental helpers (hashing + noise injection).

The crate is shared by the server and client libraries to serialize/deserialize CCP-1 frames and enforce protocol limits.

Dependencies

~0.6–2.1MB
~45K SLoC