diff --git a/res/res_agi.c b/res/res_agi.c index 6914d0e812..302a5f5ade 100644 --- a/res/res_agi.c +++ b/res/res_agi.c @@ -499,6 +499,10 @@ static enum agi_result launch_asyncagi(struct ast_channel *chan, char *argv[], i ast_frfree(f); } } + + if (async_agi.speech) { + ast_speech_destroy(async_agi.speech); + } quit: /* notify manager users this channel cannot be controlled anymore by Async AGI */ @@ -2781,6 +2785,9 @@ static enum agi_result run_agi(struct ast_channel *chan, char *request, AGI *agi } } } + if (agi->speech) { + ast_speech_destroy(agi->speech); + } /* Notify process */ if (send_sighup) { if (pid > -1) {