summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorMatt Jordan <mjordan@digium.com>2015-09-05 18:44:04 -0500
committerGerrit Code Review <gerrit2@gerrit.digium.api>2015-09-05 18:44:04 -0500
commit319fe8224fd2a35462b13bd554c02b8e07694121 (patch)
treef06b62065329cbc0172d1f66cd133f74280cc667 /channels
parent6a4d2b2e58f4da561e3a096fbaa387e9df544dec (diff)
parent78d0b9d97ecf034468e252440217dd4bc371ef71 (diff)
Merge "channels/pjsip/dialplan_functions: Add an option for extracting the SIP call-id" into 13
Diffstat (limited to 'channels')
-rw-r--r--channels/pjsip/dialplan_functions.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/channels/pjsip/dialplan_functions.c b/channels/pjsip/dialplan_functions.c
index 9c5245648..eb6def60f 100644
--- a/channels/pjsip/dialplan_functions.c
+++ b/channels/pjsip/dialplan_functions.c
@@ -318,6 +318,9 @@
<literal>type</literal> parameter must be provided. It specifies
which signalling parameter to read.</para>
<enumlist>
+ <enum name="call-id">
+ <para>The SIP call-id.</para>
+ </enum>
<enum name="secure">
<para>Whether or not the signalling uses a secure transport.</para>
<enumlist>
@@ -594,6 +597,8 @@ static int channel_read_pjsip(struct ast_channel *chan, const char *type, const
if (ast_strlen_zero(type)) {
ast_log(LOG_WARNING, "You must supply a type field for 'pjsip' information\n");
return -1;
+ } else if (!strcmp(type, "call-id")) {
+ snprintf(buf, buflen, "%.*s", (int) pj_strlen(&dlg->call_id->id), pj_strbuf(&dlg->call_id->id));
} else if (!strcmp(type, "secure")) {
#ifdef HAVE_PJSIP_GET_DEST_INFO
pjsip_host_info dest;