Long time, no release.
We have just uploaded 1.11.8 into sourceforge today. The release is
avaibale from darcs, too, but I have to figure out how to get the new
CVS system works with our firewall before updating CVS.
Have fun!
//Pekka
--
Pekka.Pessi mail at nokia.com
Release notes for Sofia-SIP version 1.11.8 (2006-05-15)
=======================================================
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.
Changes since last release
--------------------------
Updated NAT traversal features: refactored STUN, added outbound, GRUU.
Updated DNS resolver: now it works with IPv6 and on Win32.
Added gobject bindings as a separate library.
Building library as a DLL on win32.
API/ABI changes and versioning
------------------------------
- Building a DLL on win32
- Added SOFIAPUBFUN/SOFIAPUBVAR/SRESPUBFUN to each public identifier
- Added GRUU and simple NAT traversal support in nua:
- Using rport to detect NAT
- See libsofia-sip-ua/nua/outbound.[hc]
and nua_register()/NUTAG_OUTBOUND() documentation
- Revised sresolv interface and added:
sofia-resolv/sres.h
sofia-resolv/sres_config.h
sofia-resolv/sres_async.h
sofia-resolv/sres_cache.h
sofia-resolv/sres_record.h
utils/sip-dig.c example program
- Removed sres_resolver_add_mutex()
- Renamed cname_record to cn_record in sres_cname_record_t
- Changed code of SRES_TIMEOUT_ERR and SRES_RECORD_ERR
(they were overlapping with signature errors)
- Added sres_search(): sres_query() does not query subdomains anymore
- Added sres_search_cached_answers() and sres_blocking_search()
- Added string manipulation functions:
- su_strcat_all()
- su_strlst_create_with(), su_strlst_vcreate_with()
- su_strlst_create_with_dup(), su_strlst_vcreate_with_dup()
- Added sip utility functions:
- sip_contact_string_from_via(), sip_transport_has_tls()
- tport, nta: initial support for dynamic transport additions / updates for
NAT traversal.
- Added <sofia-sip/tport_plugins.h>
- Major changes in stun:
- Added the stun_dns_lookup.*() interface to sofia-sip/stun.h.
- stun_handle_() functions are replaced by stun_() functions in
<sofia-sip/stun.h>.
- Discovery context pointer and callback added to stun_bind()
- Removed all request-specific states of stun_state_t from
the public interface.
- Modified signature for stun_nattype(), added stun_nattype_str().
The stun_nattype_t enum is now part of the public header.
- Added handling of a single warning into the soa and nua modules
- Removed old rtsp-related nua functions and events not used anymore.
- Removed nutag_sip_parser (using ntatag_mclass instead)
- Now returning 9XX errors from inside NUA
- Added --enable-sctp to configure; fixed some SCTP problems,
(but not all)
- On win32 platform, clients need to link against the "advapi32"
system library.
- Removed utf8 functions and sofia-sip/utf8.h header file.
Contributors to this release
----------------------------
- Dimitri E. Prado: Initial patch for win32 DNS
server discovery.
See the AUTHORS file in the distribution package, too.
Notes on new features
---------------------
- The nua module now has support for NAT traversal using SIP outbound.
Because rather limited support for SIP outbound by SIP proxies (nada), a
rport-based NAT traversal was also added. There is also a registration
probe and registation keepalive using OPTIONS request. The NAT traversal
can be disabled by either giving the Contact header explicitly to the
nua_register() call or by setting NUTAG_OUTBOUND() option to NULL.
- The nua module now supports GRUU, too. The GRUU is a special Contact URI,
which is generated by the registrar/home proxy. The requests sent to the
GRUU Contact URI are routed through the registrar/home proxy towards the
user agent. An User-Agent wanting to use GRUU needs to enable it. It has
to generate an unique instance identifier (for instance, by calling
nua_generate_instance_identifier()), store the identifier to permanent
storage (config file) and always include the same identifier in
NUTAG_INSTANCE() when calling nua_create(). Stack generates GRUU when it
receives a "gruu" parameter in an response to REGISTER request, and uses
the GRUU as Contact in INVITE, UPDATE, SUBSCRIBE and NOTIFY transactions.
- DNS server discovery support added for win32. Sofia-SIP is now able
to get a list of configured nameservers from the Windows
registry database (similar to /etc/resolv.conf on UNIX systems). Closes
sourceforge.net ticket #1445560.
- The 'sip_options', 'sip_dig' and 'stunc' tools have been added to
VC6/win32 workspace as an example applications for the library.
- The STUN NAT type check algorithm has been refactored. Terms used by
the IETF BEHAVE working group are now used to classify NAT/FW features.
Now a distinction is made between NAT mapping (which IP:port is allocated
for requests) and filtering behaviour. The 'stunc' test tool has been
updated to support the changes. Note that the type check mechanism
is not 100% reliable -- future mappings may not be of same type, due
to indeterministic NAT behaviour, or network changes.
Bugs fixed in this release
--------------------------
- Fixed #1485624 - nua not binding to port 5060 by default
- Fixed #1485625 - nua_create() fails if STUN init fails
- Fixed #1485632 - incorrect error message for nua bind errors
- Fixed memory management problems in iptsec, reported by Colin Whittaker.
- Fixed caching and locking problems in sresolv, reported by Thomas Rosenblatt
- Fixed nua_handle_t leaks in various cases, reported by Colin Whittaker
- Fixed #1468407 nua_unregister() crashing when called without preceding
register (and other crash-prone problems with request message in nua)
- Fixed #1473936 - resolving SIP URIs required active IP4 transports in nta
- Fixed #1472683 - ACK did not have rport, even if INVITE did
- Fixed double branch problem in CANCEL
- Fixed problem with client certificate handling in tport module
- Fixed problem creating error record in sresolv module
- Fixed handling route in re-SUBSCRIBE
- Fixed handling headers in re-PUBLISH. Fixed error reporting in the case
ESC returns 200 OK response to PUBLISH without Expires header.
- Problem with auth-int and nua is fixed: now the correct MD5 sum of
message body is calculated.
- Fixed #1465023 (NUTAG_CERTIFICATE_DIR() handling problem).
Website and other links
-----------------------
The release can be downloaded from:
- http://sourceforge.net/project/showfiles.php?group_id=143636
Checksums for sofia-sip-1.11.8.tar.gz
- md5: ff48c35d44ee247abd71245a862fe34e
- sha1: 39fc1878806ba7136801e6c61c059189f4a01042
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/