### 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=%3Ehttp://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
revert of 12fca1c369b6698cace66de171dcb166be8ae831 commit fixes issue
Can you try with 02240711239149e2f5c4890a70ab158d10fa8187?
Closed #2730.
tested, issue fixed on master.