3 Star 22 Fork 13

大汉刺史 / freeswitch-lua-demo

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
callagent.lua 1.46 KB
一键复制 编辑 原始数据 按行查看 历史
tianzhenjiu 提交于 2019-03-20 17:11 . 更改
--处理呼叫分机的事件
freeswitch.consoleLog("info","进入channel——create");
--获取方向
local direct=event:getHeader("Caller-Direction");
--取出非外呼,非call center的呼叫
freeswitch.consoleLog("info","direct->"..direct);
if ( direct ~= "outbound" ) then
return "break";
end
local ccagent=event:getHeader("variable_cc_agent");
freeswitch.consoleLog("info","direct->"..ccagent);
if (ccagent == nil) then
return "break";
end
local callnum=event:getHeader("Caller-Caller-ID-Number");
freeswitch.consoleLog("info","direct->"..callnum);
if(callnum == nil) then
return "break";
end
local sessionuuid=event:getHeader("variable_cc_member_session_uuid");
freeswitch.consoleLog("info","direct->"..sessionuuid);
if(sessionuuid == nil) then
return "break";
end;
--那么这里的就应该是从callcenrer里面出队列的时候呼叫分机号码了!
--这个时候给应用发送事件,通知分机
freeswitch.consoleLog("info","客户已经发给坐席"..sessionuuid..ccagent);
local api=freeswitch.API();
local uniquereply=api:executeString("uuid_getvar "..sessionuuid.." 'uuid'");
uniquereply=string.gsub(uniquereply, "^%s*(.-)%s*$", "%1");
freeswitch.consoleLog("info","offferresult"..uniquereply);
local event = freeswitch.Event("CUSTOM", "NECO:BEFORE_BRIDGE");
event:addHeader("Caller-Orig-Caller-ID-Number",callnum);
event:addHeader("Caller-Callee-ID-Number",ccagent);
event:addHeader("Unique-ID",uniquereply);
event:fire();
Lua
1
https://gitee.com/tianzhenjiu/freeswitch-lua-demo.git
git@gitee.com:tianzhenjiu/freeswitch-lua-demo.git
tianzhenjiu
freeswitch-lua-demo
freeswitch-lua-demo
master

搜索帮助