做網(wǎng)站如何兼職廣告seo是什么意思
這幾天測試OpenSIPS3.4.3的lua模塊,記錄如下:
- 有bug,但能用
但現(xiàn)實世界就是這樣,總是不完美的,發(fā)現(xiàn)之后馬上提了issue
下面這段代碼運行報錯:
function func1(msg)
????????xlog("ERR","Hello, OpenSIPS\n") -- 把ERR改成EEE就沒問題
?end
sipstate.c的127行明顯有問題(讀者自己去查閱源碼,這里不貼了)
- 功能比Kamailio的KEMI少,少多了,更要命的是沒lua例子
下面是一個簡單的例子:
# opensips.cfgloadmodule "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可以帶參數(shù)
# opensips.cfgloadmodule "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
但只能帶一個參數(shù),只能是字符串類型
- lua_auto_reload?參數(shù)如果配置為1,那么lua修改之后自動reload
- 有很多函數(shù)沒寫到文檔里面?
在源碼里面搜索luaL_Reg可以找到很多,有時間方面的,有mysql方面的,還有memcache方面的
- lua模塊還是很實用的
有一次客戶要修改sdp,native路由很難處理,但對lua就是小菜一碟了(多行字符串處理), 畢竟lua才是真正的編程語言