[commit] r8600 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/nta libsofia-sip-ua/nua libsofia-sip-ua/stun
Author: mikej Date: Sat May 24 23:23:12 2008 New Revision: 8600 Modified: freeswitch/trunk/libs/sofia-sip/RELEASE freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_session.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua.c freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/stun/stun.c Log: Mon May 19 13:42:41 EDT 2008 Pekka Pessi <first.last@nokia.com> * RELEASE: updated Modified: freeswitch/trunk/libs/sofia-sip/RELEASE ============================================================================== --- freeswitch/trunk/libs/sofia-sip/RELEASE (original) +++ freeswitch/trunk/libs/sofia-sip/RELEASE Sat May 24 23:23:12 2008 @@ -9,6 +9,14 @@ 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 @@ **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 <sofia-sip/nta.h>. +- 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 @@ 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 @@ Bugs fixed in this release -------------------------- +- Fixed sf.net bug #1827511: BYE can now be authenticated with + nua_authenticate(). +- 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 sf.net 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 sf.net bug tracker; see closed bugs, sorted by closing date Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nta/nta.c Sat May 24 23:23:12 2008 @@ -4086,6 +4086,10 @@ /** 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. */ SOFIAPUBFUN Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_session.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_session.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/check_session.c Sat May 24 23:23:12 2008 @@ -411,7 +411,7 @@ /* 2.1 - Basic call cases */ -START_TEST(basic_call_with_bye_by_nua) +START_TEST(call_2_1_1) { nua_handle_t *nh; @@ -429,7 +429,7 @@ END_TEST -START_TEST(basic_call_with_bye_to_nua) +START_TEST(call_2_1_2) { nua_handle_t *nh; @@ -447,7 +447,7 @@ END_TEST -START_TEST(call_to_nua_with_bye_to_nua) +START_TEST(call_2_1_3) { nua_handle_t *nh; @@ -463,7 +463,7 @@ END_TEST -START_TEST(call_to_nua_with_bye_by_nua) +START_TEST(call_2_1_4) { nua_handle_t *nh; @@ -479,7 +479,7 @@ END_TEST -START_TEST(call_to_nua_with_bye_by_nua_challenged) +START_TEST(call_2_1_5) { nua_handle_t *nh; @@ -572,17 +572,51 @@ END_TEST +START_TEST(call_2_1_7) +{ + 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", + 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; } Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua.c Sat May 24 23:23:12 2008 @@ -1036,7 +1036,7 @@ 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 Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/stun/stun.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/stun/stun.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/stun/stun.c Sat May 24 23:23:12 2008 @@ -81,7 +81,7 @@ /** 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 @@ * * @sa <sofia-sip/su_debug.h>, stun_log, SOFIA_DEBUG */ -extern char const STUN__DEBUG[]; +extern char const STUN_DEBUG[]; enum { STUN_SENDTO_TIMEOUT = 1000,
participants (1)
-
Freeswitch SVN