diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 86c94bb26611a2d8e3564d9a2143d00c1e1b5ab4..08f655da92f07787f3207b63c768135e2deda29f 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -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;