深圳市宝安区华美居

0086-18665301040

FreePBX实现SIP/WebRTC和PSTN设备对接完整流程

FreePBX实现SIP/WebRTC和PSTN设备对接完整流程

FreePBX是目前使用最广泛的开源IPPBX平台,支持了IPPBX所有常用功能,同时也支持了WebRTC的功能。现在,我们创建一个完整的FreePBX平台,实现SIP分机,WebRTC和语音网关之间的互通配置。

实现目标

FreePBX创建pjsip分机,WebRTC客户端可以使用pjsip分机账号登陆,同时实现WebRTC内部分机语音沟通,对接网关后,可以使用WebRTC客户端与运营商号码的双向语音呼叫。

相对比与asterisk搭建,FreePBX有着可视化页面,可以方便管理员对分机账号的创建和管理,同时和asterisk的管理难度相比,操作难度减低,方便用户使用WebRTC集成其他企业业务实现IPPPBX的WebRTC业务支持和扩展。

测试环境
FreePBX版本SNG7-FPBX-64bit-1805-2
WebRTC客户端sipML5客户端
语音网关:sangoma vega50模拟网关
火狐浏览器68.0.1 (64位)
SIP软电话eyeBeam软电话

配置完整拓扑图:
FreePBX实现SIP/WebRTC和PSTN设备对接完整流程

配置步骤:
首先需要到官方下载FreePBX,安装配置以后,可以通过界面登录FreePBX系统。然后,再进行以下流程配置。其流程包括:创建证书,创建WebRTC分机,创建SIP分机,使用webrtc客户端登录WebRTC分机,配置网关,配置FreePBX呼入呼出路由。下面,我们会通过一步步配置来告诉大家如何实现WebRTC和网关呼入呼出的对接呼叫。

创建证书:
在WebRTC中,需要证书的支持才能支持登陆,在本次测试环境中为内网环境,没有公网证书,所以需要自己在FreePBX中创建证书。供测试使用,创建证书导航为“管理员>>证书管理”进入页面之后,按下图所指示进入证书创建页面
FreePBX实现SIP/WebRTC和PSTN设备对接完整流程
创建证书模板为
FreePBX实现SIP/WebRTC和PSTN设备对接完整流程
配置完成后记得在左下角点击提交,提交之后在右上角更新配置
FreePBX实现SIP/WebRTC和PSTN设备对接完整流程
FreePBX实现SIP/WebRTC和PSTN设备对接完整流程

关注知识星球,获取更多关于SIP应用场景技术SIP相关技术方案

证书的默认路径为“/etc/asterisk/keys/”使用远程软件连接到freepbx后台查看你所创建的证书
FreePBX实现SIP/WebRTC和PSTN设备对接完整流程

证书页面:
在配置http守护进程完成之后,现在我们进入证书页面,验证配置是否成功,在火狐浏览器中输入“https://192.168.1.31:8089/httpstatus”出现该页面时,配置完成
FreePBX实现SIP/WebRTC和PSTN设备对接完整流程

PJSIP分机创建:
接下来需要创建PJSIP分机,供sipML5客户端以及eyeBeam软电话注册,进行通讯的测试,最先的就是将sip通道设置为仅仅pjsip,使用auto模式时,pjsip分机登陆可能会走到sip通道,导致登陆失败,设置路径为“设置>>高级设置”找到“拨号规则和操作”这一板块下,修改为下图中的设置。
FreePBX实现SIP/WebRTC和PSTN设备对接完整流程

配置完成后,进入“设置>>Asterisk SIP设置”在通用设置页面下,修改一下参数,开启RTP的功能,同时,在下面的语音编码中,记得添加好opus模块
FreePBX实现SIP/WebRTC和PSTN设备对接完整流程

现在修改PJISP设置,设置如下
FreePBX实现SIP/WebRTC和PSTN设备对接完整流程

PJSIP分机创建及属性修改,在测试中,需要创建3台分机 ,2台为sipML5使用的分机,一台为eyeBeam软电话登陆分机。设置路径为“应用配置>>分机”添加PJSIP分机
FreePBX实现SIP/WebRTC和PSTN设备对接完整流程

设置为

FreePBX实现SIP/WebRTC和PSTN设备对接完整流程

现在创建一台eyebeam软电话登陆的PJSIP分机仅仅修改密码就好,其余使用默认设置。
FreePBX实现SIP/WebRTC和PSTN设备对接完整流程
注意:创建PJSIP分机时,笔者在点击更新后,sipML5客户端以及软电话登陆pjsip分机都出现了forbide的错误,这是配置没有完全生效,可以重启asterisk后台,或者直接putty连接重启freepbx。

通话测试
现在进行通话测试,sipML5客户端和软电话的使用在之前文章有提及,不过多赘述,在本次测试中为内网环境,不需要nat以及stun服务器的配置,因此在专家模式中需要进行一些改动。

8888分机上线成功

FreePBX实现SIP/WebRTC和PSTN设备对接完整流程
9999分机上线成功
FreePBX实现SIP/WebRTC和PSTN设备对接完整流程
软电话上线成功
FreePBX实现SIP/WebRTC和PSTN设备对接完整流程

sipML5客户端8888呼叫sipML5客户端9999:

FreePBX实现SIP/WebRTC和PSTN设备对接完整流程
通话建立成功,asterisk后台日志可查看,下图为日志部分截图
FreePBX实现SIP/WebRTC和PSTN设备对接完整流程
sipML5客户端8888呼叫软电话10000:
FreePBX实现SIP/WebRTC和PSTN设备对接完整流程

通话建立成功,asterisk后台日志可查看,下图为日志部分截图
FreePBX实现SIP/WebRTC和PSTN设备对接完整流程
软电话10000呼叫sipML5客户端8888:
FreePBX实现SIP/WebRTC和PSTN设备对接完整流程

通话建立成功,asterisk后台日志可查看,下图为日志部分截图
FreePBX实现SIP/WebRTC和PSTN设备对接完整流程
软电话10000呼叫sipML5客户端9999:
FreePBX实现SIP/WebRTC和PSTN设备对接完整流程
通话建立成功,asterisk后台日志可查看,下图为日志部分截图
FreePBX实现SIP/WebRTC和PSTN设备对接完整流程

sipML5客户端9999呼叫sipML5客户端8888
FreePBX实现SIP/WebRTC和PSTN设备对接完整流程

通话建立成功,asterisk后台日志可查看,下图为日志部分截图

FreePBX实现SIP/WebRTC和PSTN设备对接完整流程
sipML5客户端9999呼叫sipML5客户端10000
FreePBX实现SIP/WebRTC和PSTN设备对接完整流程
通话建立成功,asterisk后台日志可查看,下图为日志部分截图
FreePBX实现SIP/WebRTC和PSTN设备对接完整流程
至此,sipML5客户端以及到软电话的内网通讯全都测试完毕,双向通讯正常。

接下来我们进行更深一步的测试,让freepbx对接sangoma的网关设备,型号为vega50模拟网关,使得内部话机可以与运营商双向呼叫。

FreePBX配置:
与vega网关对接,需要一条中继指向网关,在设置路径为“通信接口连接>>中继”
FreePBX实现SIP/WebRTC和PSTN设备对接完整流程
我们在这添加一条sip(chan_pjsip)中继,默认设置中,将中继名设置为简单易懂的名字
FreePBX实现SIP/WebRTC和PSTN设备对接完整流程
“pjsip配置”中,我们关闭认证和注册功能,在SIP服务器和端口,输入vega网关的IP地址和端口
FreePBX实现SIP/WebRTC和PSTN设备对接完整流程
现在配置入局路由。设置路径为“通信接口连接>>入局线路>>添加呼入路由设置”设置未知目的地为分机 ,同时指导一个分机号码接受运营商的呼叫
FreePBX实现SIP/WebRTC和PSTN设备对接完整流程
现在配置出局路由。设置路径为“通信接口连接>>出局线路>>添加呼出路由设置”在匹配中继顺序中,选择好之前创建的中继。
FreePBX实现SIP/WebRTC和PSTN设备对接完整流程
在Dial Patterns设置中,匹配模式设置为X.为匹配所有
FreePBX实现SIP/WebRTC和PSTN设备对接完整流程

现在进行网关侧配置

在vega网关上,建议新手使用快速配置
FreePBX实现SIP/WebRTC和PSTN设备对接完整流程
FreePBX实现SIP/WebRTC和PSTN设备对接完整流程
FreePBX实现SIP/WebRTC和PSTN设备对接完整流程
配置完成后,进行呼叫测试
使用sipML5客户端8888分机呼叫运营商号码,拨号时异地号码前加0
FreePBX实现SIP/WebRTC和PSTN设备对接完整流程
通话建立成功,asterisk后台日志可查看,下图为日志部分截图
FreePBX实现SIP/WebRTC和PSTN设备对接完整流程
FreePBX实现SIP/WebRTC和PSTN设备对接完整流程
呼入测试,使用手机拨打回PSTN线路号码,检查8888分机是否能接受呼叫
FreePBX实现SIP/WebRTC和PSTN设备对接完整流程
通话建立成功,asterisk后台日志可查看,下图为日志部分截图
FreePBX实现SIP/WebRTC和PSTN设备对接完整流程
FreePBX实现SIP/WebRTC和PSTN设备对接完整流程

注意:
1)WebRTC通信对多方环境的依赖程度比较高,在本环境下配置成功不代表环境
2)在FreePBX配置时,记得使用快照功能,笔者在实际配置时,由于一些误操作 导致IP被PBX加入黑名单,无法远程访问页面,使用快照可还原状态
3)FreePBX部分配置保持后,没有立即生效,需要手动重启PBX,保证配置生效,否则可能会出现。

FreePBX实现SIP/WebRTC和PSTN设备对接完整流程

FreePBX实现SIP/WebRTC和PSTN设备对接完整流程

SIPlab@知识星球学习SIP语音相关技术

asterisk@知识星球免费获取关于Asterisk的完整知识资料

关注微信公众号:asterisk-cn,获得有价值的Asterisk行业分享

Asterisk freepbx,FreeSBC技术文档: www.freepbx.org.cn

融合通信商业解决方案,协同解决方案首选产品:www.hiastar.com

Asterisk/FreePBX中国合作伙伴,官方qq技术分享群(3000人):589995817

联系电话-18665301040
客服-3
客服-2
客服-1