diff --git a/channels/sip/dialplan_functions.c b/channels/sip/dialplan_functions.c index 59e841df478453f61b3ef165ad2769f03e162062..36d4ea9e40c576d80f8dd0ed9fb87004ff0fbdbe 100644 --- a/channels/sip/dialplan_functions.c +++ b/channels/sip/dialplan_functions.c @@ -41,6 +41,9 @@ <enum name="uri"> <para>R/O Get the URI from the Contact: header.</para> </enum> + <enum name="ruri"> + <para>R/O Get the Request-URI from the INVITE header.</para> + </enum> <enum name="useragent"> <para>R/O Get the useragent.</para> </enum> @@ -162,6 +165,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")) {