From: Frederic LE FOLL Date: Thu, 5 Sep 2019 16:09:28 +0000 (+0200) Subject: ChanIsAvail() generates a CDR when unanswered=yes in cdr.conf. X-Git-Tag: 16.6.0-rc1~2^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c8cf3ad389ffbcf96e3079fc776a27da737f79b7;p=thirdparty%2Fasterisk.git ChanIsAvail() generates a CDR when unanswered=yes in cdr.conf. ChanIsAvail() creates a temporary channel with ast_request() to test resource availability. It should not generate a CDR when it hangs up this temporary channel. This patch disables CDR generation for the temporary channel with ast_cdr_set_property(). ASTERISK-28527 Change-Id: I7b0555c6909c7d322e452dde97c9ea5b111552d1 --- diff --git a/apps/app_chanisavail.c b/apps/app_chanisavail.c index 70325b3fa0..446bce1b01 100644 --- a/apps/app_chanisavail.c +++ b/apps/app_chanisavail.c @@ -178,6 +178,9 @@ static int chanavail_exec(struct ast_channel *chan, const char *data) snprintf(tmp, sizeof(tmp), "%d", status); ast_str_append(&tmp_availcause, 0, "%s%s", ast_str_strlen(tmp_availcause) ? "&" : "", tmp); + /* Disable CDR for this temporary channel. */ + ast_cdr_set_property(ast_channel_name(tempchan), AST_CDR_FLAG_DISABLE_ALL); + ast_hangup(tempchan); tempchan = NULL;