]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-5158 --resolve
authorMarc Olivier Chouinard <mochouinard@moctel.com>
Tue, 25 Feb 2014 01:09:04 +0000 (20:09 -0500)
committerMarc Olivier Chouinard <mochouinard@moctel.com>
Tue, 25 Feb 2014 01:09:04 +0000 (20:09 -0500)
src/mod/applications/mod_conference/mod_conference.c

index 54f19f4bc6ff66e26a966e86edbacf65e43b7c7a..607cf043c16701cee66ee66ad600c934d9192519 100644 (file)
@@ -5401,7 +5401,9 @@ static switch_status_t conf_api_sub_mute(conference_member_t *member, switch_str
        switch_clear_flag_locked(member, MFLAG_CAN_SPEAK);
        switch_clear_flag_locked(member, MFLAG_TALKING);
 
-       switch_set_flag(member, MFLAG_INDICATE_MUTE);
+       if (!(data) || !strstr((char *) data, "quiet")) {
+               switch_set_flag(member, MFLAG_INDICATE_MUTE);
+       }
        member->score_iir = 0;
 
        if (stream != NULL) {
@@ -5488,7 +5490,9 @@ static switch_status_t conf_api_sub_unmute(conference_member_t *member, switch_s
                return SWITCH_STATUS_GENERR;
 
        switch_set_flag_locked(member, MFLAG_CAN_SPEAK);
-       switch_set_flag(member, MFLAG_INDICATE_UNMUTE);
+       if (!(data) || !strstr((char *) data, "quiet")) {
+               switch_set_flag(member, MFLAG_INDICATE_UNMUTE);
+       }
 
        if (stream != NULL) {
                stream->write_function(stream, "OK unmute %u\n", member->id);
@@ -7230,9 +7234,9 @@ static api_command_t conf_api_sub_commands[] = {
        {"dtmf", (void_fn_t) & conf_api_sub_dtmf, CONF_API_SUB_MEMBER_TARGET, "dtmf", "<[member_id|all|last|non_moderator]> <digits>"},
        {"kick", (void_fn_t) & conf_api_sub_kick, CONF_API_SUB_MEMBER_TARGET, "kick", "<[member_id|all|last|non_moderator]> [<optional sound file>]"},
        {"hup", (void_fn_t) & conf_api_sub_hup, CONF_API_SUB_MEMBER_TARGET, "hup", "<[member_id|all|last|non_moderator]>"},
-       {"mute", (void_fn_t) & conf_api_sub_mute, CONF_API_SUB_MEMBER_TARGET, "mute", "<[member_id|all]|last|non_moderator>"},
-       {"tmute", (void_fn_t) & conf_api_sub_tmute, CONF_API_SUB_MEMBER_TARGET, "tmute", "<[member_id|all]|last|non_moderator>"},
-       {"unmute", (void_fn_t) & conf_api_sub_unmute, CONF_API_SUB_MEMBER_TARGET, "unmute", "<[member_id|all]|last|non_moderator>"},
+       {"mute", (void_fn_t) & conf_api_sub_mute, CONF_API_SUB_MEMBER_TARGET, "mute", "<[member_id|all]|last|non_moderator> [<quiet>]"},
+       {"tmute", (void_fn_t) & conf_api_sub_tmute, CONF_API_SUB_MEMBER_TARGET, "tmute", "<[member_id|all]|last|non_moderator> [<quiet>]"},
+       {"unmute", (void_fn_t) & conf_api_sub_unmute, CONF_API_SUB_MEMBER_TARGET, "unmute", "<[member_id|all]|last|non_moderator> [<quiet>]"},
        {"deaf", (void_fn_t) & conf_api_sub_deaf, CONF_API_SUB_MEMBER_TARGET, "deaf", "<[member_id|all]|last|non_moderator>"},
        {"undeaf", (void_fn_t) & conf_api_sub_undeaf, CONF_API_SUB_MEMBER_TARGET, "undeaf", "<[member_id|all]|last|non_moderator>"},
        {"tool", (void_fn_t) & conf_api_sub_tool, CONF_API_SUB_MEMBER_TARGET, "", ""},