### Description
Cannot use `tcp_keepalive_enable` function on master branch.
#### Reproduction
Create config file like
```
listen=udp:127.0.0.1:5060
loadmodule "pv.so"
loadmodule "tcpops.so"
#modparam("http_client", "httpcon",
"http://example.com=>http://example.com");
request_route {
tcp_keepalive_enable("22", "60", "5", "2");
}
```
and then start Kamailio
#### Log Messages
```
[root@sbc-a0 config]# kamailio -ddd -DD -E -f /tmp/test.cfg
0(30164) INFO: <core> [main.c:2139]: main(): private (per process) memory: 8388608
bytes
0(30164) DEBUG: <core> [core/mem/q_malloc.c:199]: qm_malloc_init():
QM_OPTIMIZE=16384, /ROUNDTO=2048
0(30164) DEBUG: <core> [core/mem/q_malloc.c:201]: qm_malloc_init():
QM_HASH_SIZE=2099, qm_block size=235152
0(30164) DEBUG: <core> [core/mem/q_malloc.c:203]: qm_malloc_init():
qm_malloc_init(0xffff8d5c0010, 8388608), start=0xffff8d5c0010
0(30164) DEBUG: <core> [core/mem/q_malloc.c:212]: qm_malloc_init(): size= 8388608,
init_overhead=235256
0(30164) DEBUG: <core> [core/cfg.lex:1964]: pp_define(): defining id: KAMAILIO_5
0(30164) DEBUG: <core> [core/cfg.lex:1964]: pp_define(): defining id: KAMAILIO_5_6
0(30164) DEBUG: <core> [core/cfg.lex:1964]: pp_define(): defining id:
KAMAILIO_5_6_0
0(30164) DEBUG: <core> [core/route.c:129]: route_add(): mapping routing block
(0xa70d60)[0] to 0
0(30164) DEBUG: <core> [core/route.c:129]: route_add(): mapping routing block
(0xa70da0)[0] to 0
0(30164) DEBUG: <core> [core/route.c:129]: route_add(): mapping routing block
(0xa70d00)[0] to 0
0(30164) DEBUG: <core> [core/route.c:129]: route_add(): mapping routing block
(0xa70d40)[0] to 0
0(30164) DEBUG: <core> [core/route.c:129]: route_add(): mapping routing block
(0xa70d20)[0] to 0
0(30164) DEBUG: <core> [core/route.c:129]: route_add(): mapping routing block
(0xa70d80)[0] to 0
0(30164) DEBUG: <core> [core/pvapi.c:2146]: pv_init_buffer(): PV print buffer
initialized to [40][8192]
0(30164) DEBUG: <core> [main.c:2460]: main(): read 4025707099 from /dev/urandom
0(30164) DEBUG: <core> [main.c:2466]: main(): seeding PRNG with 1351243300
0(30164) DEBUG: <core> [core/rand/cryptorand.c:36]: cryptorand_seed(): seeding
cryptorand generator with 1351243300
0(30164) DEBUG: <core> [core/rand/fortuna/random.c:154]: system_reseed():
cryptographic PRNG reseed done with 32 bytes
0(30164) DEBUG: <core> [core/rand/fortuna/random.c:175]: sr_add_entropy():
additional 4 bytes entropy added to cryptographic PRNG
0(30164) DEBUG: <core> [main.c:2471]: main(): test random numbers 1639832327
574986100 3505011376 2068663732
0(30164) DEBUG: <core> [core/cfg.y:1860]: yyparse(): loading module pv.so
0(30164) DEBUG: <core> [core/sr_module.c:510]: ksr_locate_module(): found module to
load </usr/lib64/kamailio/modules/pv.so>
0(30164) DEBUG: <core> [core/sr_module.c:560]: load_module(): trying to load
</usr/lib64/kamailio/modules/pv.so>
0(30164) DEBUG: <core> [core/kemi.c:3062]: sr_kemi_modules_add(): adding core
module
0(30164) DEBUG: <core> [core/kemi.c:3066]: sr_kemi_modules_add(): adding pv module
0(30164) DEBUG: <core> [core/kemi.c:3070]: sr_kemi_modules_add(): adding hdr
module
0(30164) DEBUG: <core> [core/kemi.c:3084]: sr_kemi_modules_add(): adding module:
pvx
0(30164) DEBUG: <core> [core/sr_module.c:288]: register_module(): register PV from:
pv
0(30164) DEBUG: <core> [core/cfg.lex:1964]: pp_define(): defining id: MOD_pv
0(30164) DEBUG: <core> [core/cfg.y:1860]: yyparse(): loading module tcpops.so
0(30164) DEBUG: <core> [core/sr_module.c:510]: ksr_locate_module(): found module to
load </usr/lib64/kamailio/modules/tcpops.so>
0(30164) DEBUG: <core> [core/sr_module.c:560]: load_module(): trying to load
</usr/lib64/kamailio/modules/tcpops.so>
0(30164) DEBUG: <core> [core/kemi.c:3084]: sr_kemi_modules_add(): adding module:
tcpops
0(30164) DEBUG: <core> [core/sr_module.c:288]: register_module(): register PV from:
tcpops
0(30164) DEBUG: <core> [core/cfg.lex:1964]: pp_define(): defining id: MOD_tcpops
0(30164) DEBUG: <core> [core/route_struct.c:128]: mk_action(): ACTION type24,
i/count 0/2: type 9(9)/ data (nil)
0(30164) DEBUG: <core> [core/route_struct.c:128]: mk_action(): ACTION type24,
i/count 1/2: type 3(3)/ data (nil)
0(30164) DEBUG: <core> [core/sr_module.c:710]: find_mod_export_record(): found
export of <tcp_keepalive_enable> in module tcpops
[/usr/lib64/kamailio/modules/tcpops.so]
0(30164) DEBUG: <core> [core/mem/shm.c:100]: shm_core_pools_init(): preparing to
initialize shm core pools
0(30164) DEBUG: <core> [core/mem/q_malloc.c:199]: qm_malloc_init():
QM_OPTIMIZE=16384, /ROUNDTO=2048
0(30164) DEBUG: <core> [core/mem/q_malloc.c:201]: qm_malloc_init():
QM_HASH_SIZE=2099, qm_block size=235152
0(30164) DEBUG: <core> [core/mem/q_malloc.c:203]: qm_malloc_init():
qm_malloc_init(0xffff89470000, 67108864), start=0xffff89470000
0(30164) DEBUG: <core> [core/mem/q_malloc.c:212]: qm_malloc_init(): size= 67108864,
init_overhead=235256
0(30164) DEBUG: <core> [core/ppcfg.c:233]: pp_ifdef_level_check(): same number of
pairing preprocessor directives #!IF[N]DEF - #!ENDIF
0(30164) DEBUG: <core> [core/route.c:129]: route_add(): mapping routing block
(0xa70d80)[core:receive-parse-error] to 1
0(30164) INFO: <core> [core/sctp_core.c:74]: sctp_core_check_support(): SCTP API
not enabled - if you want to use it, load sctp module
0(30164) DEBUG: <core> [core/name_alias.h:62]: grep_aliases(): matching
(1:localhost.localdomain:5060) vs. (1:localhost:5060)
0(30164) DEBUG: <core> [core/name_alias.h:62]: grep_aliases(): matching
(1:localhost4:5060) vs. (1:localhost.localdomain:5060)
0(30164) DEBUG: <core> [core/name_alias.h:62]: grep_aliases(): matching
(1:localhost4:5060) vs. (1:localhost:5060)
0(30164) DEBUG: <core> [core/name_alias.h:62]: grep_aliases(): matching
(1:localhost4.localdomain4:5060) vs. (1:localhost4:5060)
0(30164) DEBUG: <core> [core/name_alias.h:62]: grep_aliases(): matching
(1:localhost4.localdomain4:5060) vs. (1:localhost.localdomain:5060)
0(30164) DEBUG: <core> [core/name_alias.h:62]: grep_aliases(): matching
(1:localhost4.localdomain4:5060) vs. (1:localhost:5060)
Listening on
udp: 127.0.0.1:5060
Aliases:
udp: localhost4.localdomain4:5060
udp: localhost4:5060
udp: localhost.localdomain:5060
udp: localhost:5060
0(30164) DEBUG: <core> [core/mem/pkg.c:108]: pkg_print_manager(): pkg - using
memory manager: q_malloc
0(30164) DEBUG: <core> [core/mem/shm.c:300]: shm_print_manager(): shm - using
memory manager: q_malloc
0(30164) DEBUG: <core> [core/cfg/cfg.c:173]: cfg_declare(): new config group has
been registered: 'core' (num=57, size=228)
0(30164) DEBUG: <core> [core/cfg/cfg.c:173]: cfg_declare(): new config group has
been registered: 'tcp' (num=27, size=108)
0(30164) DEBUG: <core> [core/timer.c:239]: init_timer(): starting with
*ticks=1894875476
0(30164) DEBUG: <core> [core/timer.c:280]: init_timer(): timer_list between
0xffff894a9fd8 and 0xffff894edfd8
0(30164) DEBUG: <core> [core/pt.c:139]: register_procs(): registering new
processes: 0 (old) + 1 (new) = 1 (total)
0(30164) INFO: <core> [core/tcp_main.c:4983]: init_tcp(): using epoll_lt as the io
watch method (auto detected)
0(30164) DEBUG: <core> [core/daemonize.c:207]: enable_dumpable(): trying enable
core dumping...
0(30164) DEBUG: <core> [core/daemonize.c:224]: enable_dumpable(): core dumping is
enabled now (1)...
0(30164) DEBUG: <core> [core/daemonize.c:583]: set_core_dump(): core dump limits
set to 18446744073709551615
0(30164) DEBUG: <core> [core/async_task.c:137]: async_task_init(): start
initializing asynk task framework
0(30164) DEBUG: <core> [core/sr_module.c:931]: init_mod(): pv
0(30164) DEBUG: <core> [core/sr_module.c:931]: init_mod(): tcpops
0(30164) DEBUG: tcpops [tcpops_mod.c:137]: mod_init(): TCP keepalive module loaded.
0(30164) DEBUG: <core> [core/route.c:129]: route_add(): mapping routing block
(0xa70d80)[tcp:closed] to 2
0(30164) DEBUG: <core> [core/route.c:129]: route_add(): mapping routing block
(0xa70d80)[tcp:timeout] to 3
0(30164) DEBUG: <core> [core/route.c:129]: route_add(): mapping routing block
(0xa70d80)[tcp:reset] to 4
0(30164) DEBUG: <core> [core/pt.c:100]: init_pt(): registering new processes: 1
(old) + 12 (new) = 13 (total)
0(30164) INFO: <core> [main.c:3030]: main(): processes (at least): 13 - shm size:
67108864 - pkg size: 8388608
0(30164) DEBUG: <core> [core/route.c:885]: fix_actions(): fixing
tcp_keepalive_enable()
0(30164) ERROR: <core> [core/route.c:1166]: fix_actions(): fixing failed (code=-1)
at cfg:/tmp/test.cfg:9
error -1 while trying to fix configuration
0(30164) DEBUG: <core> [core/sr_module.c:823]: destroy_modules(): starting modules
destroy phase
0(30164) DEBUG: tcpops [tcpops_mod.c:171]: mod_destroy(): TCP keepalive module unloaded.
0(30164) INFO: <core> [core/sctp_core.c:53]: sctp_core_destroy(): SCTP API not
initialized
0(30164) DEBUG: <core> [core/mem/shm.c:288]: shm_destroy_manager(): destroying
memory manager: q_malloc
0(30164) DEBUG: <core> [core/mem/q_malloc.c:1186]: qm_shm_lock_destroy():
destroying the shared memory lock
0(30164) DEBUG: <core> [core/mem/pkg.c:97]: pkg_destroy_manager(): destroying
memory manager: q_malloc
```
### Additional Information
current master on CentOS8
--
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/2730