浏览代码

modules/sipcapture: added customization for X-CID header.
thanks for the patch goes to Markus Monka <[email protected]>

Alexandr Dubovikov 12 年之前
父节点
当前提交
6433c3b1c2
共有 1 个文件被更改,包括 5 次插入3 次删除
  1. 5 3
      modules/sipcapture/sipcapture.c

+ 5 - 3
modules/sipcapture/sipcapture.c

@@ -155,6 +155,7 @@ static str node_column 		= str_init("node");
 static str msg_column 		= str_init("msg");   
 static str capture_node 	= str_init("homer01");     	
 static str star_contact		= str_init("*");
+static str callid_aleg_header   = str_init("X-CID");
 
 int raw_sock_desc = -1; /* raw socket used for ip packets */
 unsigned int raw_sock_children = 1;
@@ -277,6 +278,7 @@ static param_export_t params[] = {
 	{"raw_interface",     		STR_PARAM, &raw_interface.s   },
         {"promiscious_on",  		INT_PARAM, &promisc_on   },		
         {"raw_moni_bpf_on",  		INT_PARAM, &bpf_on   },		
+        {"callid_aleg_header",          STR_PARAM, &callid_aleg_header.s},
 	{0, 0, 0}
 };
 
@@ -459,6 +461,7 @@ static int mod_init(void) {
 	node_column.len = strlen(node_column.s);  
 	msg_column.len = strlen(msg_column.s);   
 	capture_node.len = strlen(capture_node.s);     	
+	callid_aleg_header.len = strlen(callid_aleg_header.s);
 	
 	if(raw_socket_listen.s) 
 		raw_socket_listen.len = strlen(raw_socket_listen.s);     	
@@ -1158,9 +1161,8 @@ static int sip_capture(struct sip_msg *msg, str *_table)
 	    }
         }
 
-	/* get header x-cid: */
-	/* callid_aleg X-CID */
-	if((tmphdr[0] = get_hdr_by_name(msg,"X-CID", 5)) != NULL) {
+	/* callid_aleg - default is X-CID but configurable via modul params */
+        if((tmphdr[0] = get_hdr_by_name(msg, callid_aleg_header.s, callid_aleg_header.len)) != NULL) {	
 		sco.callid_aleg = tmphdr[0]->body;
         }
 	else { EMPTY_STR(sco.callid_aleg);}