From c8a6c99f845fb980d1d04de414408510a762ed95 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Thu, 18 Apr 2013 16:27:45 -0500 Subject: [PATCH] FS-5322 --resolve --- src/mod/endpoints/mod_sofia/mod_sofia.c | 4 ---- src/switch_core_io.c | 11 ++++++++++- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/mod/endpoints/mod_sofia/mod_sofia.c b/src/mod/endpoints/mod_sofia/mod_sofia.c index 4d3d83b46d..2a22925bc9 100644 --- a/src/mod/endpoints/mod_sofia/mod_sofia.c +++ b/src/mod/endpoints/mod_sofia/mod_sofia.c @@ -1107,10 +1107,6 @@ static switch_status_t sofia_send_dtmf(switch_core_session_t *session, const swi tech_pvt = (private_object_t *) switch_core_session_get_private(session); switch_assert(tech_pvt != NULL); - if (switch_channel_test_flag(tech_pvt->channel, CF_DROP_DTMF)) { - return SWITCH_STATUS_SUCCESS; - } - dtmf_type = tech_pvt->mparams.dtmf_type; /* We only can send INFO when we have no media */ diff --git a/src/switch_core_io.c b/src/switch_core_io.c index 741ac0e556..0d1c5fb367 100644 --- a/src/switch_core_io.c +++ b/src/switch_core_io.c @@ -1,5 +1,5 @@ /* - * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application + * FreeSWITCH Moular Media Switching Software Library / Soft-Switch Application * Copyright (C) 2005-2012, Anthony Minessale II * * Version: MPL 1.1 @@ -1616,6 +1616,15 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_send_dtmf(switch_core_sessio return SWITCH_STATUS_SUCCESS; } + if (switch_channel_test_flag(session->channel, CF_DROP_DTMF)) { + const char *file = switch_channel_get_variable_dup(session->channel, "drop_dtmf_masking_file", SWITCH_FALSE, -1); + + if (!zstr(file)) { + switch_ivr_broadcast(switch_core_session_get_uuid(session), file, SMF_ECHO_ALEG); + } + return SWITCH_STATUS_SUCCESS; + } + switch_assert(dtmf); new_dtmf = *dtmf;