开篇说一句,从国内互联网行业的发展情况和国家政策法规两方面来看,国内VOIP相关的资料简直是太少太少了。
  • 互联网企业越来越多的使用IM聊天工具进行文字、语音、视频的沟通,使用固定电话的场景越来越少。
  • 国内反电信诈骗的政策导致企业申请SIP Trunk,E1 Trunk的难度越来越高。
  • 反电信诈骗的政策同样导致各大VOIP厂商的线上销售渠道折戟。百度对VOIP相关资料的赋权也大打折扣。
  • 当年厦门优秀的两个兄弟企业(Yealink和Yeastar)现在基本国内转地下销售了,海外市场倒是风生水起.
  • HUAWEI、H3C曾经优秀的VOIP和MCU业务,因为大环境的影响也逐步停线。
  • GOIP直接认定不合法了。

以上种种,基本导致国内的VOIP行业要不出海寻求市场,要不就被套上了电信诈骗设备供应商的帽子。

难啊!

但是,工作还是要做的。大型企业对于电话语音业务的需求量又实打实的在那摆着。但有别于网络、DBA、云计算等,VOIP的资料越来越不好找了,Yeastar这种中国企业的资料,去Google搜他的英文版的社区和文档简直啥内容都有,热闹的人。但是中文页面上就只有一个垃圾说明书。

寄语

笔者所在企业对VOIP的需求量不大,但也不小。逗老师后期会慢慢的更新这个专栏内容,分享一些VOIP系统的一些知识点,希望能给各位同学带来帮助。

目录

  • 难啊!
  • 寄语
  • 一、Yeastar与FreePBX之间对接SIP Trunk
    • 1、FreePBX侧配置
    • 2、Yeastar侧配置
  • 二、FreePBX分机配置
    • 1、FreePBX创建分机
    • 2、注册分机
  • 三、联调-外呼相关配置
    • 1、FreePBX呼出路由
    • 2、Yeastar呼出路由
    • 3、外呼测试
  • 四、联调-呼入相关配置
    • 1、FXO呼入指向本地分机
    • 2、配置分机的呼叫前转
    • 3、添加真实号码号段的路由
    • 4、配置中继SIP 参数
  • 搞定!

本文先说一个案例,如何在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无法获知真实的来电主叫号码

搞定!

【逗老师带你学IT】Yeastar PSTN网关对接FreePBX网关的各种坑-国内VOIP发展感叹相关推荐

  1. 【逗老师带你学IT】PRTG安装教程-部署简单功能强大的监控软件

    一.PRTG简介 个人总结PRTG的优点: 1.脑残化部署,Windows下直接双击安装,剩下的全靠点点点. 2.脑残化使用,全程点点点即可完成添加加设备.加监控点. 3.强大的性能,支持数万个传感器 ...

  2. 【逗老师带你学IT】Kiwi Syslog转存MySQL数据库

    本文介绍如何利用Kiwi Syslog将日志转存到MySQL数据库. 关于如何搭建Kiwi Syslog日志服务器,请参考: [逗老师带你学IT]Kiwi Syslog Server安装和配置教程 [ ...

  3. 【逗老师带你学IT】PRTG获取HUAWEI FusionServer iBMC传感器状态

    本文介绍如何使PRTG获取HUAWEI FusionServer iBMC传感器状态.以及衍生出如何通过ipmi通用协议监控所有服务器的带外管理状态. 本文主要涉及的技术点: 1.服务器ipmi命令行 ...

  4. 【逗老师带你学IT】PRTG监控通过Python+Modbus RTU获取温湿度传感器数据

    前文[逗老师带你学IT]PRTG监控通过Python+TCP Modbus获取温湿度传感器数据中我们讲了如何通过Python读取支持TCP Modbus的传感器数据.本章我们讲解下如何读取Modbus ...

  5. 【逗老师带你学IT】职场数据中心异地出口容灾,H3C的IP上一跳保持技术

    本文介绍,如何通过IP上一跳保持的方式,使多个城市的公网出口可以同时为一台服务器提供DNAT映射,并确保回包路由正确. 目录 一.需求背景和拓扑 二.入站DNAT(Destination Networ ...

  6. 【逗老师带你学IT】Kiwi Syslog Server安装和配置教程

    Kiwi Syslog Server是一款应用于Windows系统的系统日志守护进程,能够接收并记录系统日志,各种设备的SYSLOG消息,内置丰富的日志记录选项,能详细记录各种防火墙日志,并进行筛选分 ...

  7. 【逗老师带你学IT】HUAWEI华为防火墙自动化运维Python ssh管理网络设备

    本文,介绍一种.通过Django框架,搭建API服务器,并通过此API服务器管理华为防火墙.并以此衍生出,通过Django+Python+ssh的方式管理网络设备的方法. 关于Django环境的搭建, ...

  8. 【逗老师带你学IT】Kiwi Syslog Web Access与Active Directory集成认证

    Kiwi Syslog Server是一款应用于Windows系统的系统日志守护进程,能够接收并记录系统日志,各种设备的SYSLOG消息,内置丰富的日志记录选项,能详细记录各种防火墙日志,并进行筛选分 ...

  9. 【逗老师带你学IT】PRTG HTTP API获取指定传感器流量图表图片

    PRTG服务器支持通过HTTP API获取监控数据和监控图表.本文主要介绍HTTP API的方式拉取任意传感器流量图表.文章内容翻译和重新整理自PRTG用户手册. 原文链接: PRTG Manual: ...

  10. 【逗老师带你学IT】PRTG监控通过Python通过串口监控UPS运行状态,PRTG值查询功能定义

    本文主要介绍,如何通过串口获取UPS主机的运行状态,并通过PRTG统计监控和告警. 不同UPS主机厂的串口通信协议不同,但是市面上有一种比较通用的协议,如果你使用的是EATON,山特等等国产UPS,大 ...

最新文章

  1. signature=dff897e1da6b42a8e9483e18ff19fcde,Vídeo Institucional: Ingresse1
  2. Linux如何编译安装源码包软件
  3. Android Studio编译NDK工程时,报ndk-build.cmd'' finished with non-zero exit value 2错误
  4. ASP.NET 网站路径[转载]
  5. 刚柔并济的开源分布式事务解决方案
  6. head first Design Pattern State
  7. CSS打造很棒的黑色背景下的导航菜单
  8. 吃饭、睡觉、打星星之“打星星”!
  9. phpcmsV9:后台无法选择模板
  10. 一个ubuntu server下的oracle10g简单生产库全库备份脚本
  11. sql 数据库检查_数据库检查点– SQL Server 2016中的增强功能
  12. 《构建之法》阅读笔记二
  13. 此操作要求使用 IIS 集成管线模式
  14. 自制Unity小游戏TankHero-2D(2)制作敌方坦克
  15. 天猫运营和淘宝运营有哪些区别 天猫淘宝运营差异性
  16. Oracle 并行操作
  17. idea启动azkaban2.5
  18. Apple 基于蓝牙的iBeacon技术
  19. 开源项目与J2EE架构介绍
  20. java spring 配置

热门文章

  1. 中国将在未来几十年主导电动汽车市场
  2. 前端常见的浏览器兼容性问题及解决方案
  3. 苹果x和xs买哪个好_苹果12和12pro哪个值得买_苹果12和12pro哪个好
  4. iphone5s越狱之后必装
  5. AD16原理图库加封装报Footprint not found
  6. 私厨菜谱app的设计与实现(二)
  7. 谷歌GDELT数据说明
  8. 菜鸟程序员成长之路(七)——2020年,你奋斗了吗?
  9. 多语言国际版在线聊天室/匿名在线聊天室/语音聊天室/网页APP聊天室
  10. aws linux vps使用教程,亚马逊云(AWS)注册账号和启动服务器EC2(centos镜像)教程(踩坑记)...