Module: kamailio
Branch: master
Commit: d802b57011ea7c90d8fcb80a3927fb54546b37d7
URL:
https://github.com/kamailio/kamailio/commit/d802b57011ea7c90d8fcb80a3927fb5…
Author: Mikko Lehto <mslehto(a)iki.fi>
Committer: Mikko Lehto <mslehto(a)iki.fi>
Date: 2015-08-20T13:08:04+03:00
modules/sipcapture: stores From and To domain part
---
Modified: modules/sipcapture/sipcapture.c
Modified: modules/sipcapture/sipcapture.h
---
Diff:
https://github.com/kamailio/kamailio/commit/d802b57011ea7c90d8fcb80a3927fb5…
Patch:
https://github.com/kamailio/kamailio/commit/d802b57011ea7c90d8fcb80a3927fb5…
---
diff --git a/modules/sipcapture/sipcapture.c b/modules/sipcapture/sipcapture.c
index 801849e..454efa6 100644
--- a/modules/sipcapture/sipcapture.c
+++ b/modules/sipcapture/sipcapture.c
@@ -92,7 +92,7 @@ MODULE_VERSION
#define TABLE_LEN 256
-#define NR_KEYS 37
+#define NR_KEYS 39
#define RTCP_NR_KEYS 12
/*multiple table mode*/
@@ -160,8 +160,10 @@ static str correlation_column =
str_init("correlation_id");
static str ruri_column = str_init("ruri");
static str ruri_user_column = str_init("ruri_user");
static str from_user_column = str_init("from_user");
+static str from_domain_column = str_init("from_domain");
static str from_tag_column = str_init("from_tag");
static str to_user_column = str_init("to_user");
+static str to_domain_column = str_init("to_domain");
static str to_tag_column = str_init("to_tag");
static str pid_user_column = str_init("pid_user");
static str contact_user_column = str_init("contact_user");
@@ -276,8 +278,10 @@ static param_export_t params[] = {
{"ruri_column", PARAM_STR, &ruri_column },
{"ruri_user_column", PARAM_STR, &ruri_user_column },
{"from_user_column", PARAM_STR, &from_user_column },
+ {"from_domain_column", PARAM_STR, &from_domain_column },
{"from_tag_column", PARAM_STR, &from_tag_column },
{"to_user_column", PARAM_STR, &to_user_column },
+ {"to_domain_column", PARAM_STR, &to_domain_column },
{"to_tag_column", PARAM_STR, &to_tag_column },
{"pid_user_column", PARAM_STR, &pid_user_column },
{"contact_user_column", PARAM_STR, &contact_user_column },
@@ -1397,16 +1401,26 @@ static int sip_capture_store(struct _sipcapture_object *sco, str
*dtable, _captu
db_vals[35].type = DB1_STR;
db_vals[35].nul = 0;
db_vals[35].val.str_val = (correlation_id) ? corrtmp : sco->callid;
-
- db_keys[36] = &msg_column;
- db_vals[36].type = DB1_BLOB;
+
+ db_keys[36] = &from_domain_column;
+ db_vals[36].type = DB1_STR;
db_vals[36].nul = 0;
+ db_vals[36].val.str_val = sco->from_domain;
+
+ db_keys[37] = &to_domain_column;
+ db_vals[37].type = DB1_STR;
+ db_vals[37].nul = 0;
+ db_vals[37].val.str_val = sco->to_domain;
+
+ db_keys[38] = &msg_column;
+ db_vals[38].type = DB1_BLOB;
+ db_vals[38].nul = 0;
/*we don't have empty spaces now */
tmp.s = sco->msg.s;
tmp.len = sco->msg.len;
- db_vals[36].val.blob_val = tmp;
+ db_vals[38].val.blob_val = tmp;
if (dtable){
table = dtable;
@@ -1572,10 +1586,12 @@ static int sip_capture(struct sip_msg *msg, str *_table,
_capture_mode_data_t *
}
sco.from_user = from.user;
- sco.from_tag = get_from(msg)->tag_value;
+ sco.from_domain = from.host;
+ sco.from_tag = get_from(msg)->tag_value;
}
else {
EMPTY_STR(sco.from_user);
+ EMPTY_STR(sco.from_domain);
EMPTY_STR(sco.from_tag);
}
@@ -1588,12 +1604,14 @@ static int sip_capture(struct sip_msg *msg, str *_table,
_capture_mode_data_t *
}
sco.to_user = to.user;
- if(get_to(msg)->tag_value.len)
- sco.to_tag = get_to(msg)->tag_value;
+ sco.to_domain = to.host;
+ if(get_to(msg)->tag_value.len)
+ sco.to_tag = get_to(msg)->tag_value;
else { EMPTY_STR(sco.to_tag); }
}
else {
EMPTY_STR(sco.to_user);
+ EMPTY_STR(sco.to_domain);
EMPTY_STR(sco.to_tag);
}
diff --git a/modules/sipcapture/sipcapture.h b/modules/sipcapture/sipcapture.h
index 47b1f4c..f939eb0 100644
--- a/modules/sipcapture/sipcapture.h
+++ b/modules/sipcapture/sipcapture.h
@@ -30,8 +30,10 @@ struct _sipcapture_object {
str ruri;
str ruri_user;
str from_user;
+ str from_domain;
str from_tag;
str to_user;
+ str to_domain;
str to_tag;
str pid_user;
str contact_user;