Skip to content

RELENG_2_2_0

Latest
Compare
Choose a tag to compare
@sobomax sobomax released this 02 Oct 16:24

Release Notes for Sippy B2BUA Version 2.2.0

2 October, 2024

Key Changes

  1. WebSocket (WS/WSS) Support Added

    • Description: Introduced initial support for WebSocket and Secure WebSocket protocols, enabling calls between WSS clients and SIP clients. This enhancement requires RTPProxy 3.1 or newer with dtls_gw and ice_lite modules loaded.
    • Notable Commits:
      • 58f9ba9a3: Added WS/WSS socket server and support for WSS-to-SIP client calls.
      • 83f6fb724: Refactored network handling to accommodate network address, port, and transport, paving the way for WSS, TCP, and TLS support.
      • 0b62c3768: Implemented placeholders [[WSS]] and [[PROXY]] to enable traffic from WSS clients and external proxy registrars.
      • 5f42ada2a: Allowed --accept_ips=WSS to accept any call via WSS socket.
  2. Modularization and Code Refactoring

    • Description: Performed significant code refactoring to improve modularity and maintainability. This includes modularizing subcommand processing and splitting out key components into separate units.
    • Notable Commits:
      • ec5de5872: Modularized subcommand processing, allowing individual response handlers and SDP adjustments.
      • 6c3730c70: Separated update_xxx() and _rtpp_side() objects into individual units.
      • e44723d33: Extracted Rtp_proxy_cmd_sequencer into its own unit.
      • 4b2fb0ca1: Moved RTP proxy support code into a dedicated directory.
  3. Enhanced SDP and Payload Handling

    • Description: Improved handling of Session Description Protocol (SDP) attributes and payload types for better compatibility and flexibility.
    • Notable Commits:
      • 403d16537: Extended payload type filtering (--allowed_pts option) to allow filtering by payload name using square brackets.
      • 0ea583d46: Modified SDP attribute handling to consider only the first occurrence of DTLS-related attributes, crucial for WebRTC video streams.
      • f2b150ea1: Integrated payload filtering into remote SDP update callbacks to maintain effectiveness during re-INVITEs.
  4. Custom Pre-Authentication and Pre-Call Processing

    • Description: Added the ability to specify custom routines executed before authentication and call initiation, enabling advanced call conditioning and attribute manipulation in accounting requests.
    • Notable Commits:
      • 925e96cc2: Introduced -x / --pre_auth_proc parameter to specify a user-defined routine executed post call controller initialization.
      • 68ded6706: Extended routing specification to allow insertion of arbitrary pre-call-originate (po_proc) routines.
      • 66c455f43: Adjusted parameters of VAL2Xattrs() for better context in routing, changing argument separators.
  5. Support for Path Header in SIP Registrations

    • Description: Implemented support for the Path header field (RFC 3327) in SIP REGISTER messages, facilitating better routing of SIP requests.
    • Notable Commits:
      • 525a95001: Added the Path header field implementation.
      • a30e6af2a: Configured insertion of the Path header into REGISTER requests if indicated in the Supported header.
  6. General Improvements and Bug Fixes

    • Description: Various enhancements and fixes to improve stability, performance, and code quality.
    • Notable Commits:
      • cc465a354: Decreased Max-Forwards header during forwarding and ensured its presence if missing.
      • a40153393: Refined exception handling in filter_SDP(), allowing proper resource cleanup.
      • cffbc7508: Updated codebase to be compatible with Python 3.8+, utilizing modern syntax features.
      • 71c24db02, cac83b1c2, ad3f32039: Addressed pylint warnings, fixed tests, and removed dead code.

Upgrade Notes

  • Python Version Requirement: The application now requires Python 3.8 or newer due to the adoption of modern syntax features.
  • RTPProxy Dependency: Ensure RTPProxy is updated to version 3.1 or newer with dtls_gw and ice_lite modules loaded to utilize the new WSS functionality.
  • Configuration Changes:
    • Update your routing configurations to use the new placeholders [[WSS]] and [[PROXY]] if you plan to enable traffic from WSS clients or external proxy registrars.
    • Review and adjust any custom payload type filters to utilize the new naming conventions introduced.

Acknowledgments

We thank all contributors for their efforts in improving the b2bua project, making it more robust and feature-rich for our users.


Full Changelog: RELENG_2_1_1...RELENG_2_2_0