多台 FreeSWITCH 服务器级联设置

简介: 多台 FreeSWITCH 服务器级联设置

双机级联


假设你有两台 FreeSWITCH 机器, 分别为A和B,同样IP分别为 192.168.1.A 和 192.168.1.B。每台机器均为默认配置,也就是说在每台机器上 1000 ~ 1019 这 20 个号码可以互打电话。位于同一机器上的用户称为“网内用户”,如果需要与其它机器上的用户通信,则其它机器上的用户就称为“网外用户”。


现在你需要在两台机器之间的用户互拨,因此你想了一种拨号方案。如果A1000想拨打B1000,则B1000相对于A1000来说就是“网外用户”。就一般的企业PBX而言,一般拨打外网用户就需要加一个特殊的号码,比方说“0”。这样,“0”就称为“出局字冠。

好了,我们规定,不管是A用户还是B上的用户,拨打外网用户均需要加0. 下面我们仅配置A打B,把B打A的情况留给读者练习。


在A机上,把以下 dialplan 片断加到 default.xml 中:

``

<action application="bridge" data="sofia/external/sip:$1@192.168.1.B:5080"/>
复制代码


``

``

其中,expression= 后面的正则表示式表示匹配以0开头的号码,“吃”掉0后,把剩下的号码送到B机的5080端口上。


所以,如果用户1000在A上拨 01000,将会发送 INVITE sip:1000@192.168.1.B:5080 到B上。B收到后,由于5080端口默认走public dialplan,所以查找 public.xml,找到1000后将电话最终接续到B机的1000用户。


除了SIP外,我还在两台机器上分别加了两块E1板卡,中间用交叉线直连,这样的话,我希望拨9开头就走E1到对端,设置如下:


``

<action application="bridge" data="freetdm/1/a/$1"/>
复制代码

``

``


汇接模式


|  汇接局  X |
                            /      |       \
                           /       |        \
                         A         B         C
复制代码


其实你搞定了第一种模式以后,这种汇接模式也就很简单了。无非你需要动一动脑子做一下拨号计划,比方说到A拨0,B拨1,到C拨2之类的。然后在汇接局配置相关的 dialplan 就OK了。


遇到 dialplan 的问题还是再看一下第八章,还是那句话,使用 F8 打开详细的 LOG,打一个电话,从绿色的行开始看。


安全性


上面的方法只使用5080端口从 public dialplan 做互通,而发送到5080端口的INVITE是不需要鉴权的,这意味着,你任何人均可以向它发送INVITE从而按你设定的路由规则打电话。这在第一种模式下问题可能不大,因为你的public dialplan 仅将外面的来话路由到本地用户。但在汇接局模式下,你可能将一个来话再转接到其它外部网关中去,那你就需要好好考虑一下安全问题了,因为你肯定不希望全世界的人都用你的网关打免费电话。


一般说来,解决这个问题有两种方式,那就是让所有来话都经过认证鉴权后再进行路由(本地用户发到5060端口上都是需要鉴权的)。


考虑双机级联的情况,你只需要在A上配置一个到B的网关(将下列内容存成XML文件放到 conf/sip_profiles/external/b.xml):

``


<gateway name="b">
            <param name="realm" value="192.168.1.B"/>
            <param name="username" value="1000"/>
            <param name="password" value="1234"/>
    </gateway>
复制代码


``

``

同时把A上的 dialplan 改成:

``


<action application="bridge" data="sofia/gateway/b/$1"/>
复制代码


``

``

这样,A上的用户可以呼通所有B上的用户,从B的用户来看,好像所有电话都是从本机的1000这个用户打进来的(这就是网关的概念,因为对于B来说,A机就相当于一个普通的SIP用户1000。当然你从A上理解,B就是给你提供了一条SIP中继,如果在B上解决了“主叫号码透传”以后,B就相法于一条真正的中继了)。如果这么说理解有难度的话,想像一下B是联通或电信的服务器网关,你是不能控制的,而它只给了你一个网关的IP,用户名,和密码,你把它配到你的A上,就可以呼通电信能呼通的任何固定电话或手机了。

相关文章
|
缓存 监控 定位技术
|
11月前
|
网络协议 Ubuntu
在Ubuntu 18.04/20.04 LTS设置静态DNS服务器的过程。
以上步骤提供了一种简洁明了的指导,让用户能够在Ubuntu系统中有效设置静态DNS服务器,这对日常管理和网络配置来说是非常实用的技能。
1729 18
|
存储 弹性计算 安全
阿里云服务器付费类型、地域、镜像、存储、带宽和安全组设置与选择注意事项参考
在我们通过自定义购买的方式购买阿里云服务器器ECS时,会有多个选项,有的新手用户可能并不是很清楚这些选项是什么,选择或设置时需要注意什么,本文将从付费类型、地域与可用区、镜像、存储、带宽和安全组等多个方面,为您详细解析云服务器购买过程中各个参数与配置的选择注意事项,以供参考。
650 66
|
Ubuntu Linux 网络安全
在Linux云服务器上限制特定IP进行SSH远程连接的设置
温馨提示,修改iptables规则时要格外小心,否则可能导致无法远程访问你的服务器。最好在掌握足够技术知识和理解清楚操作含义之后再进行。另外,在已经配置了防火墙的情况下,例如ufw(Ubuntu Firewall)或firewalld,需要按照相应的防火墙的规则来设置。
660 24
|
11月前
|
数据采集 人工智能 BI
MyEMS能源管理系统后台配置-邮件服务器设置
本文介绍其邮件服务器配置方法。
169 0
|
前端开发 JavaScript 应用服务中间件
服务器如何设置可以提升网站打开速度?
首先关闭掉php版本中的输出详细错误信息功能;具体步骤为软件商店-对应php版本-设置-配置修改 找到“display_errors”参数,选择“关闭”保存即可。
268 1
|
存储 弹性计算 安全
阿里云服务器购买后设置密码、安全组、基础安全服务、挂载云盘等流程简介
对于初次选购阿里云服务器的用户来说,通过阿里云推出的各类活动买到心仪的云服务器仅仅是第一步。为了确保云服务器能够正常运行并承载您的应用,购买之后还需要给云服务器设置远程登录密码、设置安全组规则、设置基础安全、购买并挂载云盘等操作之后,我们才能使用并部署自己的应用到云服务器上。本文将详细介绍在阿里云的活动中购买云服务器后,您必须完成的几个关键步骤,助您快速上手并充分利用云服务器的强大功能。
|
弹性计算 安全 搜索推荐
阿里云国际站注册教程:阿里云服务器安全设置
阿里云国际站注册教程:阿里云服务器安全设置 在云计算领域,阿里云是一个备受推崇的品牌,因其强大的技术支持和优质的服务而受到众多用户的青睐。本文将为您介绍阿里云国际站的注册过程,并重点讲解如何进行阿里云服务器的安全设置。
718 7
|
监控 Kubernetes 安全
如何设置一个有效的远程管理工具来简化服务器的维护工作?
如何设置一个有效的远程管理工具来简化服务器的维护工作?
187 1
|
前端开发 开发工具 git
如何清理 docker 磁盘空间+修改 Gitea 服务器的 Webhook 设置+前端一些好学好用的代码规范-git hook+husky + commitlint
如何清理 docker 磁盘空间+修改 Gitea 服务器的 Webhook 设置+前端一些好学好用的代码规范-git hook+husky + commitlint
383 5