diff --git a/CHANGES b/CHANGES index e391d1e174..ea67101eaa 100644 --- a/CHANGES +++ b/CHANGES @@ -118,6 +118,13 @@ app_voicemail * Added 'fromstring' field to the voicemail boxes. If set, it will override the global 'fromstring' field on a per-mailbox basis. +func_channel +------------------ + * Added CHANNEL(callid) to retrieve the call log tag associated with the + channel. e.g., [C-00000000] Dialplan now has access to the call log + search key associated with the channel so it can be saved in case there + is a problem with the call. + res_pjsip ------------------ * A new transport parameter 'symmetric_transport' has been added. diff --git a/funcs/func_channel.c b/funcs/func_channel.c index 27e9f41bf7..eb3ceddb45 100644 --- a/funcs/func_channel.c +++ b/funcs/func_channel.c @@ -233,6 +233,10 @@ R/W The maximum number of forwards allowed. + + R/O Call identifier log tag associated with the channel + e.g., [C-00000000]. + @@ -450,6 +454,16 @@ static int func_channel_read(struct ast_channel *chan, const char *function, ast_channel_lock(chan); snprintf(buf, len, "%d", ast_max_forwards_get(chan)); ast_channel_unlock(chan); + } else if (!strcasecmp(data, "callid")) { + ast_callid callid; + + buf[0] = '\0'; + ast_channel_lock(chan); + callid = ast_channel_callid(chan); + if (callid) { + ast_callid_strnprint(buf, len, callid); + } + ast_channel_unlock(chan); } else if (!ast_channel_tech(chan) || !ast_channel_tech(chan)->func_channel_read || ast_channel_tech(chan)->func_channel_read(chan, function, data, buf, len)) { ast_log(LOG_WARNING, "Unknown or unavailable item requested: '%s'\n", data); ret = -1;