forked from Mirrors/freeswitch
853936abd3
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4939 d0543943-73ff-0310-b7d9-9358b9ac24b2
113 lines
5.3 KiB
Plaintext
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
|