视频通讯使用的SIP协议详解

视频通讯使⽤的SIP协议详解
⼀、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,SIP可以减少应⽤特别是⾼级应⽤的开发时间。由于基于IP协议的SIP利⽤了IP⽹络,固定⽹运营商也会逐渐认识到SIP 技术对于他们的远意义。
液压集成块SIP 协议,即 会话初始协议(Session Initiation Protocol),是⼀个应⽤层的 点对点协议,⽤于初始、管理和终⽌⽹络中的语⾳和视频会话,是 GB28181 的核⼼之⼀。
按照 IETFRFC2543 的定义:羟甲基丙烯酰胺
SIP是⼀个基于⽂本的应⽤层控制协议,独⽴于底层传输协议 TCP/UDP/SCTP,⽤于建⽴、修改和终⽌IP⽹上的双⽅或多⽅多媒体会话。SIP协议借鉴了HTTP、SMTP等协议,⽀持代理、重定向及登记定位⽤户等功能,⽀持⽤户移动。通过与RTP/RTCP、SDP、RTSP等协议及DNS配合,SIP⽀持语⾳、视频、数据、E-mail、状态、IM、聊天、游戏等。SIP协议可在TCP或UDP之上传送,由于SIP本⾝具有握⼿机制,可⾸选UDP。
SIP 协议虽然属于应⽤层协议,然⽽ SIP 本⾝并不提供任何服务。但是 SIP 是通信的基础,在 SIP 这个通信的基础上可以⽤来构建不同的服务。SIP 协议在建⽴和维持多媒体会话中,主要⽀持如下 5 个功能:
1) 检查终端⽤户的位置。⽆论被叫⽅在哪⾥均能确保呼叫达到被叫⽅,进⾏任何描述信息到定位信息的转换;
2)检查⽤户参与会话的意愿程度。参与者在呼叫中能够引⼊其他⽤户加⼊或者取消其他⽤户的连接;
3)检查媒体和媒体参数,允许与呼叫有关的组在⽀持特性上保持⼀致;
4)在呼叫与被叫双⽅建⽴会话;
5)发送和终⽌会话,修改会话参数,激活服务等会话管理操作;
⼆、Sip消息的两种会话模式
在Sip IM通信应⽤过程中,⼀般存在着两种会话模式:
Session Model
Pager Model
2.1、Session Model
会话中,对于消息体内容⼤于1300字节时,⼀般采⽤Session Model。其会话建⽴过程如下图所⽰:
主叫⽅A呼叫被叫⽅B:
步骤1:主叫⽅A发送INVITE请求到代理服务器;
步骤2:代理服务器发送100 Trying 响应主叫⽅A;
步骤3~6:代理服务器搜索被叫⽅B的地址,获取地址后转发INVITE请求;
步骤7~9:被叫⽅B⽣成的180 振铃响应,返回给主叫⽅A;
步骤10~12:被叫⽅B⽣成的200 OK响应,返回给主叫⽅A;
步骤13~17:主叫⽅A收到被叫⽅B200 OK响应后,向被叫⽅B发送⼀个ACK,会话建⽴;
步骤18~20:会话结束后,任何参与者(A或B)都可以发送⼀个BYE请求来终⽌会话;
步骤21~23:主叫⽅A发送200 OK响应来确认BYE,会话终⽌。
纳米网
注:以上的整个流程称之为⼀个Dialog
2.2、Pager Model
在Sip消息中,对于消息体不⼤于1300字节时,⼀般采⽤Pager Model。Sip消息通信中采⽤MESSAGE⽅法,MESSAGE⽅法本⾝并不建⽴Dialog,在多数应⽤中,每条IM消息都是独⽴的,颇似分页消息。
2.2.1 MESSAGE⽅法的由来
RFC3428对Sip协议进⾏了扩展,在Sip协议中增加了MESSAGE请求⽅法。采⽤Pager Model进⾏通信,传递不超过1300字节的数据。
2.2.2 MESSAGE⽅法消息体
当User1想给User2发送IM消息时,只需构造⼀个MESSAGE,发出去即可。
对于其消息体body可以是任何MIME格式。但必须⽀持plain/text格式,可以选择⽀持message/cpim(见RFC3860)格式,可能⽤message/cpim会好⼀点,因为已有的IM系统标准是message/cpim格式。
2.2.3 Pager Model请求流程如下
以User1向User2发送MESSAGE消息为例:
背景板制作
步骤1:User1发送MESSAGE请求到代理服务器;
步骤2:代理服务器转发User1的MESSAGE请求给USER2;
步骤3:User2收到User1的消息后,回复200 OK给代理服务器;步骤7~9:代理服务器转发200 OK回复给User1
三、SIP消息体格式
SIP消息体结构与Http协议结构相似,均由三部分组成:
请求⾏(request-line) or 状态⾏(status-line)
消息头(header)
正⽂(body)
3.1、请求⾏
请求⾏格式:Method Request-URI SIP-Version CRLF
请求⾏举例:INVITE SIP/2.0 /r/n
Method 以下列出了⼏种消息Method⽅法:
Request-URI
指⽰请求的⽤户或者服务的地址信息
SIP-Version请求和响应消息都需要包含SIP版本信息
3.2、状态⾏
状态⾏格式:
SIP-Version Status-Code Reason-Phrase CRLF
磁卡门禁机
状态⾏举例:
SIP/2.0 200 OK /r/n
Status-Code状态码:状态代码由3位数字组成,表⽰请求是否被理解或被满⾜。状态代码的第⼀个数字定义了响应的类别,后⾯两位没有具体的分类。
第⼀个数字有五种可能的取值:
常⽤的状态码举例:
3.3、消息头
发送MESSAGE消息给user2
Header 字段含义说明:
薄膜线路
四、SIP消息举例
这⾥举两个例⼦:
MESSAGE消息(Pager Mode)REGISTER消息
4.1、MESSAGE消息(Pager Model)
以User1发送MESSAGE消息给user2为例:

本文发布于:2024-09-23 05:30:48,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/200852.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:协议   消息   请求   响应   呼叫   被叫   发送
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议