Hello all
i'm having some errors sometimes and i'm not able to know why they happen i made a lua configuration script where i create some ESL sockets with several freeswitches (10) (around 500-600 sockets in total, depending on the number os children (8) and listen ips we have (5)), and i use the lua script to send some API to the FSW by a function. No matter what the FSW replies. i dont know why, but i think that having that conn:bgapi($command) in the lua script, makes the issue to happen. theorically, the lua script waits to receive the response from the fsw through the tcp socket, and after that the script continues (with an async_sleep command), but after the API sent, i see (only sometimes, few times) an async_sleep seem to fail when doing the t_continue with the following error
WARNING: tm [t_suspend.c:186]: t_continue(): transaction is not suspended [20748:225229907]
could it be posible that having manye ESL sockets opened in the kamailio server makes this to happen? how many async workers are needed? i have 8 right now is there a way where i can know or correlate the log to a $ci or something known?
best regards david
Hello,
On 04/10/16 13:57, david wrote:
Hello all
i'm having some errors sometimes and i'm not able to know why they happen i made a lua configuration script where i create some ESL sockets with several freeswitches (10) (around 500-600 sockets in total, depending on the number os children (8) and listen ips we have (5)), and i use the lua script to send some API to the FSW by a function. No matter what the FSW replies. i dont know why, but i think that having that conn:bgapi($command) in the lua script, makes the issue to happen. theorically, the lua script waits to receive the response from the fsw through the tcp socket, and after that the script continues (with an async_sleep command), but after the API sent, i see (only sometimes, few times) an async_sleep seem to fail when doing the t_continue with the following error
WARNING: tm [t_suspend.c:186]: t_continue(): transaction is not suspended [20748:225229907]
I think async_sleep() is doing t_continue() internally, are you doing it also in the config file or the error comes from inside the c code of async_sleep()?
What version of kamailio are you using?
Also, it's better to use async_route() instead of async_sleep().
could it be posible that having manye ESL sockets opened in the kamailio server makes this to happen? how many async workers are needed? i have 8 right now is there a way where i can know or correlate the log to a $ci or something known?
To get $ci in almost all logs (those that are printed when a sip message is processed), you can set the log_prefix core parameter:
- https://www.kamailio.org/wiki/cookbooks/4.4.x/core#log_prefix
Cheers, Daniel
hello Daniel
thanks for the response we are using 4.4.1. i will try to use async_route instead
i found making some tests that the error seems to happen when there is some delay in the connection with the FSW and we have a timeout, so it seems there is some relation with that timeout (with lua conn:bgapi it waits to receive an event) and having issue to do the t_suspend and t_continue.
best regards david
El jue, 06-10-2016 a las 12:01 +0200, Daniel-Constantin Mierla escribió:
Hello,
On 04/10/16 13:57, david wrote:
Hello all
i'm having some errors sometimes and i'm not able to know why they happen i made a lua configuration script where i create some ESL sockets with several freeswitches (10) (around 500-600 sockets in total, depending on the number os children (8) and listen ips we have (5)), and i use the lua script to send some API to the FSW by a function. No matter what the FSW replies. i dont know why, but i think that having that conn:bgapi($command) in the lua script, makes the issue to happen. theorically, the lua script waits to receive the response from the fsw through the tcp socket, and after that the script continues (with an async_sleep command), but after the API sent, i see (only sometimes, few times) an async_sleep seem to fail when doing the t_continue with the following error
WARNING: tm [t_suspend.c:186]: t_continue(): transaction is not suspended [20748:225229907]
I think async_sleep() is doing t_continue() internally, are you doing it also in the config file or the error comes from inside the c code of async_sleep()?
What version of kamailio are you using?
Also, it's better to use async_route() instead of async_sleep().
could it be posible that having manye ESL sockets opened in the kamailio server makes this to happen? how many async workers are needed? i have 8 right now is there a way where i can know or correlate the log to a $ci or something known?
To get $ci in almost all logs (those that are printed when a sip message is processed), you can set the log_prefix core parameter:
Cheers, Daniel
Hello,
On 07/10/16 11:06, david wrote:
hello Daniel
thanks for the response we are using 4.4.1. i will try to use async_route instead
i found making some tests that the error seems to happen when there is some delay in the connection with the FSW and we have a timeout, so it seems there is some relation with that timeout (with lua conn:bgapi it waits to receive an event) and having issue to do the t_suspend and t_continue.
you try to connect to FSW first and then do t_suspend()?
Cheers, Daniel
best regards david
El jue, 06-10-2016 a las 12:01 +0200, Daniel-Constantin Mierla escribió:
Hello,
On 04/10/16 13:57, david wrote:
Hello all
i'm having some errors sometimes and i'm not able to know why they
happen
i made a lua configuration script where i create some ESL sockets with several freeswitches (10) (around 500-600 sockets in total, depending on the number os children (8) and listen ips we have (5)), and i use the lua script to send some API to the FSW by a function. No matter what the FSW replies. i dont know why, but i think that having that conn:bgapi($command) in the lua script, makes the issue to happen. theorically, the lua script waits to receive the response from the fsw through the tcp socket, and after that the script continues (with an async_sleep command), but after the API sent, i see (only sometimes, few times) an async_sleep seem to fail when doing the t_continue with the following error
WARNING: tm [t_suspend.c:186]: t_continue(): transaction is not suspended [20748:225229907]
I think async_sleep() is doing t_continue() internally, are you doing it also in the config file or the error comes from inside the c code of async_sleep()?
What version of kamailio are you using?
Also, it's better to use async_route() instead of async_sleep().
could it be posible that having manye ESL sockets opened in the kamailio server makes this to happen? how many async workers are needed? i have 8 right now is there a way where i can know or correlate the log to a $ci or something known?
To get $ci in almost all logs (those that are printed when a sip message is processed), you can set the log_prefix core parameter:
Cheers, Daniel