|
|
|
|
@ -10,7 +10,7 @@ Subject: cfgt: route log
|
|
|
|
|
4 files changed, 62 insertions(+), 3 deletions(-)
|
|
|
|
|
|
|
|
|
|
diff --git a/src/modules/cfgt/cfgt_int.c b/src/modules/cfgt/cfgt_int.c
|
|
|
|
|
index 683b39f..9470783 100644
|
|
|
|
|
index ed29d29..21433a3 100644
|
|
|
|
|
--- a/src/modules/cfgt/cfgt_int.c
|
|
|
|
|
+++ b/src/modules/cfgt/cfgt_int.c
|
|
|
|
|
@@ -1,6 +1,6 @@
|
|
|
|
|
@ -37,7 +37,7 @@ index 683b39f..9470783 100644
|
|
|
|
|
int not_sip = 0;
|
|
|
|
|
|
|
|
|
|
int _cfgt_get_filename(int msgid, str uuid, str *dest, int *dir);
|
|
|
|
|
@@ -462,6 +464,7 @@ int _cfgt_set_dump(struct sip_msg *msg, cfgt_node_p node, str *flow)
|
|
|
|
|
@@ -463,6 +465,7 @@ int _cfgt_set_dump(struct sip_msg *msg, cfgt_node_p node, str *flow)
|
|
|
|
|
{
|
|
|
|
|
int len;
|
|
|
|
|
char v;
|
|
|
|
|
@ -45,7 +45,7 @@ index 683b39f..9470783 100644
|
|
|
|
|
srjson_t *f, *vars;
|
|
|
|
|
|
|
|
|
|
if(node == NULL || flow == NULL)
|
|
|
|
|
@@ -493,6 +496,17 @@ int _cfgt_set_dump(struct sip_msg *msg, cfgt_node_p node, str *flow)
|
|
|
|
|
@@ -494,6 +497,17 @@ int _cfgt_set_dump(struct sip_msg *msg, cfgt_node_p node, str *flow)
|
|
|
|
|
return -1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -63,7 +63,7 @@ index 683b39f..9470783 100644
|
|
|
|
|
f = srjson_CreateObject(&node->jdoc);
|
|
|
|
|
if(f == NULL) {
|
|
|
|
|
LM_ERR("cannot create json object\n");
|
|
|
|
|
@@ -505,6 +519,21 @@ int _cfgt_set_dump(struct sip_msg *msg, cfgt_node_p node, str *flow)
|
|
|
|
|
@@ -506,6 +520,21 @@ int _cfgt_set_dump(struct sip_msg *msg, cfgt_node_p node, str *flow)
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -85,7 +85,7 @@ index 683b39f..9470783 100644
|
|
|
|
|
void _cfgt_set_type(cfgt_str_list_p route, struct action *a)
|
|
|
|
|
{
|
|
|
|
|
switch(a->type) {
|
|
|
|
|
@@ -520,6 +549,8 @@ void _cfgt_set_type(cfgt_str_list_p route, struct action *a)
|
|
|
|
|
@@ -521,6 +550,8 @@ void _cfgt_set_type(cfgt_str_list_p route, struct action *a)
|
|
|
|
|
route->type = CFGT_DROP_E;
|
|
|
|
|
LM_DBG("set[%.*s]->CFGT_DROP_E\n", route->s.len, route->s.s);
|
|
|
|
|
}
|
|
|
|
|
@ -94,7 +94,7 @@ index 683b39f..9470783 100644
|
|
|
|
|
break;
|
|
|
|
|
case ROUTE_T:
|
|
|
|
|
route->type = CFGT_ROUTE;
|
|
|
|
|
@@ -534,6 +565,8 @@ void _cfgt_set_type(cfgt_str_list_p route, struct action *a)
|
|
|
|
|
@@ -535,6 +566,8 @@ void _cfgt_set_type(cfgt_str_list_p route, struct action *a)
|
|
|
|
|
LM_DBG("[%.*s] already set to CFGT_DROP_E[%d]\n", route->s.len,
|
|
|
|
|
route->s.s, a->type);
|
|
|
|
|
}
|
|
|
|
|
@ -103,7 +103,7 @@ index 683b39f..9470783 100644
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@@ -553,6 +586,7 @@ int _cfgt_add_routename(cfgt_node_p node, struct action *a, str *routename)
|
|
|
|
|
@@ -554,6 +587,7 @@ int _cfgt_add_routename(cfgt_node_p node, struct action *a, str *routename)
|
|
|
|
|
memset(node->route, 0, sizeof(cfgt_str_list_t));
|
|
|
|
|
node->flow_head = node->route;
|
|
|
|
|
node->route->type = CFGT_ROUTE;
|
|
|
|
|
@ -111,7 +111,7 @@ index 683b39f..9470783 100644
|
|
|
|
|
ret = 1;
|
|
|
|
|
} else {
|
|
|
|
|
LM_DBG("actual routename:[%.*s][%d]\n", node->route->s.len,
|
|
|
|
|
@@ -600,6 +634,7 @@ int _cfgt_add_routename(cfgt_node_p node, struct action *a, str *routename)
|
|
|
|
|
@@ -601,6 +635,7 @@ int _cfgt_add_routename(cfgt_node_p node, struct action *a, str *routename)
|
|
|
|
|
route->prev = node->route;
|
|
|
|
|
node->route->next = route;
|
|
|
|
|
node->route = route;
|
|
|
|
|
@ -119,7 +119,7 @@ index 683b39f..9470783 100644
|
|
|
|
|
_cfgt_set_type(node->route, a);
|
|
|
|
|
}
|
|
|
|
|
node->route->s.s = routename->s;
|
|
|
|
|
@@ -617,6 +652,8 @@ void _cfgt_del_routename(cfgt_node_p node)
|
|
|
|
|
@@ -618,6 +653,8 @@ void _cfgt_del_routename(cfgt_node_p node)
|
|
|
|
|
}
|
|
|
|
|
LM_DBG("del route[%.*s]\n", node->route->s.len, node->route->s.s);
|
|
|
|
|
node->route = node->route->prev;
|
|
|
|
|
|