diff --git a/channels/chan_unistim.c b/channels/chan_unistim.c index 30f4395c3eb93b645db5f9bd57d27b9f9e087f3c..127bfed45fee923a52437054440a9ca61864e924 100644 --- a/channels/chan_unistim.c +++ b/channels/chan_unistim.c @@ -2473,7 +2473,7 @@ static int unistim_do_senddigit(struct unistimsession *pte, char digit) struct ast_frame f = { 0, }; struct unistim_subchannel *sub; sub = pte->device->lines->subs[SUB_REAL]; - if (!sub->owner) { + if (!sub->owner || sub->alreadygone) { ast_log(LOG_WARNING, "Unable to find subchannel in dtmf senddigit\n"); return -1; } @@ -4223,8 +4223,8 @@ static int unistim_senddigit_end(struct ast_channel *ast, char digit, unsigned i sub = pte->device->lines->subs[SUB_REAL]; - if (!sub->owner) { - ast_log(LOG_WARNING, "Unable to find subchannel in dtmf senddigiti_end\n"); + if (!sub->owner || sub->alreadygone) { + ast_log(LOG_WARNING, "Unable to find subchannel in dtmf senddigit_end\n"); return -1; }