======================================================= Release notes for Sofia SIP version 1.12.9 (2008-06-05) ======================================================= Sofia SIP is an open-source SIP User-Agent library, compliant with the IETF RFC3261 specification. It can be used as a building block for SIP client software for uses such as VoIP, IM, and many other real-time and person-to-person communication services. The primary target platform for Sofia SIP is GNU/Linux. Sofia SIP is based on a SIP stack developed at the Nokia Research Center. Sofia SIP is licensed under the LGPL. ================================== Release notes for Sofia-SIP 1.12.9 ================================== Changes since last release -------------------------- Stack now supports some load control with NTATAG_MAX_PROCEEDING(), limiting number of initial INVITE transactions being served concurrently. The NAT traversal support in NUA has been improved. It is now possible to force rport use at server end with NTATAG_SERVER_RPORT(2), and fource routing of requests to a natted transport address detected by application with NTATAG_DEFAULT_PROXY(). Bugs with SDP offer/answer overlap, BYE handling and event fetch/poll (SUBSCRIBE with Expires: 0) have been fixed in nua. Bugs with timer handling, RFC2543 dialog/transaction matching and gray list handling have been fixed in nta. Problems with SDP session handling by soa when media lines are deleted or their type is changes have been fixed. API/ABI changes and versioning ------------------------------ New features in API are marked with Doxytag macro @NEW_1_12_9 or @VERSION_1_12_9. libsofia-sip-ua: - Added nta_outgoing_bind() to . - Allow changing TPTAG_LOG() and TPTAG_DUMP() values after tport_create() - Added NUTAG_SHUTDOWN_EVENTS(). If NUTAG_SHUTDOWN_EVENTS(1) nua setting is used, nua sends events to application normally during shutdown, too. - Added NUTAG_SUB_EXPIRES() - default expiration time of subscription - Added NTATAG_MAX_PROCEEDING() - limit number of requests accepted in proceeding queue. - Using NUTAG_PROXY()/NTATAG_DEFAULT_PROXY() as handle-specific tag. - Added nua_handle_by_call_id(), nta_leg_by_call_id(). - Using NTATAG_SERVER_RPORT(2) to force rport usage on server side - This release is ABI/API compatible with applications linked against any 1.12.x release. However, applications built against this release won't work against an older library. The ABI has been tested with the nua module unit test (test_nua) built against original 1.12.0 release. libsofia-sip-ua-glib: - No ABI/API changes, compatible with 1.12.0. Note, libsofia-sip-ua-glib interface is not considered stable and may change in a future 1.12.x release. Contributors to this release ---------------------------- - Michael Jerris: fixes, new features NTATAG_MAX_PROCEEDING(), NTATAG_SERVER_RPORT(2), nua_handle_by_call_id(), nta_leg_by_call_id() - Colin Whittaker: re-calculating subscription duration when receiving NOTIFY - Jerry Richards: fix to sip_header_as_string() - Jussi Mutanen: fix to soa handling within nua - Bernhard Suttner: fix to Replaces URI handling See the AUTHORS file in the distribution package. Notes on new features --------------------- The NUTAG_PROXY()/NTATAG_DEFAULT_PROXY() is now handle-specific. Previously, it was ignored on nua calls except nua_create() and nua_set_params(). Now it is stored per-handle and used for all outgoing requests. The NTATAG_SERVER_RPORT() used to accept only boolean values (0 or 1) and the binary code compiled agains older Sofia SIP versions foces the tag value to boolean. The updated tag function in version 1.12.9 accepts values 0, 1 or 2, however. Bugs fixed in this release -------------------------- - Fixed sf.net bug #1827511: BYE can now be authenticated with nua_authenticate(). - Fixed problems re-calculating the subscription duration upon NOTIFY. Thanks to Colin Whittaker for reporting the problem and proposing a fix to the problem. - Fixed crash when SOATAG_ORDERED_USER(1) was used and multiple m= lines were added to the session. - Fixed problem with an error response terminating the session usage but not triggering nua_i_state event reporting that to application. Thanks to AlienPenguin for reporting the problem - Fixed crash and general lossage with event fetch (SUBSCRIBE with Expires: 0) Thanks to Jarkko Riekki for reporting the problem. - Handle NULL argument to su_free() gracefully even if free() does not. Thanks for Michael Jerris for submitting the patch. - Do not use PT 9 (G722) as invalid PT (currently use 19). - Fixed problems handling míllisecond timers in nta on 64-bit platforms. Thanks to David Knell and Michael Jerris for reporting it. - Allow-Events is now included by nua in messages initiating dialogs. Thanks to Jerry Richards for pointing out the problem. - Now checking that pointer is not NULL before calling free() Thanks to Michail Jerris for submitting patch. - Fixed bug in sip_header_as_string() converting longish header to string Thanks to Jerry Richards for submitting a patch - Fixed problem with soa session activation. Thanks to Jussi Mutanen for patch. - Fixed problems handling host:port in user-supplied Via headers. - Fixed sf.net bug #1930055: nat detection did not un-REGISTER natted contact if fist response to REGISTER was 200 OK. - Fixed crashes in soa if m= lines were removed from user sdp. - Fixed problem detecting CANCEL with To-tag copied from a provisional response Website and other links ----------------------- The release can be downloaded from: - http://sourceforge.net/project/showfiles.php?group_id=143636 Checksums for sofia-sip-1.12.9.tar.gz (2859095 bytes) - md5: e91bb7b6a3a5c21f2b09ffc6297da604 - sha1: f5dcabacffe3f5637a0da60e75d46309ea687005 Project website and mailing list: - http://sofia-sip.sourceforge.net - http://lists.sourceforge.net/mailman/listinfo/sofia-sip-devel Past releases: - http://sofia-sip.sourceforge.net/relnotes/