From 0c4cc3b0ce1912f1b1f754e1adc392a69d257a2f Mon Sep 17 00:00:00 2001 From: "Kevin P. Fleming" Date: Fri, 19 May 2006 19:39:55 +0000 Subject: [PATCH] use the specified 'subscribecontext' for a peer rather than the context found via the target domain (domain contexts are for calls, not for subscriptions) (issue #7122, reported by raarts) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@28794 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 6c4091c165..f3d93f52ad 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -10823,13 +10823,17 @@ static int handle_request_subscribe(struct sip_pvt *p, struct sip_request *req, } return 0; } - /* Initialize the context if it hasn't been already */ + gotdest = get_destination(p, NULL); + /* Initialize the context if it hasn't been already; + note this is done _after_ handling any domain lookups, + because the context specified there is for calls, not + subscriptions + */ if (!ast_strlen_zero(p->subscribecontext)) ast_copy_string(p->context, p->subscribecontext, sizeof(p->context)); else if (ast_strlen_zero(p->context)) strcpy(p->context, default_context); /* Get destination right away */ - gotdest = get_destination(p, NULL); build_contact(p); if (gotdest) { if (gotdest < 0) -- 2.47.2