]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-9629 don't add infocus multiple times
authorBrian West <brian@freeswitch.org>
Mon, 31 Oct 2016 17:54:18 +0000 (12:54 -0500)
committerBrian West <brian@freeswitch.org>
Mon, 31 Oct 2016 17:54:18 +0000 (12:54 -0500)
src/mod/endpoints/mod_sofia/mod_sofia.c

index e1c591659b7c2e147deacc1d7f3c94f525536043..be03dd2d43bccc84fb3c0c7327fdd472153aa506 100644 (file)
@@ -654,7 +654,7 @@ static switch_status_t sofia_answer_channel(switch_core_session_t *session)
        char *sticky = NULL;
        const char *call_info = switch_channel_get_variable(channel, "presence_call_info_full");
 
-       if (switch_channel_test_flag(channel, CF_CONFERENCE)) {
+       if (switch_channel_test_flag(channel, CF_CONFERENCE) && !switch_stristr(";isfocus", tech_pvt->reply_contact)) {
                tech_pvt->reply_contact = switch_core_session_sprintf(session, "%s;isfocus", tech_pvt->reply_contact);
        }
 
@@ -1202,7 +1202,7 @@ static switch_status_t sofia_receive_message(switch_core_session_t *session, swi
                goto end;
        }
 
-       if (switch_channel_test_flag(channel, CF_CONFERENCE)) {
+       if (switch_channel_test_flag(channel, CF_CONFERENCE) && !switch_stristr(";isfocus", tech_pvt->reply_contact)) {
                tech_pvt->reply_contact = switch_core_session_sprintf(session, "%s;isfocus", tech_pvt->reply_contact);
        }