Releases: sippy/b2bua
Releases · sippy/b2bua
v2.3.0
What's Changed
- Added an initial RTP endpoint stack for media workflows, including new RTP core modules, G.711/G.722 codec support, and runnable RTP endpoint examples.
- Improved SIP dialog robustness by randomizing each UA’s initial local
CSeqvalue. - Improved packaging/CI reliability by fixing requirement parsing, adding missing
g722dependency handling, and reducing flaky time-sensitive tests on emulated platforms.
Full Changelog: v2.2.3...v2.3.0
v2.2.3
- Python Version: Use Python 3.13 as a baseline for the CI runs.
- CLI Socket: CLI socket handling on Linux has been improved allowing a proper cleanup on a shutdown.
- Continuous Integration: voiptests now run on both Ubuntu and Debian.
- RTPProxy Client: exceptions when executing commands are now propagated into the main thread.
Full Changelog: v2.2.2...v2.2.3
v2.2.2
Full Changelog: v2.2.1...v2.2.2
v2.2.1
What's Changed
- Fixed missing
__init__.pycausing module not found + "TypeError: must be str, not bytes" by @andrewvmail in #55 - Mulipart fixes by @eckschi in #53
- Fixed RFC3261-compatibility issue requiring to put
Contactinto 18x-class provisional responses - API changes: Make the 'expires' parameter in the outbound REGISTER configurable; Extend
genResponse()so it can also insertSipReason; Allow list of extra headers to be provided into thecancelTransaction()method, unify and cleanup RFC3326 support (Reasonheader field) - Adjust
WSSsupport to work with the latest version of thewebsockets.serve - Improved
SdpParseErrorexception handling - CI pipeline fixes and improvements: Installation from pip sdist is now verified; B2BUA code is tested with
VoIPTestson every commit for 6 different architectures; Added job to roll source code tarball and publish pre-release notes on GitHub automatically; Switched from using ubuntu-20.04 to ubuntu-22.04 - Performance improvements: Number of UDP workers has been reduced from 30 to 3 for SIP sockets and to 1 for the RTPProxy sockets, this helps to keep things sane on smaller systems
New Contributors
- @andrewvmail made their first contribution in #55
- @eckschi made their first contribution in #53
Full Changelog: RELENG_2_2_0...v2.2.1
RELENG_2_2_0
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_gwandice_litemodules 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=WSSto 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_sequencerinto 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_ptsoption) 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_procparameter 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
REGISTERmessages, facilitating better routing of SIP requests. - Notable Commits:
525a95001: Added the Path header field implementation.a30e6af2a: Configured insertion of the Path header intoREGISTERrequests if indicated in theSupportedheader.
- 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-Forwardsheader 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_gwandice_litemodules 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
2.1.1
What's Changed
- README: Fix swapped UAC and UAS. by @gaaf in #46
- Corrected figure order of 'Typical Call Process' by @tuxd00d in #45
- Fixed UDP server on MacOS X
- Fixed Reason header field parsing in some cases
New Contributors
Full Changelog: RELENG_2_1_0...RELENG_2_1_1
2.1.0
- DTLS transcoding support for the RTPProxy client;
- RFC7118 check for NAT status;
- Discontinue python 2.7 support;
- Better parse and media negotiation exceptions support;
- Options to do direct in-thread dispatch from the UDP receiver tread(s);
- Better SO_REUSEPORT logic;
- Support for multipart/mixed SDP body type;
- Fix handling of the qop and opaque parameters in the digest authentication exchange;
- Harmonize media types supported by the RTPProxy, add udp/tls/rtp/savp;
- Support for using new "N" flag to allocate a new port on the existing RTPProxy session.
2.0.2
Another try to pack in requirements.txt.
2.0.1
Add missing requirements.txt.
2.0.0
Latest stable version of the SIP stack and B2BUA component.