Release Notes for Sippy B2BUA Version 2.2.0
2 October, 2024
Key Changes
-
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
andice_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.
- 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
-
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
: Separatedupdate_xxx()
and_rtpp_side()
objects into individual units.e44723d33
: ExtractedRtp_proxy_cmd_sequencer
into its own unit.4b2fb0ca1
: Moved RTP proxy support code into a dedicated directory.
-
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.
-
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 ofVAL2Xattrs()
for better context in routing, changing argument separators.
-
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 intoREGISTER
requests if indicated in theSupported
header.
- Description: Implemented support for the Path header field (RFC 3327) in SIP
-
General Improvements and Bug Fixes
- Description: Various enhancements and fixes to improve stability, performance, and code quality.
- Notable Commits:
cc465a354
: DecreasedMax-Forwards
header during forwarding and ensured its presence if missing.a40153393
: Refined exception handling infilter_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
andice_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.
- Update your routing configurations to use the new placeholders
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