From d409098f0e416aff7a7a7373b217e84eaba40495 Mon Sep 17 00:00:00 2001 From: Mark Michelson Date: Thu, 10 Mar 2011 15:17:04 +0000 Subject: [PATCH] Be more tolerant of what URI we accept for call completion PUBLISH requests. (closes issue #18946) Reported by: GeorgeKonopacki Patches: 18946.patch uploaded by mmichelson (license 60) Tested by: GeorgeKonopacki git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@310231 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_sip.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 49a78cb5ab..7186d87d87 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -22863,7 +22863,7 @@ static int sip_pidf_validate(struct sip_request *req, struct ast_xml_doc **pidf_ static int cc_esc_publish_handler(struct sip_pvt *pvt, struct sip_request *req, struct event_state_compositor *esc, struct sip_esc_entry *esc_entry) { const char *uri = REQ_OFFSET_TO_STR(req, rlPart2); - struct ast_cc_agent *agent = find_sip_cc_agent_by_notify_uri(uri); + struct ast_cc_agent *agent; struct sip_cc_agent_pvt *agent_pvt; struct ast_xml_doc *pidf_doc = NULL; const char *basic_status = NULL; @@ -22876,7 +22876,7 @@ static int cc_esc_publish_handler(struct sip_pvt *pvt, struct sip_request *req, struct ast_xml_node *basic_node; int res = 0; - if (!agent) { + if (!((agent = find_sip_cc_agent_by_notify_uri(uri)) || (agent = find_sip_cc_agent_by_subscribe_uri(uri)))) { ast_log(LOG_WARNING, "Could not find agent using uri '%s'\n", uri); transmit_response(pvt, "412 Conditional Request Failed", req); return -1;