Merged revisions 310231 via svnmerge from
authorMark Michelson <mmichelson@digium.com>
Thu, 10 Mar 2011 15:28:55 +0000 (15:28 +0000)
committerMark Michelson <mmichelson@digium.com>
Thu, 10 Mar 2011 15:28:55 +0000 (15:28 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r310231 | mmichelson | 2011-03-10 09:17:04 -0600 (Thu, 10 Mar 2011) | 9 lines

  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/trunk@310238 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_sip.c

index 86c94bb..08f655d 100644 (file)
@@ -23178,7 +23178,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;
@@ -23191,7 +23191,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;