Hi,
are you sure the Kamailio tls module is on your system? Check the module path for tls.so like this or if you have build it from source? rpm -ql kamailio-tls /usr/lib64/kamailio/modules/auth_identity.so /usr/lib64/kamailio/modules/tls.so /usr/lib64/kamailio/openssl_mutex_shared /usr/lib64/kamailio/openssl_mutex_shared/openssl_mutex_shared.so /usr/share/doc/kamailio/modules/README.auth_identity /usr/share/doc/kamailio/modules/README.tls Christopher Vincent <c...@redwoodtech.com> schrieb am Fr., 18. März 2022, 12:37: > Hi, > > > > Kamailio / RTPEngine was set up on CentOS 8 running SIP to SIPS and RTP to > SDES SRTP conversion. This worked as expected > > > > Attempted to duplicate the setup on RHEL but errors were seen. These > errors were present on both RHEL 7 / RHEL 8. > > > > The errors seen were as below > > > > kamailio -c > > loading modules under config path: /usr/lib64/kamailio/modules/ > > 0(9165) ERROR: tls [tls_init.c:611]: tls_pre_init(): Unable to set the > memory allocation functions > > 0(9165) ERROR: tls [tls_init.c:613]: tls_pre_init(): libssl current mem > functions - m: 0x7f7a77c367a0 r: 0x7f7a77c367f0 f: 0x7f7a77c36770 > > 0(9165) ERROR: tls [tls_init.c:615]: tls_pre_init(): module mem functions > - m: 0x7f7a72db7653 r: 0x7f7a72db769f f: 0x7f7a72db76fc > > 0(9165) ERROR: tls [tls_init.c:617]: tls_pre_init(): Be sure tls module is > loaded before any other module using libssl (can be loaded first to be safe) > > 0(9165) ERROR: <core> [core/sr_module.c:590]: load_module(): > /usr/lib64/kamailio/modules/tls.so: mod_register failed > > 0(9165) CRITICAL: <core> [core/cfg.y:3683]: yyerror_at(): parse error in > config file /etc/kamailio/kamailio.cfg, line 137, column 12-19: failed to > load module > > 0(9165) INFO: pv [pv_shv.c:60]: shvar_init_locks(): locks array size 16 > > 0(9165) ERROR: <core> [core/modparam.c:181]: set_mod_param_regex(): No > module matching <tls> found > > 0(9165) CRITICAL: <core> [core/cfg.y:3686]: yyerror_at(): parse error in > config file /etc/kamailio/kamailio.cfg, line 249, column 72: Can't set > module parameter > > 0(9165) ERROR: <core> [core/modparam.c:181]: set_mod_param_regex(): No > module matching <tls> found > > 0(9165) CRITICAL: <core> [core/cfg.y:3686]: yyerror_at(): parse error in > config file /etc/kamailio/kamailio.cfg, line 250, column 72: Can't set > module parameter > > 0(9165) ERROR: <core> [core/modparam.c:181]: set_mod_param_regex(): No > module matching <tls> found > > 0(9165) CRITICAL: <core> [core/cfg.y:3686]: yyerror_at(): parse error in > config file /etc/kamailio/kamailio.cfg, line 251, column 68: Can't set > module parameter > > 0(9165) ERROR: <core> [core/modparam.c:181]: set_mod_param_regex(): No > module matching <tls> found > > 0(9165) CRITICAL: <core> [core/cfg.y:3686]: yyerror_at(): parse error in > config file /etc/kamailio/kamailio.cfg, line 256, column 39: Can't set > module parameter > > ERROR: bad config file (5 errors) (parsing code: 0) > > 0(9165) INFO: <core> [core/sctp_core.c:53]: sctp_core_destroy(): SCTP API > not initialized > > > > > > > > > > > > The kamailio config was exactly the same as on the CentOS systems and > started as below > > > > /* Server ports: */ > > #!substdef "!SIP_PORT!5060!g" > > #!substdef "!SIPS_PORT!5061!g" > > > > /* Listen addresses */ > > #!substdef "!UDP_LOCAL_ADDR!udp:SERVER_IP_ADDR:SIP_PORT!g" > > #!substdef "!TCP_LOCAL_ADDR!tcp:SERVER_IP_ADDR:SIPS_PORT!g" > > > > /* Server connections: */ > > #!ifndef MAX_CONNECTIONS > > #!define MAX_CONNECTIONS 8192 > > #!endif > > > > > > ##!define WITH_DEBUG > > > > /* Transaction and branch flags: > > FLT_ - per transaction (message) flags > > FLB_ - per branch flags > > */ > > #!define FLT_ACC 1 > > #!define FLT_ACCMISSED 2 > > #!define FLT_ACCFAILED 3 > > #!define FLT_NATS 5 > > #!define FLT_OUT 8 > > #!define FLB_NATB 6 > > #!define FLB_NATSIPPING 7 > > > > #!define KAMAILIODBURL1 "mysql://kamailio:kamailiorw@localhost/kamailio" > > > > #!define WITH_TLS > > enable_tls=1 > > listen=tls:<ipaddr>:5062 > > > > ####### Global Parameters ######### > > ### LOG Levels: ALERT=-5, BUG=-4, CRIT=-3, ERR=-1, WARN=0, NOTICE=1, > INFO=2, DBG=3 > > #!ifdef WITH_DEBUG > > debug=4 > > log_stderror=no > > #!else > > debug=2 > > log_stderror=no > > #!endif > > > > memdbg=5 > > memlog=5 > > > > log_facility=LOG_LOCAL0 > > > > /* display memory usage on exit */ > > mem_summary=15 > > > > /* join free memory fragments */ > > mem_join=1 > > > > /* proxy will fork and run in daemon mode */ > > /* one process will be created for each network interface the proxy > listens to and for each protocol (TCP/UDP), multiplied with the value of > 'children' parameter */ > > fork=yes > > children=8 > > > > listen=TCP_LOCAL_ADDR > > listen=UDP_LOCAL_ADDR > > > > /* life time of TCP connection when there is no traffic > > - a bit higher than registration expires to cope with UA behind NAT */ > > tcp_connection_lifetime=3605 > > > > /* sip over websockets may not specify a content length header */ > > tcp_accept_no_cl=yes > > > > /* buffer size used for tcp reads, limits the maximum message size (SIP, > HTTP) that can be received over tcp */ > > tcp_rd_buf_size=65536 > > > > /* max number of tcp connections */ > > tcp_max_connections=MAX_CONNECTIONS > > > > > > ####### Modules Section ######## > > > > # set paths to location of modules > > mpath="/usr/lib64/kamailio/modules/" > > > > loadmodule "jsonrpcs.so" > > loadmodule "db_mysql.so" > > loadmodule "kex.so" > > loadmodule "corex.so" > > loadmodule "tm.so" > > loadmodule "tmx.so" > > loadmodule "rr.so" > > loadmodule "pv.so" > > loadmodule "maxfwd.so" > > loadmodule "usrloc.so" > > loadmodule "registrar.so" > > loadmodule "textops.so" > > loadmodule "siputils.so" > > loadmodule "xlog.so" > > loadmodule "sanity.so" > > loadmodule "ctl.so" > > loadmodule "cfg_rpc.so" > > loadmodule "acc.so" > > loadmodule "dispatcher.so" > > loadmodule "cfgutils.so" > > loadmodule "textopsx.so" > > loadmodule "nathelper.so" > > > > loadmodule "uac.so" > > loadmodule "ipops.so" > > loadmodule "debugger.so" > > loadmodule "exec.so" > > loadmodule "avpops.so" > > loadmodule "sqlops.so" > > loadmodule "rtpengine.so" > > > > loadmodule "sl.so" > > loadmodule "tls.so" > > > > > > > > # ----------------- setting module-specific parameters --------------- > > > > # ----- usrloc params ----- > > # store contacts in memory only > > modparam("usrloc", "db_mode", 0) > > # hash size of 16,384 > > modparam("usrloc", "hash_size", 14) > > # removes contact if ws disconnects > > modparam("usrloc", "handle_lost_tcp", 1) > > modparam("tm|usrloc", "xavp_contact", "ulattrs") > > > > > > # ----- jsonrpcs params ----- > > modparam("jsonrpcs", "fifo_name", "/tmp/kamailio_jsonrpc.fifo") > > modparam("jsonrpcs", "dgram_socket", "/tmp/kamailio_rpc.sock") > > > > > > # ----- tm params ----- > > # auto-discard branches from previous serial forking leg > > modparam("tm", "failure_reply_mode", 3) > > # default retransmission timeout: 30sec > > modparam("tm", "fr_timer", 30000) > > #default invite retransmission timeout after 1xx: 120sec > > modparam("tm", "fr_inv_timer", 120000) > > > > > > # ----- rr params ----- > > # set next param to 1 to add value to ;lr param (helps with some UAs) > > modparam("rr", "enable_full_lr", 0) > > # do not append from tag to the RR (no need for this script) > > modparam("rr", "append_fromtag", 0) > > > > > > # ----- uac params ----- > > modparam("uac", "restore_mode", "none") > > > > > > # ----- registrar params ----- > > modparam("registrar", "method_filtering", 1) > > modparam("registrar", "max_contacts", 1) > > # max value for expires of registrations > > modparam("registrar", "max_expires", 3600) > > # disable GRUU > > modparam("registrar", "gruu_enabled", 0) > > > > > > # ----- acc params ----- > > /* what special events should be accounted? */ > > modparam("acc", "early_media", 0) > > modparam("acc", "report_ack", 0) > > modparam("acc", "report_cancels", 0) > > /* by default ww do not adjust the direction of the sequential requests. > > if you enable this parameter, be sure the enable "append_fromtag" > > in "rr" module */ > > modparam("acc", "detect_direction", 0) > > /* account triggers (flags) */ > > modparam("acc", "log_flag", FLT_ACC) > > modparam("acc", "log_missed_flag", FLT_ACCMISSED) > > modparam("acc", "log_extra", > "src_user=$fU;src_domain=$fd;src_ip=$si;dst_ouser=$tU;dst_user=$rU;dst_domain=$rd") > > modparam("acc", "failed_transaction_flag", FLT_ACCFAILED) > > > > > > # ----- dispatcher params ----- > > modparam("dispatcher", "db_url", KAMAILIODBURL1) > > modparam("dispatcher", "flags", 2) > > modparam("dispatcher", "ds_ping_method", "OPTIONS") > > modparam("dispatcher", "ds_ping_from", "sip:<address>.com") > > > > modparam("dispatcher", "ds_ping_interval", 5) > > modparam("dispatcher", "ds_probing_threshold", 1) > > modparam("dispatcher", "ds_inactive_threshold", 1) > > modparam("dispatcher", "ds_probing_mode", 3) > > > > > > # ----- pv params ----- > > modparam("pv", "shvset", "maintenance=i:0") > > modparam("pv", "shvset", "virtualIP1=i:0") > > modparam("pv", "shvset", "virtualIP2=i:0") > > > > > > # ----- nathelper params ----- > > modparam("nathelper|registrar", "received_avp", "$avp(RECEIVED)") > > # Note: leaving NAT pings turned off here as nathelper is only being used > for > > # WebSocket connections. NAT pings are not needed as WebSockets have > > # their own keep-alives. > > > > > > # ----- rtpengine params ----- > > modparam("rtpengine", "rtpengine_sock", "udp:localhost:2223") > > > > modparam("rtpengine", "rtpengine_sock", "udp:localhost:2223") > > #modparam("rtpengine", "write_sdp_pv", "$avp(sdp)") > > > > > > #modparam("rtpengine", "force_send_interface", SERVER_IP_ADDR) > > #modparam("rtpengine", "setid_default", -1) > > #modparam("rtpengine", "rtp_inst_pvar", "$avp(RTPENGINE)") > > #modparam("rtpengine", "rtpengine_retr", 5) > > #modparam("rtpengine", "queried_nodes_limit", 5) > > #modparam("rtpengine", "rtpengine_allow_op", 1) > > #modparam("rtpengine", "hash_table_size", MAX_CONNECTIONS) > > #modparam("rtpengine", "hash_table_tout", 7200) > > > > > > modparam("tls", "private_key", "<cert path>") > > modparam("tls", "certificate", "<cert path>") > > modparam("tls", "ca_list", "<cert path>") > > > > # modparam("tls", "ca_list", "<cert path>") > > > > modparam("tls", "tls_method", "TLSv1+") > > > > > > ####### Routing Logic ######## > > > > > > > > If load module lines for TLS are move to near the top of the config file, > config will parse and non-SIPS calls will work > > loadmodule "sl.so" > > loadmodule "tls.so" > > > > But logs will show > > WARNING: <core> [main.c:2985]: main(): tls support enabled, but no tls > engine available (forgot to load the tls module?) > > WARNING: <core> [main.c:2987]: main(): disabling tls... > > > > Presumably loading the module before configuring it just gives it default > values so the latter config is ignored > > > > > > > > Any advice on the matter would be appreciated > > > > > > Thanks in advance, > > Chris > __________________________________________________________ > Kamailio - Users Mailing List - Non Commercial Discussions > * sr-users@lists.kamailio.org > Important: keep the mailing list in the recipients, do not reply only to > the sender! > Edit mailing list options or unsubscribe: > * https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users >
__________________________________________________________ Kamailio - Users Mailing List - Non Commercial Discussions * sr-users@lists.kamailio.org Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe: * https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users