FreeSWITCH中的内置(或嵌入式)语言与使用事件套接字库(ESL)的脚本之间有什么区别?

时间:2019-12-07 17:01:59

标签: freeswitch

通过the docsSWIG”使FreeSWITCH中嵌入了许多语言(例如JavaScript,请参见to make the core FreeSWITCH library accessible to scripting)。

语言也可以出于相同目的使用Event Socket Library,那么有什么区别?

1 个答案:

答案 0 :(得分:0)

the FreeSWITCH 1.2 book points out一样,它们的确不同:

  

ESL脚本与内置语言

     

请记住,基于ESL的程序与使用ESL的程序不同   内置语言。 FreeSWITCH事件套接字是基于TCP的   与FreeSWITCH的连接。 ESL是一个抽象库,   可用于更多种语言,而不仅仅是内置的几种   FreeSWITCH。您必须先安装Lua,Perl,Python或PHP才能   您的系统,然后再使用ESL。

内置语言默认情况下随FreeSWITCH安装一起提供,它们可用于编写脚本来控制(并配置 1 )FreeSWITCH实例,而无需进行编辑XML文件实现相同。这些脚本只能从dialplan action调用,也可以作为API调用从控制台中调用(例如,查找luarunjsrun)。

使用Event Socket Library (ESL) 的脚本可以在任何位置运行,从而获得与内置语言相同的结果,但是首先它们建立了与FreeSWITCH实例的网络连接以能够发送API电话。


1请参见Serving Configuration with mod_luaServing Configuration with JavaScript文档页面。