Protect the CDR record from modification by pbx_exec so that the application data contains the Queue data.

(closes issue #10761)
Reported by: snar
Patches:
      app-queue-mixmonitor.patch uploaded by snar (license 245)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@83074 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Joshua Colp
2007-09-19 13:47:59 +00:00
parent 4be09d967e
commit 2187f79e54

View File

@@ -2724,8 +2724,12 @@ static int try_calling(struct queue_ent *qe, const char *options, char *announce
if (option_debug)
ast_log(LOG_DEBUG, "Arguments being passed to MixMonitor: %s\n", mixmonargs);
/* We purposely lock the CDR so that pbx_exec does not update the application data */
if (qe->chan->cdr)
ast_set_flag(qe->chan->cdr, AST_CDR_FLAG_LOCKED);
ret = pbx_exec(qe->chan, mixmonapp, mixmonargs);
if (qe->chan->cdr)
ast_clear_flag(qe->chan->cdr, AST_CDR_FLAG_LOCKED);
} else
ast_log(LOG_WARNING, "Asked to run MixMonitor on this call, but cannot find the MixMonitor app!\n");