From c7480bc3fea5c1bb993b28d3a665ea671f38f1bd Mon Sep 17 00:00:00 2001 From: Seven Du Date: Tue, 19 Nov 2019 22:17:13 +0800 Subject: [PATCH] [mod_loopback] remember dtmf in channel var null_channel_dtmf_queued --- src/mod/endpoints/mod_loopback/mod_loopback.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/mod/endpoints/mod_loopback/mod_loopback.c b/src/mod/endpoints/mod_loopback/mod_loopback.c index cf52370aa8..6e1d629abf 100644 --- a/src/mod/endpoints/mod_loopback/mod_loopback.c +++ b/src/mod/endpoints/mod_loopback/mod_loopback.c @@ -1461,10 +1461,16 @@ static switch_status_t null_channel_on_consume_media(switch_core_session_t *sess static switch_status_t null_channel_send_dtmf(switch_core_session_t *session, const switch_dtmf_t *dtmf) { null_private_t *tech_pvt = NULL; + switch_channel_t *channel = switch_core_session_get_channel(session); + const char *dtmf_str = switch_channel_get_variable(channel, "null_channel_dtmf_queued"); tech_pvt = switch_core_session_get_private(session); switch_assert(tech_pvt != NULL); + if (!dtmf_str) dtmf_str = ""; + + switch_channel_set_variable_printf(channel, "null_channel_dtmf_queued", "%s%c", dtmf_str, dtmf->digit); + return SWITCH_STATUS_SUCCESS; }