From eec539a46e63bcaa222405d6e45e1d674061dd1f Mon Sep 17 00:00:00 2001 From: Tzafrir Cohen Date: Tue, 10 May 2016 16:17:29 +0300 Subject: [PATCH] followme: delete the right recorded name file FollowMe with the option a records the name of the caller and plays it to the callee. However it has failed to clean up that recorded file as it tried to delete the file name without the '.sln' extension. ASTERISK-26008 #close Change-Id: I79d7b1be7d5cde57bf076d9389e2a8a4422776ec Signed-off-by: Tzafrir Cohen --- apps/app_followme.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/apps/app_followme.c b/apps/app_followme.c index e5a5ee3c53..af6bb1039c 100644 --- a/apps/app_followme.c +++ b/apps/app_followme.c @@ -66,6 +66,8 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #include "asterisk/stasis_channels.h" #include "asterisk/max_forwards.h" +#define REC_FORMAT "sln" + /*** DOCUMENTATION @@ -1421,7 +1423,7 @@ static int app_exec(struct ast_channel *chan, const char *data) snprintf(targs->namerecloc, sizeof(targs->namerecloc), "%s/followme.%s", ast_config_AST_SPOOL_DIR, ast_channel_uniqueid(chan)); - if (ast_play_and_record(chan, "vm-rec-name", targs->namerecloc, 5, "sln", &duration, + if (ast_play_and_record(chan, "vm-rec-name", targs->namerecloc, 5, REC_FORMAT, &duration, NULL, ast_dsp_get_threshold_from_settings(THRESHOLD_SILENCE), 0, NULL) < 0) { goto outrun; } @@ -1522,7 +1524,18 @@ outrun: ast_free(nm); } if (!ast_strlen_zero(targs->namerecloc)) { - unlink(targs->namerecloc); + int ret; + char fn[PATH_MAX]; + + snprintf(fn, sizeof(fn), "%s.%s", targs->namerecloc, + REC_FORMAT); + ret = unlink(fn); + if (ret != 0) { + ast_log(LOG_NOTICE, "Failed to delete recorded name file %s: %d (%s)\n", + fn, errno, strerror(errno)); + } else { + ast_debug(2, "deleted recorded prompt %s.\n", fn); + } } ast_free((char *) targs->predial_callee); ast_party_connected_line_free(&targs->connected_in);