您当前的位置是:  首页 > 资讯 > 国内 >
 首页 > 资讯 > 国内 >

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

2019-08-05 13:31:13   作者:   来源:CTI论坛   评论:0  点击:


  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,安装配置以后,可以通过界面登录FreePBX系统。然后,再进行以下流程配置。其流程包括:创建证书,创建WebRTC分机,创建SIP分机,使用webrtc客户端登录WebRTC分机,配置网关,配置FreePBX呼入呼出路由。下面,我们会通过一步步配置来告诉大家如何实现WebRTC和网关呼入呼出的对接呼叫。
  创建证书:
  在WebRTC中,需要证书的支持才能支持登陆,在本次测试环境中为内网环境,没有公网证书,所以需要自己在FreePBX中创建证书。供测试使用,创建证书导航为“管理员>>证书管理”进入页面之后,按下图所指示进入证书创建页面
  创建证书模板为
  配置完成后记得在左下角点击提交,提交之后在右上角更新配置
  关注知识星球,获取更多关于SIP应用场景技术SIP相关技术方案
  证书的默认路径为“/etc/asterisk/keys/”使用远程软件连接到freepbx后台查看你所创建的证书
  证书页面:
  在配置http守护进程完成之后,现在我们进入证书页面,验证配置是否成功,在火狐浏览器中输入“https://192.168.1.31:8089/httpstatus”出现该页面时,配置完成
  PJSIP分机创建:
  接下来需要创建PJSIP分机,供sipML5客户端以及eyeBeam软电话注册,进行通讯的测试,最先的就是将sip通道设置为仅仅pjsip,使用auto模式时,pjsip分机登陆可能会走到sip通道,导致登陆失败,设置路径为“设置>>高级设置”找到“拨号规则和操作”这一板块下,修改为下图中的设置。
  配置完成后,进入“设置>>Asterisk SIP设置”在通用设置页面下,修改一下参数,开启RTP的功能,同时,在下面的语音编码中,记得添加好opus模块
  现在修改PJISP设置,设置如下
  PJSIP分机创建及属性修改,在测试中,需要创建3台分机 ,2台为sipML5使用的分机,一台为eyeBeam软电话登陆分机。设置路径为“应用配置>>分机”添加PJSIP分机
  设置为
  现在创建一台eyebeam软电话登陆的PJSIP分机仅仅修改密码就好,其余使用默认设置。
  注意:创建PJSIP分机时,笔者在点击更新后,sipML5客户端以及软电话登陆pjsip分机都出现了forbide的错误,这是配置没有完全生效,可以重启asterisk后台,或者直接putty连接重启freepbx。
  通话测试
  现在进行通话测试,sipML5客户端和软电话的使用在之前文章有提及,不过多赘述,在本次测试中为内网环境,不需要nat以及stun服务器的配置,因此在专家模式中需要进行一些改动。
  8888分机上线成功
  9999分机上线成功
  软电话上线成功
  sipML5客户端8888呼叫sipML5客户端9999:
  通话建立成功,asterisk后台日志可查看,下图为日志部分截图
  sipML5客户端8888呼叫软电话10000:
  通话建立成功,asterisk后台日志可查看,下图为日志部分截图
  软电话10000呼叫sipML5客户端8888:
  通话建立成功,asterisk后台日志可查看,下图为日志部分截图
  软电话10000呼叫sipML5客户端9999:
  通话建立成功,asterisk后台日志可查看,下图为日志部分截图
  sipML5客户端9999呼叫sipML5客户端8888
  通话建立成功,asterisk后台日志可查看,下图
  sipML5客户端9999呼叫sipML5客户端10000
 
  通话建立成功,asterisk后台日志可查看,下图为日志部分截图
  至此,sipML5客户端以及到软电话的内网通讯全都测试完毕,双向通讯正常。
  接下来我们进行更深一步的测试,让freepbx对接sangoma的网关设备,型号为vega50模拟网关,使得内部话机可以与运营商双向呼叫。
  FreePBX配置:
  与vega网关对接,需要一条中继指向网关,在设置路径为“通信接口连接>>中继”
  我们在这添加一条sip(chan_pjsip)中继,默认设置中,将中继名设置为简单易懂的名字
  “pjsip配置”中,我们关闭认证和注册功能,在SIP服务器和端口,输入vega网关的IP地址和端口
  现在配置入局路由。设置路径为“通信接口连接>>入局线路>>添加呼入路由设置”设置未知目的地为分机 ,同时指导一个分机号码接受运营商的呼叫
  现在配置出局路由。设置路径为“通信接口连接>>出局线路>>添加呼出路由设置”在匹配中继顺序中,选择好之前创建的中继。
  在Dial Patterns设置中,匹配模式设置为X.为匹配所有
  现在进行网关侧配置
  在vega网关上,建议新手使用快速配置



  配置完成后,进行呼叫测试
  使用sipML5客户端8888分机呼叫运营商号码,拨号时异地号码前加0
  通话建立成功,asterisk后台日志可查看,下图为日志部分截图


  呼入测试,使用手机拨打回PSTN线路号码,检查8888分机是否能接受呼叫
  通话建立成功,asterisk后台日志可查看,下图为日志部分截图
  注意:
  1. WebRTC通信对多方环境的依赖程度比较高,在本环境下配置成功不代表环境
  2. 在FreePBX配置时,记得使用快照功能,笔者在实际配置时,由于一些误操作 导致IP被PBX加入黑名单,无法远程访问页面,使用快照可还原状态
  3. FreePBX部分配置保持后,没有立即生效,需要手动重启PBX,保证配置生效,否则可能会出现。
 
   
  SIPlab@知识星球学习SIP语音相关技术
  asterisk@知识星球免费获取关于Asterisk的完整知识资料
  关注微信公众号:asterisk-cn,获得有价值的Asterisk行业分享
  Asterisk freepbx,FreeSBC技术文档: www.freepbx.org.cn
  融合通信商业解决方案,协同解决方案首选产品:www.hiastar.com
  Asterisk/FreePBX中国合作伙伴,官方qq技术分享群(3000人):589995817
【免责声明】本文仅代表作者本人观点,与CTI论坛无关。CTI论坛对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。

专题

CTI论坛会员企业