您的位置:首页 > 编程语言 > Lua

FreeSWITCH中lua实例1:实现呼叫中心中电话接通前播放坐席号码的效果

2014-02-11 09:02 651 查看
实现效果:

客户A打入呼叫中心,假设是座席B(号码是11102)负责接听,则在B接听前,向A播放“11102话务员为您服务”。

实现该功能的脚本名称是speakworknumber.lua

实现步骤:

1、添加两个号码:1000和11102,1000作为模拟客户,11102作为座席

      目录:/usr/local/freeswitch/conf/directory/default

      添加文件: 1000.xml  11102.xml

2、添加拨号方案,调用功能脚本speakworknumber.lua

      修改文件:/usr/local/freeswitch/conf/dialplan/default.xml

      添加如下内容:

[html] view
plaincopy

<extension name="speakdemo">  

   <condition field="destination_number" expression="^9999$">  

     <action application="lua" data="speakworknumber.lua"/>  

   </condition>  

 </extension>  

3、添加脚本speakworknumber.lua

      目录:/usr/local/freeswitch/scripts

      脚本内容如下:

[javascript] view
plaincopy

session1 = session;  

session2 = freeswitch.Session("user/11102");  

  

local waitTimes = 20;  

  

--如果座席所在的那条通道还没准备好,则进行等待  

while session2:ready() == false and waitTimes > 0 do  

     waitTimes = waitTimes - 1;  

end  

  

--播放语音提示音  

--播放数字11102  

session:say("11102", "en", "name_spelled", "pronounced");  

--播放录音文件“号话务员为您服务”  

session1:streamFile("serviceforyou.wav");  

  

if session2:ready() == true then  

     freeswitch.consoleLog("err","\n start to bridge.\n");  

     -- 接通客户与座席  

     freeswitch.bridge(session1, session2);  

  

else  

     freeswitch.consoleLog("err", "\n channels2 is not ready, please check it.");  

end  

4、启动FreeSWITCH或使用reloadxml重新载入配置文件

5、使用软电话客户端登陆1000和11102。然后使用1000拨打9999进行测试。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: