app_lua: packaging many times with different lua library versions

参考这个issue:

https://github.com/kamailio/kamailio/issues/4578

目前的 app_lua 是基于 lua5.1 编译的,不好!

在 Debian/Ubuntu 系统上,官方软件源同时提供多个 Lua 版本及其开发库(liblua5.1、liblua5.2、liblua5.3、liblua5.4 等),

而 Kamailio 的 app_lua 模块目前只针对其中一个版本(主要是 liblua5.1)编译打包。

如果打包者把 app_lua 改链接到较新的 Lua 版本(如 5.3 或 5.4),就会破坏依赖旧版本 Lua 的用户的兼容性。

因此提出一个方案: 让 app_lua 模块可以多次编译,针对每个 Lua 版本生成一个独立的 .so 文件,例如:

app_lua.so → 链接最新的稳定版(推荐默认使用)

app_lua52.so → 链接 Lua 5.2

app_lua53.so → 链接 Lua 5.3

app_lua54.so → 链接 Lua 5.4

......

用户/打包者根据实际环境加载对应的模块版本,避免单一版本打包导致的大范围兼容性问题。

技术实现思路(讨论中提到的)

通过 CMake 编译时传入参数控制模块的内部名称,例如:

-DMOD_NAME='"app_lua54"'

这样生成的共享库文件名和注册的模块名都会带上版本标记。

打包时可以把多个变体放到同一个 kamailio-app-lua 或 kamailio-lua 包里,或者拆分成独立的子包(视打包策略而定)。

对比了 tls/tlsa 的处理方式(把 tls 代码嵌入 tlsa),但认为 不适合 直接套用到 app_lua 上,因为 Lua 版本兼容性问题更普遍且长期存在。

相关推荐
物联通信量讯说1 天前
IOTE 2026 释放信号:中国 IoT 出海正在进入“长期运营”阶段
物联网·iot·通信·企业出海
Seoyoneh2 天前
呼叫中心工单系统架构实战:自动建单与闭环流转技术解析
人工智能·信息与通信·通信
Seoyoneh2 天前
智能客服机器人多轮对话与上下文管理:NLU、DST与对话状态机技术实现
人工智能·信息与通信·通信
Seoyoneh2 天前
呼叫中心智能路由架构实战:规则引擎与多维度调度技术解析2026年
人工智能·信息与通信·通信
Seoyoneh3 天前
呼叫中心云原生架构实战:微服务拆分与弹性扩容技术解析
人工智能·信息与通信·通信
Seoyoneh3 天前
2026年呼叫中心选型技术指南:架构、API与高可用维度的评估清单
人工智能·信息与通信·通信
Seoyoneh5 天前
大促峰值呼叫中心不掉线:云原生弹性扩容与微服务架构实战解析
信息与通信·通信
2501_929807257 天前
专业140+总分430+武汉理工大学855信号与系统考研武理工,电子信息和通信工程,真题大纲,参考书
考研·信息与通信·信号处理·通信·电子信息
牛奶yu茶7 天前
数据链路层的MTU
网络·网络通信·通信·通信协议·通信网络
Fibocom广和通17 天前
广和通推出RU311 5G RedCap模组,让中速终端更轻量接入5G
物联网·5g·redcap·通信·广和通·ru311