Module: kamailio Branch: master Commit: 9105398413b4f9fab410482d9ebf5d82b6c3fb0a URL: https://github.com/kamailio/kamailio/commit/9105398413b4f9fab410482d9ebf5d82...
Author: Sergey Safarov s.safarov@anycast-lb.net Committer: Daniel-Constantin Mierla miconda@gmail.com Date: 2025-06-06T16:08:44+02:00
core: tcp_send_timeout applied for outbound connections
---
Modified: src/core/tcp_main.c
---
Diff: https://github.com/kamailio/kamailio/commit/9105398413b4f9fab410482d9ebf5d82... Patch: https://github.com/kamailio/kamailio/commit/9105398413b4f9fab410482d9ebf5d82...
---
diff --git a/src/core/tcp_main.c b/src/core/tcp_main.c index 604102dcef6..369bfb1f159 100644 --- a/src/core/tcp_main.c +++ b/src/core/tcp_main.c @@ -352,6 +352,17 @@ static int init_sock_opt(int s, int af) } } #endif +#ifdef HAVE_TCP_USER_TIMEOUT + if((optval = TICKS_TO_S(cfg_get(tcp, tcp_cfg, send_timeout)))) { + optval *= 1000; + if(setsockopt(s, IPPROTO_TCP, TCP_USER_TIMEOUT, &optval, sizeof(optval)) + < 0) { + LM_WARN("failed to set TCP_USER_TIMEOUT: %s\n", strerror(errno)); + } else { + LM_DBG("Set TCP_USER_TIMEOUT=%d ms\n", optval); + } + } +#endif #ifdef HAVE_TCP_QUICKACK if(cfg_get(tcp, tcp_cfg, delayed_ack)) { optval = 0; /* reset quick ack => delayed ack */