FreeSwitch LUA API ——API Events

12 篇文章 1 订阅
6 篇文章 0 订阅


API Event的作用为:产生新事件


目录浏览:


event:addbody

作用:该事件用于创建自定义事件

--Create Custom event

custom_msg =    "dial_record_id: " .. dial_record_id .. "\n" ..

        "call_disposition: " .. Disposition .. "\n" ..

        "campaign_number: "  .. Campaign .. "\n" ..

        "called_number: "    .. dial_num .."\n"  ; 

        local e = freeswitch.Event("custom", "dial::dial-result");

 

        e:addBody(custom_msg);

        e:fire();

 

可以在body中添加任意多的事件。在这个范例中,添加了四个事件

 

event:addHeader

作用:新增一个头域

 

event:delHeader

作用:删除一个头域


event:fire

local event = freeswitch.Event("message_waiting");

event:addHeader("MWI-Messages-Waiting", "no");

event:addHeader("MWI-Message-Account", "sip:1000@10.0.1.100");

event:addHeader("Sofia-Profile", "internal");

event:fire();

 

event:getBody

作用:获得body的内容

 

event:getHeader

作用:用于generic API的调用

event:getHeader("Caller-Caller-ID-Name")

这也可以用在dialplan.lua中,用来获得一些相关的信息

params:getHeader("variable_sip_req_uri")

 

event:getType

作用:获得事件的类型

 

event:serialize

作用:将所有的Headers变量打印到console界面

-- Print as text

io.write(params:serialize());

io.write(params:serialize("text"));

 

-- Print as JSON

io.write(params:serialize("json"));

也可以将它们当做一个“info”消息显示

freeswitch.consoleLog("info",params:serialize())

 

event:setPriority

作用:设置事件的优先级

 

event:fire(Sending an Event发送一个事件,即生效一个事件)

利用“luarun”来执行这段代码,还可以触发注册手机上的消息指示器的开关

local event = freeswitch.Event("message_waiting");               

event:addHeader("MWI-Messages-Waiting", "no");                              

event:addHeader("MWI-Message-Account", "sip:1002@10.0.1.100");                      

event:fire();


翻译出处:https://freeswitch.org/confluence/display/FREESWITCH/mod_lua

注:译者翻译能力有限,欢迎指明

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值