【快速开发VoIP】(原理篇)

目录

前言

提到VoIP有人就想到了网络电话,是没错,但网络电话只是VoIP应用的一种,也是最初设计VoIP的目的。现在运营商针对3G/4G提出的VoLTE其实跟VoIP有很大联系,VoIP顾名思义基于IP网络的语音,这个网络包括宽带光纤、局域网、广域网、移动网络等,适应性很强,而VoLTE其实就是基于LTE移动网络的语音。众所周知3G/4G网络本身只承载流量数据的,以至于不支持VoLTE的手机通话时必须回落到GSM(2G)网络上,可以说VoLTE也是基于VoIP开发的移动语音技术。

什么是VoIP?

VoIP(Voice over Internet Protocol)简而言之就是将模拟信号数字化,以数据封包(Data Packet)的形式在IP网络(IP Network)上做实时传递。VoIP最大的优势是能广泛地采用Internet和全球IP互连的环境,提供比传统业务更多、更好的服务。

VoIP可以在IP网络上便宜的传送语音、传真、视频、和数据等业务,如虚拟电话、虚拟语音/传真邮箱、查号业务、Internet呼叫中心、Internet呼叫管理、电话视频会议、传真存储转发和各种信息的存储转发等。

VoIP基本原理

VoIP是一种以IP电话为主,并推出相应的增值业务的技术。
是通过语音的压缩算法对语音数据编码进行压缩处理,然后把这些语音数据按 TCP/IP 标准进行打包,经过IP网络把数据包送至接收地,再把这些语音数据包串起来,经过解压处理后,恢复成原来的语音信号,从而达到由互联网传送语音的目的。IP 电话的核心与关键设备是 IP 网关,它把各地区电话区号映射为相应的地区网关 IP 地址。

VoIP主要的三种应用形式:

  • 网络电话:完全基于Internet传输实现的语音通话方式,包括是PC和PC之间、PC与手机APP、手机APP之间进行通话。比如QQ音频、WhatsApp、微信电话等;
  • 与公众电话网互联的IP电话:通过宽带或专用的IP网络,实现语音传输。终端可以是PC或者专用的IP话机。当VoIP网络语音系统接入PSTN电路交换网络,也就是说可以透传到普通GSM电话了,实现落地,直接从因特网VoIP连通到SIM电话,现在很多网络电话都可以透传落地。比如Skype、UUtone、Viber、有信等;
  • 传统电信运营商的VoIP业务:通过电信运营商的PLMN移动网络传输语音。提供的业务仍然是传统的电话业务,使用传统的话机终端。通过使用IP电话卡,或者在拨打的电话号码之前加上IP拨号前缀,这就使用了电信运营商提供的VoIP业务。如中国移动曾经的Jego、现在的VoLTE 等。

常用的VoIP协议(Control Protocol)如H.323、SIP、MEGACO和MGCP。

  • H.323是一种ITU-T标准,最初用于局域网(LAN)上的多媒体会议,后来扩展至覆盖VoIP。该标准既包括了点对点通信也包括了多点会议。
  • 会话发起协议(SIP)是建立VoIP连接的IETF标准。SIP是一种应用层控制协议,用于和一个或多个参与者创建、修改和终止会话。
  • 媒体网关控制协议(MGCP)定义了呼叫控制单元(呼叫代理或媒体网关)与电话网关之间的通信服务。
  • 媒体网关控制协议(MEGACO)是IETF和ITU-T(ITU-TH.248建议)共同努力的结果。

H.323建议中定义了四个主要的组件:即

  • 终端:(Terminal)--须支持语音通信,视频和数据通信能力是可选的。
  • 网关:(Gateway)能把不同系统所用的协议、音频、视频编码算法以及控制信号进行变换以适应系统终端互通。
  • 关守:(Gatekeeper)网关管理软件(也叫网闸)
  • 多点控制单元(Multipoint Control Unit)--MCU实现了在IP网络上进行多点通信,点到点的通信并不需要。

网络电话的工作原理

和GSM语音网络类似,网络电话也是有自己的语音编码(关乎音频质量和带宽占用)和信令控制(音频状态捕捉和操作命令)。

常见VoIP音频编码有silk、ilbc、G7.29、G7.22、AAC、PCMU以及大众熟知的GSM等,而与我们常说的音频文件编码格式MP3、APE、OGG、WMA等文件格式是有区别的.

在网络中传输着各种信号,其中一部分是我们需要的(例如打电话的语音,上网的数据包等等),而另外一部分是我们不需要的(只能说不是直接需要)它用来专门控制电路的,这一类型的信号我们就称之为信令,信令的传输需要一个信令网。信令控制无论是在VoIP还是传统GSM电话上都有着重要的作用(控制系统在哪都很重要),比如电话连通状态、DTMF等。


关于SIP协议

SIP(Session Initiation Protocol,会话初始协议)是由IETF(Internet Engineering Task Force,因特网工程任务组)制定的多媒体通信协议。它是一个基于文本的应用层控制协议,用于创建、修改和释放一个或多个参与者的会话。广泛应用于CS(Circuit Switched,电路交换)、NGN(Next Generation Network,下一代网络)以及IMS(IP Multimedia Subsystem,IP多媒体子系统)的网络中,可以支持并应用于语音、视频、数据等多媒体业务,同时也可以应用于Presence(呈现)、Instant Message(即时消息)等特色业务。可以说,有IP网络的地方就有SIP协议的存在。 SIP是类似于HTTP。由于基于IP协议的SIP利用了IP网络,固定网运营商也会逐渐认识到SIP技术对于他们的远意义。

本次我也主要说一下给予sip协议的VoIP开发,毕竟目前基于sip协议的VoIP是应用最广泛的。SIP 会话使用多达四个主要组件:SIP 用户代理、SIP 注册服务器、SIP 代理服务器和 SIP 重定向服务器。

SIP通过以下逻辑功能来完成通信:

  • 用户定位功能:确定参与通信的终端用户位置。
  • 用户通信能力协商功能:确定参与通信的媒体终端类型和具体参数。
  • 用户是否参与交互功能:确定某个终端是否加入某个特定会话中。
  • 建立呼叫和控制呼叫功能:包括向被叫“振铃”、确定主叫和被叫的呼叫参数、呼叫重定向、呼叫转移、终止呼叫等。

关于在iOS上开发和适配VoIP应用及注意事项

现在你想开发和集成VoIP功能,无非有两种:使用成熟的第三方库,或者有精力去自己找资料从基础研究。成熟的第三方库其实很多,除了开源、开放的比如PJsip、linphone等,国内也有很多IM-VoIP厂商再封包定制的。
我目前是基于linphone开源项目制作的。

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值