From e8f3e42f8b7dbdad51c37a087602bb34469d8efe Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Thu, 8 Nov 2012 09:52:20 -0600 Subject: [PATCH] FS-4779 try this patch --- libs/sofia-sip/.update | 2 +- libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/libs/sofia-sip/.update b/libs/sofia-sip/.update index 5f41229805..dbb9bc2ccd 100644 --- a/libs/sofia-sip/.update +++ b/libs/sofia-sip/.update @@ -1 +1 @@ -Wed Nov 7 10:37:42 CST 2012 +Thu Nov 8 09:48:11 CST 2012 diff --git a/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c b/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c index 3316d535c3..9b862415a3 100644 --- a/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c +++ b/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c @@ -1245,6 +1245,7 @@ int nua_invite_client_ack(nua_client_request_t *cr, tagi_t const *tags) int status = 200; char const *phrase = "OK", *reason = NULL; char const *invite_branch; + char const *pl_s = NULL; assert(cr->cr_orq); assert(cr->cr_method == sip_method_invite); @@ -1256,6 +1257,11 @@ int nua_invite_client_ack(nua_client_request_t *cr, tagi_t const *tags) goto error; } + tl_gets(tags, + SIPTAG_PAYLOAD_STR_REF(pl_s), + TAG_END()); + + assert(ds->ds_leg); msg = nta_outgoing_getrequest(cr->cr_orq); @@ -1305,7 +1311,7 @@ int nua_invite_client_ack(nua_client_request_t *cr, tagi_t const *tags) while (sip->sip_supported) sip_header_remove(msg, sip, (sip_header_t*)sip->sip_supported); - if (ss == NULL || ss->ss_state > nua_callstate_ready) + if (ss == NULL || ss->ss_state > nua_callstate_ready || pl_s) ; else if (cr->cr_offer_recv && !cr->cr_answer_sent) { if (nh->nh_soa == NULL) {