VoIP VoWifi VoLTE SIP的区别与联系(一)

简介: 笔记

概念


SIP:Session Initiation Protocol,它是一个基于文本的应用层控制协议,用于创建、修改和释放一个或多个参与者的会话。SIP 是一种源于互联网的IP 语音会话控制协议,具有灵活、易于实现、便于扩展等特点。

VoIP: VoIP的完整名字是Voice over Internet Protocol,翻译过来就是因特网语音,可以简单理解为一种用因特网系统代替传统电话通讯系统进行语音通话的技术,基于SIP协议。

VoWifi: 终端使用无线作为接入点 ,连接到运营商的IMS进行通话

VoLTE:使用LTE网络,接入IMS进行通话

相同点:

VoIP、VoWifi、VoLTE都是使用PS域进行分组交换

区别:

通话质量:VoLTE>VoWifi>VoIP


一、CS和PS


VoIP(Voice over IP)的出现起始于1995年,那个时候GSM刚进入中国。20年来,VoIP语音服务和2/3G网络的CS语音业务一直共存。尽管两者都提供语音服务,但其技术原理是有本质的区别的。语音传输的本质实际上有两种形式:

  • 电路交换(CS,Circuited Switched)
  • 分组交换(PS,Packet Switched)

CS,是指通话前需在网络中建立一条线路,这是“独占”的资源,直到通话结束才拆除。

PS,是将数据打包传输,这就像快递打包一样,当你的物件被放进快递包后,快递员就不能拆包,必须完好无损的将包裹送到收件者手里,由收件者拆开,无需“独占”资源。

下面这张图说明了两者的区别:


9.png

image.png

传统2/3G语音采用CS传输;VoIP采用PS传输,是将数据封包(Data Packet)的形式在IP网络上传输。

到了4G时代,4G所有的资源都用来跑数据,也就是说LTE只支持PS(分组交换),这时候必须将电话语音也变成数据,大家“共享”网络带宽速率,于是就引入了VoLTE。VoLTE本质上是承载于LTE网络上的VoIP,但也有很多区别。


二、VoIP和SIP


VoIP是如何建立双方通话的呢?现实生活中,我们想找别人谈话,通常分为:对话建立— 对话 — 对话结束,三个步骤。以老王和小明的对话为例:

老王想找小明帮他修手机:

老王:Hi,小明!
小明:什么事?老王!

这就是现实生活中的对话建立过程.

老王的“Hi,小明!”是向小明发起对话请求,小明的“什么事?老王!”是对老王的对话请求的响应。

现在他们开始谈论修手机的事,这是双方的对话内容。

...对话内容...

对话结束时:

老王:谢谢,小明!再见!
小明:再见!

这是对话的结束过程。

同样,老王的“谢谢!小明!再见!”是向小明发起对话结束请求,小明的“再见!”是对老王的对话结束请求的响应。

如果老王和小明的对话,通过模拟/数字转换、编码、封装后打包成IP数据包后,再通过IP网络传送,这就叫VoIP。老王和小明的对话实际上会打包成两种类型的数据包:信令包媒体包

10.png

image.png

如上图所示,“Say hello”和“Say goodbye”那部分被封装成信令包,而具体谈话内容被封装成媒体包,它们都通过数据包传送到对方。

IP网络中建立对话比现实生活要复杂得多,要在IP网络建立对话,通话双方必须知道对方地址,怎样编码,如何封装数据包...等等,所以大家必须遵守一个统一的规则,这就引入了SIP协议。

SIP,Session Initiation Protocol,会话发起协议,用于建立、修改和终止IP网上的双方或多方的多媒体会话,类似于HTTP的基于文本的协议。VoIP的信令包就是根据SIP协议封装的。

SIP消息分两种:请求消息(比如INVITE)和响应消息,响应包括一个最终响应及可能的多个临时响应。

具体协议这里就不介绍了,附一张流程图:


11.png

image.png


所以,整个VoIP通话过程是这样的:


12.png

image.png


一个完整的SIP网络还需要加一些功能实体,这些功能实体包括:

13.png

image.png

User Agents - 用户代理

发起和终止会话的实体,比如电话终端。

SIP服务器

SIP服务器包括:登记服务器,代理服务器,位置服务器和重定向服务器。

Registrar Server - 登记服务器

接收REGISTER 请求完成用户注册,可以支持鉴权的功能。

Proxy Server - 代理服务器

对SIP请求及响应进行路由,它对收到的请求消息进行翻译和处理后,传递给其他的服务器。它与重定向服务器(Redirect Server)及位置服务器(Location Server)有联系。

Location Server - 位置服务器

跟踪用户的位置,代理服务器或重定向服务器从位置服务器获取被叫当前可能的位置信息。

Redirect Server - 重定向服务器

将用户新的位置返回给呼叫方。呼叫方可根据得到的新位置重新呼叫。与代理服务器proxy server不同的是, redirect server不会发起自己的呼叫。与User Agents不同的是, redirect server不接受呼叫终止或主动终止呼叫。

它们之间是如何相互工作的呢?举一个简单的例子。

当老王的终端要呼叫小明的终端,老王的终端是怎么知道小明终端的IP地址的呢?


14.png

image.png

老王和小明的终端在接入网络时,首先会向Registrar Server发送 REGISTER 请求注册,Registrar Server根据请求信息建立用户标识与终端 IP 地址的对应绑定关系。

老王拨打小明的电话时,老王向Location Server发送含有小明的统一资源标识符地址的 INVITE请求。(统一资源标识符称作 SIP URI。SIP URI 很像一个 E-mail 地址,典型的统一资源标识符包括一个用户名和主机名。)

由于老王和小明的终端都已经在Registrar Server注册,并建立用户标识与终端 IP 地址的对应绑定关系。Location Server就向Registrar Server查询,此时,Registrar Server就根据INVITE请求中的小明的统一资源标识符地址查找到小明的IP地址,这样就可以生成路由信息,联系到小明,并回应老王,建立通话。

SIP Proxy Server、Redirect Server、Register Server、Location Server可共存于一个设备,也可以分布在不同的物理实体中。


三、VoLTE


有了VoIP和SIP的基础认识,现在我们来聊一聊VoLTE。

VoLTE引入了IMS。IMS(IP Multimedia Subsystem),即IP多媒体子系统,它提供多媒体IP服务,包括VoIP。

因为LTE网络只传送数据包,所以,LTE把语音和相关信令看成和其它数据一样,都打包于数据包传输(只是具有更高的优先级);IMS网络接收处理这些数据包,并区分这些数据包的信令和语音数据部分,管理语音的控制面(IMS signalling)和用户面(IMS traffic)。

和VoIP一样,IMS管理的数据包分为:信令包(控制面)和媒体包(用户面)。IMS管理信令部分的功能实体就相当于SIP服务器,负责用户面的就是媒体网关。这样,整个IMS网络结构可以简化两部分:SIP Server 和 媒体网关。


15.png16.png

image.png


实际上,IMS是一个在应用层上的网络,它工作于2G,3G,4G,甚至WiFi网络等之上,其包含了很多实体、接口、协议等。IMS具体的网络构架大概是这样:


16.png

image.png

IMS干的第一件是,就是加入了一个HSS子服务(Home Subscriber Server),这个是什么东西呢?SIP虽然也分为注册服务器Register Server、呼叫代理服务器Proxy Server,但SIP的注册服务器只是记录一下一个SIP账号的当前的IP地址数据、认证一下账号密码是不是正确;但IMS里的HSS就不简单了,他是在SIP的注册服务器基础上,增加了一个很明显的运营商特征——业务订购数据库,也就是在移动开手机卡时,那一堆附加增值服务,好了,你在这里可以看到来电显示业务、呼叫等待业务、彩铃业务……的开关——也意味着收费的计费点。

因为VoIP很简单,一般是企业内部用,或者小规模的虚拟运营商在有限的几台服务器上提供服务,所以VoIP的SIP软件、SIP电话机网关就可以直接通过IP地址和账号就能注册上去,然后呼叫在多台服务器上互相路由就可以完成呼叫的目的了,这些服务器,一般就是SIP Proxy Server,涉及到和固定电话、手机号码互通时,会有FXO网关,E1网关等负责转换,这里不多说了。

而IMS作为运营商的方案,动辄上亿用户规模,而且又分为各省市地分公司,当然,还有一个不得不提的 — 漫游。

IMS的核心是SIP,所以类似SIP Proxy Server这么重要的核心组件,IMS是不会少的,IMS里称它为Call Session Control Function,即CSCF,并且又把它分成了多个子系统,其中代理CSCF(P-CSCF)从用户终端角度看,基本就是SIP里的Proxy Server了(但其实不是,下述),负责直接与IMS的终端(类似SIP的软电话、硬件电话等等,但同样的,也扩展了不少东西,这里跳过不述);P-CSCF直接与终端交互,可能会把SIP进行压缩或者加密,然后就交给查询CSCF(I-CSCF),I-CSCF会查询HSS数据,来对用户名和密码进行认证,当然,他也从HSS里查询你是否欠费了,开通或关闭了某些业务,以及你是从哪个P-CSCF来的,用来判断你是不是漫游。

整个呼叫过程中,P-CSCF是不做复杂工作的,P-CSCF只负责接收SIP消息,它相当于是对外联络点,然后SIP消息会到达I-CSCF,I-CSCF是运营商的核心网络——就是运营商内部网络的入口,他会根据HSS查找到用户是属于哪个地区的,会对应分配一个空闲的为该地区服务的服务CSCF(S-CSCF),一直到了这里,S-CSCF才是真正的VoIP里Proxy Server的角色,S-CSCF完成用户注册认证和呼叫的路由处理,以及电话业务的触发(IMS称为AS,另外独立成一个子系统,下述)。

所以如果综合来分析,P-CSCF和I-CSCF只是起到一个边界安全防护SBC服务器和负载平衡、服务器分流这一类功能,真正处理SIP注册和呼叫的原先VoIP里标准逻辑的组件,是S-CSCF,从物理上看,P-CSCF可能是全国或省一级中心统一的服务器集群,配合更多的I-CSCF服务器分布在主干核心网上做分流,背靠一个大的HSS服务器群,将不同市县的用户分配到各地的S-CSCF上进行实际的处理,并且S-CSCF会更多地与当地的通讯机房里原有的2G、3G发生交流,也就是媒体网关(MGW),负责把新的走4G的手机终端和旧的3G、2G以及固定电话之类的对接起来,保持兼容(也就是PS、CS域的互通)。

所以,一个最最精简的IMS系统,它的核心组件是包含HSS、CSCF(P、I、S)即可,即把VoIP SIP的核心Register和Proxy Server进行按运营需求的发展。

而MGW,其实就是市面上大量被使用的VoIP的模拟网关,数字中继网关,而已……当然,运营商对稳定性要求需要更高一些,并且需要额外的集中管理和控制能力。

但如果上了4G也只是为了提供和原来类似的语音通话功能,运营商的面子还是挂不住的,得与时俱进,提供一些IM服务,面向个人用户,所以一般还要加一个Presence Server,推送服务器,离线存储服务器等云的概念,提供的无非是类似qq或微信的功能了。

同样的,通信不只是面向个人的,也要面向企业,所以上面也提到了AS子系统,即Application Server,其实就是现在的通信行业内的增值方案服务供应商了,一般就是提供例如电话会议、语音留言,企业语音导航IVR,电话呼入自动分配ACD等等;

就这样,VoIP发展成为具备运营商级的VoLTE。

目录
相关文章
|
7月前
|
监控 安全 Linux
处理SIP的voip语音环境问题的方法
在VoIP的环境中,特别是基于SIP通信的环境中,我们经常会遇到一些非常常见的问题,例如,单通,30秒就断线,注册问题,回声等。这些问题事实上都有非常直接的排查方式和解决办法,用户可以按照一定的排查方式,工具非常高效地解决这些问题。但是,因为读者技术水平参差不齐,网络上的很多技术也不完整。笔者今天系统归纳了这些问题。根据一些用户的使用环境和用户经常遇到一些问题,我们列举了以下十个在SIP呼叫中经常遇到的问题,并且给出了相应的排查方式,用户可以按照这些方法来解决SIP通话中的这些问题,有关系统问题欢迎喂博主一起交流学习。这十个经典的问题包括: 不能注册或呼叫到SIP服务器端 30秒挂断呼叫的
|
12月前
|
存储 安全
PBX与VoIP:它们之间有什么区别?
PBX与VoIP:它们之间有什么区别?
|
12月前
|
数据安全/隐私保护 网络架构
VOIP技术连载之一VOIP简介
VOIP技术连载之一VOIP简介
|
存储 应用服务中间件 网络性能优化
|
网络协议 数据安全/隐私保护 网络架构
voip网络电话设置和网关IP配置
voip网络电话设置和网关IP配置
SIP的voip语音环境咬线或摘机状态什么处理
SIP的voip语音环境咬线或摘机状态什么处理
|
监控 安全 Linux
10个方法处理基于SIP的voip语音环境问题
在VoIP的环境中,特别是基于SIP通信的环境中,我们经常会遇到一些非常常见的问题,例如,单通,30秒就断线,注册问题,回声等。
应用VoIP
或许把语音和Web在网络上结合起来的最佳途径就是利用VoIP,把语音打包后(不管用什么办法),在同一条物理链路上在为Web传递数据包的同时为用户传输语音包的最佳选择就是利用VoIP。
|
XML 网络协议 JavaScript
VOIP—软交换系统
Asterisk Asterisk是一个开源的PBX,Ast的模块化架构使得它可以支持sip,h323,iax,dahdi等接口,所以是目前功能最为齐全的PBX平台,而内部处理机制限制了它在高并发量环境的应用。
|
编解码 网络协议 数据库
语音业务VOIP开发之SIP协议篇
SIP是基于一个类似HTTP协议的请求应答的通讯模式。每一个通讯都包含对某个功能的请求,并且起码需要一个应答。在这个应答中,Alice的软电话发送一个含有Bbo的SIP URI抵制的INVITE通讯请求。INVITE是一个SIP请求的例子,表示请求方(Alice)希望服务方(Bob)应答。INVTE请求包含一系列的包头域(Header fields)。包头中包含很多属性并且包含了传输消息的附加信息。在INVITE中有如下的字段:呼叫的唯一标志,目的抵制,Alice的地址,Alice和Bob建立会话的类型。INVITE请求(图1中的F1)可能看起来像这样的: