[Freeswitch-svn] [commit] r13320 - in freeswitch/trunk/libs/sofia-sip: . libsofia-sip-ua/nua
FreeSWITCH SVN
mikej at freeswitch.org
Fri May 15 08:45:39 PDT 2009
Author: mikej
Date: Fri May 15 10:45:39 2009
New Revision: 13320
Log:
Tue May 12 11:05:19 CDT 2009 Pekka Pessi <first.last at nokia.com>
* nua: NUTAG_AUTOACK(0) is now obeyed always when media is disabled
Ignore-this: c5960a8330904eae5a1428158e4498c7
If media is enabled, stack autoacks 2XX responses to re-INVITEs unless
NUTAG_AUTOACK(0) is set on handle.
Also documenting NUTAG_AUTOACK() behaviour with re-INVITEs.
Modified:
freeswitch/trunk/libs/sofia-sip/.update
freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c
freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_tag.c
Modified: freeswitch/trunk/libs/sofia-sip/.update
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/.update (original)
+++ freeswitch/trunk/libs/sofia-sip/.update Fri May 15 10:45:39 2009
@@ -1 +1 @@
-Fri May 15 10:43:59 CDT 2009
+Fri May 15 10:45:11 CDT 2009
Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c (original)
+++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c Fri May 15 10:45:39 2009
@@ -1108,8 +1108,9 @@
if (next_state == nua_callstate_completing) {
if (NH_PGET(nh, auto_ack) ||
- /* Auto-ACK response to re-INVITE unless auto_ack is set to 0 */
- (ss->ss_state == nua_callstate_ready &&
+ /* Auto-ACK response to re-INVITE when media is enabled
+ and auto_ack is not set to 0 on handle */
+ (ss->ss_state == nua_callstate_ready && nh->nh_soa &&
!NH_PISSET(nh, auto_ack))) {
nua_client_request_t *cru;
@@ -1867,8 +1868,10 @@
/* There is an un-ACK-ed INVITE there */
assert(du->du_cr->cr_method == sip_method_invite);
if (NH_PGET(nh, auto_ack) ||
- /* Auto-ACK response to re-INVITE unless auto_ack is set to 0 */
- (ss->ss_state == nua_callstate_ready && !NH_PISSET(nh, auto_ack))) {
+ /* Auto-ACK response to re-INVITE when media is enabled
+ and auto_ack is not set to 0 on handle */
+ (ss->ss_state == nua_callstate_ready && nh->nh_soa &&
+ !NH_PISSET(nh, auto_ack))) {
/* There should be no UPDATE with offer/answer
if PRACK with offer/answer was ongoing! */
if (nua_invite_client_ack(du->du_cr, NULL) > 0)
@@ -3407,8 +3410,10 @@
assert(du->du_cr->cr_method == sip_method_invite);
if (NH_PGET(nh, auto_ack) ||
- /* Auto-ACK response to re-INVITE unless auto_ack is set to 0 */
- (ss->ss_state == nua_callstate_ready && !NH_PISSET(nh, auto_ack))) {
+ /* Auto-ACK response to re-INVITE when media is enabled
+ and auto_ack is not set to 0 on handle */
+ (ss->ss_state == nua_callstate_ready && nh->nh_soa &&
+ !NH_PISSET(nh, auto_ack))) {
if (nua_invite_client_ack(du->du_cr, NULL) > 0)
next_state = nua_callstate_ready;
else
Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_tag.c
==============================================================================
--- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_tag.c (original)
+++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/nua/nua_tag.c Fri May 15 10:45:39 2009
@@ -1319,6 +1319,12 @@
*
* Default value is NUTAG_AUTOACK(1).
*
+ * @par Auto ACK with Re-INVITE requests
+ * By default, NUA tries to auto-ACK the final response to re-INVITE used to
+ * refresh the session when the media is enabled. Set NUTAG_AUTOACK(0) on
+ * the call handle (e.g., include the tag with nua_invite() or
+ * nua_respond()) in order to disable the auto ACK with re-INVITE.
+ *
* Corresponding tag taking reference parameter is NUTAG_AUTOACK_REF().
*/
tag_typedef_t nutag_autoack = BOOLTAG_TYPEDEF(autoACK);
More information about the Freeswitch-svn
mailing list