]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Be more tolerant of what URI we accept for call completion PUBLISH requests.
authorMark Michelson <mmichelson@digium.com>
Thu, 10 Mar 2011 15:17:04 +0000 (15:17 +0000)
committerMark Michelson <mmichelson@digium.com>
Thu, 10 Mar 2011 15:17:04 +0000 (15:17 +0000)
(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

index 49a78cb5ab4c29e523c33e54216d5286e376ab55..7186d87d87d87e330af4887fdd4b45617430d536 100644 (file)
@@ -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;