开篇说一句,从国内互联网行业的发展情况和国家政策法规两方面来看,国内VOIP相关的资料简直是太少太少了。
- 互联网企业越来越多的使用IM聊天工具进行文字、语音、视频的沟通,使用固定电话的场景越来越少。
- 国内反电信诈骗的政策导致企业申请SIP Trunk,E1 Trunk的难度越来越高。
- 反电信诈骗的政策同样导致各大VOIP厂商的线上销售渠道折戟。百度对VOIP相关资料的赋权也大打折扣。
- 当年厦门优秀的两个兄弟企业(Yealink和Yeastar)现在基本国内转地下销售了,海外市场倒是风生水起.
- HUAWEI、H3C曾经优秀的VOIP和MCU业务,因为大环境的影响也逐步停线。
- GOIP直接认定不合法了。
以上种种,基本导致国内的VOIP行业要不出海寻求市场,要不就被套上了电信诈骗设备供应商的帽子。
难啊!
但是,工作还是要做的。大型企业对于电话语音业务的需求量又实打实的在那摆着。但有别于网络、DBA、云计算等,VOIP的资料越来越不好找了,Yeastar这种中国企业的资料,去Google搜他的英文版的社区和文档简直啥内容都有,热闹的人。但是中文页面上就只有一个垃圾说明书。
寄语
笔者所在企业对VOIP的需求量不大,但也不小。逗老师后期会慢慢的更新这个专栏内容,分享一些VOIP系统的一些知识点,希望能给各位同学带来帮助。
目录
本文先说一个案例,如何在Yeastar S20的PSTN网关和FreePBX之间建立中继,并且实现PSTN线路的外呼和内呼。
拓扑如下:
- 话机注册至FreePBX
- PSTN模拟电话网关与FreePBX之间对接SIP Trunk
- SIP话机配置直线号码,实现经由PSTN网关直线呼入呼出
一、Yeastar与FreePBX之间对接SIP Trunk
这一步坑比较少,几乎就是参照厂商文档直接配置就好了。
1、FreePBX侧配置
FreePBX侧配置比较简单,进入应用接口-中继-添加中继-添加SIP中继,之后参照下图配置即可。其他选项全默认。
2、Yeastar侧配置
比较简单,填个IP/域名就OK了。
二、FreePBX分机配置
1、FreePBX创建分机
这个也比较简单,我们直接把用运营商分配的直线号码,在FreePBX上创建分级就好
2、注册分机
随便找个IP电话,注册一下。
逗老师使用的摩托罗拉的SIP话机。
三、联调-外呼相关配置
我们先做呼出路由,让SIP电话可以使用PSTN线路外呼。
1、FreePBX呼出路由
通信接口-出局线路-添加呼出路由设置,参考下图配置,选择之前创建的中继即可。
出局路由的拨号规则标签页,我们简单点,直接写个permit any,使用点( . )来表示匹配所有拨号规则。
2、Yeastar呼出路由
这里对于小白而言,就出现了第一个坑。
所谓呼出路由,对于绝大部分使用Asterisk内核的PBX网关而言,指代的是从本地分机去往中继方向的流量。
对于从中继进入并转发到其他中继的中转流量,需要使用呼入路由控制功能。
所以在这个场景下,我们需要在Yeastar上使用呼入路由来控制流量离开本机,并送往PSTN线路。
而坑爹的是,Yeastar的前端页面不允许配置呼入路由的下一跳为中继线路。
这个案例中的流量就变成了特别绕嘴的:FreePBX中继->呼入路由->呼出路由->FXO中继
所以,先为PSTN线路绑定一条呼出路由,以便待会创建呼入路由的时候可以选中此FXO口。
再创建呼入路由。
这条路由的原理是
- 条件为:来自FreePBX的,主叫号码为29991468,被叫号码为任意
- 下一跳:送往PSTN的FXO-1接口。
3、外呼测试
此时,如果FXO-1接口上正确连接了PSTN模拟电话线路,外呼应该是可以正常打出去的。
我们可以查看一下通话记录,发现FreePBX和Yeastar上都已经正常记录下这通电话的通话记录。
四、联调-呼入相关配置
呼入是个大坑
原本计划为FXO口添加DID号码,然后配置路由指向PBX。结果,因为FreePBX和Yeastar的兼容性问题,呼入电话这样接不起来!抓包看问题是FreePBX侧在接听瞬间发SIP BYE报文,而且从参数来看基本无解。
于是乎,我们曲线救国,换一个方法,使用本地分机呼叫前转方式来配置呼入路由。
1、FXO呼入指向本地分机
添加一条呼入路由,目的地指向一个本地的分级
2、配置分机的呼叫前转
转移号码为FreePBX上的真实号码。
3、添加真实号码号段的路由
添加真实号码段路由,下一跳指向与FreePBX之间建立的SIP Trunk
4、配置中继SIP 参数
编辑SIP Trunk,进入高级,配置转移参数From为“第一主叫号码”,否则FreePBX无法获知真实的来电主叫号码