You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kamailio配置lock函数报错:已加载tm.so模块仍无法识别命令

Kamailio配置中lock命令未识别问题排查

配置代码

$var(hjoin) = 0;
lock("$rU");
$var(hjoin) = $sht(vtp=>join::$tU);
$var(hstored) = $sht(vtp=>stored::$tU);
$sht(vtp=>join::$tU) = $null;

错误信息

Error -> Sep 17 04:50:02 kamailio: 
 ERROR: [core/cfg.y:3870]: yyparse(): cfg. parser: 
 failed to find command lock (params 1) Sep 17 04:50:02 kamailio: 
 CRITICAL: [core/cfg.y:4011]: yyerror_at(): 
  parse error in config file /etc/kamailio/kamailio.cfg, line 715, column 12: 
    unknown command, missing loadmodule?#012

问题说明

已知lock命令属于tm.so模块,且已在配置中加载该模块,但仍出现上述命令未被识别的解析错误。

排查解决步骤

  • 检查tm模块加载顺序:确保loadmodule "tm.so"语句位于使用lock命令的代码行之前,Kamailio需先加载模块才能识别其提供的命令。
  • 验证模块路径配置:若tm.so不在默认模块目录,需通过modulepath参数指定正确路径,例如:
    modulepath "/usr/lib/kamailio/modules/"
    loadmodule "tm.so"
    
  • 确认版本兼容性:不同Kamailio版本中,lock命令的归属或语法可能存在差异,核对当前使用版本的官方文档,确认lock命令的正确用法及所属模块。
  • 查看模块加载日志:启动Kamailio时添加-ddd调试参数,查看启动日志中tm模块的加载状态,排查是否存在模块加载失败的报错。
  • 检查命令拼写:确保lock命令拼写正确,Kamailio配置命令区分大小写,需全部小写。

内容的提问来源于stack exchange,提问作者Fatima Zariwala

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 08:50:04