Commit 3807cfd4 authored by Pekka Pessi's avatar Pekka Pessi
Browse files

RELEASE: updated

parent 0cded404
......@@ -9,6 +9,14 @@ Changes since last release
and in less than 10 lines, written in 3rd person English, with
complete sentences />
Bugs with 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, all introduced by
release 1.12.8.
Stack now supports some load control with NTATAG_MAX_PROCEEDING(), limiting
number of initial INVITE transactions being served concurrently.
Bugs in blaa and foo have been fixed. The stack now supports
use of foobar...
......@@ -24,7 +32,17 @@ API/ABI changes and versioning
**template**: New features in API are marked with Doxytag macro @VERSION_1_XX_X.
- **template**: Added foobar() function (sofia-sip/foobar.h).
- Added nta_outgoing_bind() to <sofia-sip/nta.h>.
- Allow changing TPTAG_LOG() and TPTAG_DUMP() values after tport_create()
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.
Previously, NUTAG_PROXY() was ignored if given with nua_set_hparams(),
nua_invite(), nua_respond(), etc.
- Added nua_handle_by_call_id(), nta_leg_by_call_id().
- 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
......@@ -38,6 +56,12 @@ libsofia-sip-ua-glib:
Contributors to this release
- Michael Jerris: fixes, new features NTATAG_MAX_PROCEEDING(),
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
<list of people who contributed to _this_ release
- update as people's patches are added, or when you commit stuff
- current development team members (see AUTHORS) may be omitted,
......@@ -64,6 +88,37 @@ Notes on new features
Bugs fixed in this release
- Fixed bug #1827511: BYE can now be authenticated with
- 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 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.
< notable bugs fixed in this release
- check the bug tracker; see closed bugs,
sorted by closing date
......@@ -4077,6 +4077,10 @@ nta_leg_t *leg_find_call_id(nta_agent_t const *sa,
/** Get dialog leg by @CallID.
* @note Usually there should be only single dialog per @CallID on
* User-Agents. However, proxies may fork requests initiating the dialog and
* result in multiple calls per @CallID.
* @since New in @VERSION_1_12_9.
......@@ -411,7 +411,7 @@ bye_to_nua(nua_handle_t *nh,
/* 2.1 - Basic call cases */
nua_handle_t *nh;
......@@ -429,7 +429,7 @@ START_TEST(basic_call_with_bye_by_nua)
nua_handle_t *nh;
......@@ -447,7 +447,7 @@ START_TEST(basic_call_with_bye_to_nua)
nua_handle_t *nh;
......@@ -463,7 +463,7 @@ START_TEST(call_to_nua_with_bye_to_nua)
nua_handle_t *nh;
......@@ -479,7 +479,7 @@ START_TEST(call_to_nua_with_bye_by_nua)
nua_handle_t *nh;
......@@ -572,17 +572,51 @@ START_TEST(call_2_1_6)
nua_handle_t *nh, *nh2;
sip_replaces_t *replaces;
s2_case("2.1.7", "Call lookup",
"Test dialog and call-id lookup");
nh = nua_handle(nua, NULL, SIPTAG_TO(s2->local), TAG_END());
invite_by_nua(nh, TAG_END());
nh2 = nua_handle_by_call_id(nua, dialog->call_id->i_id);
fail_if(!nh2); fail_if(nh != nh2); nua_handle_unref(nh2);
replaces = sip_replaces_format(NULL, "%s;from-tag=%s;to-tag=%s",
nh2 = nua_handle_by_replaces(nua, replaces);
fail_if(!nh2); fail_if(nh != nh2); nua_handle_unref(nh2);
msg_header_free_all(NULL, (msg_header_t *)replaces);
bye_by_nua(nh, TAG_END());
TCase *invite_tcase(void)
TCase *tc = tcase_create("2.1 - Basic INVITE");
tcase_add_checked_fixture(tc, call_setup, call_teardown);
tcase_add_test(tc, basic_call_with_bye_by_nua);
tcase_add_test(tc, basic_call_with_bye_to_nua);
tcase_add_test(tc, call_to_nua_with_bye_to_nua);
tcase_add_test(tc, call_to_nua_with_bye_by_nua);
tcase_add_test(tc, call_to_nua_with_bye_by_nua_challenged);
tcase_add_test(tc, call_2_1_1);
tcase_add_test(tc, call_2_1_2);
tcase_add_test(tc, call_2_1_3);
tcase_add_test(tc, call_2_1_4);
tcase_add_test(tc, call_2_1_5);
tcase_add_test(tc, call_2_1_6);
tcase_add_test(tc, call_2_1_7);
return tc;
......@@ -1036,7 +1036,7 @@ nua_handle_t *nua_handle_by_replaces(nua_t *nua, sip_replaces_t const *r)
if (nua) {
struct nua_stack_handle_by_replaces_args a;
a.retval = NULL;
a.retval = NULL;
a.nua = nua;
a.r = r;
......@@ -81,7 +81,7 @@ static char const __func__[] = "stun";
/** STUN log. */
su_log_t stun_log[] = { SU_LOG_INIT("stun", "STUN_DEBUG", SU_DEBUG) };
/**@var STUN_DEBUG
/**@var char const STUN_DEBUG[]
* Environment variable determining the debug log level for @b stun module.
......@@ -90,7 +90,7 @@ su_log_t stun_log[] = { SU_LOG_INIT("stun", "STUN_DEBUG", SU_DEBUG) };
* @sa <sofia-sip/su_debug.h>, stun_log, SOFIA_DEBUG
extern char const STUN__DEBUG[];
extern char const STUN_DEBUG[];
enum {
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment