Module: kamailio
Branch: master
Commit: c309e808683b8597233e9f0a6b7672d9613546c9
URL: 
https://github.com/kamailio/kamailio/commit/c309e808683b8597233e9f0a6b7672d9613546c9

Author: Daniel-Constantin Mierla <[email protected]>
Committer: Daniel-Constantin Mierla <[email protected]>
Date: 2026-03-09T10:56:10+01:00

evapi: added parameter to set send task timeout

---

Modified: src/modules/evapi/evapi_dispatch.c
Modified: src/modules/evapi/evapi_dispatch.h
Modified: src/modules/evapi/evapi_mod.c

---

Diff:  
https://github.com/kamailio/kamailio/commit/c309e808683b8597233e9f0a6b7672d9613546c9.diff
Patch: 
https://github.com/kamailio/kamailio/commit/c309e808683b8597233e9f0a6b7672d9613546c9.patch

---

diff --git a/src/modules/evapi/evapi_dispatch.c 
b/src/modules/evapi/evapi_dispatch.c
index e7723b34462..c6802a4989f 100644
--- a/src/modules/evapi/evapi_dispatch.c
+++ b/src/modules/evapi/evapi_dispatch.c
@@ -54,6 +54,7 @@ extern int _evapi_dispatcher_pid;
 extern int _evapi_max_clients;
 extern int _evapi_wait_idle;
 extern int _evapi_wait_increase;
+extern int _evapi_send_task_timeout;
 
 #define EVAPI_IPADDR_SIZE 64
 #define EVAPI_TAG_SIZE 64
@@ -950,8 +951,10 @@ int _evapi_relay(str *evdata, str *ctag, int unicast)
        LM_DBG("sending [%p] [%.*s] (%d)\n", (void *)emsg, emsg->data.len,
                        emsg->data.s, emsg->data.len);
        if(_evapi_notify_sockets[1] != -1) {
-               tv.tv_sec = EAVPI_SEND_TASK_TIMEOUT_US / 1000000;
-               tv.tv_usec = EAVPI_SEND_TASK_TIMEOUT_US % 1000000;
+               if(_evapi_send_task_timeout > 0) {
+                       tv.tv_sec = _evapi_send_task_timeout / 1000000;
+                       tv.tv_usec = _evapi_send_task_timeout % 1000000;
+               }
                setsockopt(_evapi_notify_sockets[1], SOL_SOCKET, SO_SNDTIMEO, 
&tv,
                                sizeof(struct timeval));
                len = write(_evapi_notify_sockets[1], &emsg, sizeof(evapi_msg_t 
*));
diff --git a/src/modules/evapi/evapi_dispatch.h 
b/src/modules/evapi/evapi_dispatch.h
index 875a0d1c1cc..6e393facad1 100644
--- a/src/modules/evapi/evapi_dispatch.h
+++ b/src/modules/evapi/evapi_dispatch.h
@@ -25,7 +25,7 @@
 
 #include "../../core/pvar.h"
 
-#define EAVPI_SEND_TASK_TIMEOUT_US 200000
+#define EAVPI_SEND_TASK_TIMEOUT_US 0
 #define EAVPI_SEND_DATA_TIMEOUT_US 500000
 
 int evapi_init_notify_sockets(void);
diff --git a/src/modules/evapi/evapi_mod.c b/src/modules/evapi/evapi_mod.c
index 8b25d5b2b1e..30b27e0b883 100644
--- a/src/modules/evapi/evapi_mod.c
+++ b/src/modules/evapi/evapi_mod.c
@@ -55,6 +55,7 @@ int _evapi_dispatcher_pid = -1;
 int _evapi_max_clients = 8;
 int _evapi_wait_idle = 500000;
 int _evapi_wait_increase = 3;
+int _evapi_send_task_timeout = EAVPI_SEND_TASK_TIMEOUT_US;
 
 static str _evapi_data = STR_NULL;
 static int _evapi_data_size = 0;
@@ -97,7 +98,9 @@ static param_export_t params[] = {
        {"event_callback", PARAM_STR, &_evapi_event_callback},
        {"max_clients", PARAM_INT, &_evapi_max_clients},
        {"wait_idle", PARAM_INT, &_evapi_wait_idle},
-       {"wait_increase", PARAM_INT, &_evapi_wait_increase}, {0, 0, 0}
+       {"wait_increase", PARAM_INT, &_evapi_wait_increase},
+       {"send_task_timeout", PARAM_INT, &_evapi_send_task_timeout},
+       {0, 0, 0}
 };
 
 static pv_export_t mod_pvs[] = {

_______________________________________________
Kamailio - Development Mailing List -- [email protected]
To unsubscribe send an email to [email protected]
Important: keep the mailing list in the recipients, do not reply only to the 
sender!

Reply via email to