Module: kamailio Branch: master Commit: 4ea9495681bca8e8eb559da1ff5887c524076f63 URL: https://github.com/kamailio/kamailio/commit/4ea9495681bca8e8eb559da1ff5887c524076f63
Author: Daniel-Constantin Mierla <[email protected]> Committer: Daniel-Constantin Mierla <[email protected]> Date: 2017-07-20T16:44:36+02:00 app_python: implemented the read of 5 or 6 kemi str parameters --- Modified: src/modules/app_python/apy_kemi.c --- Diff: https://github.com/kamailio/kamailio/commit/4ea9495681bca8e8eb559da1ff5887c524076f63.diff Patch: https://github.com/kamailio/kamailio/commit/4ea9495681bca8e8eb559da1ff5887c524076f63.patch --- diff --git a/src/modules/app_python/apy_kemi.c b/src/modules/app_python/apy_kemi.c index 0dd71c3448..72a98de4f2 100644 --- a/src/modules/app_python/apy_kemi.c +++ b/src/modules/app_python/apy_kemi.c @@ -350,12 +350,61 @@ PyObject *sr_apy_kemi_exec_func(PyObject *self, PyObject *args, int idx) } } else if(ket->ptypes[5]==SR_KEMIP_NONE) { i = 5; - LM_ERR("not implemented yet\n"); - return sr_kemi_apy_return_false(); + if(ket->ptypes[0]==SR_KEMIP_STR + || ket->ptypes[1]==SR_KEMIP_STR + || ket->ptypes[2]==SR_KEMIP_STR + || ket->ptypes[3]==SR_KEMIP_STR + || ket->ptypes[4]==SR_KEMIP_STR) { + if(!PyArg_ParseTuple(args, "sssss:kemi-param-sssss", + &vps[0].s.s, &vps[1].s.s, &vps[2].s.s, &vps[3].s.s, + &vps[4].s.s)) { + LM_ERR("unable to retrieve str-str-str-str params %d\n", i); + return sr_kemi_apy_return_false(); + } + vps[0].s.len = strlen(vps[0].s.s); + vps[1].s.len = strlen(vps[1].s.s); + vps[2].s.len = strlen(vps[2].s.s); + vps[3].s.len = strlen(vps[3].s.s); + vps[4].s.len = strlen(vps[4].s.s); + LM_DBG("params[%d] for: %.*s are str: [%.*s] [%.*s]" + " [%.*s] [%.*s] [%.*s]\n", i, + fname.len, fname.s, vps[0].s.len, vps[0].s.s, + vps[1].s.len, vps[1].s.s, vps[2].s.len, vps[2].s.s, + vps[3].s.len, vps[3].s.s, vps[4].s.len, vps[4].s.s); + } else { + LM_ERR("not implemented yet\n"); + return sr_kemi_apy_return_false(); + } } else { i = 6; - LM_ERR("not implemented yet\n"); - return sr_kemi_apy_return_false(); + if(ket->ptypes[0]==SR_KEMIP_STR + || ket->ptypes[1]==SR_KEMIP_STR + || ket->ptypes[2]==SR_KEMIP_STR + || ket->ptypes[3]==SR_KEMIP_STR + || ket->ptypes[4]==SR_KEMIP_STR + || ket->ptypes[5]==SR_KEMIP_STR) { + if(!PyArg_ParseTuple(args, "ssssss:kemi-param-ssssss", + &vps[0].s.s, &vps[1].s.s, &vps[2].s.s, &vps[3].s.s, + &vps[4].s.s, &vps[5].s.s)) { + LM_ERR("unable to retrieve str-str-str-str params %d\n", i); + return sr_kemi_apy_return_false(); + } + vps[0].s.len = strlen(vps[0].s.s); + vps[1].s.len = strlen(vps[1].s.s); + vps[2].s.len = strlen(vps[2].s.s); + vps[3].s.len = strlen(vps[3].s.s); + vps[4].s.len = strlen(vps[4].s.s); + vps[5].s.len = strlen(vps[5].s.s); + LM_DBG("params[%d] for: %.*s are str: [%.*s] [%.*s]" + " [%.*s] [%.*s] [%.*s] [%.*s]\n", i, + fname.len, fname.s, vps[0].s.len, vps[0].s.s, + vps[1].s.len, vps[1].s.s, vps[2].s.len, vps[2].s.s, + vps[3].s.len, vps[3].s.s, vps[4].s.len, vps[4].s.s, + vps[5].s.len, vps[5].s.s); + } else { + LM_ERR("not implemented yet\n"); + return sr_kemi_apy_return_false(); + } } switch(i) { _______________________________________________ Kamailio (SER) - Development Mailing List [email protected] https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
