外网远端SIP终端注册 配置示例文档

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

跳转至: 导航搜索

SBC 外网远端SIP终端 配置示例

应用版本

此配置应用于SBC V3.0 版本。

介绍

本章节的目的是为用户提供一个通过SBC支持SIP 外网终端注册到内网IPPBX/呼叫中心的用户场景的配置示例。用户需要访问SBC管理界面,通过自己的呼叫设置,配合此文档来一步步设置。用户必须已经安装好了SBC软件平台,也了解了SBC网络环境的基本背景。如果用户不了解SBC 网络环境的话,建议首先了解SBC的网络环境说明: http://freepbx.org.cn/wiki/index.php?title=FreeSBC-ProSBC%E7%BD%91%E7%BB%9C%E7%8E%AF%E5%A2%83%E6%A6%82%E8%BF%B0

如果用户想了解最新的官方英文最新配置说明,请访问: https://docs.telcobridges.com/tbwiki/FreeSBC:Remote_Workers:Configuration_A

以下示例中,SIP分机用户通过SBC来对接到企业IPPBX/呼叫中心等SIP媒体应用服务器。SIP媒体服务器可以支持基于开源Asterisk/FreeSWITHC平台开发的产品或者其他第三方商业SIP厂家产品。 企业IPPBX内网SIP终端可以通过SBC呼出到PSTN或者其他的SIP中继呼出,然后落地呼叫手机或者PSTN固话。外网支持的作用是:

  • 支持SIP远端分机可以在任何地点任何地方通过软电话或者物理电话注册到内网IPPBX,支持移动办公场景。
  • 可以支持不同分机提供不同的SIP domain注册。
  • 具体关于FreeSBC/ProSBC商业部署咨询,请访问中文网站:http://freesbc.cn/ 或者发邮件:james.zhu@hiastar.com
  • 下载免费SBC-FreeSBC ISO 或者商业版本SBC,请访问:www.freesbc.com
  • 此设置和SIP trunk配置示例配置流程基本上相同,但是,针对SIP终端外网注册的NAP做了调整(第六部分),增加了关于SIP domain(第七部分)的设置支持。用户千万不要迷惑。

Remote-workers-1.jpg

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

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

  • SBC 版本
  • 应用拓扑图说明,包括图例
  • 用户部署场景是何种场景
  • 页面出现的问题,截图
  • 用户出现的问题,包括SIP应用服务器端的log日志

SIP外网SIP远端配置示例

为了完成SBC的配置,用户首先需要对安装做一些准备。

安装前准备

  • 首先确保SBC安装成功,并且已经获得软件许可证激活码,成功激活了SBC软件。
  • 其次,了解SIP远端配置的基本参数,如果不熟悉的话,可以联系其厂家技术支持,例如安全设置,账号设置等。
  • 配置或者修改相关配置时,需要仔细进行,配置完成后及时备份。

以上步骤完成后,我们开始进入IP网络配置部分。

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 address

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 address

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 trunk->SIP 服务器路由(相当于呼入路由),SIP服务器->SIP trunk路由(相当于呼出路由)。下面,我们分别介绍这两种呼叫路由。

SIP trunk到SIP 服务器的路由配置

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

1)点击 Routes界面导航菜单

Call-route-1.jpg

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

Call-route-2.jpg

3)创建一个新路由:

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

3.2) 选择 SIP_TRUNK_NAP, 从 Trunk 的NAP匹配呼叫

3.3) 选择 SIP_SERVER_NAP

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

Call-route-3.jpg

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

Call-route-4.jpg

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

SIP 服务器到SIP trunk的路由配置

此部分主要配置呼叫路由的呼出部分,简单来说,就是从SIP服务器->SBC NAP节点->SIP trunk 运营商的线路出局。所以,这是一个呼出方向的配置。

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) 选择 SIP_TRUNK_NAP, 出局后路由到运营商SIP trunk的NAP 节点。

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

Call-route-5.jpg

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

Call-route-6.jpg

到这里,我们成功创建了一个呼出的路由,呼叫可以路由到外部的SIP 运营商落地。

配置激活

通过以上多个步骤,系统已经完成了配置 SIP trunk的所有基本步骤,各种配置数据已经保存到了系统数据库和其他资源中。接下来,用户需要激活此配置来保证我们的配置可以正常工作。

注意:如果用户激活新的系统配置,其用户身份必须是 admin 用户身份。激活步骤如下:

1)从菜单导航中选择 System

Active-sys-1.jpg

2) 激活新的系统配置,点击 Activate

注意:必须确认 Lock active configuration box 是未被勾选的状态。 如果激活失败的话是因为以前的配置文件被系统锁死,防止使用以前的配置,所以需要检查此设置。

Active-sys-2.jpg

3. 检查激活状态,确认显示激活成功消息。然后,系统会提示用户备份已保存的数据库:

Active-sys-3.jpg

Active-sys-4.jpg

到这里,我们的SIP trunk 配置完全完成。用户可以进行呼入呼出测试。