[Freeswitch-svn] [commit] r8338 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/nua
Freeswitch SVN
mikej at freeswitch.org
Fri May 9 13:47:20 EDT 2008
Author: mikej
Date: Fri May 9 13:47:20 2008
New Revision: 8338
Modified:
freeswitch/trunk/libs/sofia-sip/.update
freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/outbound.c
Log:
Wed May 7 15:54:41 EDT 2008 Pekka Pessi <first.last at nokia.com>
* outbound.c: fix sofia-sip.org bug #1930055
If the initial REGISTER was not challenged, the natted contact did not get
unregistered.
Modified: freeswitch/trunk/libs/sofia-sip/.update
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/.update (original)
+++ freeswitch/trunk/libs/sofia-sip/.update Fri May 9 13:47:20 2008
@@ -1 +1 @@
-Fri May 9 13:46:29 EDT 2008
+Fri May 9 13:47:15 EDT 2008
Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/outbound.c
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/outbound.c (original)
+++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/outbound.c Fri May 9 13:47:20 2008
@@ -97,7 +97,7 @@
/** Source of Contact header */
unsigned ob_by_stack:1;
/** Self-generated contacts */
- unsigned ob_contacts:1, :0;
+ unsigned ob_contacts:1;
/* The registration state machine. */
/** Initial REGISTER containing ob_rcontact has been sent */
@@ -336,6 +336,14 @@
if (ob) {
if (ob->ob_contacts)
*return_current_contact = ob->ob_rcontact;
+ else {
+ sip_contact_t *contact = *return_current_contact;
+ if (contact) {
+ if (ob->ob_rcontact)
+ msg_header_free_all(ob->ob_home, (msg_header_t*)ob->ob_rcontact);
+ ob->ob_rcontact = sip_contact_dup(ob->ob_home, contact);
+ }
+ }
*return_previous_contact = ob->ob_previous;
}
return 0;
More information about the Freeswitch-svn
mailing list