一、项目应用解决方案
1、内呼方案流程:
客户拨号 <——> 运营商/网关 <——> FreeSWITCH(MRCP +ASR/TTS/NLP) <——>Lua(嵌入FS)
Ps: 根据特定号码,FS路由配置好的拨号计划(dialplan),进而调用lua APP,Lua脚本的运行,实现业务逻辑控制,每一通电话都可以调用该lua脚本;
2、外呼方案流程:
Web(http) <——> Python(ESL) <——> FreeSWITCH(MRCP +ASR/TTS/NLP) <——> 运营商/网关 <——> 目标客户
Ps: Python脚本通过http协议对接Web,实现批量的自动拨号与电话通道的管理与控制;当客户接通电话后,调用Lua脚本实现外呼的业务逻辑;
二、Event Socket
与Lua嵌入式脚本不同,通过Event Socket方式,可以在远程机器的外部独立程序控制FreeSWITCH。大多数语言都支持Socket,所以几乎可以和任何语言开发的程序通信,便于跟任何系统进行集成。
Event Socket的连接分两种模式: InBound/OutBound
1、内连模式InBound
InBound模式:FS作为服务端,监听所配置的端口,FS启动时自动加载,当外部客户端程序主动向FS发起socket连接来实现通信。
该模式由于是可以主动连接并可长期稳定保持,且此通道有且只有一个,心跳、外呼和注册等动作必须通过此种连接完成。