2006-12-21 06:30:28 +00:00
|
|
|
==============================================
|
|
|
|
Release notes for current version of Sofia-SIP
|
|
|
|
==============================================
|
|
|
|
|
|
|
|
Changes since last release
|
|
|
|
--------------------------
|
|
|
|
|
2007-02-09 17:32:17 +00:00
|
|
|
Support for request queuing has been added to the high-level user-agent
|
|
|
|
API. Various portability improvements have been made related to Linux,
|
|
|
|
Mac OS X, Windows and Solaris ports. SIP registrations have been
|
|
|
|
modified to utilize persistent transport connections. The GObject
|
|
|
|
interface to 'nua' (nua-glib) has been dropped from the package and is
|
|
|
|
now distributed separately. Severe bugs in 'su', 'nua', 'nta', 'stun' and
|
|
|
|
'su-glib' modules have been fixed.
|
2006-12-21 06:30:28 +00:00
|
|
|
|
|
|
|
API/ABI changes and versioning
|
|
|
|
------------------------------
|
|
|
|
|
2007-02-07 21:59:38 +00:00
|
|
|
New features in API are marked with Doxytag macro @NEW_1_12_5.
|
|
|
|
Experimental features are marked with Doxytag macro @EXP_1_12_5.
|
|
|
|
|
|
|
|
**template**: New features in API are marked with Doxytag macro @NEW_1_XX_X.
|
2006-12-21 06:30:28 +00:00
|
|
|
|
|
|
|
libsofia-sip-ua:
|
|
|
|
- **template**: Added foobar() function (sofia-sip/foobar.h).
|
2007-02-07 21:59:38 +00:00
|
|
|
- Added nua tags NUTAG_APPL_METHOD() and NUTAG_NEWSUB()
|
|
|
|
- Added nua_substate_make(), nua_substate_name()
|
|
|
|
- Added nta_incoming_create_response() function
|
|
|
|
- Added tport tags TPTAG_TOS(), TPTAG_DUMP(), TPTAG_LOG()
|
|
|
|
- Added tport predicate function tport_is_connected()
|
|
|
|
- Added authentication functions auc_info() and auc_has_authorization(),
|
|
|
|
added type msg_auth_info_t for Authentication-Info header
|
|
|
|
- Added msg_header_join_items() function
|
2006-12-21 06:30:28 +00:00
|
|
|
- Added sip_is_allowed() function and k_bitmap field to the
|
|
|
|
sip_allow_t structure
|
2007-02-07 21:59:38 +00:00
|
|
|
- Added sl_header_log implementation, updated its prototype
|
2007-02-09 17:32:17 +00:00
|
|
|
- Added experimental SIP headers Suppress-Notify-If-Match and
|
|
|
|
Suppress-Body-If-Match and functions related to them,
|
|
|
|
enabled with ./configure option --enable-experimental
|
2006-12-21 06:30:28 +00:00
|
|
|
- Added SIP header Refer-Sub and related functions
|
|
|
|
- Added <sofia-sip/sip_extra.h> include file
|
|
|
|
- Added auc_info() function (sofia-sip/auth_client.h)
|
2007-02-07 21:59:38 +00:00
|
|
|
- Added alternative implementations to event reactor object (su_port_t,
|
|
|
|
referenced by su_root_t) that can be changed at runtime using SU_PORT
|
|
|
|
environment variable, for instance
|
|
|
|
- Internal semantics of su_port_t reference counting have changed:
|
|
|
|
now su_port_create() has one reference, and su_root_create_with_port()
|
|
|
|
always consumes one reference
|
|
|
|
- Changed return type of bm_memmem() and bm_memcasemem() to non-const
|
2006-12-21 06:30:28 +00:00
|
|
|
- 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:
|
|
|
|
- The 'nua-glib' module has been removed from the library and moved
|
|
|
|
to a separate package 'sofia-nua-glib'. The remaining library (su-glib)
|
|
|
|
is now considered stable and will be API/ABI compatible with later
|
|
|
|
releases in the 1.12.x series.
|
|
|
|
- ABI has been modified and applications built against 1.12.4 and earlier
|
2007-02-09 17:32:17 +00:00
|
|
|
releases, need to be rebuilt.
|
2007-02-07 21:59:38 +00:00
|
|
|
- Added su_glib_prefer_gsource() which makes glib-based su_port_t
|
|
|
|
implementation the default choice when su_root_create() is called
|
2006-12-21 06:30:28 +00:00
|
|
|
|
|
|
|
Contributors to this release
|
|
|
|
----------------------------
|
|
|
|
|
|
|
|
- Petteri Puolakka (patch to stun)
|
2007-02-09 17:32:17 +00:00
|
|
|
- Mikhail Zabaluev (patch to su-glib mainloop integration)
|
2007-02-07 21:59:38 +00:00
|
|
|
- Michael Jerris (patch to url parsing # in sip/sips userpart)
|
|
|
|
- Colin Whittaker (TPTAG_TOS())
|
|
|
|
- Roman Filonenko (TPTAG_LOG(), TPTAG_DUMP(),
|
|
|
|
patch to query DNS-servers with IP-Helper on win32)
|
2007-02-09 17:32:17 +00:00
|
|
|
- Remi Denis-Courmont (patch to network change API)
|
|
|
|
- Martti Mela (poll() emulation with select(), IPv6 and OS X fixes)
|
|
|
|
- Kai Vehmanen (persistent registrations, release management)
|
|
|
|
- Pekka Pessi (all the rest)
|
2006-12-21 06:30:28 +00:00
|
|
|
|
|
|
|
See the AUTHORS file in the distribution package.
|
|
|
|
|
|
|
|
Notes on new features
|
|
|
|
---------------------
|
|
|
|
|
2007-02-09 17:32:17 +00:00
|
|
|
- The su_root_t reactor uses different implementation (epoll, poll or select
|
|
|
|
on Linux), depending on SU_PORT environment variable.
|
|
|
|
|
2007-02-07 21:59:38 +00:00
|
|
|
- nua now supports request queuing, for instance, an application can send
|
|
|
|
overlapping BYE and NOTIFY requests. The stack engine takes care of
|
|
|
|
sending the new request only after the previous one has been responded.
|
|
|
|
|
|
|
|
- RFC 4488 defines the Refer-Sub header. Its datatypes, related functions and
|
|
|
|
methods declared in <sofia-sip/sip_extra.h> include file. The Refer-Sub
|
|
|
|
header structure can be accessed from sip_t structure with sip_refer_sub()
|
|
|
|
method, e.g.,
|
2006-12-21 06:30:28 +00:00
|
|
|
|
|
|
|
if (sip_refer_sub(sip) &&
|
|
|
|
strcasecmp("false", sip_refer_sub(sip)->rs_value) == 0) {
|
|
|
|
/* Do not create implicit subscription */
|
|
|
|
}
|
|
|
|
|
2007-02-07 21:59:38 +00:00
|
|
|
- Unsolicited NOTIFYs are now supported. The application can accept incoming
|
|
|
|
NOTIFYs and send NOTIFYs without existing subscription.
|
|
|
|
|
|
|
|
- Transport connections used for client registrations are now maintained
|
|
|
|
in a persistent fashion. For example a TCP connection used for
|
|
|
|
registration is not closed until client is unregisters, or the whole stack
|
|
|
|
is shut down.
|
|
|
|
|
|
|
|
- New build time options have been added: ability to build without
|
|
|
|
STUN and HTTP support. See 'docs/devel_platform_notes.txt' for some
|
|
|
|
additional notes to distributors.
|
|
|
|
|
2006-12-21 06:30:28 +00:00
|
|
|
Bugs fixed in this release
|
|
|
|
--------------------------
|
|
|
|
|
2007-02-09 17:32:17 +00:00
|
|
|
- Fixed su_from_create() returning a sip_to_t instance. Problem reported by
|
|
|
|
Ludovico Cavedon.
|
|
|
|
- Partially fixed problem #1633969 with too frequent timer
|
2007-02-07 21:59:38 +00:00
|
|
|
- Fixed problem in dialog matching. Problem reported by Fabio Margarido.
|
|
|
|
- Fixed #1624446 - su_wait_clone() (and nua_destroy()) blocking for ever if
|
|
|
|
the root object was created using su_glib
|
|
|
|
- Fixed #1626330 - leak in nta.c which happened if INVITE never got a final
|
|
|
|
response nor timed out.
|
|
|
|
- Fixed handle leak (pthread_*_init without pthread_*_destroy). Problem
|
|
|
|
reported by Maxim Zaikin.
|
2006-12-21 06:30:28 +00:00
|
|
|
- Fixed crash when nua_bye() was called while a NOTIFY client transaction
|
|
|
|
was in progress. Problem reported by Anthony Minnessale.
|
|
|
|
- Not using close() with sockets in sres.c. Problem reported by
|
|
|
|
Roman Filonenko.
|
|
|
|
- Bug in zero-padding STUN messages with a message integrity
|
|
|
|
attribute. Patch by Petteri Puolakka.
|
2007-01-02 15:11:55 +00:00
|
|
|
- Fixed a severe problem with timer accuracy, when sofia-sip timers
|
|
|
|
where used under glib's mainloop.
|
|
|
|
- Improved glib mainloop integration to avoid warnings about already
|
|
|
|
active mainloop context, and potentially other issue. Patch by
|
|
|
|
Mikhail Zabaluev. Closes sf.net item #1606786.
|
2007-02-07 21:59:38 +00:00
|
|
|
- Ignore harmless syntax errors in incoming requests/responses by default
|
|
|
|
- If a TCP connection cannot be made within SIP T4 (because of a
|
|
|
|
firewall, for instance) nta now tries to use UDP instead.
|