Re: [sr-dev] xflag losing state on serial forking

2021-04-09 Thread David Escartin
Dear all

Would you have any feedback about this query?

thanks a lot!
David Escartín

El jue, 11 feb 2021 a las 23:56, David Escartin ()
escribió:

> Hello
>
> seems with t_flush_xflags() after setxflag on failure_route, it makes it
> work. However i don't know if that should be the expected behaviour, since
> with regular transaction flags there is no need to use t_flush_flags()
>
> best regards
> david
>
> El mié, 10 feb 2021 a las 16:08, David Escartin ()
> escribió:
>
>> Dear all
>>
>> i think i have noticed a wrong behaviour with xflags. When they are set
>> in a failure_route and a t_relay is done after that to a destination, its
>> state is lost in the next on_reply route.
>> This doesn't happen with regular transaction flags, and it doesn't happen
>> with xflags either when xflag is set inside an onreply_route.
>> We have seen it on versions 5.3 and 5.4
>>
>> Could you please confirm this?
>> thanks a lot
>> regards
>> david escartin
>>
>> --
>> [image: Logo]
>>
>> David Escartín Almudévar
>> VoIP/Switch Engineer
>> descar...@sonoc.io
>>
>> *SONOC*
>> C/ Josefa Amar y Borbón, 10, 4ª · 50001 Zaragoza, España
>> Tlf: +34 917019888 · www.sonoc.io
>>
>
>
> --
> [image: Logo]
>
> David Escartín Almudévar
> VoIP/Switch Engineer
> descar...@sonoc.io
>
> *SONOC*
> C/ Josefa Amar y Borbón, 10, 4ª · 50001 Zaragoza, España
> Tlf: +34 917019888 · www.sonoc.io
>


-- 
[image: Logo]

David Escartín Almudévar
VoIP/Switch Engineer
descar...@sonoc.io

*SONOC*
C/ Josefa Amar y Borbón, 10, 4ª · 50001 Zaragoza, España
Tlf: +34 917019888 · www.sonoc.io
___
Kamailio (SER) - Development Mailing List
sr-dev@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev


Re: [sr-dev] issue using evapi module with evapi_relay

2021-02-26 Thread David Escartin
hello Daniel

related to this module, I had an issue this week on a different topic.
We have been testing this module with the application we made to write
events from kamailio to kafka, and it was working fine.
But the other day i tried to send messages to a damaged kafka cluster, so
the application got congested, and the socket between kamailio and the the
application had some issue.

I didn't see the buffer Send-Q increased in the socket from kamailio's
point of view, but i saw Recv-Q increased in the socket from application's
point of view
Proto Recv-Q Send-Q Local Address   Foreign Address State
PID/Program name Timer
tcp22802  0 APP_IP:40068  KAMAILIO_IP:8448  ESTABLISHED
128595/evapi_kafka   off (0.00/0/0)

and after a while of having timeouts trying to produce at kafka and having
the socket buffer congested, kamailio stopped to process any UDP message

Would you have any idea about the reason for this behaviour?
I would expect the evapi socket not to interfer with UDP receivers

thanks a lot and regards
david


El mar, 15 dic 2020 a las 15:05, David Escartin ()
escribió:

> Hello Daniel
>
> Thanks a lot for the feedback
> I tried the netstring option but since i had to reparse in the
> application, I finally didn't use it.
> But I will consider it since I will test the performance for heavy load
> during the next days.
>
> About the tcp_nodelay option, I remember I saw no frames with more than a
> message (Json object) relayed to evapi and sent out to the socket :$, but
> anycase, I removed that option and changed the application side.
>
> best regards
> david
>
> El vie, 11 dic 2020 a las 13:51, Daniel-Constantin Mierla (<
> mico...@gmail.com>) escribió:
>
>> Hello,
>>
>> tcp is a streaming protocol, it is the receiving application that has to
>> parse and split the stream content in logical messages from its point of
>> view. As you noticed, there can be socket options to enforce some sending
>> policy (wait or not wait for a specific amount of data to accumulate, not
>> to send too many small packets, but if it is too much in very short time,
>> it is no difference).
>>
>> As a side note, your patch below is setting the TCP_NODELAY to listen
>> socket, not to the socket associated with the client connection (returned
>> by accept()). I do not think is inherited by accept() from listen socket,
>> in such case practically your patch didn't make any difference in behaviour.
>>
>> The evapi module has the option (modparam) to serialize the packets in
>> netstring format, being easier to split the stream in messages and I would
>> recommend that mode for heavy traffic.
>>
>> At the end, we can introduce modparams for evapi to set TCP_NODELAY, it
>> can be useful to reduce delays when sending short data messages from time
>> to time, but it won't help in your case.
>>
>> Cheers,
>> Daniel
>> On 11.12.20 09:39, David Escartin wrote:
>>
>> Dear all
>>
>> seems the issue was not on the module or related to kamailio, but related
>> to the application we were using to read from tcp socket.
>> I saw that some messages sent with evapi_relay were encapsulated in the
>> same frame, and i even tried to force the TCP_NODELAY option on the evapi
>> socket by compiling the kamailio with this
>> --- a/src/modules/evapi/evapi_dispatch.c
>> +++ b/src/modules/evapi/evapi_dispatch.c
>> @@ -30,8 +30,8 @@
>>  #include 
>>  #include 
>>  #include 
>> -
>>  #include 
>> +#include 
>>
>>  #include "../../core/sr_module.h"
>>  #include "../../core/dprint.h"
>> @@ -690,6 +691,15 @@ int evapi_run_dispatcher(char *laddr, int lport)
>> freeaddrinfo(ai_res);
>> return -1;
>> }
>> +
>> +if(setsockopt(evapi_srv_sock, IPPROTO_TCP, TCP_NODELAY,
>> +   _true, sizeof(int)) < 0) {
>> +   LM_INFO("cannot set TCP_NODELAY option on descriptor\n");
>> +   close(evapi_srv_sock);
>> +   freeaddrinfo(ai_res);
>> +   return -1;
>> +   }
>> +
>>
>> if (bind(evapi_srv_sock, ai_res->ai_addr, ai_res->ai_addrlen) <
>> 0) {
>> LM_ERR("cannot bind to local address and port [%s:%d]\n",
>> laddr, lport);
>>
>> and i saw that with this change we had always a frame for each message
>> published to evapi, but the issue was still there.
>> So no matter if this option was activated or not in Kamailio, I had to
>> tune the application (in erlang) to delimit th

Re: [sr-dev] xflag losing state on serial forking

2021-02-11 Thread David Escartin
Hello

seems with t_flush_xflags() after setxflag on failure_route, it makes it
work. However i don't know if that should be the expected behaviour, since
with regular transaction flags there is no need to use t_flush_flags()

best regards
david

El mié, 10 feb 2021 a las 16:08, David Escartin ()
escribió:

> Dear all
>
> i think i have noticed a wrong behaviour with xflags. When they are set in
> a failure_route and a t_relay is done after that to a destination, its
> state is lost in the next on_reply route.
> This doesn't happen with regular transaction flags, and it doesn't happen
> with xflags either when xflag is set inside an onreply_route.
> We have seen it on versions 5.3 and 5.4
>
> Could you please confirm this?
> thanks a lot
> regards
> david escartin
>
> --
> [image: Logo]
>
> David Escartín Almudévar
> VoIP/Switch Engineer
> descar...@sonoc.io
>
> *SONOC*
> C/ Josefa Amar y Borbón, 10, 4ª · 50001 Zaragoza, España
> Tlf: +34 917019888 · www.sonoc.io
>


-- 
[image: Logo]

David Escartín Almudévar
VoIP/Switch Engineer
descar...@sonoc.io

*SONOC*
C/ Josefa Amar y Borbón, 10, 4ª · 50001 Zaragoza, España
Tlf: +34 917019888 · www.sonoc.io
___
Kamailio (SER) - Development Mailing List
sr-dev@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev


[sr-dev] xflag losing state on serial forking

2021-02-10 Thread David Escartin
Dear all

i think i have noticed a wrong behaviour with xflags. When they are set in
a failure_route and a t_relay is done after that to a destination, its
state is lost in the next on_reply route.
This doesn't happen with regular transaction flags, and it doesn't happen
with xflags either when xflag is set inside an onreply_route.
We have seen it on versions 5.3 and 5.4

Could you please confirm this?
thanks a lot
regards
david escartin

-- 
[image: Logo]

David Escartín Almudévar
VoIP/Switch Engineer
descar...@sonoc.io

*SONOC*
C/ Josefa Amar y Borbón, 10, 4ª · 50001 Zaragoza, España
Tlf: +34 917019888 · www.sonoc.io
___
Kamailio (SER) - Development Mailing List
sr-dev@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev


Re: [sr-dev] rtpengine_allow_op usage doubt

2021-02-05 Thread David Escartin
sorry i edit the previous message


since version 4.4 we are using this parameter to 1 to allow that ongoing
calls process their messages through a particular rtpengine when disabling
it manually from database.
But we see that enabling it also makes all the messages select the
rtpengine and attempt to send its own op command **when an rtpengine is
disabled because the socket or host is unreachable**. This is causing an
impact in cases where the rtpengine crashes (luckily not so often).

We have been doing some tests, and with this change


El vie, 5 feb 2021 a las 10:43, David Escartin ()
escribió:

> Dear all
>
> since version 4.4 we are using this parameter to 1 to allow that ongoing
> calls process their messages through a particular rtpengine when disabling
> it manually from database.
> But we see that enabling it also makes all the messages select the
> rtpengine and attempt to send its own op command. This is causing an impact
> in cases where the rtpengine crashes (luckily not so often).
>
> We have been doing some tests, and with this change
>
>  diff --git a/src/modules/rtpengine/rtpengine.c
>> b/src/modules/rtpengine/rtpengine.c
>> index 20df725d2e..2f6130c62a 100644
>> --- a/src/modules/rtpengine/rtpengine.c
>> +++ b/src/modules/rtpengine/rtpengine.c
>> @@ -3138,11 +3138,12 @@ select_rtpp_node(str callid, str viabranch, int
>> do_test, struct rtpp_node **quer
>> if (node->rn_recheck_ticks ==
>> RTPENGINE_MAX_RECHECK_TICKS) {
>> LM_DBG("node=%.*s for calllen=%d callid=%.*s is
>> disabled(permanent) (probably still UP)! Return it\n",
>> node->rn_url.len, node->rn_url.s,
>> callid.len, callid.len, callid.s);
>> +return node;
>> } else {
>> LM_DBG("node=%.*s for calllen=%d callid=%.*s is
>> disabled, either broke or timeout disabled! Return it\n",
>> node->rn_url.len, node->rn_url.s,
>> callid.len, callid.len, callid.s);
>> }
>> -   return node;
>> +   /*return node;*/
>> }
>>
>> return NULL;
>
>
> it would make to only use allow_op for manually disabled rtpengine nodes,
> and would make to not select the node and not try to send the rtpp command,
> so we would not have almost any impact in kamailio like timeouts and
> congestion, expect having messages not doing rtpengine in a call where
> others did.
>
> Do you think this change could make sense?
> Is there any reason for being like it is now?
>
> thanks a lot and regards
> david
>
> --
> [image: Logo]
>
> David Escartín Almudévar
> VoIP/Switch Engineer
> descar...@sonoc.io
>
> *SONOC*
> C/ Josefa Amar y Borbón, 10, 4ª · 50001 Zaragoza, España
> Tlf: +34 917019888 · www.sonoc.io
>


-- 
[image: Logo]

David Escartín Almudévar
VoIP/Switch Engineer
descar...@sonoc.io

*SONOC*
C/ Josefa Amar y Borbón, 10, 4ª · 50001 Zaragoza, España
Tlf: +34 917019888 · www.sonoc.io
___
Kamailio (SER) - Development Mailing List
sr-dev@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev


[sr-dev] rtpengine_allow_op usage doubt

2021-02-05 Thread David Escartin
Dear all

since version 4.4 we are using this parameter to 1 to allow that ongoing
calls process their messages through a particular rtpengine when disabling
it manually from database.
But we see that enabling it also makes all the messages select the
rtpengine and attempt to send its own op command. This is causing an impact
in cases where the rtpengine crashes (luckily not so often).

We have been doing some tests, and with this change

 diff --git a/src/modules/rtpengine/rtpengine.c
> b/src/modules/rtpengine/rtpengine.c
> index 20df725d2e..2f6130c62a 100644
> --- a/src/modules/rtpengine/rtpengine.c
> +++ b/src/modules/rtpengine/rtpengine.c
> @@ -3138,11 +3138,12 @@ select_rtpp_node(str callid, str viabranch, int
> do_test, struct rtpp_node **quer
> if (node->rn_recheck_ticks == RTPENGINE_MAX_RECHECK_TICKS)
> {
> LM_DBG("node=%.*s for calllen=%d callid=%.*s is
> disabled(permanent) (probably still UP)! Return it\n",
> node->rn_url.len, node->rn_url.s,
> callid.len, callid.len, callid.s);
> +return node;
> } else {
> LM_DBG("node=%.*s for calllen=%d callid=%.*s is
> disabled, either broke or timeout disabled! Return it\n",
> node->rn_url.len, node->rn_url.s,
> callid.len, callid.len, callid.s);
> }
> -   return node;
> +   /*return node;*/
> }
>
> return NULL;


it would make to only use allow_op for manually disabled rtpengine nodes,
and would make to not select the node and not try to send the rtpp command,
so we would not have almost any impact in kamailio like timeouts and
congestion, expect having messages not doing rtpengine in a call where
others did.

Do you think this change could make sense?
Is there any reason for being like it is now?

thanks a lot and regards
david

-- 
[image: Logo]

David Escartín Almudévar
VoIP/Switch Engineer
descar...@sonoc.io

*SONOC*
C/ Josefa Amar y Borbón, 10, 4ª · 50001 Zaragoza, España
Tlf: +34 917019888 · www.sonoc.io
___
Kamailio (SER) - Development Mailing List
sr-dev@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev


Re: [sr-dev] issue using evapi module with evapi_relay

2020-12-15 Thread David Escartin
Hello Daniel

Thanks a lot for the feedback
I tried the netstring option but since i had to reparse in the application,
I finally didn't use it.
But I will consider it since I will test the performance for heavy load
during the next days.

About the tcp_nodelay option, I remember I saw no frames with more than a
message (Json object) relayed to evapi and sent out to the socket :$, but
anycase, I removed that option and changed the application side.

best regards
david

El vie, 11 dic 2020 a las 13:51, Daniel-Constantin Mierla (<
mico...@gmail.com>) escribió:

> Hello,
>
> tcp is a streaming protocol, it is the receiving application that has to
> parse and split the stream content in logical messages from its point of
> view. As you noticed, there can be socket options to enforce some sending
> policy (wait or not wait for a specific amount of data to accumulate, not
> to send too many small packets, but if it is too much in very short time,
> it is no difference).
>
> As a side note, your patch below is setting the TCP_NODELAY to listen
> socket, not to the socket associated with the client connection (returned
> by accept()). I do not think is inherited by accept() from listen socket,
> in such case practically your patch didn't make any difference in behaviour.
>
> The evapi module has the option (modparam) to serialize the packets in
> netstring format, being easier to split the stream in messages and I would
> recommend that mode for heavy traffic.
>
> At the end, we can introduce modparams for evapi to set TCP_NODELAY, it
> can be useful to reduce delays when sending short data messages from time
> to time, but it won't help in your case.
>
> Cheers,
> Daniel
> On 11.12.20 09:39, David Escartin wrote:
>
> Dear all
>
> seems the issue was not on the module or related to kamailio, but related
> to the application we were using to read from tcp socket.
> I saw that some messages sent with evapi_relay were encapsulated in the
> same frame, and i even tried to force the TCP_NODELAY option on the evapi
> socket by compiling the kamailio with this
> --- a/src/modules/evapi/evapi_dispatch.c
> +++ b/src/modules/evapi/evapi_dispatch.c
> @@ -30,8 +30,8 @@
>  #include 
>  #include 
>  #include 
> -
>  #include 
> +#include 
>
>  #include "../../core/sr_module.h"
>  #include "../../core/dprint.h"
> @@ -690,6 +691,15 @@ int evapi_run_dispatcher(char *laddr, int lport)
> freeaddrinfo(ai_res);
> return -1;
> }
> +
> +if(setsockopt(evapi_srv_sock, IPPROTO_TCP, TCP_NODELAY,
> +   _true, sizeof(int)) < 0) {
> +   LM_INFO("cannot set TCP_NODELAY option on descriptor\n");
> +   close(evapi_srv_sock);
> +   freeaddrinfo(ai_res);
> +   return -1;
> +   }
> +
>
> if (bind(evapi_srv_sock, ai_res->ai_addr, ai_res->ai_addrlen) < 0)
> {
> LM_ERR("cannot bind to local address and port [%s:%d]\n",
> laddr, lport);
>
> and i saw that with this change we had always a frame for each message
> published to evapi, but the issue was still there.
> So no matter if this option was activated or not in Kamailio, I had to
> tune the application (in erlang) to delimit the messages received by
> converting them to line mode. This way we could reach up to 1000 processed
> messages per second.
>
> best regards
> david
>
>
>
> El lun, 30 nov 2020 a las 11:19, David Escartin ()
> escribió:
>
>> Dear all
>>
>> we have been testing this module with the following setup
>> kamailio 5.3.2
>> evapi params
>> modparam("evapi", "workers", 4)
>> modparam("evapi", "netstring_format", 0)
>> modparam("evapi", "bind_addr", "127.0.0.1:8448")
>> modparam("evapi", "max_clients", 32)
>>
>> then in the configuration we do evapi_relay of avp including a json data
>> (which can be quite long), like this
>> {"key" : "aarp2q0tcpqhs0cpucuhukjs2ah2j00q@10.18.5.64" , "msg" :
>> {"rg_in":"701","ani_init":{"ani_source":"pai", ... }}}
>>
>> We have an application listening on the tcp socket and writing those
>> messages to a kafka cluster, and this works ok, and in the previous manual
>> tests we have done no issue was found.
>> But when making some load tests, and passing some live traffic we see
>> some issues
>>
>> seems like some times, when there are messages to be sent to the tcp
>> socket at the same time, they are sent in the 

Re: [sr-dev] issue using evapi module with evapi_relay

2020-12-11 Thread David Escartin
Dear all

seems the issue was not on the module or related to kamailio, but related
to the application we were using to read from tcp socket.
I saw that some messages sent with evapi_relay were encapsulated in the
same frame, and i even tried to force the TCP_NODELAY option on the evapi
socket by compiling the kamailio with this
--- a/src/modules/evapi/evapi_dispatch.c
+++ b/src/modules/evapi/evapi_dispatch.c
@@ -30,8 +30,8 @@
 #include 
 #include 
 #include 
-
 #include 
+#include 

 #include "../../core/sr_module.h"
 #include "../../core/dprint.h"
@@ -690,6 +691,15 @@ int evapi_run_dispatcher(char *laddr, int lport)
freeaddrinfo(ai_res);
return -1;
}
+
+if(setsockopt(evapi_srv_sock, IPPROTO_TCP, TCP_NODELAY,
+   _true, sizeof(int)) < 0) {
+   LM_INFO("cannot set TCP_NODELAY option on descriptor\n");
+   close(evapi_srv_sock);
+   freeaddrinfo(ai_res);
+   return -1;
+   }
+

if (bind(evapi_srv_sock, ai_res->ai_addr, ai_res->ai_addrlen) < 0) {
LM_ERR("cannot bind to local address and port [%s:%d]\n",
laddr, lport);

and i saw that with this change we had always a frame for each message
published to evapi, but the issue was still there.
So no matter if this option was activated or not in Kamailio, I had to tune
the application (in erlang) to delimit the messages received by converting
them to line mode. This way we could reach up to 1000 processed messages
per second.

best regards
david



El lun, 30 nov 2020 a las 11:19, David Escartin ()
escribió:

> Dear all
>
> we have been testing this module with the following setup
> kamailio 5.3.2
> evapi params
> modparam("evapi", "workers", 4)
> modparam("evapi", "netstring_format", 0)
> modparam("evapi", "bind_addr", "127.0.0.1:8448")
> modparam("evapi", "max_clients", 32)
>
> then in the configuration we do evapi_relay of avp including a json data
> (which can be quite long), like this
> {"key" : "aarp2q0tcpqhs0cpucuhukjs2ah2j00q@10.18.5.64" , "msg" :
> {"rg_in":"701","ani_init":{"ani_source":"pai", ... }}}
>
> We have an application listening on the tcp socket and writing those
> messages to a kafka cluster, and this works ok, and in the previous manual
> tests we have done no issue was found.
> But when making some load tests, and passing some live traffic we see some
> issues
>
> seems like some times, when there are messages to be sent to the tcp
> socket at the same time, they are sent in the same message, when normally
> each data sent using evapi_relay is sent in 1 message
> We do sometimes see something like this on the application consuming from
> the tcp socket
> 2020-11-25 15:20:01.744 UTC [error]
> <0.706.0>@evapi_kafka_listener:handle_info:167 body "{\"key\" : \"
> 6142651aa63616c6c04a783cd@72.21.24.130\" , \"msg\" :
> {\"rg_in\":\"677\",\"ani_init\":{\"ani_source\":\"fro\",...}}}{\"key\"
> : \"isbc7caT4001915251VabcGhEfHdNiF0i@172.16.120.1\" , \"msg\" :
> {\"rg_in\":\"22\",\"ani_init\":{\"ani_source\":\"pai\", ...
> ,\"translate" not valid json; error = {691,invalid_trailing_data}
> 2020-11-25 15:20:01.745 UTC [error]
> <0.706.0>@evapi_kafka_listener:handle_info:167 body
> "dPartition\":\"-1\",..}}}" not valid json; error = {1,invalid_json}
>
> and we do see that the application cannot parse the json message fine,
> because we have like 2 json objects together
> ..{\"ani_source\":\"fro\",...}}}{\"key\" :
> \"isbc7caT4001915251Vabc
> This happens with 2 different UDP receivers processing messages and
> calling evapi_relay at the same time. But i don't think this happens all
> the time. Seems like some issue when several processes try to use evapi
> workers at the same time.
> We tried to increase evapi workers and it's the same
>
> We also saw another issue I think. Seems when the avp sent to evapi socket
> is bigger than ~1680 char, the json is also truncated, and also happens
> when we use the socket in Lo interface which has an MTU of 65535.
>
> Could you please take a look to see if there is any problem or limitation,
> or if we are using something wrong?
>
> thanks and best regards
> david
>
> --
> [image: Logo]
>
> David Escartín Almudévar
> VoIP/Switch Engineer
> descar...@sonoc.io
>
> *SONOC*
> C/ Josefa Amar y Borbón, 10, 4ª · 50001 Zaragoza, España
> Tlf: +34 917019888 · www.sonoc.io
>


-- 
[image: Logo]

David Escartín Almudévar
VoIP/Switch Engineer
descar...@sonoc.io

*SONOC*
C/ Josefa Amar y Borbón, 10, 4ª · 50001 Zaragoza, España
Tlf: +34 917019888 · www.sonoc.io
___
Kamailio (SER) - Development Mailing List
sr-dev@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev


[sr-dev] issue using evapi module with evapi_relay

2020-11-30 Thread David Escartin
Dear all

we have been testing this module with the following setup
kamailio 5.3.2
evapi params
modparam("evapi", "workers", 4)
modparam("evapi", "netstring_format", 0)
modparam("evapi", "bind_addr", "127.0.0.1:8448")
modparam("evapi", "max_clients", 32)

then in the configuration we do evapi_relay of avp including a json data
(which can be quite long), like this
{"key" : "aarp2q0tcpqhs0cpucuhukjs2ah2j00q@10.18.5.64" , "msg" :
{"rg_in":"701","ani_init":{"ani_source":"pai", ... }}}

We have an application listening on the tcp socket and writing those
messages to a kafka cluster, and this works ok, and in the previous manual
tests we have done no issue was found.
But when making some load tests, and passing some live traffic we see some
issues

seems like some times, when there are messages to be sent to the tcp socket
at the same time, they are sent in the same message, when normally each
data sent using evapi_relay is sent in 1 message
We do sometimes see something like this on the application consuming from
the tcp socket
2020-11-25 15:20:01.744 UTC [error]
<0.706.0>@evapi_kafka_listener:handle_info:167 body "{\"key\" : \"
6142651aa63616c6c04a783cd@72.21.24.130\" , \"msg\" :
{\"rg_in\":\"677\",\"ani_init\":{\"ani_source\":\"fro\",...}}}{\"key\"
: \"isbc7caT4001915251VabcGhEfHdNiF0i@172.16.120.1\" , \"msg\" :
{\"rg_in\":\"22\",\"ani_init\":{\"ani_source\":\"pai\", ...
,\"translate" not valid json; error = {691,invalid_trailing_data}
2020-11-25 15:20:01.745 UTC [error]
<0.706.0>@evapi_kafka_listener:handle_info:167 body
"dPartition\":\"-1\",..}}}" not valid json; error = {1,invalid_json}

and we do see that the application cannot parse the json message fine,
because we have like 2 json objects together
..{\"ani_source\":\"fro\",...}}}{\"key\" :
\"isbc7caT4001915251Vabc
This happens with 2 different UDP receivers processing messages and calling
evapi_relay at the same time. But i don't think this happens all the time.
Seems like some issue when several processes try to use evapi workers at
the same time.
We tried to increase evapi workers and it's the same

We also saw another issue I think. Seems when the avp sent to evapi socket
is bigger than ~1680 char, the json is also truncated, and also happens
when we use the socket in Lo interface which has an MTU of 65535.

Could you please take a look to see if there is any problem or limitation,
or if we are using something wrong?

thanks and best regards
david

-- 
[image: Logo]

David Escartín Almudévar
VoIP/Switch Engineer
descar...@sonoc.io

*SONOC*
C/ Josefa Amar y Borbón, 10, 4ª · 50001 Zaragoza, España
Tlf: +34 917019888 · www.sonoc.io
___
Kamailio (SER) - Development Mailing List
sr-dev@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev


Re: [sr-dev] dialog: reason behind not storing early state dialogs in db

2020-06-11 Thread David Escartin
Dear all

this would be related to one query we sent to sr-users some time ago?
https://lists.kamailio.org/pipermail/sr-users/2018-November/103842.html

we would also be interested in having the dialog structure to be written on
db_redis during early dialog, but it still was in a to do list according to
Daniel. This would great to be able to track and store the dialogs on a db
redis for HA.

thanks a lot and regards
david


El mié., 10 jun. 2020 a las 11:25, Henning Westerholt ()
escribió:

> Hi Victor,
>
> I guess it was done because of easier implementation and also DB load
> considerations.
>
> I planned to add functionality to make it configurable in git master it
> this week, as I also have the requirements in one of my projects.
>
> Cheers,
>
> Henning
>
> --
> Henning Westerholt – https://skalatan.de/blog/
> Kamailio services – https://gilawa.com
>
> -Original Message-
> From: sr-dev  On Behalf Of Victor Seva
> Sent: Wednesday, June 10, 2020 10:32 AM
> To: Kamailio Devel List 
> Subject: [sr-dev] dialog: reason behind not storing early state dialogs in
> db
>
> Hi,
>
> is there a known reason not to store early state dialogs in db?
>
> I have some logic relaying on event_route exported by dialog module and
> that logic breaks for non confirmed dialogs when a switch-over happens
> since those dialogs are not loaded from db.
>
> Thanks in advance,
> Victor
>
>
> ___
> Kamailio (SER) - Development Mailing List
> sr-dev@lists.kamailio.org
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
>
>
>
___
Kamailio (SER) - Development Mailing List
sr-dev@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev


Re: [sr-dev] possible bug on kemi dlg_ontimeout

2020-05-15 Thread David Escartin
Hello Daniel

thanks a lot

Regards
david

El lun., 6 abr. 2020 a las 13:22, Daniel-Constantin Mierla (<
mico...@gmail.com>) escribió:

> Hello,
>
> apparently it was not backported to 5.3, somehow I forgot about it. I just
> did it a few minutes ago.
>
> Cheers,
> Daniel
> On 06.04.20 10:49, David Escartin wrote:
>
> Dear Daniel
>
> hope everything is ok.
> Sorry if i missed something, but has been this patch already backported
> from master to 5.3 yet?
>
> thanks  alot and regards
> david
>
> El jue., 13 feb. 2020 a las 18:12, David Escartin ()
> escribió:
>
>> hello Daniel
>>
>> i have tried it and seems fine.
>>
>> thanks a lot and regards
>> david
>>
>> El jue., 13 feb. 2020 a las 17:13, Daniel-Constantin Mierla (<
>> mico...@gmail.com>) escribió:
>>
>>> Hello,
>>>
>>> indeed keeping route block index in unsigned it can create problems. I
>>> pushed a patch for it:
>>>
>>>   -
>>> https://github.com/kamailio/kamailio/commit/6c557efc1b9cb8c880a05235c94780bbaf305073
>>>
>>> Can you try and see if now works ok? If yes, it will be backported.
>>>
>>> Cheers,
>>> Daniel
>>>
>>>
>>> On 13.02.20 13:27, David Escartin wrote:
>>>
>>> Hello all
>>>
>>> Testing dialog timeout event callback for kemi lua setup on kamailio
>>> 5.4.0-dev3 (x86_64/linux) d74157-dirty, i had some problems to perform the
>>> dlg timeroute behaviour the same as we could on native version.
>>> If i used KSR.dialog.var_sets to set $dlg_ctx(timeout_route), I saw that
>>> on a dialog timeout, the dlg_ontimeout event route was not triggered, and
>>> only the dialog callback was executed with evname dialog:end.
>>> (only executing event_route -1 on state 5)
>>> So i'm guessing that the kemi dialog var_sets is for $dlg_var only (¿?)
>>> Anycase, If i used KSR.pv.sets, i saw the kamailio was crashing
>>> .
>>> 16(5579) DEBUG: dialog [dlg_hash.c:1013]: dlg_ref_helper(): ref dlg
>>> 0x7f9a961f5f90 with 1 -> 3
>>> 16(5579) DEBUG: dialog [dlg_handlers.c:1589]: dlg_ontimeout(): executing
>>> route -1 on timeout
>>> 22(5645) CRITICAL:  [core/pass_fd.c:277]: receive_fd(): EOF on 8
>>> 22(5645) DEBUG:  [core/tcp_main.c:3762]: handle_ser_child(): dead
>>> child 16, pid 5579 (shutting down?)
>>> 
>>> Adding some debug, i could see that the call was not attempting the kemi
>>> function of line 1598 of dlg_handlers.c, and was trying the code i think
>>> was for native on line 1593.
>>> We think the issue is that the toroute is defined as unsigned
>>> dlg_hash.h: unsigned int toroute; /*!< index of route that is
>>> executed on timeout */
>>> but after that when setting $dlg_ctx(timeout_route) with pv module, it
>>> tries to compare an integer being unsigned, so it's always true and never
>>> uses kemi
>>> with this change we made it work
>>> +   if ((int)(dlg->toroute) > 0) {
>>> +   /*if(dlg->toroute>0) {*/
>>> but i don't know maybe there is a better way to do it.
>>>
>>> best regards
>>> david
>>>
>>> ___
>>> Kamailio (SER) - Development Mailing 
>>> Listsr-dev@lists.kamailio.orghttps://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
>>>
>>> --
>>> Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- 
>>> www.linkedin.com/in/miconda
>>> Kamailio Advanced Training - March 9-11, 2020, Berlin - www.asipto.com
>>> Kamailio World Conference - April 27-29, 2020, in Berlin -- 
>>> www.kamailioworld.com
>>>
>>> --
> Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- 
> www.linkedin.com/in/miconda
>
>
___
Kamailio (SER) - Development Mailing List
sr-dev@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev


Re: [sr-dev] possible bug on kemi dlg_ontimeout

2020-04-06 Thread David Escartin
Dear Daniel

hope everything is ok.
Sorry if i missed something, but has been this patch already backported
from master to 5.3 yet?

thanks  alot and regards
david

El jue., 13 feb. 2020 a las 18:12, David Escartin ()
escribió:

> hello Daniel
>
> i have tried it and seems fine.
>
> thanks a lot and regards
> david
>
> El jue., 13 feb. 2020 a las 17:13, Daniel-Constantin Mierla (<
> mico...@gmail.com>) escribió:
>
>> Hello,
>>
>> indeed keeping route block index in unsigned it can create problems. I
>> pushed a patch for it:
>>
>>   -
>> https://github.com/kamailio/kamailio/commit/6c557efc1b9cb8c880a05235c94780bbaf305073
>>
>> Can you try and see if now works ok? If yes, it will be backported.
>>
>> Cheers,
>> Daniel
>>
>>
>> On 13.02.20 13:27, David Escartin wrote:
>>
>> Hello all
>>
>> Testing dialog timeout event callback for kemi lua setup on kamailio
>> 5.4.0-dev3 (x86_64/linux) d74157-dirty, i had some problems to perform the
>> dlg timeroute behaviour the same as we could on native version.
>> If i used KSR.dialog.var_sets to set $dlg_ctx(timeout_route), I saw that
>> on a dialog timeout, the dlg_ontimeout event route was not triggered, and
>> only the dialog callback was executed with evname dialog:end.
>> (only executing event_route -1 on state 5)
>> So i'm guessing that the kemi dialog var_sets is for $dlg_var only (¿?)
>> Anycase, If i used KSR.pv.sets, i saw the kamailio was crashing
>> .
>> 16(5579) DEBUG: dialog [dlg_hash.c:1013]: dlg_ref_helper(): ref dlg
>> 0x7f9a961f5f90 with 1 -> 3
>> 16(5579) DEBUG: dialog [dlg_handlers.c:1589]: dlg_ontimeout(): executing
>> route -1 on timeout
>> 22(5645) CRITICAL:  [core/pass_fd.c:277]: receive_fd(): EOF on 8
>> 22(5645) DEBUG:  [core/tcp_main.c:3762]: handle_ser_child(): dead
>> child 16, pid 5579 (shutting down?)
>> 
>> Adding some debug, i could see that the call was not attempting the kemi
>> function of line 1598 of dlg_handlers.c, and was trying the code i think
>> was for native on line 1593.
>> We think the issue is that the toroute is defined as unsigned
>> dlg_hash.h: unsigned int toroute; /*!< index of route that is
>> executed on timeout */
>> but after that when setting $dlg_ctx(timeout_route) with pv module, it
>> tries to compare an integer being unsigned, so it's always true and never
>> uses kemi
>> with this change we made it work
>> +   if ((int)(dlg->toroute) > 0) {
>> +   /*if(dlg->toroute>0) {*/
>> but i don't know maybe there is a better way to do it.
>>
>> best regards
>> david
>>
>> ___
>> Kamailio (SER) - Development Mailing 
>> Listsr-dev@lists.kamailio.orghttps://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
>>
>> --
>> Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- 
>> www.linkedin.com/in/miconda
>> Kamailio Advanced Training - March 9-11, 2020, Berlin - www.asipto.com
>> Kamailio World Conference - April 27-29, 2020, in Berlin -- 
>> www.kamailioworld.com
>>
>>
___
Kamailio (SER) - Development Mailing List
sr-dev@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev


[sr-dev] uac_replace_from rare behaviour

2020-03-03 Thread David Escartin
Hello all

we just noticed an issue using this function
when we call it with 2 params (display and uri) and the SIP INVITE comes
with a From uri like
sip:anonymous@anonymous.invalid; tag=13133439191609, without <> delimiters,
then doing the uac replace in the ACK we have

 2(14923) DEBUG: uac [replace.c:922]: replace_callback(): DOWNSTREAM
direction detected - replacing uri with the new uri
 2(14923) DEBUG: uac [replace.c:943]: replace_callback(): Replace [
sip:anonymous@anonymous.invalid] with ["14254350027"
sip:14254350027@1.1.18.171]
 2(14923) DEBUG: uac [replace.c:980]: replace_callback(): inserting display
["14254350027"]

And this is the From header replaced
From: sip:14254350027@1.1.18.171"14254350027" <>;tag=13133439191609

But if the call comes with a From header like
; tag=13133439191609
Then this is the From header replaced
 2(19741) DEBUG: uac [replace.c:922]: replace_callback(): DOWNSTREAM
direction detected - replacing uri with the new uri
 2(19741) DEBUG: uac [replace.c:943]: replace_callback(): Replace [
sip:1241342@1.1.18.171:5074] with ["14254350027" sip:14254350027@1.1.18.171]
 2(19741) DEBUG: uac [replace.c:980]: replace_callback(): inserting display
["14254350027"]


From: "14254350027" ;tag=13133439191609


Were you aware of this kind of behaviour? If possible we will look for a
patch for this.

thanks a lot and regards
david
___
Kamailio (SER) - Development Mailing List
sr-dev@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev


Re: [sr-dev] possible bug on kemi dlg_ontimeout

2020-02-13 Thread David Escartin
hello Daniel

i have tried it and seems fine.

thanks a lot and regards
david

El jue., 13 feb. 2020 a las 17:13, Daniel-Constantin Mierla (<
mico...@gmail.com>) escribió:

> Hello,
>
> indeed keeping route block index in unsigned it can create problems. I
> pushed a patch for it:
>
>   -
> https://github.com/kamailio/kamailio/commit/6c557efc1b9cb8c880a05235c94780bbaf305073
>
> Can you try and see if now works ok? If yes, it will be backported.
>
> Cheers,
> Daniel
>
>
> On 13.02.20 13:27, David Escartin wrote:
>
> Hello all
>
> Testing dialog timeout event callback for kemi lua setup on kamailio
> 5.4.0-dev3 (x86_64/linux) d74157-dirty, i had some problems to perform the
> dlg timeroute behaviour the same as we could on native version.
> If i used KSR.dialog.var_sets to set $dlg_ctx(timeout_route), I saw that
> on a dialog timeout, the dlg_ontimeout event route was not triggered, and
> only the dialog callback was executed with evname dialog:end.
> (only executing event_route -1 on state 5)
> So i'm guessing that the kemi dialog var_sets is for $dlg_var only (¿?)
> Anycase, If i used KSR.pv.sets, i saw the kamailio was crashing
> .
> 16(5579) DEBUG: dialog [dlg_hash.c:1013]: dlg_ref_helper(): ref dlg
> 0x7f9a961f5f90 with 1 -> 3
> 16(5579) DEBUG: dialog [dlg_handlers.c:1589]: dlg_ontimeout(): executing
> route -1 on timeout
> 22(5645) CRITICAL:  [core/pass_fd.c:277]: receive_fd(): EOF on 8
> 22(5645) DEBUG:  [core/tcp_main.c:3762]: handle_ser_child(): dead
> child 16, pid 5579 (shutting down?)
> 
> Adding some debug, i could see that the call was not attempting the kemi
> function of line 1598 of dlg_handlers.c, and was trying the code i think
> was for native on line 1593.
> We think the issue is that the toroute is defined as unsigned
> dlg_hash.h: unsigned int toroute; /*!< index of route that is
> executed on timeout */
> but after that when setting $dlg_ctx(timeout_route) with pv module, it
> tries to compare an integer being unsigned, so it's always true and never
> uses kemi
> with this change we made it work
> +   if ((int)(dlg->toroute) > 0) {
> +   /*if(dlg->toroute>0) {*/
> but i don't know maybe there is a better way to do it.
>
> best regards
> david
>
> ___
> Kamailio (SER) - Development Mailing 
> Listsr-dev@lists.kamailio.orghttps://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
>
> --
> Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- 
> www.linkedin.com/in/miconda
> Kamailio Advanced Training - March 9-11, 2020, Berlin - www.asipto.com
> Kamailio World Conference - April 27-29, 2020, in Berlin -- 
> www.kamailioworld.com
>
>
___
Kamailio (SER) - Development Mailing List
sr-dev@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev


[sr-dev] possible bug on kemi dlg_ontimeout

2020-02-13 Thread David Escartin
Hello all

Testing dialog timeout event callback for kemi lua setup on kamailio
5.4.0-dev3 (x86_64/linux) d74157-dirty, i had some problems to perform the
dlg timeroute behaviour the same as we could on native version.
If i used KSR.dialog.var_sets to set $dlg_ctx(timeout_route), I saw that on
a dialog timeout, the dlg_ontimeout event route was not triggered, and only
the dialog callback was executed with evname dialog:end. (only executing
event_route -1 on state 5)
So i'm guessing that the kemi dialog var_sets is for $dlg_var only (¿?)
Anycase, If i used KSR.pv.sets, i saw the kamailio was crashing
.
16(5579) DEBUG: dialog [dlg_hash.c:1013]: dlg_ref_helper(): ref dlg
0x7f9a961f5f90 with 1 -> 3
16(5579) DEBUG: dialog [dlg_handlers.c:1589]: dlg_ontimeout(): executing
route -1 on timeout
22(5645) CRITICAL:  [core/pass_fd.c:277]: receive_fd(): EOF on 8
22(5645) DEBUG:  [core/tcp_main.c:3762]: handle_ser_child(): dead
child 16, pid 5579 (shutting down?)

Adding some debug, i could see that the call was not attempting the kemi
function of line 1598 of dlg_handlers.c, and was trying the code i think
was for native on line 1593.
We think the issue is that the toroute is defined as unsigned
dlg_hash.h: unsigned int toroute; /*!< index of route that is
executed on timeout */
but after that when setting $dlg_ctx(timeout_route) with pv module, it
tries to compare an integer being unsigned, so it's always true and never
uses kemi
with this change we made it work
+   if ((int)(dlg->toroute) > 0) {
+   /*if(dlg->toroute>0) {*/
but i don't know maybe there is a better way to do it.

best regards
david
___
Kamailio (SER) - Development Mailing List
sr-dev@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev


Re: [sr-dev] some missing kemi module functions

2020-02-05 Thread David Escartin
Dear Daniel

i have been rewriting all the native configuration we have for a proxy to
kemi lua and i'm (i think) having it working fine, but i'm still missing
some functions to be migrated, some of those are not even working with
KSR.x.modf
Now i'm using version: kamailio 5.4.0-dev2 (x86_64/linux) f268aa

-be able to select facility on KSR.xlog, equivalent to xlog("LOG_LOCAL7",
"L_NOTICE", "$var(x)");
-sipt module functions
-dialog dlg_set_ruri function (maybe some others), this is now even working
with modf (ERROR: app_lua [app_lua_api.c:1633]: sr_kemi_lua_modf():
function 'dlg_set_ruri' is not available)
-tm t_relay_to_tcp

if you have any update about this function exportation, it would be great

best regards
david


El jue., 27 jun. 2019 a las 15:28, David Escartin ()
escribió:

> Hello Daniel
>
> thanks a lot for the feedback, ok i will try the hdr functions, i missed
> them in the documentation.
> About call_obj, yes, the commits were pushed today
>
> if i see something else i will let you know
>
> best regards
> david
>
>
>
> El jue., 27 jun. 2019 a las 14:50, Daniel-Constantin Mierla (<
> mico...@gmail.com>) escribió:
>
>> And the functions for dialog vars are in latest master branch, -dev5 is a
>> bit older, last one has -dev6. Fetch latest master branch and try again.
>>
>> On Thu, Jun 27, 2019 at 2:46 PM Daniel-Constantin Mierla <
>> mico...@gmail.com> wrote:
>>
>>> Hello,
>>> in short, all functions exported to native kamailio.cfg will be exported
>>> to KEMI if they don't have an (native) alternative in those scripting
>>> languages. If some are missing, that's because nobody did it so far for
>>> specific modules and maybe I missed some functions for modules that already
>>> have some exports to KEMI.
>>>
>>> Those from sdpops likely I missed them, I will export them. Then I am
>>> not sure why sipt was skipped, should be exported as well -- if nobody does
>>> it, I will do it sometime soon. For call_obj I already saw commits pushed
>>> to master. Variants of xlog functions could be missing, because was one of
>>> the first modules exported to KEMI, but with the commonly used (at least by
>>> me) functions, needed for testing, then probably I didn't approach again
>>> the module.
>>>
>>> Regarding the header operations, the remove, insert and append are
>>> exported via KSR.hdr submodule, not KSR.textops. It was how Lua had it in
>>> the previous version and when I started with KEMI, I worked on old lua
>>> module code. Maybe confusing a bit, anyhow the docs are at:
>>>   *
>>> https://kamailio.org/docs/tutorials/devel/kamailio-kemi-framework/core/#ksrhdr-submodule
>>>
>>> Cheers,
>>> Daniel
>>>
>>> On Thu, Jun 27, 2019 at 12:07 PM David Escartin 
>>> wrote:
>>>
>>>> hello all
>>>>
>>>> we are trying to rewrite our code to lua kemi, and we have found some
>>>> issues/questions until we would like to share with you.
>>>>
>>>> -module call_obj not exported, we have tested a patch for the module to
>>>> export the functions to kemi, which seems works fine
>>>>
>>>> -KSR.xlog.xinfo seems not able to select a facility as we currently can
>>>> like xlog("LOG_LOCAL7", "L_NOTICE", "$var()");
>>>>
>>>> -module sipt not exported yet, must use ksr.x.modf ? will be exported
>>>> for a future version?
>>>>
>>>> -on 5.3.0-dev5 we don't see the KSR.dialog.var_sets() and
>>>> KSR.dialog.var_get/e/w() functions in the code, so we do use KSR.pv
>>>> functions to set and retrieve those dialog vars. However i see them on
>>>> master branch. Which kamailio release would have them?
>>>>
>>>> -sdpops function sdp_with_codecs_by_name seems to not me exported, is
>>>> it on a todo list?
>>>>
>>>> -textops module, missing remove_hf and append_hf functions exported. We
>>>> already did a patch for the remove_hf, despite we could work with textopsx
>>>> remove_hf_value function to get the almost the same functionality.
>>>> However, with append_hf i'm having some more issues.
>>>> We cannot use modf to exec those funtions, we get something like
>>>> For ---> KSR.x.modf("append_hf", "User-Agent: test", "To");
>>>> I get something like > Jun 27 07:19:16 proxy-1
>>>> /usr/local/kamailio/sbin/kamailio[5525]: ERROR: a

Re: [sr-dev] some missing kemi module functions

2019-06-27 Thread David Escartin
Hello Daniel

thanks a lot for the feedback, ok i will try the hdr functions, i missed
them in the documentation.
About call_obj, yes, the commits were pushed today

if i see something else i will let you know

best regards
david



El jue., 27 jun. 2019 a las 14:50, Daniel-Constantin Mierla (<
mico...@gmail.com>) escribió:

> And the functions for dialog vars are in latest master branch, -dev5 is a
> bit older, last one has -dev6. Fetch latest master branch and try again.
>
> On Thu, Jun 27, 2019 at 2:46 PM Daniel-Constantin Mierla <
> mico...@gmail.com> wrote:
>
>> Hello,
>> in short, all functions exported to native kamailio.cfg will be exported
>> to KEMI if they don't have an (native) alternative in those scripting
>> languages. If some are missing, that's because nobody did it so far for
>> specific modules and maybe I missed some functions for modules that already
>> have some exports to KEMI.
>>
>> Those from sdpops likely I missed them, I will export them. Then I am not
>> sure why sipt was skipped, should be exported as well -- if nobody does it,
>> I will do it sometime soon. For call_obj I already saw commits pushed to
>> master. Variants of xlog functions could be missing, because was one of the
>> first modules exported to KEMI, but with the commonly used (at least by me)
>> functions, needed for testing, then probably I didn't approach again the
>> module.
>>
>> Regarding the header operations, the remove, insert and append are
>> exported via KSR.hdr submodule, not KSR.textops. It was how Lua had it in
>> the previous version and when I started with KEMI, I worked on old lua
>> module code. Maybe confusing a bit, anyhow the docs are at:
>>   *
>> https://kamailio.org/docs/tutorials/devel/kamailio-kemi-framework/core/#ksrhdr-submodule
>>
>> Cheers,
>> Daniel
>>
>> On Thu, Jun 27, 2019 at 12:07 PM David Escartin 
>> wrote:
>>
>>> hello all
>>>
>>> we are trying to rewrite our code to lua kemi, and we have found some
>>> issues/questions until we would like to share with you.
>>>
>>> -module call_obj not exported, we have tested a patch for the module to
>>> export the functions to kemi, which seems works fine
>>>
>>> -KSR.xlog.xinfo seems not able to select a facility as we currently can
>>> like xlog("LOG_LOCAL7", "L_NOTICE", "$var()");
>>>
>>> -module sipt not exported yet, must use ksr.x.modf ? will be exported
>>> for a future version?
>>>
>>> -on 5.3.0-dev5 we don't see the KSR.dialog.var_sets() and
>>> KSR.dialog.var_get/e/w() functions in the code, so we do use KSR.pv
>>> functions to set and retrieve those dialog vars. However i see them on
>>> master branch. Which kamailio release would have them?
>>>
>>> -sdpops function sdp_with_codecs_by_name seems to not me exported, is it
>>> on a todo list?
>>>
>>> -textops module, missing remove_hf and append_hf functions exported. We
>>> already did a patch for the remove_hf, despite we could work with textopsx
>>> remove_hf_value function to get the almost the same functionality.
>>> However, with append_hf i'm having some more issues.
>>> We cannot use modf to exec those funtions, we get something like
>>> For ---> KSR.x.modf("append_hf", "User-Agent: test", "To");
>>> I get something like > Jun 27 07:19:16 proxy-1
>>> /usr/local/kamailio/sbin/kamailio[5525]: ERROR: app_lua [app_lua_sr.c:188]:
>>> lua_sr_modf(): function 'append_hf' has fixup - cannot be used
>>>
>>> I could append a new header and not only at the end of the message by
>>> replacing a header called the same way, by doing something like
>>> KSR.textopsx.insert_hf_value("header", "value");
>>> KSR.textopsx.remove_hf_value("header[-1]");
>>>
>>> but i'm not able to insert a header after another different one like we
>>> can do with append_hf("header:value", "To") for instance.
>>> Is it expected to have it on a next commit those append_hf and remove_hf
>>> exported.
>>>
>>> Would we do a pull request with the ki_remove_hf we already have and the
>>> call_obj functions too? We can check to export append_hf too if it's not
>>> planned to be done
>>>
>>> thanks a lot and regards
>>> david
>>> ___
>>> Kamailio (SER) - Development Mailing List
>>> sr-dev@lists.kamailio.org
>>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
>>>
>>
>>
>> --
>> Daniel-Constantin Mierla - http://www.asipto.com
>> http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
>>
>
>
> --
> Daniel-Constantin Mierla - http://www.asipto.com
> http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
> ___
> Kamailio (SER) - Development Mailing List
> sr-dev@lists.kamailio.org
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
>
___
Kamailio (SER) - Development Mailing List
sr-dev@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev


[sr-dev] some missing kemi module functions

2019-06-27 Thread David Escartin
hello all

we are trying to rewrite our code to lua kemi, and we have found some
issues/questions until we would like to share with you.

-module call_obj not exported, we have tested a patch for the module to
export the functions to kemi, which seems works fine

-KSR.xlog.xinfo seems not able to select a facility as we currently can
like xlog("LOG_LOCAL7", "L_NOTICE", "$var()");

-module sipt not exported yet, must use ksr.x.modf ? will be exported for a
future version?

-on 5.3.0-dev5 we don't see the KSR.dialog.var_sets() and
KSR.dialog.var_get/e/w() functions in the code, so we do use KSR.pv
functions to set and retrieve those dialog vars. However i see them on
master branch. Which kamailio release would have them?

-sdpops function sdp_with_codecs_by_name seems to not me exported, is it on
a todo list?

-textops module, missing remove_hf and append_hf functions exported. We
already did a patch for the remove_hf, despite we could work with textopsx
remove_hf_value function to get the almost the same functionality.
However, with append_hf i'm having some more issues.
We cannot use modf to exec those funtions, we get something like
For ---> KSR.x.modf("append_hf", "User-Agent: test", "To");
I get something like > Jun 27 07:19:16 proxy-1
/usr/local/kamailio/sbin/kamailio[5525]: ERROR: app_lua [app_lua_sr.c:188]:
lua_sr_modf(): function 'append_hf' has fixup - cannot be used

I could append a new header and not only at the end of the message by
replacing a header called the same way, by doing something like
KSR.textopsx.insert_hf_value("header", "value");
KSR.textopsx.remove_hf_value("header[-1]");

but i'm not able to insert a header after another different one like we can
do with append_hf("header:value", "To") for instance.
Is it expected to have it on a next commit those append_hf and remove_hf
exported.

Would we do a pull request with the ki_remove_hf we already have and the
call_obj functions too? We can check to export append_hf too if it's not
planned to be done

thanks a lot and regards
david
___
Kamailio (SER) - Development Mailing List
sr-dev@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev