文章目录

  • 一、voip背景
  • 二、voip客户端
  • Linphone
  • WebRTC
  • x-lite
  • zoiper
  • 三、voip服务端
  • OPENSIPS
  • FreeSWITCH
  • FreeSWITCH对比OPENSIPS
  • 使用Opensips和FreeSwitch搭建高可用软交换架构
  • 商用voip
  • 参考


一、voip背景

随着通信IP化的发展,IP传输的高带宽、低成本等优势使得越来越多的企业、电信运营商加快建设基于IP的各种通信应用。在通信协议IP化发展中,SIP协 议毫无争议地成为各大电信运营商构建其未来网络的基础协议,越来越多的SIP软件产品也不断出现在行业应用中。SIP协 议的标准化,同时也造就了一大批优秀的开源软件产品,包括Asterisk、SipXecs、FreeSWITCH、OpenSIPS等SIP服务端软 件,也包括X-lite、LinPhone、eyeBeam等SIP客户端软件。

二、voip客户端

Linphone

官网: http://www.linphone.org/
Linphone是一款开源基于SIP协议的语音视频电话软件,可移植到移动端Android、IOS、WindowsPhone8

开源免费的LinPhone,国内很多人基于他继续二次开发。

WebRTC

webrtc的官网地址:https://webrtc.org
网页端实时音视频技术WebRTC:看起来很美,但离生产应用还有多少坑要填?
参考URL: http://www.52im.net/thread-1282-1-1.html

来自: 百度百科
WebRTC,名称源自网页即时通信(英语:Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的API。它于2011年6月1日开源并在Google、Mozilla、Opera支持下被纳入万维网联盟的W3C推荐标准。

WebRTC是一个免费的开放项目,它通过简单的API为浏览器和移动应用程序提供实时通信(RTC)功能。

ios voip类的应用上架 voip软件_ios voip类的应用上架


可以看出Chrome、Firefox、Opera、Android、ios都支持WebRTC。事实上,WebRTC不仅可以用于浏览器、Android、ios,甚至可以和sip、Jingle、PSTN建立会话。

所以客户端可以是浏览器、移动应用、PC应用或者嵌入式设备。

如何在Android APP中使用WebRTC呢?
一种方式是引入官网提供的SDK,
https://webrtc.org/native-code/android/

WebRTC完全是 JavaScript的天下。

ios voip类的应用上架 voip软件_Android_02


总结:WebRTC主要基于 浏览器,使用js api开发。它的一个非常重要的优点就是,用户不用单独安装软件,有浏览器就可以用了。是一个新兴技术。

市场分析对WebRTC非常看好,预计到2022年市场规模将达到64.9亿美金。总的来说,WebRTC技术现在处在一个最好的时代。

x-lite

软电话win客户端(x-lite)
X-Lite 免费版本(仅有英文版本)
http://www.counterpath.com/x-lite.html

zoiper

Zoiper 有免费的,有收费的,有SDK,支持SIP/IAX(没有NAT问题)
官方下载的免费版本里面就支持中文!

免费版本支持:for Windows, Linux, Mac, iPhone, Android, Windows Phone,Web浏览器

http://www.zoiper.com/softphone/

三、voip服务端

OPENSIPS

官网: opensips.org

前身是大名鼎鼎的OPENSER, 这个服务器端已经基本可以实现所有SIP可以完成的功能,视频通话,电话会议,TLS安全SIP,都不是问题.最实用的是他打包了一个约700MB的虚拟机文件,不用自己编译安装,直接用虚拟机就能开始测试你自己的客户端。

OpenSIPS是一个成熟的电信级SIP Server平台,可广泛应用于SIP应用的路由分发、负载均衡,可用于搭建SIP代理,提供SIP注册服务等。而且目前OpenSIPS自身也提供 SIP Presence以及IM功能。同时,应该注意的是OpenSIPS本身并不提供媒体相关服务,如呼叫中心、VoiceMail等业务,该部分业务可通过 FreeSwtich、sipXecs等平台实现。

**OpenSIPS的主要功能主要在于代理、路由和网关。**因此,单独的OpenSIPS并不能够提供VOIP服务,只有和Asterisk等具备媒体功能的软件整合,才能构建可靠的语音服务体系。

对于媒体服务器,开源世界也提供了很多选择,如老牌的Asterisk,以及功能全面的sipXecs以及专注于IVR功 能的FreeSwitch等,他们都是非常优秀的开源项目。其中Asterisk功能全面、灵活,但主要面向企业应用,在性能上稍差。但Asterisk 提供了完善的PBX功能,可以连接多种不同的电话终端,支持多种主流的IP电话协议和系统接口。FreeSwtich专注于IVR功能,性能、可靠性非常高。近期 FreeSwitch已被sipXecs采用作为其IVR部分功能。sipXecs则是一个功能比较全面的产品,包括IVR、VoiceMail、人工坐 席等等,更难得的是SipXecs提供了良好的配置、管理界面,易于使用。

只要将OpenSIPS作为前置接入,将多个Asterisk、FreeSwitch、sipXecs挂接在其后,由OpenSIPS实现SIP消 息的转发和负载均衡,就可以轻松地实现各种语音业务以及规模扩展。

总结:

FreeSWITCH

参考URL: http://www.freeswitch.org.cn/
Freeswitch-入门介绍

FreeSWITCH是一个开源的电话软交换平台,主要开发语言是C,某些模块中使用了C++,以 MPL1.1发布。

freeswitch采用MPL1.1协议授权,也就是可以免费使用并获取源代码,可以修改、发布甚至出售自己的应用。可以放心关于版权的问题。跨平台也就是说它可以运行在很多系统上,类似于Windows、Max OS X 、linux等。

可伸缩是一个什么概念?说的通俗点就是小到一个软电话客户端,大到商用级别的软件换设备,freeswitch都可以实现。通信协议上也支持sip、H323、Skype和Google Talk等,关键还在于freeswitch可以与各种开源的PBX系统以及商用的交换系统互通。从技术上来说,freeswitch是作为一个U2BUA(back to back user agent)也就是背靠背的用户代理来帮助通信的双方进行实时的语音视频通信。

FreeSWITCH对比OPENSIPS

相比Opensips,Freeswitch应该算是后起之秀,在网上似乎看到Freeswitch的主要开发者是之前Opensips的核心SVN提交者之一,个人试用的感觉是Freeswitch的优势在于配置文件都是XML文件,各种设置相对Opensips来说更容易学习,有经验的程序员1天之内就能完成大部分的配置问题,比如配置用户,配置DIAPLAN,配置SIP PROVIDER等等。另一个特点是Freeswitch的语音功能比较强大,不管是Mailbox, 还是Conference,甚至简单的CALL Center部署,只要安装了IVR模块就完成了,真正部署时用户只需按需要录制自己的声音文件替换默认的就大功告成。

使用Opensips和FreeSwitch搭建高可用软交换架构

使用Opensips和FreeSwitch搭建万级别的高可用软交换架构

商用voip

avaya

参考

架构设计:基于Webrtc、Kurento的一种低延迟架构实现
参考URL: https://www.jianshu.com/p/ac307371def4
直播为什么不使用WebRTC?
参考URL: https://baijiahao.baidu.com/s?id=1612209576437907188&wfr=spider&for=pc
FreeSWITCH(二) - 安装部署、试用