freeswitch/libs/sofia-sip/RELEASE
Michael Jerris 853936abd3 a little update to the sofia-sip library
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4939 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-04-15 02:03:41 +00:00

113 lines
5.3 KiB
Plaintext

==============================================
Release notes for current version of Sofia-SIP
==============================================
Changes since last release
--------------------------
Numerous nua bugs introduced in the release 1.12.5 have been fixed. Support
for nextnonce in Authentication-Info header has been added. The nua engine
now fully supports application-driven SDP.
API/ABI changes and versioning
------------------------------
libsofia-sip-ua:
- Use calling/received callstate in nua_i_state event sent because of UPDATE
while call is ready
- Added tag define NUTAG_WITH_CURRENT() as an alias to NUTAG_WITH_THIS()
- Added tag NUTAG_DIALOG() controlling whether nua_method() creates a dialog.
- Added tag NUTAG_AUTH_CACHE() <sofia-sip/nua_tag.h> determining when to
include credentials in the request
- Added kqueue and /dev/poll interfaces (su_devpoll_port_create(),
su_devpoll_clone_start(), su_kqueue_port_create(), su_kqueue_clone_start()
in <sofia-sip/su_wait.h>)
- Added SIP_IS_ALLOWED() macro to <sofia-sip/sip_util.h>
- Fixed NUTAG_APPL_METHOD() implementation for UPDATE and PRACK as documented
("100rel" and "precondition" extensions now require explicit calls to
nua_update() and nua_prack() if those methods are included in
NUTAG_APPL_METHOD())
- Added auc_clear field and member to authentication client plugin interface
in <sofia-sip/auth_client_plugin.h>
- Added nua_event_is_incoming_request() to <sofia-sip/nua.h>
- 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
----------------------------
- Pekka Pessi (/dev/poll interface to Solaris, kqueue)
- Martti Mela (kqueue interface to Max OS X and FreeBSD)
- Michael Jerris (Solaris patches)
- Colin Whittaker (sresolv patch)
See the AUTHORS file in the distribution package.
Notes on new features
---------------------
The Sofia-SIP has been compiled and tested on Solaris. The /dev/poll
interface (in su_devpoll_port.c) has been added for Solaris. Likewise, the
kqueue interface (in su_kqueue_port.c) has been added for FreeBSD and Mac OS
X. There is also select-based reactor for systems without poll().
The client authentication in nua has been updated. The nextnonce in
Authentication-Info or Proxy-Authentication-Info headers is now used during
the next . The NUTAG_AUTH_CACHE() policy determines how the cached
credentials are used. By default, the credentials are included in each
request within the dialog, however, with the
NUTAG_AUTH_CACHE(nua_auth_cache_challenged) the client authenticates
requests only after they have been challenged.
The application can now fully control the SDP negotiation (when soa is
disabled with NUTAG_MEDIA_ENABLE(0)). The application can send UPDATE and
PRACK requests and respond to them. The callstate sent in nua_i_state after
UPDATE while the call has already been completed has been also changed.
Bugs fixed in this release
--------------------------
- Fixed status code sent to network and returned to the client if there was
an internal error while responding to a request.
The problem was reported by Michael Jerris and Joshua Engelbrecht.
- Fixed #1685249, unclear termination of call in absense of credentials by
nua_authenticate(). Problem reported by Mikhail Zabaluev.
- Fixed status code reported to application when REGISTER transaction was
restarted by nua stack. Problem reported by Mikhail Zabaluev.
- An invalid Contact was used if STUN was disabled but there was no STUN
server. Problem reported by Miguel Freitas.
- Fixed problem logging long lines from with TPORT_LOG.
Problem reported by Mike Murdock and Michael Jerris.
- Nua now includes the SDP capabilities in the response to the OPTIONS
- Fixed assertion failure because BYE destroyed a session twice.
Problem reported by Michael Jerris.
- Fixed crash caused by a 0-length UDP datagram.
Problem reported by Michael Jerris.
- Fixed the 305 response handling by nua stack.
Bug #1676445 reported by Fabio Margarido.
- Fixed authentication-related bugs #1685245 and #1570746.
#1685245 reported by Mikhail Zabaluev.
- Fixed problems resuming DNS after server or link downtime.
Bug #1631198 reported and initial patch submitted by Colin Whittaker.
- Fixed NUTAG_APPL_METHOD() implementation for UPDATE and PRACK as documented
- Fixed crashes in nua state engines:
- when nua_invite() was called second time before receiving
final response to first INVITE
- when UAS expected PRACK but received CANCEL
- when UAC received error response to PRACK, it tried to send BYE and crashed
- when UAS rejected initial request, the subsequent request with same
dialog id (Call-ID, From-tag) crashed (dialog cleanup code left dialog
dangling)
Problems reported by Michael Jerris
- Fixed crash in nta state engine:
- DNS resolver failure in non-invite transctions crashed
- Fixed sdp handling when soa is disabled (NUTAG_MEDIA_ENABLE(0)).
Problem reported by Marcin Michalak