Re: [sr-dev] [kamailio/kamailio] smsops: Add support for concatenated SMS in decode_3gpp_sms() (#1617)
Hi @lasseo Sorry, but I haven't got a working SMSC routing script. I used dummy data only to fix the code. Tsvetomir -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/kamailio/kamailio/pull/1617#issuecomment-416208874___ Kamailio (SER) - Development Mailing List sr-dev@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
Re: [sr-dev] [kamailio/kamailio] Memory utilization getting increase with lua routing (#1577)
i did not get a chance to test. but surely i will test by end of week. will you please also conclude about using modular approach with kemi lua. https://github.com/sipgate/lua-kamailio/blob/master/src/kamailio/init.lua . -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/kamailio/kamailio/issues/1577#issuecomment-416195882___ Kamailio (SER) - Development Mailing List sr-dev@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
Re: [sr-dev] [kamailio/kamailio] Memory utilization getting increase with lua routing (#1577)
Any chance to test? I run few more tests and still no leak showed up. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/kamailio/kamailio/issues/1577#issuecomment-416187428___ Kamailio (SER) - Development Mailing List sr-dev@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
[sr-dev] git:master:453190fb: app_python: implemented KSR.pv.getvs(...) and KSR.pv.getvn(...)
Module: kamailio Branch: master Commit: 453190fb28c5e4f3190d54c59a4845cbf3e7cd75 URL: https://github.com/kamailio/kamailio/commit/453190fb28c5e4f3190d54c59a4845cbf3e7cd75 Author: Daniel-Constantin Mierla Committer: Daniel-Constantin Mierla Date: 2018-08-27T12:39:16+02:00 app_python: implemented KSR.pv.getvs(...) and KSR.pv.getvn(...) --- Modified: src/modules/app_python/apy_kemi.c --- Diff: https://github.com/kamailio/kamailio/commit/453190fb28c5e4f3190d54c59a4845cbf3e7cd75.diff Patch: https://github.com/kamailio/kamailio/commit/453190fb28c5e4f3190d54c59a4845cbf3e7cd75.patch --- diff --git a/src/modules/app_python/apy_kemi.c b/src/modules/app_python/apy_kemi.c index 13764664df..1de3b3b3fe 100644 --- a/src/modules/app_python/apy_kemi.c +++ b/src/modules/app_python/apy_kemi.c @@ -805,6 +805,106 @@ static PyObject *sr_apy_kemi_f_pv_gete(PyObject *self, PyObject *args) return sr_apy_kemi_f_pv_get_mode(self, args, "s:pv.gete", 2); } +/** + * + */ +static PyObject *sr_apy_kemi_pv_push_valx(int rmode, int xival, str *xsval) +{ + if(rmode==1) { + return sr_kemi_apy_return_int(NULL, xival); + } else { + return sr_apy_kemi_return_str(NULL, xsval->s, xsval->len); + } +} + +/** + * + */ +static PyObject *sr_apy_kemi_f_pv_get_valx(PyObject *self, PyObject *args, + int rmode) +{ + str pvn; + pv_spec_t *pvs; + pv_value_t val; + int pl; + sr_apy_env_t *env_P; + sip_msg_t *lmsg = NULL; + int xival = 0; + str xsval = str_init(""); + + env_P = sr_apy_env_get(); + + if(env_P==NULL) { + LM_ERR("invalid Python environment attributes\n"); + return sr_apy_kemi_return_none_mode(rmode); + } + if(env_P->msg==NULL) { + lmsg = faked_msg_next(); + } else { + lmsg = env_P->msg; + } + + memset(, 0, sizeof(pv_value_t)); + if(rmode==1) { + if(!PyArg_ParseTuple(args, "si:pv.getvn", , )) { + LM_ERR("unable to retrieve str-int params\n"); + return sr_apy_kemi_return_none_mode(rmode); + } + } else { + if(!PyArg_ParseTuple(args, "ss:pv.getvs", , )) { + LM_ERR("unable to retrieve str-int params\n"); + return sr_apy_kemi_return_none_mode(rmode); + } + } + + if(pvn.s==NULL || lmsg==NULL) { + LM_ERR("invalid context attributes\n"); + return sr_apy_kemi_pv_push_valx(rmode, xival, ); + } + val.flags |= PV_TYPE_INT|PV_VAL_INT; + pvn.len = strlen(pvn.s); + + LM_DBG("pv set: %s\n", pvn.s); + pl = pv_locate_name(); + if(pl != pvn.len) { + LM_ERR("invalid pv [%s] (%d/%d)\n", pvn.s, pl, pvn.len); + return sr_apy_kemi_pv_push_valx(rmode, xival, ); + } + pvs = pv_cache_get(); + if(pvs==NULL) { + LM_ERR("cannot get pv spec for [%s]\n", pvn.s); + return sr_apy_kemi_pv_push_valx(rmode, xival, ); + } + memset(, 0, sizeof(pv_value_t)); + if(pv_get_spec_value(lmsg, pvs, ) != 0) { + LM_ERR("unable to get pv value for [%s]\n", pvn.s); + return sr_apy_kemi_pv_push_valx(rmode, xival, ); + } + if(val.flags_VAL_NULL) { + return sr_apy_kemi_pv_push_valx(rmode, xival, ); + } + if(val.flags_TYPE_INT) { + return sr_kemi_apy_return_int(NULL, val.ri); + } + return sr_apy_kemi_return_str(NULL, val.rs.s, val.rs.len); +} + +/** + * + */ +static PyObject *sr_apy_kemi_f_pv_getvs(PyObject *self, PyObject *args) +{ + return sr_apy_kemi_f_pv_get_valx(self, args, 0); +} + +/** + * + */ +static PyObject *sr_apy_kemi_f_pv_getvn(PyObject *self, PyObject *args) +{ + return sr_apy_kemi_f_pv_get_valx(self, args, 1); +} + /** * */ @@ -1038,6 +1138,10 @@ static PyMethodDef _sr_apy_kemi_pv_Methods[] = { NAME " - pv get value"}, {"getw",sr_apy_kemi_f_pv_getw, METH_VARARGS, NAME " - pv get value or <>"}, + {"getvs", sr_apy_kemi_f_pv_getvs, METH_VARARGS, + NAME " - pv get value of pv or str val param"}, + {"getvn", sr_apy_kemi_f_pv_getvn, METH_VARARGS, + NAME " - pv get value of pv or int val param"}, {"gete",sr_apy_kemi_f_pv_gete, METH_VARARGS, NAME " - pv get value or empty string"}, {"seti",sr_apy_kemi_f_pv_seti, METH_VARARGS, ___ Kamailio (SER) - Development Mailing List sr-dev@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
[sr-dev] git:master:b7047205: app_lua: rmode 1 corresponds to int returned value
Module: kamailio Branch: master Commit: b7047205287a0fde12b3568bd0cd0425eeb68fcd URL: https://github.com/kamailio/kamailio/commit/b7047205287a0fde12b3568bd0cd0425eeb68fcd Author: Daniel-Constantin Mierla Committer: Daniel-Constantin Mierla Date: 2018-08-27T12:38:35+02:00 app_lua: rmode 1 corresponds to int returned value --- Modified: src/modules/app_lua/app_lua_sr.c --- Diff: https://github.com/kamailio/kamailio/commit/b7047205287a0fde12b3568bd0cd0425eeb68fcd.diff Patch: https://github.com/kamailio/kamailio/commit/b7047205287a0fde12b3568bd0cd0425eeb68fcd.patch --- diff --git a/src/modules/app_lua/app_lua_sr.c b/src/modules/app_lua/app_lua_sr.c index 165f43bf06..24ae3fb63e 100644 --- a/src/modules/app_lua/app_lua_sr.c +++ b/src/modules/app_lua/app_lua_sr.c @@ -906,9 +906,9 @@ static int lua_sr_pv_push_val_null (lua_State *L, int rmode) static int lua_sr_pv_push_valx (lua_State *L, int rmode, int vi, str *vs) { if(rmode==1) { - lua_pushlstring(L, vs->s, vs->len); - } else { lua_pushinteger(L, vi); + } else { + lua_pushlstring(L, vs->s, vs->len); } return 1; } ___ Kamailio (SER) - Development Mailing List sr-dev@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
[sr-dev] git:master:c1701cf3: app_python: give scan format to PyArg_ParseTuple() via param
Module: kamailio Branch: master Commit: c1701cf3e57adbf8448c414bfb8ba10426a69104 URL: https://github.com/kamailio/kamailio/commit/c1701cf3e57adbf8448c414bfb8ba10426a69104 Author: Daniel-Constantin Mierla Committer: Daniel-Constantin Mierla Date: 2018-08-27T12:18:47+02:00 app_python: give scan format to PyArg_ParseTuple() via param --- Modified: src/modules/app_python/apy_kemi.c --- Diff: https://github.com/kamailio/kamailio/commit/c1701cf3e57adbf8448c414bfb8ba10426a69104.diff Patch: https://github.com/kamailio/kamailio/commit/c1701cf3e57adbf8448c414bfb8ba10426a69104.patch --- diff --git a/src/modules/app_python/apy_kemi.c b/src/modules/app_python/apy_kemi.c index b40c042777..13764664df 100644 --- a/src/modules/app_python/apy_kemi.c +++ b/src/modules/app_python/apy_kemi.c @@ -723,7 +723,7 @@ PyObject *sr_apy_kemi_return_none_mode(int rmode) * */ static PyObject *sr_apy_kemi_f_pv_get_mode(PyObject *self, PyObject *args, - int rmode) + char *pfmt, int rmode) { str pvn; pv_spec_t *pvs; @@ -744,7 +744,7 @@ static PyObject *sr_apy_kemi_f_pv_get_mode(PyObject *self, PyObject *args, lmsg = env_P->msg; } - if(!PyArg_ParseTuple(args, "s:pv.get", )) { + if(!PyArg_ParseTuple(args, pfmt, )) { LM_ERR("unable to retrieve str param\n"); return sr_apy_kemi_return_none_mode(rmode); } @@ -786,7 +786,7 @@ static PyObject *sr_apy_kemi_f_pv_get_mode(PyObject *self, PyObject *args, */ static PyObject *sr_apy_kemi_f_pv_get(PyObject *self, PyObject *args) { - return sr_apy_kemi_f_pv_get_mode(self, args, 0); + return sr_apy_kemi_f_pv_get_mode(self, args, "s:pv.get", 0); } /** @@ -794,7 +794,7 @@ static PyObject *sr_apy_kemi_f_pv_get(PyObject *self, PyObject *args) */ static PyObject *sr_apy_kemi_f_pv_getw(PyObject *self, PyObject *args) { - return sr_apy_kemi_f_pv_get_mode(self, args, 1); + return sr_apy_kemi_f_pv_get_mode(self, args, "s:pv.getw", 1); } /** @@ -802,7 +802,7 @@ static PyObject *sr_apy_kemi_f_pv_getw(PyObject *self, PyObject *args) */ static PyObject *sr_apy_kemi_f_pv_gete(PyObject *self, PyObject *args) { - return sr_apy_kemi_f_pv_get_mode(self, args, 2); + return sr_apy_kemi_f_pv_get_mode(self, args, "s:pv.gete", 2); } /** ___ Kamailio (SER) - Development Mailing List sr-dev@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
[sr-dev] git:master:22749d33: app_python3: give scan format to PyArg_ParseTuple() via param
Module: kamailio Branch: master Commit: 22749d33e7d93422a69233a6fb0e60f2f2267c88 URL: https://github.com/kamailio/kamailio/commit/22749d33e7d93422a69233a6fb0e60f2f2267c88 Author: Daniel-Constantin Mierla Committer: Daniel-Constantin Mierla Date: 2018-08-27T12:16:58+02:00 app_python3: give scan format to PyArg_ParseTuple() via param --- Modified: src/modules/app_python3/apy_kemi.c --- Diff: https://github.com/kamailio/kamailio/commit/22749d33e7d93422a69233a6fb0e60f2f2267c88.diff Patch: https://github.com/kamailio/kamailio/commit/22749d33e7d93422a69233a6fb0e60f2f2267c88.patch --- diff --git a/src/modules/app_python3/apy_kemi.c b/src/modules/app_python3/apy_kemi.c index cc7dfa6ccf..69666e2d5e 100755 --- a/src/modules/app_python3/apy_kemi.c +++ b/src/modules/app_python3/apy_kemi.c @@ -746,7 +746,7 @@ PyObject *sr_apy_kemi_return_none_mode(int rmode) * */ static PyObject *sr_apy_kemi_f_pv_get_mode(PyObject *self, PyObject *args, - int rmode) + char *pfmt, int rmode) { str pvn; pv_spec_t *pvs; @@ -767,7 +767,7 @@ static PyObject *sr_apy_kemi_f_pv_get_mode(PyObject *self, PyObject *args, lmsg = env_P->msg; } - if(!PyArg_ParseTuple(args, "s:pv.get", )) { + if(!PyArg_ParseTuple(args, pfmt, )) { LM_ERR("unable to retrieve str param\n"); return sr_apy_kemi_return_none_mode(rmode); } @@ -809,7 +809,7 @@ static PyObject *sr_apy_kemi_f_pv_get_mode(PyObject *self, PyObject *args, */ static PyObject *sr_apy_kemi_f_pv_get(PyObject *self, PyObject *args) { - return sr_apy_kemi_f_pv_get_mode(self, args, 0); + return sr_apy_kemi_f_pv_get_mode(self, args, "s:pv.get", 0); } /** @@ -817,7 +817,7 @@ static PyObject *sr_apy_kemi_f_pv_get(PyObject *self, PyObject *args) */ static PyObject *sr_apy_kemi_f_pv_getw(PyObject *self, PyObject *args) { - return sr_apy_kemi_f_pv_get_mode(self, args, 1); + return sr_apy_kemi_f_pv_get_mode(self, args, "s:pv.getw", 1); } /** @@ -825,7 +825,7 @@ static PyObject *sr_apy_kemi_f_pv_getw(PyObject *self, PyObject *args) */ static PyObject *sr_apy_kemi_f_pv_gete(PyObject *self, PyObject *args) { - return sr_apy_kemi_f_pv_get_mode(self, args, 2); + return sr_apy_kemi_f_pv_get_mode(self, args, "s:pv.gete", 2); } /** ___ Kamailio (SER) - Development Mailing List sr-dev@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
[sr-dev] git:master:89c65fa3: app_sqlang: implemented KSR.pv.gete(...)
Module: kamailio Branch: master Commit: 89c65fa3210ab0682d4cb699d732ac1653ba0221 URL: https://github.com/kamailio/kamailio/commit/89c65fa3210ab0682d4cb699d732ac1653ba0221 Author: Daniel-Constantin Mierla Committer: Daniel-Constantin Mierla Date: 2018-08-27T10:47:34+02:00 app_sqlang: implemented KSR.pv.gete(...) --- Modified: src/modules/app_sqlang/app_sqlang_api.c --- Diff: https://github.com/kamailio/kamailio/commit/89c65fa3210ab0682d4cb699d732ac1653ba0221.diff Patch: https://github.com/kamailio/kamailio/commit/89c65fa3210ab0682d4cb699d732ac1653ba0221.patch --- diff --git a/src/modules/app_sqlang/app_sqlang_api.c b/src/modules/app_sqlang/app_sqlang_api.c index 0d4672c32b..1d4f60abd6 100644 --- a/src/modules/app_sqlang/app_sqlang_api.c +++ b/src/modules/app_sqlang/app_sqlang_api.c @@ -277,9 +277,12 @@ static int sqlang_gettype(HSQUIRRELVM J, int idx) */ static SQInteger sqlang_sr_get_str_null(HSQUIRRELVM J, int rmode) { - if(rmode) { + if(rmode==1) { sqlang_pushlstring(J, "<>", 8); return 1; + } else if(rmode==2) { + sqlang_pushlstring(J, "", 0); + return 1; } else { return 0; } @@ -347,6 +350,14 @@ static SQInteger sqlang_sr_pv_getw(HSQUIRRELVM J) return sqlang_sr_pv_get_mode(J, 1); } +/** + * + */ +static SQInteger sqlang_sr_pv_gete(HSQUIRRELVM J) +{ + return sqlang_sr_pv_get_mode(J, 2); +} + /** * */ @@ -538,6 +549,7 @@ static SQInteger sqlang_sr_pv_is_null (HSQUIRRELVM J) const SQRegFunction _sr_kemi_pv_J_Map[] = { { "get", sqlang_sr_pv_get, 2 /* 1 args */, NULL }, { "getw", sqlang_sr_pv_getw, 2 /* 1 args */, NULL }, + { "gete", sqlang_sr_pv_gete, 2 /* 1 args */, NULL }, { "seti", sqlang_sr_pv_seti, 3 /* 2 args */, NULL }, { "sets", sqlang_sr_pv_sets, 4 /* 2 args */, NULL }, { "unset", sqlang_sr_pv_unset, 2 /* 1 args */, NULL }, ___ Kamailio (SER) - Development Mailing List sr-dev@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
[sr-dev] git:master:de5561dd: app_ruby: implemented KSR.pv.gete(...)
Module: kamailio Branch: master Commit: de5561ddbf821348b76b6e2ed044f10a0cec017a URL: https://github.com/kamailio/kamailio/commit/de5561ddbf821348b76b6e2ed044f10a0cec017a Author: Daniel-Constantin Mierla Committer: Daniel-Constantin Mierla Date: 2018-08-27T10:43:39+02:00 app_ruby: implemented KSR.pv.gete(...) --- Modified: src/modules/app_ruby/app_ruby_api.c --- Diff: https://github.com/kamailio/kamailio/commit/de5561ddbf821348b76b6e2ed044f10a0cec017a.diff Patch: https://github.com/kamailio/kamailio/commit/de5561ddbf821348b76b6e2ed044f10a0cec017a.patch --- diff --git a/src/modules/app_ruby/app_ruby_api.c b/src/modules/app_ruby/app_ruby_api.c index 965c5e3c84..06d8cf2ce7 100644 --- a/src/modules/app_ruby/app_ruby_api.c +++ b/src/modules/app_ruby/app_ruby_api.c @@ -245,10 +245,12 @@ int sr_kemi_ruby_return_int(sr_kemi_t *ket, int rc) */ static VALUE sr_kemi_ruby_return_none(int rmode) { - if(rmode==0) { - return Qnil; + if(rmode==1) { + return rb_str_new_cstr("<>"); + } else if(rmode==2) { + return rb_str_new_cstr(""); } - return rb_str_new_cstr("<>"); + return Qnil; } /** @@ -320,6 +322,14 @@ static VALUE app_ruby_pv_getw(int argc, VALUE* argv, VALUE self) return app_ruby_pv_get_mode(argc, argv, self, 1); } +/** + * + */ +static VALUE app_ruby_pv_gete(int argc, VALUE* argv, VALUE self) +{ + return app_ruby_pv_get_mode(argc, argv, self, 2); +} + /** * */ @@ -549,6 +559,7 @@ static VALUE app_ruby_pv_is_null(int argc, VALUE* argv, VALUE self) static ksr_ruby_export_t _sr_kemi_pv_R_Map[] = { {"PV", "get", app_ruby_pv_get}, {"PV", "getw", app_ruby_pv_getw}, + {"PV", "gete", app_ruby_pv_gete}, {"PV", "seti", app_ruby_pv_seti}, {"PV", "sets", app_ruby_pv_sets}, {"PV", "unset", app_ruby_pv_unset}, ___ Kamailio (SER) - Development Mailing List sr-dev@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev