From: Anthony Minessale Date: Tue, 11 Nov 2014 18:56:40 +0000 (-0600) Subject: FS-6890 #comment please test X-Git-Tag: v1.4.14~2^2~29 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a279bf38af9ee37fff4b3829f3ce70c37c13182a;p=thirdparty%2Ffreeswitch.git FS-6890 #comment please test --- diff --git a/src/mod/endpoints/mod_sofia/mod_sofia.c b/src/mod/endpoints/mod_sofia/mod_sofia.c index 7ccfe9ee74..bd9b362b54 100644 --- a/src/mod/endpoints/mod_sofia/mod_sofia.c +++ b/src/mod/endpoints/mod_sofia/mod_sofia.c @@ -1559,14 +1559,14 @@ static switch_status_t sofia_receive_message(switch_core_session_t *session, swi if (ok) { char *headers = sofia_glue_get_extra_headers(channel, SOFIA_SIP_INFO_HEADER_PREFIX); const char *pl = NULL; - uint32_t callsequence; nua_handle_t *nh; sip_cseq_t *cseq = NULL; const char *uri = NULL; char *to, *from; char *contact; const char *invite_contact_params = switch_channel_get_variable(tech_pvt->channel, "sip_invite_contact_params"); - + + if (!zstr(msg->string_array_arg[2])) { pl = msg->string_array_arg[2]; } @@ -1581,14 +1581,14 @@ static switch_status_t sofia_receive_message(switch_core_session_t *session, swi contact = tech_pvt->reply_contact; } - callsequence = sofia_presence_get_cseq(tech_pvt->profile); + nh = nua_handle(tech_pvt->profile->nua, NULL, NUTAG_URL(uri), TAG_IF(contact, SIPTAG_CONTACT_STR(contact)), TAG_END()); - cseq = sip_cseq_create(nh->nh_home, callsequence, SIP_METHOD_NOTIFY); + cseq = sip_cseq_create(nh->nh_home, ++tech_pvt->info_cseq, SIP_METHOD_INFO); nua_handle_bind(nh, &mod_sofia_globals.destroy_private); if (tech_pvt->sent_last_invite || !tech_pvt->recv_invites) { diff --git a/src/mod/endpoints/mod_sofia/mod_sofia.h b/src/mod/endpoints/mod_sofia/mod_sofia.h index 52307a2800..c20a4e7a06 100644 --- a/src/mod/endpoints/mod_sofia/mod_sofia.h +++ b/src/mod/endpoints/mod_sofia/mod_sofia.h @@ -811,6 +811,7 @@ struct private_object { uint32_t keepalive; uint32_t sent_invites; uint32_t recv_invites; + uint32_t info_cseq; uint8_t sent_last_invite; };