SIP原理分析与详解
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
10.无应答呼叫前转流程
SIP与H.323的比较
• 体系结构的比较 • 复杂性的比较 • 可靠性及服务质量的比较 • 对视频和语音的编码格式的支持 • 会议规模 • 各自优点
体系结构的比较
• 在H.323系统中,终端主要为媒体通信提供数据 ,功能比较简单,而对呼叫的控制、媒体传输控 制等功能的实现则主要由网守来完成。H.323系 统体现了一种集中式、层次式的控制模式。
1、消息行 通过识别首行来判断一个SIP消息是请求还是 响应。 请求的首行被称为请求行,由方法名、请求 UIR和协议版本三部分组成。 响应的首行被称为状态行,由协议版本、状 态码和原因短语三部分组成。
SIP请求消息的操作共有以下请求方法:
状态码分为以下六类:
2、消息头字段
消息头字段包含与请求有关的信息,例 如请求的发起者,请求的接收者和呼叫 标识。
3.媒体类型和格式 SDP描述有两个目的:告知某会话的存 在和给出参与该会话所必须的信息。
SIP消息头实例:
----------------------------------------------------------------SIP Header ----------------------------------------------------------------INVITE sip:5120@192.168.36.180 SIP/2.0 Via: SIP/2.0/UDP 192.168.6.21:5060 From: sip:5121@192.168.6.21 To: <sip:5120@192.168.36.180> Call-ID: c2943000-e0563-2a1ce-2e323931@192.168.6.21 CSeq: 100 INVITE
SIP概述
SIP(Session Initiation Protocol,即 初始会话协议)是IETF提出的基于文本编 码的IP电话/多媒体会议协议。用于建立、 修改并终止多媒体会话。SIP协议可用于发 起会话,也可以用于邀请成员加入已经用 其它方式建立的会话。
SIP协议支持多媒体通信的五个方面 • 用户定位 • 用户能力 • 用户可达性 • 呼叫建立 • 呼叫处理
通过重定向服务器的呼叫
注册服务器:
I. 接受REGISTER 请求的服务器
II.可以支持鉴权的功能
III.在典型应用中,可与代理服务器proxy sever或重定向服务器redirect server 一起提供用户定位服务
SIP结构和消息
SIP 是一个分层结构的协议,它的行为根据 一组平等独立的处理阶段来描述,由 SIP 规定的元素是逻辑元素,不是物理元素。
SIP 是基于客户/服务器的体系结构, 网络 组件基本分为用户代理(User Agent)和 网络服务器(Network Server)。 (1) SIP 的用户代理 SIP 的用户代理是 SIP 系统中的终端用户, 根据它们在会话中扮演的角色又可分为用 户代理客户机(UAC,User Agent Client) 和用户代理服务器(UAS,User Agent Server),前者发起呼叫请求,后者响应呼 叫请求。
• 而SIP能支持任何规模的通话,SIP信令系统不需 要集中控制的MC,而是采用完全分布式的控制方 式,因此提高了通信规模和复杂情况的适应能力 。
h.323优点
• H.323是一个整套的协议栈用来在IP和包交换网 络中传输标准的电话语音服务。 • 除了在设计时独立于其它标准,H.323的基本功 能里也包括很多电话的辅助功能,例如会议和呼 叫转移。这种实现的优点是,它给希望开发高级 特性和服务的开发者留下了很明确的接口,这样 就保证了高度的兼容性。 • 整个行业都在为H.323增加功能和增进互通性方 面作了很多的工作。H.323会成为下一代网络中 的一个重要的信令协议。
通过代理服务器的呼叫
重定向服务器:
I. 接受SIP请求消息,进行地址映射,将映 射后的地址(零个或多个)返回给客户 机. II.与代理服务器proxy server不同的是, redirect server不会发起自己的呼叫. III.与user agent 不同的是, redirect server不接受呼叫终止或主动终止呼叫.
• SIP采用Client/Server结构的消息机制,对呼叫 的控制是将控制信息封装到消息的头域中,通过 消息的传递来实现。因此SIP系统的终端就比较 智能化,它不只提供数据,还提供呼叫控制信息 。
复杂性的比较
• 消息的组成:H.323定义了上百个基本元素;而SIP只有 37个头部。 • 消息的表示:H.323采用基于ASN.1和PER的二进制方法 表示其消息。SIP以文本方式表示消息,只需要相对简单 的生成器和词法语法分析器。
(2) SIP 网络服务器 SIP 网络服务器的主要功能是名字解析和 用户定位。主要分为代理服务器、重定向 服务器、注册服务器三类。
代理服务器:
I.为其它的客户机代理,进行SIP消息的转 接和转发的功能。消息机制与UAC和UAS相 似. II.对收到的请求消息进行翻译和处理后, 传递给其他的服务器. III.对SIP请求及响应进行路由.
SIP响应消息实例:
Status-Line: SIP/2.0 100 Trying Message Header Call-ID:call-973574765-4@10.77.226.121 CSeq:1 INVITE (注意CSeq没有变,说明本消息是对INVITE
的响应)
From:sip:8882100@10.77.226.41;tag=1c13959 To:sip:8882101@10.77.226.41 Via:SIP/2.0/UDP 10.77.226.121 Content-Length:0 该消息只是表明已接收方接受INVITE消息并正在处理中, 其Call-ID、CSeq、From、To、Via是INVITE消息中 的复制,由于没有SDP,所以Content-Length为0。
SIP原理与应用
内容简介:
一.历史回顾和概述 二.SIP的结构和消息 三.SIP的呼叫流程 四.SIP与H.323的比较
历史回顾
• SIP 出现于二十世纪九十年代中期,源于 哥伦比亚大学计算机系副教授Henning Schulzrinne 及其研究小组的研究。 • 1996 年,他向 IETF 提交了一个草案,其 中包含了 SIP 的重要内容。 • IETF 继续进行这项工作,于 2001 年发布 了 SIP 规范 RFC 3261。标志着 SIP 的基 础已经确立。
SIP协议的优点
• SIP 协议是基于文本的协议,类似于 HTTP 协议, 这样它的实现方式就简单、高效,并可以借鉴许 多 IP 网络中基于文本的协议的研究成果。
Expires: 180
User-Agent: Cisco IP Phone/ Rev. 1/ SIP enabled Accept: application/sdp Contact: sip:5121@192.168.6.21:5060 Content-Type: application/sdp
SIP请求消息实例:
• 目前存在的编码格式有数百种之多,SIP支持任 何编码格式,不同应用实现也可以根据符串名字 识别编码格式并从IANA得到有关信息。
• H.323支持的每种编码格式都必须是ITU标准化 的,这也成为推广IP电话应用的一个障碍。
会议规模
• H.323进行集中、层次式控制。尽管集中控制便 于管理,但当用于控制大型会议电话时,H.323 中执行会议控制功能的多点控制单元很可能成为 瓶颈。
SIP的呼叫流程
• 注册流程 • 注销流程 • 基本呼叫建立过程 • 会话更改流程 • 正常呼叫建立过程 • 被叫忙呼叫释放 • ...
1.注册流程
2.注销流程
3.基本呼叫建立过程
4.会话更改流程
5.正常呼叫释放过程
6.被叫忙呼叫释放
7.被叫无应答流程一
8.被叫无应答流程二
9.遇忙呼叫前转
事务用户层 事务层 传输层 语法和编码层 SIP协议层次
第一层 :语法和编码 第二层 : 传输层。
第三层 : 事务层。
第四层 :事务用户层。
SIP消息由三部分组成,即消息行、消息头和 消息体。 SIP 消息的具体格式如下: Message=start-line *Message-header CRLF [message-body]
消息头字段的格式如下:
Heawenku.baidu.comer—name:Header—Value
3、消息体 消息体可携带任何基于文本的信息,而请 求方法和响应的状态码决定消息正文该如 何解释。 SDP是一个用来描述会话的应用层协议, 是一个基于文本的协议,采用提供/应答 模型。
SDP主要包含了3级信息
1.会话级描述
2.时间描述
• 协议栈结构
可靠性
• H.323定义了很多功能来处理中间网络设 备故障问题。
• SIP则不具备处理中间实体故障的能力
服务质量
• 在H.323中,网守提供一组丰富的控制和 管理功能,包括地址翻译、接纳控制、带 宽控制和地域管理。
• SIP自身不支持管理和控制功能,而是依赖 于别的协议。
对视频和语音的编码格式的支持
Request-Line: INVITE sip:8882101@10.77.226.41 SIP/2.0(开始行:INVITE + URL+SIP的版本号) Message Header(消息头) From: sip:8882100@10.77.226.41;tag=1c13959(From:说明本次会话是由谁发起的) To: sip:8882101@10.77.226.41(To:说明本消息是送给谁的) Call-Id: call-973574765-4@10.77.226.121(CALL-ID:用来唯一标识一次SIP呼叫的编号) Cseq: 1 INVITE(Cseq:用来区分同一个呼叫不同INVITE消息的编号) Content-Type: application/sdp(Content-Type:用来说明消息体的类型) Content-Length: 199(Content-Length:用来说明消息体的长度) Accept-Language: en(Accept-Language:用来说明消息体语言类型) Contact: sip:8882100@10.77.226.121(Contact:用来告诉对方回信息给谁) User-Agent: Pingtel/1.0.0 (VxWorks)(User-Agent:指明UA的用户类型) Via: SIP/2.0/UDP 10.77.226.121(Via:记录消息的地址路径) Session Description Protocol(SDP) Session Description, version (v): 0(SDP版本号) Owner/Creator, Session Id (o): IN IP4 10.77.226.121(描述源端信息) Session Name (s): phone-call(SDP本次呼叫名字) Connection Information (c): IN IP4 10.77.226.121(本端IP信息) Time Description, active time (t): 0 0 Media Description, name and address (m): audio 8766 RTP/AVP 0 96 8 (RTP媒体类型描述) Media Attribute (a): rtpmap:0 pcmu/8000/1(支持PCMU率压缩编码方式) Media Attribute (a): rtpmap:96 telephone-event/8000/1(支持telephone-event) Media Attribute (a): rtpmap:8 pcma/8000/1(支持PCMA率压缩编码方式) 该消息用来指明本次呼叫需要由谁和谁参与,采用那种媒体类型。