From 65f95fee51d6241671f7643a77cc0edf7b8cc6ab Mon Sep 17 00:00:00 2001 From: Olle Johansson Date: Mon, 3 Apr 2006 20:22:21 +0000 Subject: [PATCH] Issue #6848 take two - Use the tag provided by the SUBSCRIBE request when sending NOTIFY git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@17147 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_sip.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 4b3095414a..0d939923ad 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -4825,12 +4825,16 @@ static void initreqprep(struct sip_request *req, struct sip_pvt *p, int sipmetho ast_copy_string(p->uri, invite_buf, sizeof(p->uri)); - /* If there is a VXML URL append it to the SIP URL */ - if (p->options && p->options->vxml_url) { + if (sipmethod == SIP_NOTIFY && !ast_strlen_zero(p->theirtag)) { + /* If this is a NOTIFY, use the From: tag in the subscribe (RFC 3265) */ + snprintf(to, sizeof(to), ";tag=%s", p->uri, p->theirtag); + } else if (p->options && p->options->vxml_url) { + /* If there is a VXML URL append it to the SIP URL */ snprintf(to, sizeof(to), "<%s>;%s", p->uri, p->options->vxml_url); } else { snprintf(to, sizeof(to), "<%s>", p->uri); } + memset(req, 0, sizeof(struct sip_request)); init_req(req, sipmethod, p->uri); snprintf(tmp, sizeof(tmp), "%d %s", ++p->ocseq, sip_methods[sipmethod].text);