ESL连接
我们常用客户端形式连接到freeswitch
使用java语言
引用maven
org.freeswitch.esl.client org.freeswitch.esl.client0.9.2
然后就可以在服务中进行创建esl inbound方式连接到freeswitch。
使用Client连接后,监听IEslEventListener后,就可以监听各类通道事件了。
常见的通道事件,create、answer、bridge、hangup等
CHANNEL_CREATE,//通道创建事件 HEARTBEAT,//心跳包 SESSION_HEARTBEAT, CHANNEL_ANSWER, CHANNEL_HANGUP_COMPLETE, PLAYBACK_STOP
创建完成的client,可以发送同步命令和异步命令两种方式。
sendAsyncApiCommand sendSyncApiCommand
有了这两个方法,我们可以通过java程序来 *** 作各类freeswitch命令,达到自己的目标。
比如使用uuid_transfer进行转接:
String command = "uuid_transfer "+ uuid + " -bleg " + extension; EslMessage result = freeswitchClient.sendAsyncApiCommand(command, "");
esl可以做很多有意思的工作,比如为了节约客服宝贵时间,批量给客户进行外呼,等客户接通后转接给空闲的坐席。
还比如,使用esl进行各类命令控制,callcenter的坐席上下线状态的动态控制,强制转接、监听进行质检。只要你想到的各类命令,通过一门后端语言进行esl连接,能够非常好的完成你的目标。
通过esl的事件监听,实现通话记录状态控制,一个channel的创建到answer,到hangup。
通过esl的事件监听,监听asr等事件。
通过esl的事件监听,监听你自己自定义的事件。
当然我们也可以使用其他语言的esl连接,包括c、python、golang等。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)