1、添加依赖
<dependency>
<groupId>org.freeswitch.esl.client</groupId>
<artifactId>org.freeswitch.esl.client</artifactId>
<version>0.9.2</version>
</dependency>
2、代码详见地址(到这个链接下载:http://download.csdn.net/download/gxxzx/10273236)
本人经过一段时间研究,发现freeSWITCH相关的资料很少,所以也是摸着石头过河,
在慢慢的学习中 ~
下面介绍几个常用的lua
一、使用lua实现外呼(创建call.lua)
说明: gw3是注册的PBXsip网关
session:execute("bridge","sofia/gateway/gw3/13788955743")
配置网关步骤如下:
1、进入freeSWITCH安装目录: /usr/local/freeswitch/conf/sip_profiles/external
2、创建gw3.xml文件(vim gw3.xml)并且编辑:
<include>
<gateway name="gw3"> <!-- 网关的名字 -->
<param name="username" value="683"/> <!-- sip账号 -->
<param name="password" value="abc1234567890"/> <!-- sip密码 -->
<param name="realm" value="192.168.1.200" /> <!-- sip地址 -->
</gateway>
</include>
3、控制台执行: sofia profile internal restart
4、查看外部网关是否注册成功: sofia status
看到有对应网关的名字并且State 是reged的时候,说明网关已经注册成功了;
5、使用命令校验: originate sofia/gateway/gw3/手机号 &echo
说明: 配置网关可以连通外面的世界(给手机号打电话),本人在用freeSWITCH的时候是
用的华为pbx,如果有关这一块配置不太明白,欢迎留言咨询 ~
二、拨通放音(播音过程中获取按键信息)
说明: 提前说明是因为笔者发现放音有三个api可以做到,这里的放音指的是拨通电话之后播放语音文件(wav、MP3 ..)
(1)session:playAndGetDigits 这个目前暂不介绍,可以去官网自己查看文档(播音可以获取按键但是不会按键打断)
(2)session:playback() 只是拨通之后播音,获取按键需要用其它的api:digit = session:getDigits(1, "", 3000)
(3)digits = session:read(5, 10, "/wav/0.wav", 3000, "#") 拨通放音,播音过程中可以实时获取按键,具有按键打断功能
1、使用lua实现播音并且获取按键(打断)(创建digits.lua)
while (session:ready() == true) do
digits = session:read(5, 10, "/wav/0.wav", 3000, "#")
session:consoleLog("info", "测试信息:"..digits)
if (digits == "1") then
session:execute("playback", "/wav/1.wav")
end
end
三、lua使用event_socket实现回调
说明: 首先要安装lua_socket,前面的文章已有介绍: http://mp.blog.csdn.net/postedit/79363817
1、创建event_socket.lua
http=require("socket.http")
http.request("http://bos.nj.bpc.baidu.com/v1/developer/f6641925-dbd1-4e0b-b04f-9f8a96a09752.mp3") -- (测试的url)
print(result)
以上介绍三个比较常用的功能 ~, 本人也是初学者,如有什么问题,请及时沟通 ~
<dependency>
<groupId>org.freeswitch.esl.client</groupId>
<artifactId>org.freeswitch.esl.client</artifactId>
<version>0.9.2</version>
</dependency>
2、代码详见地址(到这个链接下载:http://download.csdn.net/download/gxxzx/10273236)
本人经过一段时间研究,发现freeSWITCH相关的资料很少,所以也是摸着石头过河,
在慢慢的学习中 ~
下面介绍几个常用的lua
一、使用lua实现外呼(创建call.lua)
说明: gw3是注册的PBXsip网关
session:execute("bridge","sofia/gateway/gw3/13788955743")
配置网关步骤如下:
1、进入freeSWITCH安装目录: /usr/local/freeswitch/conf/sip_profiles/external
2、创建gw3.xml文件(vim gw3.xml)并且编辑:
<include>
<gateway name="gw3"> <!-- 网关的名字 -->
<param name="username" value="683"/> <!-- sip账号 -->
<param name="password" value="abc1234567890"/> <!-- sip密码 -->
<param name="realm" value="192.168.1.200" /> <!-- sip地址 -->
</gateway>
</include>
3、控制台执行: sofia profile internal restart
4、查看外部网关是否注册成功: sofia status
看到有对应网关的名字并且State 是reged的时候,说明网关已经注册成功了;
5、使用命令校验: originate sofia/gateway/gw3/手机号 &echo
说明: 配置网关可以连通外面的世界(给手机号打电话),本人在用freeSWITCH的时候是
用的华为pbx,如果有关这一块配置不太明白,欢迎留言咨询 ~
二、拨通放音(播音过程中获取按键信息)
说明: 提前说明是因为笔者发现放音有三个api可以做到,这里的放音指的是拨通电话之后播放语音文件(wav、MP3 ..)
(1)session:playAndGetDigits 这个目前暂不介绍,可以去官网自己查看文档(播音可以获取按键但是不会按键打断)
(2)session:playback() 只是拨通之后播音,获取按键需要用其它的api:digit = session:getDigits(1, "", 3000)
(3)digits = session:read(5, 10, "/wav/0.wav", 3000, "#") 拨通放音,播音过程中可以实时获取按键,具有按键打断功能
1、使用lua实现播音并且获取按键(打断)(创建digits.lua)
while (session:ready() == true) do
digits = session:read(5, 10, "/wav/0.wav", 3000, "#")
session:consoleLog("info", "测试信息:"..digits)
if (digits == "1") then
session:execute("playback", "/wav/1.wav")
end
end
三、lua使用event_socket实现回调
说明: 首先要安装lua_socket,前面的文章已有介绍: http://mp.blog.csdn.net/postedit/79363817
1、创建event_socket.lua
http=require("socket.http")
http.request("http://bos.nj.bpc.baidu.com/v1/developer/f6641925-dbd1-4e0b-b04f-9f8a96a09752.mp3") -- (测试的url)
print(result)
以上介绍三个比较常用的功能 ~, 本人也是初学者,如有什么问题,请及时沟通 ~