最近改用最新的freeswitch 1.10.2,感觉比以前的好了一些。
因为以前的注册验证是在xml_curl模块里自己写的,移植起来很麻烦,所以这次考虑一次性的移植到lua中,这样再升级freeswitch就不用考虑代码编译移植的问题。
网上提供了一些lua查询的例子,我觉得有些写的有问题。
首先,调用查询函数本身并不是用户注册。
配置
这里的托管,只是将对账号的查询,全部委托给了一个lua处理。
在这里做注册验证是完全不对的。
这里应该处理两步。
(1)如果事件行为是注册,去数据库里面查询。
(2)如果不是注册,那么从内存里去查,没有就直接返回失败。
对应例子如下:
local req_domain = params:getHeader("domain")
local req_user = params:getHeader("user")
local req_method = params:getHeader("sip_auth_method")
if req_user == nil then
debug("[regedit]req_user is nil")
else
debug("[regedit]req_user=" .. req_user)
if req_method ~= nil then
debug("[regedit]req_method=" .. req_method)
end
--