diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index f8ae0961ae9f7d7b1dce75110071dccd7e3e0c09..cb66c7e08557cb71a91450777f7e4c8aba152414 100755
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -2017,6 +2017,9 @@ static struct ast_channel *sip_new(struct sip_pvt *i, int state, char *title)
 		if (!ast_strlen_zero(i->exten) && strcmp(i->exten, "s"))
 			tmp->cid.cid_dnid = strdup(i->exten);
 		tmp->priority = 1;
+		if (!ast_strlen_zero(i->uri)) {
+			pbx_builtin_setvar_helper(tmp, "SIPURI", i->uri);
+		}
 		if (!ast_strlen_zero(i->domain)) {
 			pbx_builtin_setvar_helper(tmp, "SIPDOMAIN", i->domain);
 		}