Преглед изворни кода

app_python: extended kemi implementation to support routing function parameter

Daniel-Constantin Mierla пре 8 година
родитељ
комит
404e1e1de0
2 измењених фајлова са 12 додато и 4 уклоњено
  1. 10 3
      modules/app_python/apy_kemi.c
  2. 2 1
      modules/app_python/apy_kemi.h

+ 10 - 3
modules/app_python/apy_kemi.c

@@ -39,13 +39,19 @@
 /**
  *
  */
-int sr_kemi_config_engine_python(sip_msg_t *msg, int rtype, str *rname)
+int sr_kemi_config_engine_python(sip_msg_t *msg, int rtype, str *rname,
+		str *rparam)
 {
 	int ret;
 
 	ret = -1;
 	if(rtype==REQUEST_ROUTE) {
-		ret = apy_exec(msg, "ksr_request_route", NULL, 1);
+		if(rname!=NULL && rname->s!=NULL) {
+			ret = apy_exec(msg, rname->s,
+					(rparam && rparam->s)?rparam->s:NULL, 0);
+		} else {
+			ret = apy_exec(msg, "ksr_request_route", NULL, 1);
+		}
 	} else if(rtype==CORE_ONREPLY_ROUTE) {
 		ret = apy_exec(msg, "ksr_reply_route", NULL, 0);
 	} else if(rtype==BRANCH_ROUTE) {
@@ -68,7 +74,8 @@ int sr_kemi_config_engine_python(sip_msg_t *msg, int rtype, str *rname)
 		ret = apy_exec(msg, "ksr_onsend_route", NULL, 0);
 	} else if(rtype==EVENT_ROUTE) {
 		if(rname!=NULL && rname->s!=NULL) {
-			ret = apy_exec(msg, rname->s, NULL, 0);
+			ret = apy_exec(msg, rname->s,
+					(rparam && rparam->s)?rparam->s:NULL, 0);
 		}
 	} else {
 		if(rname!=NULL) {

+ 2 - 1
modules/app_python/apy_kemi.h

@@ -27,7 +27,8 @@
 
 int sr_apy_init_ksr(void);
 void sr_apy_destroy_ksr(void);
-int sr_kemi_config_engine_python(sip_msg_t *msg, int rtype, str *rname);
+int sr_kemi_config_engine_python(sip_msg_t *msg, int rtype, str *rname,
+		str *rparam);
 
 PyObject *sr_apy_kemi_exec_func(PyObject *self, PyObject *args, int idx);