在内部,FreeSWITCH通过使用swig 工具来支持多种开发语言,
现在已知支持的语言有C、Perl、PHP、Python、Ruby、Lua、Java、Tcl
以及由Managed支持的.Net平台语言,如C#、VB.NET等。FreeSWITCH源代码中的swig脚本和程序已被转换成各种语言的接口了,因而开发者不需要安装swig工具就可以使用。
在此,记录使用**C#**语言开发的流程。
源代码中有一个项目例子,winFailToBan项目。
1.引用FreeSWITCH.Managed.dll.
2.实现IAppPlugin接口
namespace MyTest
{
public class SampleApp : IAppPlugin
{
// example class for a dialplan APP just implment the run method
public void Run(AppContext context)
{
var s = context.Session;
var args = context.Arguments;
// Do something with them here
}
}
}
3.编译生成dll文件。
4.将生成的dll复制到mod目录下managed文件夹下,默认不存在该文件夹,需自己手动创建。
或直接发布dll到managed目录。
5.加载managed的模块,执行load mod_managed
或者在modules.conf.xml中添加
6.default.xml中添加路由
<