freeswitch.Event创建一个事件,然后添加内容,最后发出
-
event:addBody
-
event:addHeader
-
event:fire
eg:
local event = freeswitch.Event("custom", "Xugd::Quit")
event:addHeader("myKey", "MyValue")
event:fire()
--------------------------------------------------
freeswitch.EventConsumer:订阅一个事件,获取内容
-
event:getBody
-
event:getHeader
-
event:getType
-
event:serialize
eg:
con = freeswitch.EventConsumer()
con:bind("RELOADXML")
con:bind("SHUTDOWN")
con:bind("CUSTOM", "multicast::event")
订阅指定事件,获取并输出,直到有退出事件
local con = freeswitch.EventConsumer();
con:bind("SHUTDOWN")
con:bind("CUSTOM", "Xugd::MyStatus")
con:bind("CUSTOM", "Xugd::Quit")
while true do
local evt = con:pop(1)
local eType = evt:getType()
freeswitch.consoleLog("DEBUG", "Get Event: " .. eType .. ", " .. type(eType) .. "\n")
if eType == "SHUTDOWN" then
freeswitch.consoleLog("INFO", "SHUTDOWN: To Quit\n")
break
end
if eType == "CUSTOM" then
local eClass = evt:getHeader("Event-Subclass")
freeswitch.consoleLog("DEBUG", "Event-Subclass: " .. eClass .. "\n")
if eClass == "Xugd::Quit" then
freeswitch.consoleLog("INFO", "Xugd::Quit: To Quit\n")
break
end
if eClass == "Xugd::MyStatus" then
local status= evt:getHeader("MyStaus")
freeswitch.consoleLog("INFO", "Xugd::MyStatus: " .. status .. "\n")
end
end
end