该篇文章主要用于介绍freeswitch之间如何互联,因markdown操作失误,里面没有xml的配置,所以请谅解。

note: 以下FreeSWITCH简称FS,FreeSWITCH BoxA简称FSA,FreeSWITCH BoxB简称FSB。

简介

如何你需要将两个FreeSWITCH系统互联,那你要如何做呢?

讨论

有两种实现方法:ip地址认证摘要认证简短的说,使用ip地址认证方法的话,就可以使用ACL来实现两个FS互联。所有的呼叫都是从公共拨号方案走(public context)。每个FS都允许对方通过ACL拨打过来。只要修改部分xml配置文件即可实现

基于IP认证互联

假设FSA(10.0.0.1)拥有的号码范围是1000-1019.FSB(10.10.0.1)号码范围是1100-1119.

首先我们要确保两个FS都拥有互访的权限

这个在ACL文件(autoload_config/acl.conf.xml)中进行配置。对于FSA,在节点添加如下内容:

对于FSB,在节点中添加如下内容:

设置呼叫拨号方案

现在两个FS已经可以互相拨打,但它们仍不知道对方有哪些分机号。因此你需要告诉FS呼叫要送到哪里。这就是传说中的呼叫路由,由拨号方案中的bridge方法实现。该方法使用internal sofia profile(sip_profiles/internal.xml)来实现。尽管名字叫做内部(internal),并不仅仅处理FS内部的呼叫。

在FSA的拨号方案(dialplan/default.xml)中添加如下内容:

在FSB的拨号方案(dialplan/default.xml)中添加如何内容:

设置public拨号方案

经过上面设置,现在呼叫已经可以送到对方的平台上了。但是对方平台仍然不知道该怎么处理这个呼入的请求,因为对于它来说这是一个公共呼叫(public call)。因此还需要最后一步修改让系统跑起来。我们要告诉FS把这个公共呼叫(public call)给路由到默认的拨号方案上去(default dialplan)。

在FSA的公共拨号方案(public dialplan,dialplan/public.xml)中添加如下内容:

在FSB的公共拨号方案(public dialplan,dialplan/public.xml)中添加如下内容:

在FSA和FSB中执行下述命令: >reloadacl >reloadxml

现在你就可以在FSA上呼叫FSB的11XX了,反之亦然。

基于摘要认证互联

待补全

小结

两个方法没有优劣之分,使用哪种由你选择。