mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-30 10:33:13 +00:00
Merge "CHANNEL(callid): Give dialplan access to the callid." into 13
This commit is contained in:
7
CHANGES
7
CHANGES
@@ -41,6 +41,13 @@ app_voicemail
|
|||||||
* Added 'fromstring' field to the voicemail boxes. If set, it will override
|
* Added 'fromstring' field to the voicemail boxes. If set, it will override
|
||||||
the global 'fromstring' field on a per-mailbox basis.
|
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
|
res_pjsip
|
||||||
------------------
|
------------------
|
||||||
* A new transport parameter 'symmetric_transport' has been added.
|
* A new transport parameter 'symmetric_transport' has been added.
|
||||||
|
@@ -232,6 +232,10 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
|
|||||||
<enum name="max_forwards">
|
<enum name="max_forwards">
|
||||||
<para>R/W The maximum number of forwards allowed.</para>
|
<para>R/W The maximum number of forwards allowed.</para>
|
||||||
</enum>
|
</enum>
|
||||||
|
<enum name="callid">
|
||||||
|
<para>R/O Call identifier log tag associated with the channel
|
||||||
|
e.g., <literal>[C-00000000]</literal>.</para>
|
||||||
|
</enum>
|
||||||
</enumlist>
|
</enumlist>
|
||||||
<xi:include xpointer="xpointer(/docs/info[@name='CHANNEL'])" />
|
<xi:include xpointer="xpointer(/docs/info[@name='CHANNEL'])" />
|
||||||
</parameter>
|
</parameter>
|
||||||
@@ -446,6 +450,17 @@ static int func_channel_read(struct ast_channel *chan, const char *function,
|
|||||||
ast_channel_lock(chan);
|
ast_channel_lock(chan);
|
||||||
snprintf(buf, len, "%d", ast_max_forwards_get(chan));
|
snprintf(buf, len, "%d", ast_max_forwards_get(chan));
|
||||||
ast_channel_unlock(chan);
|
ast_channel_unlock(chan);
|
||||||
|
} else if (!strcasecmp(data, "callid")) {
|
||||||
|
struct ast_callid *callid;
|
||||||
|
|
||||||
|
buf[0] = '\0';
|
||||||
|
ast_channel_lock(chan);
|
||||||
|
callid = ast_channel_callid(chan);
|
||||||
|
if (callid) {
|
||||||
|
ast_callid_strnprint(buf, len, callid);
|
||||||
|
ast_callid_unref(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)) {
|
} 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);
|
ast_log(LOG_WARNING, "Unknown or unavailable item requested: '%s'\n", data);
|
||||||
ret = -1;
|
ret = -1;
|
||||||
|
Reference in New Issue
Block a user