From e177d377aa0f64e58bc486b1d5e8473c12fd3931 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Fri, 1 Apr 2011 13:20:35 -0500 Subject: [PATCH] FS-3214 try this --- src/mod/endpoints/mod_sofia/sofia.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/mod/endpoints/mod_sofia/sofia.c b/src/mod/endpoints/mod_sofia/sofia.c index 12f1b233fc..23f1fd0e88 100644 --- a/src/mod/endpoints/mod_sofia/sofia.c +++ b/src/mod/endpoints/mod_sofia/sofia.c @@ -4928,7 +4928,11 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status, match = sofia_glue_negotiate_sdp(session, r_sdp); } - if (match) { + if (!match) { + if (switch_channel_get_state(channel) != CS_NEW) { + nua_respond(tech_pvt->nh, SIP_488_NOT_ACCEPTABLE, TAG_END()); + } + } else { nua_handle_t *bnh; sip_replaces_t *replaces; su_home_t *home = NULL; @@ -4936,6 +4940,8 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status, sofia_set_flag_locked(tech_pvt, TFLAG_READY); if (switch_channel_get_state(channel) == CS_NEW) { switch_channel_set_state(channel, CS_INIT); + } else { + nua_respond(tech_pvt->nh, SIP_200_OK, TAG_END()); } sofia_set_flag(tech_pvt, TFLAG_SDP); if (replaces_str) {