Skip to content

0.8.0

Latest

Choose a tag to compare

@momentics momentics released this 11 Aug 04:19
· 6 commits to main since this release
  • GMM (GPRS Mobility Management) protocol support — added 21 new message types: Attach Request/Accept/Complete/Reject, Detach Request/Accept, Routing Area Update Request/Accept/Complete/Reject, Service Request/Accept/Reject, P-TMSI Reallocation Command/Complete, Authentication and Ciphering Request/Response/Reject/Failure, GMM Identity Request/Response, GMM Status, GMM Information; plus 12 information element classes (PDP Context Status, T3302 Timer, MS Network Capability, Routing Area Identification, DRX Parameter, GMM CKSN, GMM Cause IE, Auth RAND/RES, Auth Failure Param, P-TMSI Signature, GMM Status Cause)

  • SM (Session Management) protocol support — added 9 message types: Activate PDP Context Request/Accept/Reject, Deactivate PDP Context Request/Accept, Modify PDP Context Request/Accept/Reject, SM Status; plus 7 information element classes (PDP Address, QoS, Access Point Name, Protocol Config Options, SM Cause IE, Back-Off Timer, PDP Handle)

  • SMS (Short Message Service) protocol support — added 9 message types: CP Data, CP Ack, CP Err, CP Status, CP SMS, RP Data, RP Ack, RP Error, RP SMMA; plus 5 information element classes (TP Address, TP Deliver, TP Submit, TP Status Report, TP Command)

  • BCC (Broadcast Call Control) protocol support — added 6 message types: BCC Setup, BCC Proceeding, BCC Connect, BCC Disconnect, BCC Release, BCC Release Complete

  • GCC (Group Call Control) protocol support — added 7 message types: GCC Setup, GCC Acknowledge, GCC Proceeding, GCC Connect, GCC Disconnect, GCC Release, GCC Release Complete

  • BitReader performance optimization — replaced bit-by-bit field extraction with bulk byte loading (loadN helper), adding byte-aligned fast path and misaligned multi-byte extraction; readBytes() now uses bulk memcpy for aligned reads and batched extraction for misaligned reads, falling back to per-bit only when necessary

  • RingBuffer ARM/weakly-ordered architecture support — replaced raw size_t head/tail with std::atomic<size_t> using acquire/release memory ordering, ensuring correctness on ARM and PowerPC while maintaining zero overhead on x86-64 (TSO)

  • Visitor pattern extendedtryGet() helpers added for all new domain variants (GMM, SM, SMS, BCCM, GCCM); top-level tryGet() dispatches through all 9 protocol domains

  • Parser routing extendedParsedMessage variant expanded from 4 to 9 protocol groups (RR, MM, CC, SS, GMM, SM, SMS, BCC, GCC); parser dispatches new L3PD packet type codes (GPRS Mobility Management, GPRS Session Management, SMS, Broadcast Call Control, Group Call Control) to the corresponding parsers

  • New test suites — added test_gmm_messages.cpp, test_sm_messages.cpp, test_sms_messages.cpp, test_bcc_gcc_messages.cpp, test_visitor.cpp, test_stream_processor.cpp, test_threading.cpp; extended test_byte_source.cpp with atomic RingBuffer tests

  • CC (Call Control) message extensions — added new CC message parsing entries and header includes