找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

2545

积分

0

好友

369

主题
发表于 3 天前 | 查看: 5| 回复: 0

概述

FSPBX是基于FreeSWITCH开发的开源IPPBX电话系统,但其本身并不直接支持传统的PSTN接口接入。如果用户需要实现通过PSTN运营商线路进行语音呼入呼出,通常需要外接一个语音网关设备。语音网关(支持E1或FXO接口)可以通过SIP中继(SIP trunk)模式与FSPBX实现IP层面的对接。本文档的配置测试场景,模拟了运营商线路通过本地数字网关最终接入FSPBX的典型应用环境。

测试前提条件:

  • 已在本地安装部署FSPBX系统。
  • 准备一台支持SIP的语音网关设备。本次测试使用的是OpenVOX(深圳开源通信)的E1数字网关,用户也可使用FXO模拟网关进行类似的测试与接入。具体型号可咨询厂家业务人员(https://www.openvox.com.cn/)。
  • 其他具体应用场景支持,如分机互拨、通过PSTN呼入呼出、IVR、呼叫队列等。

(一) 呼叫流程

测试的端到端呼叫流程如下:
软电话1001 -> FS PBX -> E1网关(172.16.6.27) -> E1网关(172.16.6.29) -> UC -> 软电话1002

FS PBX与E1数字网关网络拓扑连接示意图

(二) 网络说明

  • 172.16.6.27 为连接FSPBX的数字网关用户侧设备IP。
  • 172.16.6.29 为连接运营商模拟环境(UC)的数字网关网络侧设备IP。

二、FS PBX关键设置

(一) 定义Domain

在FSPBX中,Domain(域)本质上是“租户/业务域”的标识。系统利用它将分机、网关、拨号计划、IVR、话单等配置隔离成一套套独立的“PBX实例”,从而实现同一台服务器上运行多套PBX系统(多租户)。

FS PBX域名管理界面

FS PBX创建新域名界面

  • Name:这是“域的唯一标识”,通常使用一个域名或IP地址(例如本文使用的172.16.6.121)。系统会用它来进行SIP注册、认证时的匹配与配置归属判断(例如判断分机/拨号计划属于哪个域)。
  • Label:这是“显示名称/备注名”,主要用于在管理界面中让人更容易识别与切换不同的域(更偏向于UI展示)。它不要求是域名或IP格式,也不一定参与SIP信令层面的匹配逻辑。

本例中配置为:Name:172.16.6.121,Label:ipaddress

FS PBX主界面显示当前域名

配置完成后,可以在主页右上角进行不同Domain的切换。

(二) 定义访问控制(Access Control)

为了安全起见,需要配置访问控制列表,允许来自E1网关的SIP信令访问。

FS PBX高级菜单下的访问控制选项

FS PBX访问控制列表

系统默认可能禁止所有外部访问。我们需要编辑或创建规则,允许特定IP。例如,编辑名为providers的列表,添加一条规则允许E1网关用户侧IP 172.16.6.27 的访问。

配置允许特定IP地址访问的规则

三、在FS PBX上配置分机

(一) 定义分机号

在Accounts -> Extensions中创建新的分机。

FS PBX创建新分机界面

  1. 填写用户姓名(如First Name, Last Name)。
  2. 填写分机号码(Extension),例如 1001
  3. 填写基本信息后点击保存,系统将进入分机详情编辑界面。

(二) 查看与修改SIP认证密码

在分机详情页面,可以查看系统为分机自动生成的SIP认证密码。

分机基本信息设置页面

导航至 SIP Credentials 选项卡。

分机设置中的SIP凭证选项

点击 Show 按钮,即可查看该分机注册所用的用户名、域名和密码。

显示分机的SIP注册域名、用户名和密码

(三) 软电话注册(以Linphone为例)

将上一步在FSPBX中查看到的SIP凭证信息(域名、用户名、密码)复制并填入软电话的账户设置中。

Linphone软电话SIP账户配置界面

(四) 验证注册状态

返回FSPBX的Extensions列表页面,可以查看分机的注册状态。如果显示为在线(Online),则表示软电话注册成功。

FS PBX分机列表显示分机1001在线

四、配置SIP Trunk (中继)

(一) 用户侧网关配置

在连接FSPBX的用户侧E1网关上,需要配置SIP中继,并获取其监听信令的IP和端口(例如 172.16.6.27:30001)。这通常在中继或SIP相关配置页面完成。

OpenVox E1网关SIP中继配置界面

(二) FS PBX定义网关(Gateway)

在FSPBX中,需要定义一个网关(Gateway)来指向用户侧E1网关的SIP服务。

FS PBX网关列表页面

进入 Advanced -> Gateways,创建新网关。关键配置项包括:

  • Gateway Name: 网关名称,如 dhu27
  • Proxy: 填写用户侧网关的SIP地址和端口,如 172.16.6.27:30001
  • Realm: 通常与Proxy一致。
  • Register: 根据网关要求选择是否向网关注册,本例设置为 False (IP认证模式)。
  • Context: 通常设为 public

FS PBX网关详细参数配置页面

(三) 网络侧网关配置

在网络侧E1网关上,同样需要配置SIP中继,指向UC或对端IPPBX的地址(例如 172.16.6.29 指向UC)。此步骤确保了信令能在整个网络路径中传递,是构建稳定 VoIP 通话的基础。

网络侧网关SIP中继配置示例

(四) UC(模拟运营商/对端)配置

在对端的UC系统或IPPBX上,需要配置一个SIP中继指向网络侧网关的IP地址(172.16.6.29)。

UC系统配置SIP中继界面

配置完成后,查看中继状态应为“On”或“可用”。

UC系统中继列表显示中继状态为On

五、配置E1端口与信令

(一) 用户侧网关E1端口设置

在用户侧网关上,进入端口设置,配置E1端口参数,例如:场所区域选择“中国”,端口类型“E1”,帧结构“CCS”,编码“Alaw”,线路补偿等。

用户侧E1网关端口参数设置界面

(二) 用户侧网关E1信令设置

在PRI设置中,启用端口,信令类型选择“用户侧”,交换类型选择“EuroISDN”等。

用户侧网关PRI信令参数设置

(三) 网络侧网关配置

在网络侧网关上,进行类似的E1端口和信令设置,但信令类型应选择“网络侧”。

网络侧E1网关端口参数设置

网络侧网关PRI信令参数设置

六、配置外呼逻辑(FS PBX -> UC)

(一) FS PBX定义呼出路由(Outbound Route)

为了让FSPBX的分机能通过网关呼出,需要配置呼出路由。

FS PBX外拨路由列表

创建新的外拨路由,关键配置如下:

  1. Gateway: 选择之前创建的网关 dhu27
  2. Dialplan Expression: 定义匹配规则。例如,输入5并点击Add,会生成正则表达式 ^5\d*$,表示匹配所有以5开头的被叫号码。
  3. 启用(Enabled)此路由。

FS PBX外拨路由详细配置页面

(二) 用户侧网关路由配置

在用户侧网关上,需要配置IP->Tel路由规则,将来自FSPBX、被叫前缀为5的呼叫,路由至本地的E1端口(PRI中继)出局。

用户侧网关IP到电话路由配置

(三) 网络侧网关路由配置

在网络侧网关上,配置Tel->IP路由规则,对从E1端口进入、目的地为SIP的呼叫进行处理,例如删除前缀5,然后将剩余号码送至UC。

网络侧网关电话到IP路由配置

(四) UC呼入路由设置

在UC上,定义呼入路由。当有呼叫进入时,根据被叫号码(已去除前缀5)将其转接至相应的分机,例如分机1002

UC系统呼入路由配置界面

七、配置内呼逻辑(UC -> FS PBX)

(一) UC呼出路由设置

在UC上,定义呼出路由。匹配被叫前缀为4的呼叫,并通过SIP中继(dhu2,即指向网络侧网关)送出。

UC系统呼出路由配置界面

(二) 网络侧网关路由配置

在网络侧网关上,配置Tel->IP路由规则,将来自UC、被叫前缀为4的呼叫,路由至用户侧网关的IP地址(172.16.6.27)。

网络侧网关路由配置界面

(三) 用户侧网关路由配置

在用户侧网关上,配置IP->IP路由或直接转发规则,将来自网络侧网关、被叫前缀为4的呼叫,路由至FSPBX的IP地址(172.16.6.121)。

(四) FS PBX呼入路由配置

在FSPBX上,需要定义一个对外的电话号码(DID),例如6666,并设置当有呼叫拨打此号码时,转接至内部分机1001
首先,在 Dialplan -> Phone Numbers 中创建号码6666,并设置其路由目标为分机1001

FS PBX电话号码管理列表

配置电话号码6666的路由目标为分机1001

完成上述设置后,系统会自动生成一条对应的呼入路由(Inbound Route)。

FS PBX呼入路由管理界面

自动生成的呼入路由6666详情

八、呼叫验证

完成以上所有配置后,即可进行端到端呼叫测试:

  • 外拨测试: 使用注册在FSPBX上的软电话1001,拨打 51002。呼叫应能通过网关链,最终振铃UC上的软电话1002。
  • 内拨测试: 使用UC上的软电话1002,拨打 46666。呼叫应能通过网关链,最终振铃FSPBX上的软电话1001。
  • 呼叫记录: 成功通话后,可以在FSPBX的CDR或活动记录中查看通话详情。

FS PBX系统中的成功通话记录

技术参考链接:

希望这篇详细的配置指南能帮助你成功完成FreeSWITCH FSPBX与数字网关的对接。如果在配置过程中遇到更多复杂的网络或系统问题,可以到 云栈社区 的网络通信板块与同行交流探讨。




上一篇:原生Web API替代框架:何时及如何实践反框架主义优化前端开发
下一篇:Java Web应用ZIP滑移漏洞解析:从上传到RCE的路径
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-1-14 18:54 , Processed in 0.357550 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表