2
0
Эх сурвалжийг харах

tsilo: added use_domain parameter

Federico Cabiddu 10 жил өмнө
parent
commit
5ad2d87cae

+ 12 - 1
modules/tsilo/ts_append.c

@@ -41,12 +41,23 @@ int ts_append(struct sip_msg* msg, str *ruri, char *table) {
 	ts_urecord_t* _r;
 	ts_transaction_t* ptr;
 
+	struct sip_uri p_uri;
+	str *t_uri;
+
 	int res;
 	int appended;
 
 	lock_entry_by_ruri(ruri);
 
-	res = get_ts_urecord(ruri, &_r);
+	if (use_domain) {
+		t_uri = ruri;
+	}
+	else {
+		parse_uri(ruri->s, ruri->len, &p_uri);
+		t_uri = &p_uri.user;
+	}
+
+	res = get_ts_urecord(t_uri, &_r);
 
 	if (res != 0) {
 		LM_ERR("failed to retrieve record for %.*s\n", ruri->len, ruri->s);

+ 5 - 1
modules/tsilo/ts_store.c

@@ -65,7 +65,11 @@ int ts_store(struct sip_msg* msg, str *puri) {
 				suri.s);
 		return -1;
 	}
-	aor = suri;
+
+	if (use_domain)
+		aor = suri;
+	else
+		aor = ruri.user;
 
 	t = _tmb.t_gett();
 	if (!t || t==T_UNDEFINED) {

+ 2 - 0
modules/tsilo/tsilo.c

@@ -50,6 +50,7 @@ registrar_api_t _regapi;
 
 /** parameters */
 static int hash_size = 2048;
+int use_domain = 0;
 
 /** module functions */
 static int mod_init(void);
@@ -86,6 +87,7 @@ static cmd_export_t cmds[]={
 
 static param_export_t params[]={
 	{"hash_size",	INT_PARAM,	&hash_size},
+	{"use_domain",	INT_PARAM,	&use_domain},
 	{0,0,0}
 };
 

+ 1 - 0
modules/tsilo/tsilo.h

@@ -30,4 +30,5 @@ extern struct tm_binds _tmb;
 extern registrar_api_t _regapi;
 /** USRLOC BIND **/
 
+extern int use_domain;
 #endif