托管型IPPBX对接SBC配置示例文档

来自最权威最新完整开源SIP,语音通信,融合通信中文技术文档资料,提供详细的Asterisk Freepbx, FreeSBC, 免费会话边界控制器,网关,语音板卡,IPPBX,SBC配置资料-asterisk,freepbx,freesbc 用户手册 界面配置,呼叫路由,IVR, 网关对接,拨号规则,SIP 分机呼叫,pjsip, IVR, 录音, CDR, 队列呼叫,振铃组,CLI 命令中文资料手册
James.zhu讨论 | 贡献2020年2月23日 (日) 08:25的版本 呼叫路由设置

跳转至: 导航搜索

托管IPPBX-SBC配置示例

托管IPPBX是企业客户托管第三方的托管服务或者数据中心有企业客户托管电话系统的服务,托管的IPPBX/呼叫中心可以部署在第三方的数据中心或者云平台。企业用户分机然后注册到托管的IPPBX,实现电话呼出呼入和内部呼叫。其优势包括:

  • 企业无需承担过多的运营维护
  • 支持灵活可移动办公环境
  • 快速部署,易扩展
  • 初始部署简单方便,快速启用

用户需要经过以下步骤一步步配置SBC来实现托管IPPBX的分机配置。

适用版本

支持的版本是v3.0以上版本

介绍

此配置文档适用于IPPBX托管的配置模式。配置过程和SIP 外网注册的流程基本系统,其中这里有一些调整(面对不同的配置WAN/LAN)。用户也可以参考SIP 外网注册的配置场景来学习。

SIP 远端注册配置场景:

http://freepbx.org.cn/wiki/index.php?title=%E5%A4%96%E7%BD%91%E8%BF%9C%E7%AB%AFSIP%E7%BB%88%E7%AB%AF%E6%B3%A8%E5%86%8C_%E9%85%8D%E7%BD%AE%E7%A4%BA%E4%BE%8B%E6%96%87%E6%A1%A3

如果用户需要参考最新的配置文件,可参考官方的最新英文配置说明:

https://docs.telcobridges.com/tbwiki/FreeSBC:Hosted_PBX:Configuration_A

  • 具体关于FreeSBC/ProSBC商业部署咨询,请访问中文网站:http://freesbc.cn/ 或者www.hiastar.com 或者发邮件:james.zhu@hiastar.com
  • 下载免费SBC-FreeSBC ISO 或者商业版本SBC,请访问:www.freesbc.com

托管IPPBX示例

此配置示例支持托管IPPBX的应用场景,企业用户相当于外网用户,企业分机可以通过FreeSBC注册到托管IPPBX的服务器。托管中心的SBC WAN口连接企业网络的WAN口。托管中心的SBC LAN口连接托管中心内网的IPPBX。企业分机可以通过企业网络连接到SBC WAN口。

Host-ippbx-1.jpg

安装前准备工作

开始设置步骤前,用户一定要成功安装激活FreeSBC/ProSBC软件许可证。 在以上配置示例中,SBC的WAN口(Voip0)连接企业网络的网口,SBC的LAN口(VoIP1)连接托管中心的IPPBX的SIP服务器的LAN口。在设置文件中为WAN_IF_0和LAN_IF_0。建议用户在设置自己的SBC应用场景时也有必要根据以上的命名来进行配置。这样的命名相对比较清晰,方便技术人员排查问题。最终目的是,外网SIP终端用户可以注册到托管的IPPBX/呼叫中心的服务器,实现通过托管IPPBX呼叫,同时实现和内网终端的互相呼叫。

如果用户购买的商业版本或者购买了技术服务的话,在提交问题之前,请准备以下问题:

  • SBC 版本
  • 应用拓扑图说明,包括图例
  • 用户部署场景是何种场景
  • 页面出现的问题,截图
  • 用户出现的问题,包括SIP应用服务器端的log日志
  • 终端错误提示
  • 配置或者修改相关配置时,需要仔细进行,配置完成后及时备份

IP 网络配置

这是配置SBC的真正开始的第一部。此部分需要配置4个方面的内容,并且对SIP/RTP语音业务根据IP和端口进行归类划分。

WAN口配置虚拟端口

首先,我们为WAN口配置一个虚拟端口。
1) 从界面导航,访问IP Interface

IP interfaces.jpg

2) 点击Virtual Ports 标签栏,然后创建一个新的Virtual Port 虚拟端口
Virtual-ports.jpg

3) 配置此虚拟端口
3.1) 输入虚拟端口名称
3.2) 选择一个主机名称
3.3) 选择一个物理端口绑定到此虚拟端口,这里的voip0 端口就是SBC的物理WAN口。
3.4)点击 Create 按钮

Virtual-ports-new-virtual-port.jpg

4) 接下来,创建一个VLAN,使用这个已配置的虚拟端口

New-host-VLAN.jpg

5)创建一个新的Host VLAN
这里是创建一个WAN 口新的Host VLAN 5.1)输入VLAN名称,这里仍然使用WAN前缀加VLAN
5.2)如果使用这些端口的话,勾选这些标签选项。如果用户不熟悉的话,按照图例操作,确认 Untagged是勾选状态。
5.3)如果使用这些端口的话,勾选这些标签选项 802.1Q tag,按照图例操作,输入VLAN ID。
5.4)点击Create按钮
New-host-VLAN-1.jpg

或者,设置为这样:
New-host-VLAN-2.jpg

LAN口配置虚拟端口

前面的章节中,我们已经为WAN口配置了虚拟端口。这里,我们和前面的操作基本一样,但是,我们是为LAN口创建虚拟端口。所以,步骤完全相同,仅是配置物理LAN口的虚拟端口。
1) 从界面导航,访问IP Interface

IP interfaces.jpg

2) 点击Virtual Ports 标签栏,然后点击创建一个新的Virtual Port 虚拟端口
Virtual-ports-lan.jpg

3) 配置此虚拟端口
3.1) 输入虚拟端口名称LAN_0
3.2) 选择一个主机名称
3.3) 选择一个物理端口绑定到此虚拟端口,这里的voip1 端口就是SBC的物理LAN口。
3.4)点击 Create 按钮

Virtual-ports-lan-1.jpg

4) 接下来,创建一个VLAN,使用这个已配置的虚拟端口

New-host-VLAN-LAN.jpg

5)创建一个新的Host VLAN
这里是创建一个LAN口新的Host VLAN 5.1)输入VLAN名称,这里仍然使用LAN前缀加VLAN
5.2)如果使用这些端口的话,勾选这些标签选项。如果用户不熟悉的话,按照图例操作,确认 Untagged是勾选状态。
5.3)如果使用这些端口的话,勾选这些标签选项 802.1Q tag,按照图例操作,输入VLAN ID。
5.4)点击Create按钮
LAN VLAN 0.jpg

或者,设置为这样:
LAN VLAN 0-1.jpg

WAN口配置IP Interface接口

在前面的章节,我们为WAN和LAN配置了虚拟端口。现在,我们开始对WAN配置IP interface。其主要目的是针对我们使用的SIP和RTP进行管理配置。大概需要经过以下三个大的步骤。

1)访问界面,访问 IP Interfaces:

IP interfaces-WAN.jpg

2)点击 IP Interfaces tab,创建一个新的 New IP Interface。

New-ip-interface-WAN.jpg

3)配置此IP interface,它需要经过以下几个简单的步骤:

3.1)输入interface名称

3.2)为这个IP 接口选择一个或多个所需要的服务,这里我们选择是服务是RTP和SIP,RTP支持语音流传输,SIP支持我们的SIP信令控制

3.3)选择这个 Host VLAN支持IP 数据的出口

3.4)是否使用DHCP自动获取IP地址,用户也可以自己选择自定义的IP地址,需要咨询网管来设置此IP

3.5)输入IP地址,输入 Netmask, 输入 gateway 地址

3.6)点击保存。

New-ip-interface-WAN.jpg

LAN口配置IP INterface接口

前面章节,我们为WAN口配置了一个IP interface。在本步骤中,我们继续为LAN口配置一个IP interface来支持所需要的RTP/SIP服务。

1)访问界面,访问 IP Interfaces:

IP interfaces-WAN.jpg

2)点击 IP Interfaces tab,创建一个新的 New IP Interface。

IP interfaces-LAN-3.jpg

3)配置此IP interface,它需要经过以下几个简单的步骤:

3.1)输入interface名称

3.2)为这个IP 接口选择一个或多个所需要的服务,这里我们选择是服务是RTP和SIP,RTP支持语音流传输,SIP支持我们的SIP信令控制

3.3)选择这个 Host VLAN支持IP 数据的出口

3.4)是否使用DHCP自动获取IP地址,用户也可以自己选择自定义的IP地址,需要咨询网管来设置此IP

3.5)输入IP地址,输入 Netmask, 输入 gateway 地址

3.6)点击保存。

IP interfaces-LAN-2.jpg

SIP 协议配置

配置完WAN/LAN口的虚拟端口和IP iterface以后,我们现在创建一个SIP协议来支持SIP信令的工作。此步骤大概需要经过以下三个步骤。

1)从导航界面,点击SIP,进入SIP配置状态。

Sip-stack-1.jpg

2)点击创建一个新的SIP

Sip-stack-2.jpg

3)开始创建一个新的SIP

3.1)检查勾选框Enabled已经开启

3.2)输入SIP协议栈名称,注意,如果将来对接时可能出现其他问题的话,其他高级选项和定时器是必须检查的地方。

3.3)点击 Create 按钮

Sip-stack-3.jpg

WAN口配置传输服务器

本步骤是专门为WAN口配置传输SIP服务的,包括UDP或者TCP等。

1)点击 SIP界面导航

Transport-sip-WAN-1.jpg

2)选择一个需要设置传输服务的SIP协议,截图中是我们之前已经创建好了。

Transport-sip-WAN-2.jpg

3) 点击 Create New Transport Server

Transport-sip-WAN-3.jpg

4)创建一个新的 SIP transport server:

4.1)输入服务器名称

4.2)选择正确的端口类型和端口号。注意,如果WAN对接的运营商不是使用的UDP/5060端口的话(可能其他端口,或者TCP传输),用户需要联系对端服务提供商确认其端口号,否则可能不能正常工作。

4.3)选择host IP interface

4.4)最后点击 Create按钮

Transport-sip-WAN-4.jpg

LAN口配置传输服务器

1)点击 SIP界面导航

Transport-sip-WAN-1.jpg

2)选择一个需要设置传输服务的SIP协议,截图中是我们之前已经创建好了。

Transport-sip-WAN-2.jpg

3) 点击 Create New Transport Server

Transport-sip-WAN-3.jpg

4)创建一个新的 SIP transport server:

4.1)输入服务器名称

4.2)选择正确的端口类型和端口号。这里是一般默认设置。注意,如果LAN口对接的内网IPPBX/SIP应用服务器的端口,它们可能使用其他的5060端口的话(可能其他端口,或者TCP传输),用户需要再次确认对端服务器的传输协议和端口号,否则可能不能正常工作。

4.3)选择host IP interface

4.4)最后点击 Create按钮

Transport-sip-LAN-1.jpg

SIP NAP 路由节点管理

配置好前面的虚拟端口,IP interface和SIP传输协议配置以后,我们在本章节开始配置NAP设置。Network Access Point(NAP)表示一个网络访问节点,针对其他网络或者peer的(例如,SIP proxy代理,trunk,终端等)。因此,我们需要配置WAN的NAP来支持外网SIP终端注册的流程,LAN口的NAP来对接内网SIP 服务器的NAP。

WAN口配置NAP

首先,我们需要创建一个新的NAP来支持WAN口的设置。针对WAN口的NAP需要经过以下几个步骤。

1)从导航菜单中点击NAPs

NAP WAN 1.jpg

2) 点击 Create New NAP

NAP WAN 2.jpg

3) 创建新的NAP:

3.1)输入NAP名称

3.2)点击 Create

Remote-workers-2.jpg

4)检查是否创建成功,确认显示成功信息。

NAP WAN 4.jpg

5)NAP关联一个SIP transport server:

5.1)选择有效传输服务器的列表,注意是WAN_XX前缀,因为我们配置的是WAN口绑定的NAP。

5.2)点击 "<<" 关联WAN_SIP_TS和这个NAP

NAP WAN 5.jpg


6)关闭Proxy Address

Remote-workers-3.jpg


7) 设置针对WAN口的访问控制列表

因为用户需要外网的SIP终端注册到内网中,用户可能也不知道用户具体的IP地址和网络详情,因此SBC允许任何外网注册访问。

7.1)输入IP/MASK (这里使用0.0.0.0/0 接收来自于任何地址的访问),当然也可以设置到设定的IP地址。默认为任何地址段访问。

7.2)点击 "<<" 在控制列表中添加一个访问列表

Remote-workers-4.jpg


8)使用这个新的NAP关联端口范围

8.1)从Available list中选择一个port range

8.2)点击"<<"使用此NAP关联 WAN_Vlan:0 Port range

Remote-workers-5.jpg


9)配置所需参数要求

9.1)检查Accept only authorized users option 参数,确认其配置状态是勾选状态( unchecked)。选择此选项以后,FreeSBC将会把任何外部要求的INVITEs发送到"Open NAP",然后再前转到企业内部的IPPBX/呼叫中心等应用服务器,无需SBC首先对用户进行认证处理。以下几个其他的参数设置为默认状态,如果需要高级设置,确认具体配置后可以进一步配置。

9.2)Registration Parameters

9.3)Authentication Parameters

9.4)Network Address Translation

9.5)SIP-I Parameters

9.6)Advanced Parameters

9.7)最后,点击 Save

Remote-workers-6.jpg

LAN口配置NAP

此部分是专门针对SBC LAN对IPPBX的NAP设置。因此,它会涉及到IPPBX端的参数设置要求和相关的IPPBX细节。

1)从导航菜单中点击NAPs

NAP WAN 1.jpg

2) 点击 Create New NAP

NAP WAN 2.jpg

3) 创建新的NAP:

3.1)输入NAP名称

3.2)点击 Create

Remote-workers-7.jpg

4)检查是否创建成功,确认显示成功信息。

NAP WAN 4.jpg

5)NAP关联一个SIP transport server:

5.1)选择有效传输服务器的列表,注意是LAN_XX前缀,因为我们配置的是LAN口绑定的NAP。

5.2)点击 "<<" 关联LAN_SIP_TS和这个NAP

Remote-workers-8.jpg


6)输入SIP Server proxy address地址

按照图例输入相关的IPPBX地址和勾选必要参数,从IP地址就是对端的企业内网其他第三方应用服务器地址或开源媒体软交换地址。

Remote-workers-9.jpg


7) 设置针对LAN口的访问控制列表

因为用户需要内网SBC转发到内网IPPBX地址,设置一个内网访问列表。

7.1)输入IP/MASK (这里使用0.0.0.0/0 接收来自于任何内网地址的访问),当然也可以设置到设定的IP地址。默认为任何地址段访问。

7.2)点击 "<<" 在控制列表中添加一个访问列表

Remote-workers-4.jpg


8)使用这个新的NAP关联端口范围

8.1)从Available list中选择一个port range

8.2)点击"<<"使用此NAP关联 LAN_Vlan:0 Port range

Remote-workers-10.jpg


9)配置所需参数要求

按照图例输入默认的相关信息,这里的proxy 地址是内网对端IPPBX/呼叫中心的地址,端口。开启图例所指示的必要选项。

9.1) Registration Parameters

9.2) Authentication Parameters

9.3) Network Address Translation

9.4) SIP-I Parameters

9.5) Advanced Parameters

9.6)最后,点击 Save

Remote-workers-11.jpg

Remote-workers-12.jpg

访问列表设置

FreeSBC/ProSBC将会自动创建好访问列表。ACL相当于一个呼叫控制列表,表示接受从其设定地址的呼叫。

Remote-workers-13.jpg

如果用户双击 已经创建好的ACL名单时,用户可以看到FreeSBC 仅接受的呼叫-源IP匹配的呼叫。以下示例表示仅接受来自于IP地址是192.168.1.10的呼叫。192.168.1.10地址是用户内网的IPPBX 服务器地址。

Remote-workers-14.jpg

当然,用户也可以看到针对WAN的ACL 访问控制。

SIP DOMAIN设置支持域名注册

为了支持一组终端设备或者用户能够互相呼叫,我们必须首先创建一个domain支持SIP域名注册服务。因此,我们需要经过一些必要的设置来支持这个功能。

此部分主要最新三个部分的存在,其设置流程如下:创建一个SIP注册域名->创建一个注册服务->创建一个NAP路由管理域名注册。此部分涉及到终端参数设置比较多,用户一定要注意。

配置Create New SIP Registration Domain

现在,我们开始创建一个为SIP注册服务提供的域名。

1) 点击页面导航 SIP Domain

Remote-workers-15.jpg

2)点击 Create New Domain

Remote-workers-16.jpg

3)创建一个新的 Domain:

3.1)为此domain输入一个配置名称 Name

3.2)输入一个Domain Name,这是外网用户使用的SIP Registration Domain (此值可以支持FQDN或者IP address),用户可以根据企业域名定义一个比较方便管理的域名,例如:hiastar.com, freepbx.cn等域名。

3.3)为此domain 设置最大注册用户数量- Maximum Registered Users

3.4)设置一个超时时间,当远端SIP终端不能提供的话,SBC将使用此设置 (Default Contact Expire)

3.5)选择 Routing Method,系统将会使用此路由对设置路由呼叫到已注册用户(如果在脚本中开启)

  • Register source: 发送 SIP Invite 到注册源IP地址。
  • Contact: 发送SIP Invite到注册消息中的 'contact'头地址

3.6) 设置Default Contact Expiration,当用户代理没有提供Expires时,使用此设置

3.7) 设置 Minimum Contact Expiration,这是用户代理可以提供的最小Expires 值。低于此值的话,注册将会被拒绝,返回一个 423'Interval too brief'响应。

3.8) 设置Maximum Contact Expiration,这是用户代理能够提供的最大Expires值,大于此值的话,将使用此值替代。

3.9) 前转参数设置-Forwarding Parameters:

  • 选择注册Forwarding Mode服务模式:
    • Contact Remapping: 修改用户和IP地址
    • Contact Passthrough: 不修改任何参数,不通过SBC,直接透传,允许用户之间直接通信
  • 设置 Minimum Registrar Expiration,这是SBC为注册服务提供的最小Expires值。如果一个用户代理的'Expires'值大于此参数设置,SBC就会在用户代理和注册服务之间做一个调整
  • 设置 Maximum Pending Register Forwar,此domain支持的最大并发等待注册端请求数量。如果超出此阀值设置,新注册请求将会被拒绝
  • 设置 Maximum Simultaneous Register Forward, 此domain支持的最大并发活动请求数量。如果超出此阀值设置,新注册请求将会被拒绝

3.10) 点击 Create 按钮完成创建

Remote-workers-17.jpg

4)检查SIP注册domain是否创建成功,如果成功,界面有创建成功提示信息

Remote-workers-18.jpg

5) 如果用户需要多个SIP注册域名,用户需要重新再创建新的domain。

Create New SIP Registration Registrar

SIP 注册服务表示 一个SIP endpoint,此 endoint提供了一个定位服务。用户必须在系统中配置 SIP Registrar注册服务。具体关于定位服务和注册服务,请读者参考RFC3261规范。


首先,用户需要选择一个已创建的domain:


1) 点击用户创建的SIP Domain List

Remote-workers-19.jpg

2) 点击 Create New SIP Registration Registrar

Remote-workers-20.jpg

3) 创建一个新的 SIP Registration Registrar

3.1) 为SIP Registration Registrar输入一个 Name

3.2) 从下拉菜单中选择一个已定义好的 SIP Proxy NAP

3.3) 点击 Create

Remote-workers-21.jpg


4) 检查是否成功创建,如果创建成功的话,界面会显示 Sip registration registrar was successfully提示信息

Remote-workers-22.jpg

设置SIP domain和新的NAP之间的绑定关系

前面,我们分别创建了SIP domain和NAP,这里,我们需要创建一个绑定关系,将两个部分的设置绑定关联在一起。

1)设置一个新SIP Domain和新NAP绑定关系。如果用户有多个注册域名使用同样的注册服务,用户可以关联多个页面绑定NAP

2)从 Available 列表中选择一个sip domain

3)点击 "<<" 关联此SIP Domain和此NAP

Remote-workers-23.jpg

呼叫路由设置

呼叫路由控制是系统必须设置的项目。呼叫路由控制管理呼叫的方向。它体现一种能力,呼叫控制的路由可以根据某些规定来执行,例如呼叫方地址,目的地地址,时间,或者费率等项目来设置。呼叫路由可以支持

两个方向的配置:外网远端SIP分机->SIP 服务器路由,SIP服务器->外网远端SIP分机。下面,我们分别介绍这两种呼叫路由。

SIP外网远端SIP分机到SIP服务器的路由配置

此部分主要配置呼叫路由的呼入部分,简单来说,就是从SIP外网远端SIP分机 通过SBC NAP节点,然后到SIP 服务器端的配置。所以,这是一个呼入方向的配置。

1)点击 Routes界面导航菜单

Call-route-1.jpg

2)点击,创建一个 New Static Route 创建静态路由。当然,可以使用动态脚本来实现高级路由。但是,配置前需要咨询官方技术人员,并且需要了解动态路由脚本的编写。

Call-route-2.jpg

3)创建一个新路由:

3.1) 为此路由创建一个名称,在输入一个含义明确的名称 RoutesetName,建议按照文档的名称输入。

3.2) 选择 SIP_REMOTE, 从 Trunk 的NAP匹配呼叫, 注意,这里是远端注册。

3.3) 选择 SIP_SERVER_NAP

3.4) 点击 Create 按钮,完成创建。

Remote-workers-24.jpg

4) 检查创建路由结果状态,确认在路由列表顶部出现成功提示 "Route was successfully created" 。

Remote-workers-25.jpg

到这里,我们成功创建了一个呼入的路由,呼叫可以路由到内部SIP 服务器。

SIP服务器到SIP外网远端SIP分机的路由配置

此部分主要配置呼叫路由的呼出部分,简单来说,就是从SIP服务器->SBC NAP节点->SIP外网远端SIP分机。所以,这是一个对外方向的配置。

1)点击 Routes界面导航菜单

Call-route-1.jpg

2)点击,创建一个 New Static Route 创建静态路由。当然,可以使用动态脚本来实现高级路由。但是,配置前需要咨询官方技术人员,并且需要了解动态路由脚本的编写。

Call-route-2.jpg

3)创建一个新路由:

3.1) 为此路由创建一个名称,在输入一个含义明确的名称 RoutesetName,建议按照文档的名称输入。

3.2) 选择 SIP_SERVER_NAP, 从 Trunk 的NAP匹配呼叫, 这里是从SIP IPPBX 服务器出局方向

3.3) 选择 Select (By registered user),注意这里的选择。

3.4) 点击 Create 按钮,完成创建。

Remote-workers-26.jpg

4) 检查创建路由结果状态,确认在路由列表顶部出现成功提示 "Route was successfully created" 。

Remote-workers-27.jpg

到这里,我们成功创建了一个对外SIP远端分机的注册,外网用户可以通过SBC注册到内网IPPBX。

激活配置文件