Re: [sr-dev] [kamailio/kamailio] smsops: Add support for concatenated SMS in decode_3gpp_sms() (#1617)

2018-08-27 Thread Tsvetomir Dimitrov
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)

2018-08-27 Thread Surendra Tiwari
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)

2018-08-27 Thread Daniel-Constantin Mierla
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(...)

2018-08-27 Thread Daniel-Constantin Mierla
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

2018-08-27 Thread Daniel-Constantin Mierla
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

2018-08-27 Thread Daniel-Constantin Mierla
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

2018-08-27 Thread Daniel-Constantin Mierla
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(...)

2018-08-27 Thread Daniel-Constantin Mierla
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(...)

2018-08-27 Thread Daniel-Constantin Mierla
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