测试OpenSIPS3.4.3的lua模块

这几天测试OpenSIPS3.4.3的lua模块,记录如下:

  • 有bug,但能用

但现实世界就是这样,总是不完美的,发现之后马上提了issue

下面这段代码运行报错:

function func1(msg)
        xlog("ERR","Hello, OpenSIPS\n") -- 把ERR改成EEE就没问题
 end

sipstate.c的127行明显有问题(读者自己去查阅源码,这里不贴了)

  • 功能比Kamailio的KEMI少,少多了,更要命的是没lua例子

下面是一个简单的例子:

# opensips.cfg

loadmodule "lua.so"
modparam("lua", "luafilename", "/etc/opensips/opensips.lua")
modparam("lua", "lua_auto_reload", 1)
...

route {
    lua_exec("func1");
    ...
}

-- opensips.lua
function func1(msg)
	local via = getHeader(msg, "Via")
    xlog("via = " .. via .. "\n")
end
  • lua_exec可以带参数
# opensips.cfg

loadmodule "lua.so"
modparam("lua", "luafilename", "/etc/opensips/opensips.lua")
modparam("lua", "lua_auto_reload", 1)
...

route {
    lua_exec("func2", "1");

    # 传伪变量也可
    $var(x) = '2';
    lua_exec("func2", $var(x));

    ...
}

-- opensips.lua
function func2(msg, param)
-- ...
end

但只能带一个参数,只能是字符串类型

  • lua_auto_reload 参数如果配置为1,那么lua修改之后自动reload
  • 有很多函数没写到文档里面 

在源码里面搜索luaL_Reg可以找到很多,有时间方面的,有mysql方面的,还有memcache方面的

  • lua模块还是很实用的

有一次客户要修改sdp,native路由很难处理,但对lua就是小菜一碟了(多行字符串处理), 毕竟lua才是真正的编程语言

相关推荐

  1. 测试OpenSIPS3.4.3lua模块

    2024-02-11 10:38:02       54 阅读
  2. 测试 OpenSIPS 3.4 stun 模块

    2024-02-11 10:38:02       39 阅读
  3. OpenSIPS3.4 cachedb_sql模块测试

    2024-02-11 10:38:02       58 阅读
  4. opensips ACC模块扩展字段

    2024-02-11 10:38:02       32 阅读
  5. 讨论 OpenSIPS 预加载路由问题

    2024-02-11 10:38:02       44 阅读
  6. nginx配置详解+nginx_lua模块使用

    2024-02-11 10:38:02       42 阅读
  7. 35、Lua模块与module函数

    2024-02-11 10:38:02       39 阅读
  8. Lua 协程模拟 Golang go defer 编程模式

    2024-02-11 10:38:02       29 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-11 10:38:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-11 10:38:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-11 10:38:02       82 阅读
  4. Python语言-面向对象

    2024-02-11 10:38:02       91 阅读

热门阅读

  1. 刷题13 数组

    2024-02-11 10:38:02       55 阅读
  2. Linux - updatedb 命令

    2024-02-11 10:38:02       49 阅读
  3. P1595 信封问题

    2024-02-11 10:38:02       51 阅读
  4. 每日OJ题_位运算④_力扣268. 丢失的数字

    2024-02-11 10:38:02       53 阅读
  5. Python爬虫之关系型数据库存储#5

    2024-02-11 10:38:02       42 阅读
  6. [office] excel中四舍五入的教程 #经验分享#媒体

    2024-02-11 10:38:02       47 阅读
  7. Github 2024-02-10 开源项目日报Top10

    2024-02-11 10:38:02       52 阅读
  8. RuoYi模块功能分析:第四章 redis

    2024-02-11 10:38:02       40 阅读
  9. springboot redis 实现消息队列

    2024-02-11 10:38:02       42 阅读