03-SIP协议原理
- 格式:ppt
- 大小:7.66 MB
- 文档页数:99


1 20 竭诚为您提供优质文档/双击可除
sip,协议讲解
篇一:sip协议格式详解
1.sip
1.1.1.sip格式
每条sip消息由以下三部分组成:(1)起始行(startline):每个sip消息由起始行开始。起始行传达消息类型(在请求中是方法类型,在响应中是响应代码)与协议版本。起始行可以是一请求行(请求)或状态行(响应)。
(2)sip头:用来传递消息属性和修改消息意义。它们在语法和语义上与http头域相同(实际上有些头就是借自http),并且总是保持格式::。
(3)消息体:用于描述被初始的会话(例如,在多媒体会话中包括音频和视频编码类型,采样率等)。消息体能够显示在请求与响应中。sip清晰区别了在sip起始行和头中传递的信令信息与在sip范围之外的会话描述信息。可能的体类型就包括本文将要描述的sdp会话描述协议。
2 20 1.1.2.消息头
“where”列描述了在头域中能够使用的请求和应答的类型。这列的值是:
R:头域只能在请求中出现;r:头域只能在应答中出现;
2xx,4xx,等等:一个数字的值区间表示头域能够使用的应答代码。c:头域是从请求拷贝到应答的。
如果”where”栏目是空白,表示头域可以在所有的请求和应答中出现。
“proxy”列描述了proxy在头域上的操作
a:如果头域不存在,proxy可以增加或者连接头域m:proxy可以修改现存的头域值d:proxy可以删除头域值
r:proxy必须能读取这个头域,因此这个头域不能加密。
接下来6个栏目与在某一个方法中出现的头域有关:
c:条件;对头域的要求依赖于消息的内容m:头域是强制要有的。
m*:头域应当被发送,但是客户端/服务端都需要准备接收没有这个头域的消息。o:头域是可选的。
t:头域应当被发送,但是客户端/服务端都需要准备接收没有这个头域的消息。客户端/服务端都需要准备接收没有这个头域的消息。如果通讯的协议是基于面向流的协议(比如tcp),那么头域值必须被发送。
科技视界Science&TechnologyVision
Science&TechnologyVision科技视界0引言SIP渊SessionInitiationProtocol会话初始化协议冤是由IETF于1999年提出的袁用于在IP网络中建立尧修改和终止多媒体会话袁实现实时通信应用的一种应用层控制协议遥其应用包括语音尧视频尧游戏尧消息尧呼叫控制和在线状态等[1]遥在SIP协议应用中的会话主要包括普通电话呼叫尧IP电话呼叫尧Internet多媒体会话和多媒体分发等遥SIP协议的设计模式借鉴了HTTP和SMTP协议袁编码方式基于文本袁协议简洁高效并且易于扩展遥它能控制多媒体会议电话的建立和终结袁并能协商和动态调整会话参数遥1SIP协议实体SIP协议采用客户端/服务器模式遥主要包括四种实体院SIP用户代理渊UserAgent袁UA冤尧SIP注册服务器渊RegisterServer冤尧SIP代理服务器渊ProxyServer冤和SIP重定向服务器渊RedirectServer冤[2]遥每种实体在SIP协议体系结构中起到不同的作用袁它们构成的网络服务链袁共同支持SIP建立会话遥位置服务器渊LocationServer冤本身不属于SIP实体袁但是它是任何使用SIP协议的体系结构中非常重要的一部分遥1.1用户代理SIP用户代理是用于和用户交互的SIP实体袁包括软电话尧硬件实现的SIP电话尧其他计算机应用程序等袁它通常有一个和用户连接的接口遥根据SIP协议袁一个UA按照逻辑功能可以分为用户代理客户端UAC渊UserAgentClient冤和用户代理服务器UAS渊UserAgentServer冤遥在呼叫过程中UAC和UAS各有分工袁其中UAC负责创建一个客户端事务并使用它来发起一个新的请求报文袁而UAS则负责对消息进行响应袁并生成响应报文袁并根据情况创建服务端事务发送响应报文遥员援圆注册服务器注册服务器是接收REGISTER请求消息的服务器袁完成对用户的注册功能遥在SIP通信中袁UA向注册服务器发送注册请求袁注册服务器验证UA身份后袁把UA的统一资源定位符URI和地址的关联信息发送到代理服务器袁并储存在位置服务器遥员援猿代理服务器代理服务器是SIP网络中的一个中间实体袁它负责将请求消息路由到UAS袁将响应消息路由到UAC遥在转发请求消息时袁代理服务器接受用户代理的会话请求并查询注册服务器袁获取收件方UA的地址信息遥员援源重定向服务器重定向服务器接收SIP请求消息袁将请求消息的地址映射成零个或多个新地址袁并且将这些新地址返回给客户机的服务器袁通过查询位置服务对UA提供消息路由遥与代理服务器不同的是它并不发起任何请求消息袁而是将位置信息封装在一个3xx响应消息中返回给客户机袁让客户机自行尝试下一跳位置遥员援缘位置服务器位置服务器本身不属于SIP实体袁是Internet中的公共服务器袁向代理服务器和重定向服务器提供位置查询信息袁为用户存储和返回可能的地址遥位置服务器实质上是一个数据库袁它包含单个URI到一个或多个联系地址之间的映射遥这些服务器元素只是逻辑上的划分袁而物理上则可以是放置在同一台服务器上袁也可以分布在不同的物理实体中遥通过这些服务器可以实现用户认证尧管理尧呼叫控制等功能袁可以提供丰富的智能业务遥2SIP消息SIP协议是一个采用文本方式的请求/应答协议遥SIP消息[3]有两种类型院从客户机发送到服务器的请求消息和从服务器发送到客户机的响应消息遥而SIP请求连同它所触发的应答构成一个SIP事务遥2.1请求消息SIP请求消息由一个请求行尧几个标题头尧一个空行和一个消息体组成遥其格式为院请求消息=请求起始行*渊通用头部/请求头部/实体头部冤渊野*冶表示该字段可有多个头部冤空行揖消息体铱渊可选冤请求行和头域根据业务尧地址和协议特征定义了呼叫的本质袁消息体独立于SIP协议并且可包含任何内容遥其中请求行有三个元素院方法尧请求URI和协议版本遥在SIP核心规范中定义了6种SIP请求袁每个SIP请求都含有一个野方法冶渊Method冤的字段袁表示这个请求的目的遥2.2响应消息一个SIP请求消息会触发应答响应袁也就是SIP响应消息遥SIP响应消息由状态行尧几个标题头尧一个空行和一个消息体组成遥其格式为院响应消息=状态行*渊通用头部/响应头部/实体头部冤空行揖消息体铱渊可选冤其中袁一个状态行有3个元素院协议的版本号尧状态码和一个原因短语遥状态码报告事务的状态袁是从100耀699的整数袁并且分为6个不同的类遥其中第一位数字指示响应的类别袁后两位数字表示具体的响应遥2.3消息头字段消息头包含在SIP请求消息的请求行后及SIP响应消息的状态行之后袁提供了关于请求或应答的信息和关于这些消息所包含的消息体的信息遥消息头包括四种类型院可用于所有请求和响应消息中的通用头域袁只在SIP请求消息中有效的请求头域袁只在SIP响应消息中有效的响应头域袁可用于请求和响应消息中描述消息体内容的属性的消息体头遥消息头的格式为院消息头名院消息头值SIP通过E-mail形式的地址来标明用户地址遥在使用SIP服务之前袁每一个用户都必须先要获得一个SIP标识符袁即URL袁它通过诸如用户电话号码或主机名等元素来构造渊例如它与E-mail地址格式具有相似性遥2.4SDP消息体请求和应答都可能有消息体遥被SIP消息携带的消息体通常是所SIP协议的研究逄海川1王学刚2李广林3渊1.中国人民武装警察部队工程大学研究生管理大队12队袁陕西西安710086曰圆援中国人民武装警察部队内蒙古总队通信站袁内蒙古呼和浩特010000曰3.中国人民武装警察部队工程大学信息工程系网络工程教研室袁陕西西安710086冤揖摘要铱SIP协议是第一个适合各种媒体内容且实现多用户会话的协议袁现在已成为IETF渊互联网工程任务组冤的规范遥今天越来越多的运营商都在提供基于SIP的服务袁如市话和长途电话业务尧话音信息尧多媒体会话等等遥本文介绍了SIP协议的主要实体尧SIP消息的主要类型以及SIP协议与H.323的区别与联系遥揖关键词铱H.323曰SIP曰信令控制协议揖Abstract铱SIPisthefirstprotocolthatfitsvariousmediamattersandcanachievemulti-userconversation,whileSIPhasbecomestandardofIETF.NowadaysmoreandmoreoperatorshaveprovidedvariousservicesbasedonSIPsuchaslocalcallsandlong-distancecalls,voicemessageandmediaconversation.ThisarticlehasintroducedthemainentityofSIP,mainkindsofSIPinformationandthedistinguishandrelationbetweenSIPandH.323.揖Keywords铱H.323;SIP;Signalingcontrolprotocol
SIP协议学习总结
SIP(Session Initiation Protocol)是一种基于文本的通信协议,用于在网络中建立、修改和终止多媒体会话,例如音频和视频通话。它是一种应用层协议,也是VoIP(Voice over Internet Protocol)中最为常用的协议之一、通过学习SIP协议,我对其核心概念和工作原理有了更深入的了解。
SIP协议使用一种类似于HTTP的请求-响应机制。在建立通话时,发起方向接收方发送一个INVITE请求,接收方通过回复一个200OK响应来表示接受通话。然后,双方进行会话参数的交换和确认,如音频编解码器、流媒体传输协议等。一旦会话参数确认完成,音频和视频等媒体数据就可以通过SIP协议进行传输。
1. 灵活性:SIP协议可以与其他应用协议配合使用,如SDP(Session Description Protocol)用于传输会话信息,RTP(Real-Time
Protocol)用于传输多媒体数据等。
2.可扩展性:SIP协议可以通过添加扩展头部或扩展方法来支持新的功能和服务。
3.适应性:SIP协议能够对不同网络和传输层协议进行适应,如UDP、TCP、TLS等。
4.易于实现:SIP协议使用文本格式的消息和简单的请求-响应机制,使得实现和调试都相对简单。
另外,SIP协议还有一些扩展功能,如注册和认证、重定向和代理等。注册和认证功能可以保证用户的身份和权限,使得有效的通信能够进行。重定向功能允许SIP服务器将请求转发给另一个服务器,以便找到接收方的真实位置。代理功能允许SIP服务器作为中间人转发请求和响应,以实现更灵活的通信。
总结起来,SIP是一个使用文本格式的通信协议,用于建立、修改和终止多媒体会话。它使用URI标识会话参与方,支持灵活、可扩展和适应不同网络的特性。通过学习SIP协议,我对实时通信技术有了更深入的理解,也为将来在VoIP和WebRTC等领域的应用打下了基础。
SIP协议解析实现语音和视频通信的协议
SIP(Session Initiation Protocol)是一种用于建立、管理和终止多媒体会话的通信协议。它是一种基于IP网络的协议,可实现语音、视频以及其他多媒体应用程序之间的通信。本文将对SIP协议进行解析,并讨论它如何实现语音和视频通信。
一、SIP协议的基本结构
SIP协议采用了一种客户端/服务器架构,其中客户端被称为SIP用户代理(SIP User Agent),服务器被称为SIP服务器。SIP协议主要包含以下几个组成部分:
1. SIP消息格式:SIP消息由请求和响应组成。请求消息用于发起会话、修改会话和终止会话等操作,响应消息用于回应请求消息。
2. SIP请求方法:SIP定义了一系列的请求方法,如INVITE(邀请对方参与会话)、ACK(确认请求消息已被接收)和BYE(终止会话)等。
3. SIP状态码:SIP状态码用于指示请求的处理状态,如200表示请求成功,404表示未找到资源等。
4. SIP头部字段:SIP头部字段包含了一些用于描述会话的元数据,如Call-ID(会话标识符)、From(发起方标识)和To(接收方标识)等。 5. SIP会话描述协议(SDP):SDP用于在SIP会话中协商媒体类型、编码方式和传输参数等。
6. SIP代理:SIP代理用于处理SIP消息的传输和路由。它可以将消息转发给下一个代理或目标终端,并负责处理各种网络地址转换等。
二、SIP协议的工作流程
SIP协议的工作流程通常包括以下几个步骤:
1. 注册:SIP用户代理向SIP服务器发送注册请求,以告知服务器其可用性和位置信息。
2. 呼叫建立:SIP用户代理向服务器发送INVITE请求,请求建立通话。服务器根据请求中的目标地址找到被叫用户代理,并向其发送INVITE请求。
3. 呼叫传输:被叫用户代理发送响应消息,表示接受或拒绝通话。如果接受通话,双方开始通过SDP协商媒体类型和传输参数。