Mon May 19 13:42:41 EDT 2008 Pekka Pessi <first.last@nokia.com>

* RELEASE: updated



git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@8600 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Michael Jerris 2008-05-25 03:23:12 +00:00
parent fb0173653c
commit 66a57f4927
5 changed files with 107 additions and 14 deletions

View File

@ -9,6 +9,14 @@ Changes since last release
and in less than 10 lines, written in 3rd person English, with and in less than 10 lines, written in 3rd person English, with
complete sentences /> 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 Bugs in blaa and foo have been fixed. The stack now supports
use of foobar... 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**: New features in API are marked with Doxytag macro @VERSION_1_XX_X.
libsofia-sip-ua: 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 - This release is ABI/API compatible with applications linked against
any 1.12.x release. However, applications built against this release won't 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 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 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 <list of people who contributed to _this_ release
- update as people's patches are added, or when you commit stuff - update as people's patches are added, or when you commit stuff
- current development team members (see AUTHORS) may be omitted, - current development team members (see AUTHORS) may be omitted,
@ -64,6 +88,37 @@ Notes on new features
Bugs fixed in this release 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 < notable bugs fixed in this release
- check the sf.net bug tracker; see closed bugs, - check the sf.net bug tracker; see closed bugs,
sorted by closing date sorted by closing date

View File

@ -4085,6 +4085,10 @@ nta_leg_t *leg_find_call_id(nta_agent_t const *sa,
} }
/** Get dialog leg by @CallID. /** 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. * @since New in @VERSION_1_12_9.
*/ */

View File

@ -411,7 +411,7 @@ bye_to_nua(nua_handle_t *nh,
/* 2.1 - Basic call cases */ /* 2.1 - Basic call cases */
START_TEST(basic_call_with_bye_by_nua) START_TEST(call_2_1_1)
{ {
nua_handle_t *nh; nua_handle_t *nh;
@ -429,7 +429,7 @@ START_TEST(basic_call_with_bye_by_nua)
END_TEST END_TEST
START_TEST(basic_call_with_bye_to_nua) START_TEST(call_2_1_2)
{ {
nua_handle_t *nh; nua_handle_t *nh;
@ -447,7 +447,7 @@ START_TEST(basic_call_with_bye_to_nua)
END_TEST END_TEST
START_TEST(call_to_nua_with_bye_to_nua) START_TEST(call_2_1_3)
{ {
nua_handle_t *nh; nua_handle_t *nh;
@ -463,7 +463,7 @@ START_TEST(call_to_nua_with_bye_to_nua)
END_TEST END_TEST
START_TEST(call_to_nua_with_bye_by_nua) START_TEST(call_2_1_4)
{ {
nua_handle_t *nh; nua_handle_t *nh;
@ -479,7 +479,7 @@ START_TEST(call_to_nua_with_bye_by_nua)
END_TEST END_TEST
START_TEST(call_to_nua_with_bye_by_nua_challenged) START_TEST(call_2_1_5)
{ {
nua_handle_t *nh; nua_handle_t *nh;
@ -572,17 +572,51 @@ START_TEST(call_2_1_6)
END_TEST 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 *invite_tcase(void)
{ {
TCase *tc = tcase_create("2.1 - Basic INVITE"); TCase *tc = tcase_create("2.1 - Basic INVITE");
tcase_add_checked_fixture(tc, call_setup, call_teardown); tcase_add_checked_fixture(tc, call_setup, call_teardown);
{ {
tcase_add_test(tc, basic_call_with_bye_by_nua); tcase_add_test(tc, call_2_1_1);
tcase_add_test(tc, basic_call_with_bye_to_nua); tcase_add_test(tc, call_2_1_2);
tcase_add_test(tc, call_to_nua_with_bye_to_nua); tcase_add_test(tc, call_2_1_3);
tcase_add_test(tc, call_to_nua_with_bye_by_nua); tcase_add_test(tc, call_2_1_4);
tcase_add_test(tc, call_to_nua_with_bye_by_nua_challenged); tcase_add_test(tc, call_2_1_5);
tcase_add_test(tc, call_2_1_6); tcase_add_test(tc, call_2_1_6);
tcase_add_test(tc, call_2_1_7);
} }
return tc; return tc;
} }

View File

@ -81,7 +81,7 @@ static char const __func__[] = "stun";
/** STUN log. */ /** STUN log. */
su_log_t stun_log[] = { SU_LOG_INIT("stun", "STUN_DEBUG", SU_DEBUG) }; 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. * 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 * @sa <sofia-sip/su_debug.h>, stun_log, SOFIA_DEBUG
*/ */
extern char const STUN__DEBUG[]; extern char const STUN_DEBUG[];
enum { enum {
STUN_SENDTO_TIMEOUT = 1000, STUN_SENDTO_TIMEOUT = 1000,