77范文网 - 专业文章范例文档资料分享平台

基于SIP的视频会议终端及其与H.323终端 -(5)

来源:网络收集 时间:2018-12-25 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

请求和响应消息格式如下:

SIP 消息=起始行

*消息头部(1 个或多个头部)

空行(CRLF) [消息体]

起始行=请求行/状态行

如上消息格式定义,消息头部可包含一个或多个,消息体是可选项。在RFC3261中规定起始行、每一个消息头部以及空行都必须使用回车换行字符(CRLF)来表示行终结,即使消息中未包含消息体,空行也不能省略。

SIP的消息语法定义虽然与 HTTP 类似,但SIP 协议并不是 HTTP 的扩展协议。 1. 请求(Request)

请求消息的起始行为请求行(Request-Line)。请求行的格式如下所示,由方法名、请求 URI 和协议版本组成,各部分之间均用一个空格字符进行分隔。除此之外,请求行必须用回车换行(CRLF)字符表示行终结。

Request-Line = Method Request-URI SIP-Version CRLF

(1)在SIP中,Method共定义了6种方法,INVITE、ACK、CANCEL、OPTIONS、BYE和REGISTER。REGISTER消息用于发送注册请求信息,INVITE、ACK、CANCEL用于建立会话连接,BYE用于终结会话连接,OPTIONS用于查询服务器能力。在RFC3261中规定方法名必须使用大写字母。除以上6类主要消息外,SIP协议在其他文档中还定有若干方法实现协议扩展。

(2)Request-URI:指示被邀请用户的当前地址,Request-URI 中不允许出现空格或其他控制字符且不能包含“<>”符号。除使用“sip”和“sips”之外,Request-URI还可以使用“tel”的URI定义机制。SIP实体可使用任何可选方法将非SIP URI翻译成SIP URI、SIPS URI或其他URI定义。

(3)SIP-Version:用于定义协议的当前版本号,RFC3261中规定,发送SIP消息时包括版本号,“SIP/2.0”。

2. 响应(Response)

响应消息的起始行为状态行(Status-Line),状态行由协议版本、状态码和与状态码相关的文本描述组成,各个部分之间用一个空格字符进行分隔。状态行的格式如下所示:

Status-Line = SIP-Version Status-Code Reason-Phrase CRLF

(1)Status-Code(状态码):该参数为一个 3 位的十进制整数,用于指示请求消息的执行响应结果。如1XX、2XX。

(2)Reason-Phrase(原因):该参数用于对Status-Code参数进行简单的文本描述。客户机不必检查或显示Reason-Phrase参数。尽管在RFC3261中建议使用特定字符表示

第 11 页

Reason-Phrase,但具体实现过程中Reason-Phrase仍可使用其他的文本字符。

RFC3261中共定义了6类状态码,其中状态码的第1位数字用于指示响应类型,后两位数字表示具体响应。状态码“100—199”之间的响应用“1XX”进行标识,“200—299”之间的响应用“2XX”进行标识,依此类推。SIP的响应码是可以扩展的,应用程序不必理解全部的响应码,但必须理解响应的类别,不理解响应码可以简单地认为是该类第一个响应码(0XX)。

1XX:消息型,表示己收到请求,正在处理中; 2XX:请求被成功收到,理解和接受; 3XX:重定位,需要进一步处理来完成请求;

4XX:客户端错误,请求有语法错误,服务器无法完成; 5XX:服务器错误,请求看似有效,但服务器无法实现; 6XX:全局失败,此请求对任何服务器均无效。 2.2.4 SIP建立通信的过程

用SIP来建立通信通常需要有六个步骤:

(1)注册,发起和定位用户。每当用户打开SIP终端(如PC,IP PHONE),将向代理服务器/注册服务器发起注册过程,注册过程需要周期刷新,注册服务器将把SIP终端所注册的信息传送到定位服务器存放。

(2)进行媒体协商,通常采用SDP方式来携带媒体参数。 (3)由被叫方来决定是否接纳该呼叫。 (4)呼叫媒体流建立并交互。 (5)呼叫更改或处理,如呼叫转移。 (6)呼叫终止。

1. 在同一域中建立SIP会话

在图2.2中,虚线箭头表明在同域中的两个用户之间建立SIP会话的过程。用户A和用户B分别是用PC运行支持多媒体的软件客户程序。通信时,两个用户都在网络中的SIP代理服务器上注册了他们的空闲情况和IP地址。用户A发起呼叫,告诉SIP代理服务器要联系用户B。然后,SIP代理服务器向SIP注册服务器发出请求,要求提供用户B的IP地址,并收到用户B的IP地址。SIP代理服务器转发用户A与用户B进行通信的邀请信息(使用SDP),包括用户A要使用的媒体。用户B通知SIP代理服务器可以接受用户A的邀请,且已做好接收消息的准备。SIP代理服务器将此消息传达给用户A,从而建立SIP会话。然后,用户创建一个点到点RTP连接,实现用户间的交互通信。图中虚线箭头所表示的各通信步骤:

F1呼叫用户B

第 12 页

F2查询用户B的地址 F3响应“用户B的SIP地址” F4“代理”呼叫 F5响应 F6响应

F7建立RTP连接

图2.2 SIP会话的建立

2. 在不同域中建立SIP会话

在图2.2中的实线箭头表示在不同域中建立SIP会话的过程。与同域中建立会话的不同之处:用户A邀请用户C进行SIP会话时,域A中的SIP代理服务器辨别出用户C不在同一域中。然后,SIP代理服务器在SIP重定向服务器上查询用户C的IP地址。SIP重定向服务器既可在域A中,也可在域B中,或是在域A中又在域B中。SIP重定向服务器将用户C的信息反馈给SIP代理服务器,该服务器再将SIP会话邀请信息转发给域B中的SIP代理服务器。域B中的SIP代理服务器将用户A的邀请信息发送给用户C。用户C再沿同一路径转发接受邀请的信息。在图2.2中建立不同域的SIP会话的主要步骤:

F1 呼叫用户C

F2 询问如何连接不同域中的用户C F3 响应“代理控制器的域地址” F4 “代理”呼叫域B的SIP代理 F5 查询“用户C的地址”

第 13 页

F6 响应“用户C的地址” F7 代理呼叫 F8 响应 F9 响应 F10 响应

2.2.5 SIP相关协议的简介

1. SDP协议

SDP是IEEE MMUSIC工作组的RFC2327中定义的一个多媒体会话描述协议。SDP是一种基于ASCⅡ码的纯文本会话描述的格式,它不包括传输协议,但它可以使用不同的传输协议,如SAP、SIP、RTSP、MIME和HTTP,其目的是传送多媒体会话媒体流信息,方便会话描述的接受方决定是否参加这个会话[3]。

在Internet上一般有两种发起会议的方法:向所有可能参加者公告会议,或者邀请你希望的参加者加入会议。向所有可能参加者公告会议使用SAP协议,发送公告信息给每个可能的参加者会议的信息。邀请某人加入会议使用SIP协议,向特定的用户发送加入会议的邀请。这两种协议都承载会议的描述,描述的格式由SDP规定。SDP是一个定义格式,用于描述会议包含哪个媒体、会议使用的协议和会议的格式信息,提供足够的信息让参加者决定是否加入会议。SDP中的会话描述是对会话名和目的以及媒体、协议、编码格式、定时和传输信息的短的结构化文本描述,所有这些信息用于参加者决定是否对会话感兴趣,以及如何启动媒体工具参加会话。

SDP描述可细分为以下的一些部分,用SDP的语法表示如下(*为可选内容): v=(协议版本) o=(会话源) s=(会话名称) i=*(会话信息) u=*(会话描述的URI) e=*(E-mail地址) p=*(电话号码)

c=*(连接信息:如果己包含在所有媒体中,则该行不需要) b=*(带宽信息)

媒体描述,每个媒体描述参数的格式为: m=(媒体名和传送地址) i=*(媒体称呼)

c=*(接连信息:如果会话级描述已包含连接信息,则为任选项)

第 14 页

b=*(带宽信息) k=*(加密密钥)

a=*(零个或多个媒体属性行) 时间描述:

z=*(时区调整) k=*(加密密钥)

a=*(零个或多个会话属性行)

此外,SDP还可以创建公开和保密会话。保密会话通过加密会话描述来传送,而对每一种媒体解密,由传送加密密钥的保密会话公告来完成。

2. RTP协议

RTP协议本身包括两部分:RTP数据传输协议和RTCP(Real-time Transport Control Protocol,实时控制协议)传输控制协议。为了可靠、高效地传送实时数据,RTP和RTCP必须配合使用,通常RTCP包的数量占所有传输量的5%。

RTP对媒体数据进行分组封装以实现媒体流的实时传输。RTP被定义为一对一或一对多的传输情况下工作,其目的是提供时间信息和实现流同步。RTP通常使用UDP来传送数据,但RTP也可以在TCP或ATM等其他协议之上工作。当RTP工作于一对多的传输情况下时,依靠底层网络实现组播[4]。RTP有如下特点:

? 协议灵活性。RTP协议不具备传输层协议的完整功能,其本身也不提供任何机制来保证实时地传输数据,不支持资源预留,也不保证服务质量。RTP报文甚至不包括长度和报文边界的描述,而是依靠下层协议提供长度标识和长度限制。

? 数据流和控制流分离。RTP协议的数据报文和控制报文使用相邻的不同端口,这样大大提高了协议的灵活性和处理的简单性。

? 协议的可扩展性和适用性。RTP协议通常为一个具体的应用来提供服务,通过一个具体的应用进程实现,RTP只提供协议框架,开发者可以根据应用的具体要求对协议进行充分的扩展 3. RTCP协议

RTP本身并不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠传输控制协议RTCP提供这些服务。RTP的控制协议RTCP通过在会话用户之间周期性地递交控制报文来完成监听服务质量和交换会话用户信息等功能。根据用户间的数据传输反馈信息,可以制定流量控制的策略,而会话用户信息的交互,可以制定会话控制的策略。RTCP协议将控制包周期发送给所有连接者,应用与数据报文相同的分布机制。底层协议提供数据与控制包的复用,如使用单独的UDP端口号。

RTCP执行下列四大功能

(1)提供数据发布的质量反馈,这是RTCP最主要的功能。作为RTP传输协议的一部

第 15 页

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于SIP的视频会议终端及其与H.323终端&nbsp;-(5)在线全文阅读。

基于SIP的视频会议终端及其与H.323终端&nbsp;-(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/389734.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: