From: David J. Pryke Date: Tue, 19 Sep 2017 14:34:01 +0000 (-0400) Subject: chan_sip: Expose read-only access to the full SIP INVITE Request-URI X-Git-Tag: 14.7.0-rc1~43^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=060cea2cca4f4c8c3497c1d6e6da41aafa39a03d;p=thirdparty%2Fasterisk.git chan_sip: Expose read-only access to the full SIP INVITE Request-URI Provide a way to get the contents of the the Request URI from the initial SIP INVITE in dial plan function call. (In this case "${CHANNEL(ruri)}") ASTERISK-27278 Reported by: David J. Pryke Tested by: David J. Pryke Change-Id: I1dd4d6988eed1b6c98a9701e0e833a15ef0dac3e --- diff --git a/channels/sip/dialplan_functions.c b/channels/sip/dialplan_functions.c index e74e57ecf3..b9004c8d6b 100644 --- a/channels/sip/dialplan_functions.c +++ b/channels/sip/dialplan_functions.c @@ -41,6 +41,9 @@ R/O Get the URI from the Contact: header. + + R/O Get the Request-URI from the INVITE header. + R/O Get the useragent. @@ -164,6 +167,9 @@ int sip_acf_channel_read(struct ast_channel *chan, const char *funcname, char *p ast_copy_string(buf, p->from, buflen); } else if (!strcasecmp(args.param, "uri")) { ast_copy_string(buf, p->uri, buflen); + } else if (!strcasecmp(args.param, "ruri")) { + char *tmpruri = REQ_OFFSET_TO_STR(&p->initreq, rlpart2); + ast_copy_string(buf, tmpruri, buflen); } else if (!strcasecmp(args.param, "useragent")) { ast_copy_string(buf, p->useragent, buflen); } else if (!strcasecmp(args.param, "peername")) {