SBC远端电话注册支持
介绍
外网电话注册支持外网员工在家里,其他地方可以轻松注册到公司的IPPBX,用户可以在家办公,或者使用手机APP访问IPPBX网络,用户手机APP可以成为一个分机终端来实现呼叫。 SBC在这个环境中扮演的是 far-end NAT traversal 支持外网注册,而不需要VPN隧道支持。注意,SBC同时也可以作为SIP对接的功能来简化远端访问。
PBX IP: 192.168.1.10 SBC LAN IP: 192.168.1.20 SBC DMZ IP: 10.10.32.170 SBC Public IP: 104.145.12.182 SBC FQDN: remote.sangoma.com
- 1) Network Setup
访问 Configuration->IP Settings->Network,然后编辑 eth0 设置为 DMZ IP 地址。下一步点击 Add 按钮,给eth1 添加一个IP 地址, 输入 IP 地址和 subnet:
完成配置后,会看到地址 eth0 和 eth1.
下一步,访问 Configuration -> IP Settings -> Media Interfaces 并且点击 Edit.
修改 Transcoding Mode 为 Hardware Hidden mode。然后点击保存。
下一步,点击 Detect Modules。完成模块检测后,点击 OK 继续。
- 2) SIP Profile Configuration
访问 Configuration -> Signaling -> SIP Profiles ,并且点击 Modify 来设置默认的 internal SIP profile.
确认SIP IP 地址为 LAN IP 地址。然后开启 SIP Trace option.
下一步,查看 Authentication section 并且关闭 Authenticate Calls。 此选项仅支持当远端电话注册到本地SBC SIP 帐号。完成后保存此internal profile。
下一步,添加一个新的profile,我们称之为 external。
External SIP profile 设置的 External SIP IP Address 和 External RTP IP 地址到公网IP,同时也开启SIP Trace option。
下一步,因为我们配合的是internal SIP profile, 需要关闭authenticate calls 。 因为远端终端在NAT 后,所以注册到 PBX 开启所有的 NAT options ,如图所示:
- 3) Adding SIP Trunk to PBX
访问 Configuration -> Signaling -> SIP Trunks ,点击添加Add,命名一个SIP trunk PBX.
这里的Domain 是PBX的IP地址. 设置Frequency and Max/Min Pings 开启 OPTIONS,完成以后保存设置。
- 4) Configuring the SIP Domain
访问 Configuration -> Signaling -> Domains 然后点击 Add。对FQDN设置设置domain名称,远端IP话机可以注册。
下一步,开启Forward Registration/Authentication,设置如下。设置转发SIP profile到Internal。这里我们建议强制超时设置Expires time 设置为300-600秒; 这样会强制电话每5-10分钟注册一次。 较短时间会确保注册信息比较及时和信息的正确。
访问Configuration -> Signaling -> SIP Profiles ,然后点击Modify,修改External SIP Profile.
然后点击Domain 部分的Bind。
从domain列表中选择domain,点击Bind.
domain 将会绑定到SIP profile。这样,远端的电话就可以注册到系统的External SIP Profile。
- 5) Configuring the Call Routing
访问 Configuration -> Routing -> Call Routing ,然后在Basic Call Routing中点击Add,添加新的routing plan。
命名一个新的routing plan internal,并且点击Add。
完成新路由规则创建以后,点击Add 来添加一个新的路由规则。
在新规则中,修改 stop policy 到Stop On Failure。 添加新的路由规则,管理所有从PBX IP地址发起的呼叫。为了实现此功能,需要使用network_addr变量设置。确保如果条件不匹配时,执行相应的命令,并且使用响应代码403。完成后点击保存继续。
下一步点击 Add 添加一个新规则。新规则的条件设置为基于Destination Address。匹配条件是通配符 (.*). action 是自定义的一个a custom action 并且设置application 为bridge。 data 是 ${sofia_contact(external/$1@remote.sangoma.com)。 "external" 部分是external SIP profile名称。"remote.sangoma.com" 部分是用户注册的domain。这些设置可能会修改,大部分情况下是基于用户安装环境做相应修改。
下一步,返回到call routing,添加一个新的呼叫路由,就像我们在第一步 1-2 设置的那样。命名一个标准的external呼叫路由。这个路由使用在external SIP profile。在新路由规则中,添加一个新路由规则。同样,condition 还是通配符 (.*),并且基于Destination Address,然后action 桥接到一个trunk。这个Trunk就是我们设置的SIP trunk,和PBX的目的地相对destination $1,如下所示:
两个呼叫路由都完成设置,可以访问 Configuration -> Signaling -> SIP Profiles 可以修改internal SIP profile。
在Session Routing 内容中的internal SIP profile修改 Routing Plan 到Internal,然后点击保存继续。
下一步访问Configuration -> Signaling -> SIP Profiles,这次修改点击Modify来设置External SIP profile。在External SIP profile中,访问 Session Routing 部分,然后修改 Routing Plan 到 External,点击保存。
- 6) Finalizing the Installation
访问 Overview -> Dashboard -> Control Panel ,并且启动以下服务:
- Vega Session Controller
- IP Firewall
- Intrusion Detection
- Intrusion Prevention
开启所有的IDS rules,通过菜单依次执行 Configuration -> Security -> Intrusion Detection ,保证所有的项目都已勾选。完成配置后,点击Update 更新配置。
访问System -> Server -> Web ,从All interfaces,选择 Network Interface,这里仅使用 internal network interface。
在这个实例,我们使用了 eth1 作为internal network interface。完成后点击保存。
下一步,访问System -> Server -> Web,修改Network Interface,仅使用internal network interface。现在web server 和 SSH 仅对内网访问有效。
因为配置已经完成,我们需要一个备份文件,访问 System -> Management -> Backup-Restore ,点击Backup备份。
下载备份的文件,做好文件命名。确保备份文件存放到安全的存储空间,这样的话,SBC可以有一个备份文件以便修改失败后重新恢复。