Features Overview¶
sip2json provides a modern, lightweight set of tools for working with Session Initiation Protocol (SIP) messages in C++23.
Core Capabilities¶
Non-Blocking Stream Parsing¶
Parse multiple SIP frames from continuous TCP byte streams using zero-copy iterator advancement and asynchronous callbacks.
Performance & Benchmarks¶
High-throughput benchmarks (~269k msgs/sec), noisy stream resilience, and single-stream vs multi-thread architectural analysis.
First-Class JSON Metaphor¶
Compact schema mapping SIP start lines, headers, and body attributes directly into nlohmann::json objects.
Native SDP Encoding & Decoding¶
Full Session Description Protocol (application/sdp) parsing and formatting integrated directly into message objects.
Standards Compliance & Certification¶
Automated 226-test suite validating RFC 3261, RFC 4475 (SIP Torture), RFC 4566/8866 (SDP), RFC 3264, and extension RFCs.
Out-of-Scope Capabilities¶
To maintain a zero-dependency header-only architecture and maximum runtime efficiency, sip2json deliberately excludes:
- I/O Facilities: Network sockets and buffer allocation are managed by your host engine (ASIO, libuv, WinSockets).
- State Machine & CSeq Tracking: The
sipmessageandsip2jsoncomponents are completely stateless. - Encryption / TLS: Handled at transport layer before passing cleartext buffers to
sip2json.