diff options
author | Matt Jordan <mjordan@digium.com> | 2015-09-05 18:43:50 -0500 |
---|---|---|
committer | Gerrit Code Review <gerrit2@gerrit.digium.api> | 2015-09-05 18:43:50 -0500 |
commit | b16c7ef0ed969c53accbf560234156eabe7b84e1 (patch) | |
tree | a9ca651ed503afa65865c763f68a6ec0d5d1fdfa | |
parent | e1c43223ab31549cf5cdb95a67b60c1430c38088 (diff) | |
parent | 86b02228f514982a962b572c7baf43ffb617299b (diff) |
Merge "channels/pjsip/dialplan_functions: Add an option for extracting the SIP call-id"
-rw-r--r-- | CHANGES | 12 | ||||
-rw-r--r-- | channels/pjsip/dialplan_functions.c | 5 |
2 files changed, 17 insertions, 0 deletions
@@ -177,6 +177,18 @@ cdr_adaptive_odbc names. This setting is configurable for cdr_adaptive_odbc via the quoted_identifiers in configuration file cdr_adaptive_odbc.conf. + +------------------------------------------------------------------------------ +--- Functionality changes from Asterisk 13.5.0 to Asterisk 13.6.0 ------------ +------------------------------------------------------------------------------ + +Dialplan Functions +------------------ + * The CHANNEL function, when used on a PJSIP channel, now exposes a 'call-id' + extraction option when using with the 'pjsip' signalling option. It will + return the SIP Call-ID associated with the INVITE request that established + the PJSIP channel. + ------------------------------------------------------------------------------ --- Functionality changes from Asterisk 13.4.0 to Asterisk 13.5.0 ------------ ------------------------------------------------------------------------------ diff --git a/channels/pjsip/dialplan_functions.c b/channels/pjsip/dialplan_functions.c index 24daac8dc..b86cfad53 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; |