diff --git a/libs/sofia-sip/RELEASE b/libs/sofia-sip/RELEASE index 611367c1e3..5cf43d45d0 100644 --- a/libs/sofia-sip/RELEASE +++ b/libs/sofia-sip/RELEASE @@ -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. libsofia-sip-ua: -- **template**: Added foobar() function (sofia-sip/foobar.h). +- Added nta_outgoing_bind() to . +- Allow changing TPTAG_LOG() and TPTAG_DUMP() values after tport_create() +- Added NUTAG_SHUTDOWN_EVENTS(). If NUTAG_SHUTDOWN_EVENTS(1) nua setting is + 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 + 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", + dialog->call_id->i_id, + dialog->local->a_tag, + dialog->remote->a_tag); + fail_if(!replaces); + + 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()); + + nua_handle_destroy(nh); +} +END_TEST + + 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; } diff --git a/libs/sofia-sip/libsofia-sip-ua/nua/nua.c b/libs/sofia-sip/libsofia-sip-ua/nua/nua.c index abc6c08db9..08534bc775 100644 --- a/libs/sofia-sip/libsofia-sip-ua/nua/nua.c +++ b/libs/sofia-sip/libsofia-sip-ua/nua/nua.c @@ -1036,7 +1036,7 @@ nua_handle_t *nua_handle_by_replaces(nua_t *nua, sip_replaces_t const *r) if (nua) { #if HAVE_OPEN_C struct nua_stack_handle_by_replaces_args a; - a.retval = NULL; + a.retval = NULL; a.nua = nua; a.r = r; #else diff --git a/libs/sofia-sip/libsofia-sip-ua/stun/stun.c b/libs/sofia-sip/libsofia-sip-ua/stun/stun.c index 39213d53ed..78776b6271 100644 --- a/libs/sofia-sip/libsofia-sip-ua/stun/stun.c +++ b/libs/sofia-sip/libsofia-sip-ua/stun/stun.c @@ -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 , stun_log, SOFIA_DEBUG */ -extern char const STUN__DEBUG[]; +extern char const STUN_DEBUG[]; enum { STUN_SENDTO_TIMEOUT = 1000,