SIP概述

SIP(Session Initiation Protocol)是一种用于建立、修改和终止多媒体会话的网络协议,常用于语音、视频通话等。与SS7不同,SIP采用点对点模式,处理工作主要在端点完成。SIP通过SDP传输流媒体详细信息,并借助RTP进行语音视频传输。在NAT环境下,SIP通信可能面临挑战,但STUN协议能辅助穿越NAT进行UDP通信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

sip是作为标准被提议用于建立,修改和终止包括视频,语音,即时通讯,在线游戏和虚拟现实等多种多媒体元素在内的交互式用户会话。

SIP与SS7的区别:
sip是一个点对点协议,所以它只需要一个相对简单的(因此也高度可扩展的)核心网络,而将处理工作下放给连接在网络边缘的智能端点。处理工作都在端点实现。
SS7是一个高度集中处理的协议,其特点表现为高复杂度的中心网络结构和无智能的哑终端(传统的电话机)。

SIP语音视频传输过程:
由SIP协议来控制如:获取对方主机名,设定会话ID,定位用户或传输一个封装好的对象给对方。然后通过SDP传输流媒体细节,如:使用哪个IP端口,采用那种编码方式。SIP简单的封装流媒体,再通过RTP传输语音,视频给对方。(如果是软电话还要通过媒体网关控制协议(MPGACO)来控制公共电话交换网的网关,再传输给对方。)由RSPT(实时流量控制协议)来控制流量的传输。

 

SIP通讯示意图:

 

 

 

 

RTX数据包结构图:

 

 

 

Ver.(2 位元)是目前协定的版本号码,目前版号是 2。P(1位元)是用于RTP 封包(packet)结束点的预留空间,视封包是否需要多余的填塞空间。X(1位元)是否在使用延伸空间于封包之中。. CC(4位元)包含了 CSRC 数目用于修正标头(fixed header). M (one bit) 是用于应用等级以及其原型(profile)的定义。如果不为零表示目前的资料有特别的程式解译。PT(7 bits)是指payload的格式并决定将如何去由应用程式加以解译。SSRC 是同步化来源。

 

 

 

 

SIP用于搭载媒体流的RTP)并不能简单的越NAT路由器。大部分SIP客户端可以通过STUN的协助穿越full cone,restricted cone和port restricted cone的NAT但对于对称的(symmetric)NAT还是有问题。还有SIP的点对点特性无法使用一些网络本身提供的服务。例如,网络不能很容易的支持合法的呼叫侦听(在美国由法律控制的窃听,CALEA)。紧急呼叫(在美国呼叫E911)难以路由。因为IP终端本身具有移动性,网络并没有任何定位的能力,要确定正确的公共服务应答点PSAP很困难。基本SIP模型(CALEA)解决了的缺陷。

 

STUN补充:

NAT的UDP简单穿越)是一种网络协议,它允许位于NAT(或多重NAT)后的客户端找出自己的公网地址,查出自己位于哪种类型的NAT之后以及NAT为某一个本地端口所绑定的Internet端端口。这些信息被用来在两个同时处于NAT 路由器之后的主机之间建立UDP通信。

 

STUN 使用下列的算法来发现 NAT gateways 以及防火墙(firewalls):

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值