浏览代码

core: execute callback functions for event SREV_RCV_NOSIP

- it is done only if parsing sip message fails
- reminder that the log level for core parsing error can be controlled
  with corelog global parameter
Daniel-Constantin Mierla 11 年之前
父节点
当前提交
6284b608f1
共有 1 个文件被更改,包括 4 次插入2 次删除
  1. 4 2
      receive.c

+ 4 - 2
receive.c

@@ -142,11 +142,13 @@ int receive_msg(char* buf, unsigned int len, struct receive_info* rcv_info)
 	if(likely(sr_msg_time==1)) msg_set_time(msg);
 
 	if (parse_msg(buf,len, msg)!=0){
-		LOG(cfg_get(core, core_cfg, corelog),
+		if(sr_event_exec(SREV_RCV_NOSIP, (void*)msg)!=0) {
+			LOG(cfg_get(core, core_cfg, corelog),
 				"core parsing of SIP message failed (%s:%d/%d)\n",
 				ip_addr2a(&msg->rcv.src_ip), (int)msg->rcv.src_port,
 				(int)msg->rcv.proto);
-		sr_core_ert_run(msg, SR_CORE_ERT_RECEIVE_PARSE_ERROR);
+			sr_core_ert_run(msg, SR_CORE_ERT_RECEIVE_PARSE_ERROR);
+		}
 		goto error02;
 	}
 	DBG("After parse_msg...\n");