[asterisk-commits] file: trunk r369847 - /trunk/channels/chan_sip.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Mon Jul 9 14:51:41 CDT 2012
Author: file
Date: Mon Jul 9 14:51:37 2012
New Revision: 369847
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=369847
Log:
Add support for exposing the received contact URI and also for setting the request URI in messages.
(closes issue AST-911)
Modified:
trunk/channels/chan_sip.c
Modified: trunk/channels/chan_sip.c
URL: http://svnview.digium.com/svn/asterisk/trunk/channels/chan_sip.c?view=diff&rev=369847&r1=369846&r2=369847
==============================================================================
--- trunk/channels/chan_sip.c (original)
+++ trunk/channels/chan_sip.c Mon Jul 9 14:51:37 2012
@@ -17347,6 +17347,7 @@
char *from;
char *to;
char from_name[50];
+ char stripped[SIPBUFSIZE];
if (strncmp(content_type, "text/plain", strlen("text/plain"))) { /* No text/plain attachment */
transmit_response(p, "415 Unsupported Media Type", req); /* Good enough, or? */
@@ -17499,6 +17500,9 @@
if (!ast_strlen_zero(p->peername)) {
res |= ast_msg_set_var(msg, "SIP_PEERNAME", p->peername);
}
+
+ ast_copy_string(stripped, sip_get_header(req, "Contact"), sizeof(stripped));
+ res |= ast_msg_set_var(msg, "SIP_FULLCONTACT", get_in_brackets(stripped));
res |= ast_msg_set_exten(msg, "%s", p->exten);
res |= set_message_vars_from_req(msg, req);
@@ -25468,6 +25472,7 @@
"CSeq",
"Allow",
"Content-Length",
+ "Request-URI",
};
for (idx = 0; idx < ARRAY_LEN(hdr); ++idx) {
@@ -25494,6 +25499,17 @@
if (!(pvt = sip_alloc(NULL, NULL, 0, SIP_MESSAGE, NULL, NULL))) {
return -1;
}
+
+ for (iter = ast_msg_var_iterator_init(msg);
+ ast_msg_var_iterator_next(msg, iter, &var, &val);
+ ast_msg_var_unref_current(iter)) {
+ if (!strcasecmp(var, "Request-URI")) {
+ ast_string_field_set(pvt, fullcontact, val);
+ ast_msg_var_unref_current(iter);
+ break;
+ }
+ }
+ ast_msg_var_iterator_destroy(iter);
to_uri = ast_strdupa(to);
to_uri = get_in_brackets(to_uri);
More information about the asterisk-commits
mailing list