[Freeswitch-svn] [commit] r8600 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/nta libsofia-sip-ua/nua libsofia-sip-ua/stun
Freeswitch SVN
mikej at freeswitch.org
Sat May 24 23:23:12 EDT 2008
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 at 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,
More information about the Freeswitch-svn
mailing list