SHIHUC

好记性不如烂笔头,还可以分享给别人看看! 专注基础算法,互联网架构,人工智能领域的技术实现和应用。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

继上一篇freepbx的基础配置之后,我们这里要研究的是一个相对比较实用的中继的配置和使用,可以说,SIP中继,核心是中继的理解,若不理解这个,估计很简单的一个中继配置和使用,会让人很头疼,也整不出来效果。

 

freepbx的环境信息,可以参考我上一篇博客:VoIP语音通话研究【进阶篇(一):freepbx的first call】

 

这里要记录的内容,其实相对很简单,为何是相对呢,要是没有足够多的对中继的理解,是很难弄清楚如何配置的,因为在freepbx里面,配置相对还是比较细的,同时也体现了freepbx在中继方面的功能还是比较强大的。因为,他除了要配置SIP trunk,还分了inbound routeoutbound route的内容。

 

为何要专门写一篇博文介绍freepbxSIP中继呢?其实在实际的pbx的应用中,中继是非常常见的技术应用。

 

就拿一个集团化的企业来说,在全国乃至全球有很多分公司或者子公司,公司之间的员工通信,就是一个摆在眼前的问题。不能将所有的员工都集中在一个联系人池子里面,这样,对PBX的要求就非常高了,分机注册的压力就比较大,集中度过高,相对而言,浪费就尤为突出。也不是很利于各公司的差异化管理。

 

于是,就有了各个子公司自己的PBX系统,公司内部的员工之间通信,可以在同一个PBX系统内完成,不同的公司之间的通信,其实就涉及到了PBX之间的通信,这里,就引出了今天的话题,中继,因为我们是在freepbx下研究中继,所以,SIP中继,即SIP Trunk,就是今天的正题。

 

企业内部通信,通常都是基于SIP的电话,各个电话机之间都是通过SIP协议,注册诸多的分机。分机还可以向外部的手机或者座机打电话,当然,前提是公司的IPPBX对接了运营商的中继线路服务,完成IPPSTN的转网,实现语音互通。

 

 

 

企业也可以与运营商的SIP服务进行对接,实现夸SIP网络的通信,这里,就涉及到了今天的话题,及SIP服务与SIP服务之间的通信,即SIP Trunk的话题。

 

 

这里的Trunk,直面意思,就是枝干,或者干线,表示两个不同的SIP网络之间的连接通道。Trunk在配置的时候,有一点是非常值得注意的,那就是配置服务点的地址。因为站在当前的服务配置点,要想建立一个Trunk,就必须知道对端服务节点的IP和端口。Trunk是连接两个端点的通道,在配置的时候,在任何一个端点配置Trunk,只需要将另一端的地址配置上,即IP和端口

除了IP和端口之外,通常还有一些和应用相关的额外信息配置,依据需要选择配置即可。

 

 

下面,就具体以两个freepbx之间建立SIP trunk,介绍freepbx上建立SIP trunk是怎么回事。

 

Freepbx1: 192.168.38.129,下面简称pbx129

 

Freepbx2: 192.168.38.130,下面简称pbx130

 

 

 

分别在pbx129pbx130上进行配置,涉及到进线路由出线路由,分别会有截图说明。

 

(一)首先配置pbx129

1)选择“通信接口连接”-》“中继”

 

 

2)General页签内,参照指示配置中继名,其他可以不管

 

 3)在“号码变换路由规则”页签,配置拨号模式向导,“匹配模式”里面填入“X.”,表示匹配所有的来电号码。

 

 

 

4)最为重要的配置项,SIP服务器”填写对端的IP,即pbx130IP192.168.38.130. SIP Server Port”里面,填写pbx130的对外SIP服务端口:5060. 其他项的内容,就采用默认的配置。

 

 

5)配置进线路由,即“通信接口连接”-》“入局线路”

 

6)参照图,做了一些简单的配置,核心是,当pbx130来的呼叫,在pbx129上找不到目的地的处理规则,这里指向了分机20001,意思是说,任何不存在的被拨打号码,最终都会转到分机20001来接话。其他的页签内容,可以不用配置,采用默认项。

 

 

7)出局路由配置,参考“入局线路”的菜单位置,在出局线路配置里,参考下图,填写相关信息,重点是图中序号2的配置,另外,若出局拥塞了,还可以选择备用的出局中继,参考序号34

 

 

8) 配置出局号码匹配规则,参考下图,这里是匹配所有的号码,填写X.

 

 

到此,在pbx129端的所有的配置都已经完成。

 

 

(二) 配置PBX130

9) 配置中继,命名为TO129”,表示是对接pbx129的中继,其他采用默认信息。

 

 

10) 配置“号码变换路由规则”,这里依然是可以匹配所有的号码,参照图,填入“X.

 

 

11)  配置pjsip设置”页签的内容,是中继配置中最为重要的内容。“SIP服务器”项填入pbx129的地址:192.168.38.129,“SIP Server Port”项填入端口5060.其他的内容,采用默认项即可。

 

 

12)  配置“入局线路”,重点还是下图中的23配置项(当从129来的呼叫,在本交换系统内若找不到目标地址,就将其转到30001分机进行接听,这个分机必须要在线咯,否则,当然也是无法接听的),若不考虑这些无目的的号码的情况,入局线路其实是可以不需要配置的。Pbx129上也是如此。

 

 

13)  配置“出局线路”,这里重点是要配置“匹配中继顺序”中的内容,选择刚刚创建的中继“TO129”。

 

14)  配置出局线路拨号规则,同样是将所有的号码都拨出去,填入X.”,当然,也可以依据需求,这个规则可以调整业务所需的。

 

到此,pbx130的配置全部结束。

 

(三)配置验证

 

依据上面的配置,我们实现的效果是在pbx129上拨打电话,本交换系统不存在的分机都会被转到pbx130上;在pbx130上拨打电话,本交换系统不存在的分机都会被转到pbx129上。下面可以验证。

 

 

pbx129上创建分机20001,20002,在pbx130上创建分机30001,30002

 

Pbx129endpoints内容:执行下面pjsip show endpoints

 

 

Pbx130endpoints内容:执行下面pjsip show endpoints

 

 

正常的拨打电话,从pbx12920001拨打到pbx13030002

 

 

正常的拨打电话,从pbx12920001拨打50000(5000是不存在的号,注意,当前系统只有20001,20002和30001,30002这个号,在pbx130上依然能收到20001的来电(被30001接听了):

 

 

 

 

到这里,所有的关于pbx129向pbx130的SIP Trunk的配置和验证都完成了,细心的博友可能会问,从pbx130向pbx129拨打电话会如何?其实是一样的,这里是对等的配置。在当前pbx系统内若能找到目标分机号,就由当前pbx处理呼叫,若当前pbx内找不到目标分机号,则路由到SIP Trunk对端的pbx系统进行处理,Trunk的逻辑是不是非常简单的就理解了。

 

 

欢迎转帖,转发需要注明出处,谢谢,版权所有,违者必究!