SIP协议

合集下载

sip协议标准

sip协议标准

SIP是Session Initiation Protocol的缩写,它是一种用于建立、修改和终止多媒体会话的协议。

这些会话可以是音频、视频、聊天或其他多媒体形式。

SIP是一个应用层协议,它定义了会话的控制信令,但不涉及传输媒体的细节。

SIP协议的作用非常广泛,包括VoIP电话、视频会议、即时消息等等。

SIP协议的基本原理是通过建立一个会话描述协议(SDP)来描述会话的属性和媒体类型。

然后,使用SIP消息来协商会话参数和控制会话的建立和终止。

SIP消息可以通过TCP或UDP传输,通常使用UDP。

SIP消息分为请求和响应,请求包括INVITE、ACK、BYE、CANCEL、OPTIONS、REGISTER和INFO等。

响应包括1xx、2xx、3xx、4xx、5xx、6xx等。

SIP协议还定义了一些状态码,用于指示呼叫的状态,例如振铃、接听和挂断等。

SIP协议包括以下功能。

SIP邀请用于创建会话并携带会话描述,允许参与者就一组兼容的媒体类型达成一致。

通过这种方式,SIP不限于任何特定的媒体类型,因此可以处理范围不断扩大的媒体技术。

SIP通过一种允许将请求代理或重定向到用户当前位置的机制来实现用户移动性。

用户可以在他们的家庭服务器上注册他们的当前位置。

SIP支持端到端和逐跳身份验证,以及使用S/MIME的端到端加密。

SIP会话中的成员可以使用多播或单播关系或它们的组合进行通信。

此外,SIP 独立于下层传输协议,这使其可以利用新的传输协议。

实现基本SIP协议的软件可以通过附加功能进行扩展,并且正被积极地用于许多媒体应用程序。

SIP实体可能以下列模式之一运行,所有这些模式均由科能融合的SIP软件DC-SIP实现。

用户代理是SIP呼叫的终点。

它按照用户的指示发起SIP请求,并在收到SIP请求后联系用户并代表他们响应请求。

代理用于路由请求和执行策略或防火墙。

它代表用户接受请求并将它们传递给用户,并根据需要进行修改。

什么是SIP协议

什么是SIP协议

什么是SIP协议2007年9月3日 13:30 通信世界网评论( 0) 阅读:次什么是SIP协议会话起始协议SIP(SessionInitiationProtocol)被描述用来生成,修改和终结一个或多个参与者之间的会话,是由IETF于1999年提出的一个基于IP网络中实现实时通信应用的一种信令控制协议。

它打破了传统电信业务的传输模式,采用基于因特网的准则,将蜂窝系统与因特网应用融合在一起提供基于IP的多媒体业务,具有开放性,可扩展性,安全性的特点。

3G PP已将SIP作为第三代移动通信系统多媒体域的控制协议。

经常出现这种情况,一个用户在多个位置之间移动,如一个公司职员,可能处在公司,家里或是咖啡厅等位置。

为了给用户提供方便的移动性,SIP 使用统一资源定位符URI(UniformResourceIdentifier)来表示用户。

通常由一个域名加上用户名组成,例如SIP:John@ ,类似于电子邮件地址。

SIP URI只是用来唯一标示用户的逻辑标记符,用户注册时它将与用户的IP地址绑定并记录到定位服务器。

在SIP中,系统采用了因特网常用的客户机/服务器结构,由用户代理和服务器两大部分组成。

其中用户代理又分为用户代理客户(UAC:UserAgentClient)和用户代理服务器(UAS:UserAgent Server)两种。

UAC用来发起会话请求,UAS用来接受并响应会话请求。

这两者只是逻辑上的功能,实际上网络终端应同时具备这两种功能,既能发起会话,又能接受、相应会话。

服务器分为代理服务器(Proxy Server)、重定向服务器(Redirected Server)和注册服务器(Registrar)。

图1 SIP的网络体系结构图1描述了SIP的基本网络体系结构。

用户接入网络后首先要向注册服务器注册,注册信息写入定位服务器中(定向服务器不属于SIP网元,只是一个数据库)。

当用户代理客户UAC要发起呼叫时,它一般将呼叫请求消息发送给本域的出向代理服务器。

SIP协议详解

SIP协议详解

第3章SIP协议3.1 概述3.1.1 基本概念会话启动协议SIP(Session Initiation Protocol)是由IETF提出并主持研究的一个在IP网络上进行多媒体通信的应用层控制协议,它被用来创建、修改、和终结一个或多个参加者参加的会话进程。

这些会话包括Internet多媒体会议、Internet电话、远程教育以及远程医疗等。

即所有的因特网上交互式两方或多方多媒体通信活动,统称为多媒体会话。

参加会话的成员可以通过组播方式、单播联网方式或者两者结合的方式进行通信。

SIP协议是一个正在发展和不断研究中的协议。

一方面,它借鉴了其他Internet标准和协议的设计思想,在风格上遵循因特网一贯坚持的简练、开放、兼容和可扩展等原则,并充分注意到因特网开放而复杂的网络环境下的安全问题。

另一方面,它也充分考虑了对传统公共电话网的各种业务,包括IN业务和ISDN业务的支持。

利用带有会话描述的SIP邀请消息来创建会话,以使参加者能够通过SIP交互进行媒体类型协商。

它通过代理和重定向请求用户当前位置,以支持用户的移动性。

用户也可以登记它们的当前位置。

SIP协议独立于其他会议控制协议,它在设计上独立于下面的传输层协议,因此可以灵活方便地扩展其他附加功能。

SIP作为一个应用层的多媒体会话信令协议,可以被用来发起一个会话进程、在会话中邀请其他参加者加入会议,会话本身可以通过基于组播协议的会话通告协议(SAP)、电子邮件、网页通告、以及轻量级号薄访问协议(LDAP)等方式预先通告各个可能的参加者。

SIP协议支持别名映射、重定向服务、ISDN和IN业务。

它支持个人移动(personal mobility),即终端用户能够在任何地方、任何时间请求和获得已订购的任何电信业务。

总的来说,会话启动协议能够支持下列五种多媒体通信的信令功能:●用户定位:确定参加通信的终端用户的位置;●用户通信能力协商:确定通信的媒体类型和参数;●用户意愿交互:确定被叫是否乐意参加某个通信;●建立呼叫:包括向被叫“振铃”,确定主叫和被叫的呼叫参数;●呼叫处理和控制:包括呼叫重定向、呼叫转移、终止呼叫等等。

SIP协议

SIP协议

SIP协议简介SIP(Session Initiation Protocol)是一种用于建立、修改和终止多媒体会话的协议。

它是互联网工程任务组(IETF)定义的一种应用层协议,被广泛应用于语音通话、视频通话、即时消息和多媒体会议等实时通信领域。

SIP协议的主要目标是提供一种灵活、可扩展的机制,用于建立和管理通信会话。

它采用文本格式的消息交换方式,基于请求‑应答模式进行通信。

SIP协议使用统一资源标识符(URI)来标识终端设备和用户,通过SIP消息的交换来实现会话的控制。

SIP协议的设计思想是简单、可扩展和松散耦合。

它允许在不同的网络环境中使用各种传输协议,如UDP、TCP和TLS等。

同时,SIP协议也提供了灵活的会话控制功能,包括呼叫的建立、会话参数的修改和会话的终止。

SIP协议在实时通信领域有着广泛的应用。

它被广泛用于VoIP(Voice over IP)系统,使得用户可以通过互联网进行语音通话。

此外,SIP协议还支持视频通话、实时消息传递和多媒体会议等功能。

它提供了一种开放的架构,允许不同厂商的设备和应用进行互操作。

然而,SIP协议也面临着一些安全性和挑战。

由于SIP协议的开放性和可扩展性,攻击者可能利用其中的漏洞进行恶意攻击。

因此,实施SIP协议时需要采取一些安全措施,如认证、加密和防火墙等,以保护通信的安全和隐私。

总之,SIP协议作为一种用于建立和管理多媒体会话的协议,为实时通信提供了一种灵活、可扩展的机制。

它在VoIP 和其他实时通信应用中发挥着重要的作用,并为用户提供了丰富的通信体验。

然而,为了确保通信的安全性,使用SIP 协议时需要注意相关的安全措施。

SIP协议的工作原理SIP(Session Initiation Protocol)协议是一种基于文本的协议,用于建立、修改和终止多媒体会话。

它采用了简单而灵活的工作原理,使得通信设备能够进行会话的控制和管理。

SIP协议的工作原理可以概括为以下几个步骤:1.定位和寻址:SIP协议使用统一资源标识符(URI)来标识终端设备和用户。

SIP协议

SIP协议

SIP协议SIP协议SIP协议是NGN中的重要协议,越来越得到业界的重视。

SIP(Session Initiation Protocol)会话初始协议是IETF制订的,用于多方多媒体通信。

按照IETFRFC2543的定义,SIP是一个基于文本的应用层控制协议,独立于底层传输协议TCP/UDP/SCTP,用于建立、修改和终止IP网上的双方或多方多媒体会话。

SIP协议借鉴了HTTP、SMTP等协议,支持代理、重定向及登记定位用户等功能,支持用户移动。

通过与RTP/RTCP、SDP、RTSP等协议及DNS配合,SIP支持语音、视频、数据、E-mail、状态、IM、聊天、游戏等。

SIPsip协议语音网关SIP( 会话初始协议)的开发目的是用来帮助提供跨越因特网的高级电话业务。

因特网电话(IP电话)正在向一种正式的商业电话模式演进,SIP就是用来确保这种演进实现而需要的NGN(下一代网络)系列协议中重要的一员。

SIP是IETF标准进程的一部分,它是在诸如SMTP(简单邮件传送协议)和HTTP(超文本传送协议)基础之上建立起来的。

它用来建立,改变和终止基于IP网络的用户间的呼叫。

为了提供电话业务它还需要结合不同的标准和协议:特别是需要确保传输(RTP),与当前电话网络的信令互连,能够确保语音质量(RSVP),能够提供目录(LDAP),能够鉴权用户(RADIUS)等等。

SIP被描述为用来生成,修改和终结一个或多个参与者之间的会话。

这些会话包括因特网多媒体会议,因特网(或任何IP网络)电话呼叫和多媒体发布。

会话中的成员能够通过多播或单播联系的网络来通信。

SIP支持会话描述,它允许参与者在一组兼容媒体类型上达成一致。

它同时通过代理和重定向请求到用户当前位置来支持名字翻译和用户定位:无论被呼叫方在哪里都确保呼叫达到被叫方。

执行任何描述信息到定位信息的映射。

确保呼叫(会话)的本质细节被支持。

特征协商:它允许与呼叫有关的组(这可以是多方呼叫)在支持的特征上达成一致(注意:不是所有方都能够支持相同级别的特征)。

sip协议详解

sip协议详解

SIP协议详解1. 引言Session Initiation Protocol(SIP)是一种用于建立、修改和终止多媒体会话的通信协议。

它广泛应用于语音、视频和即时通讯等实时通信领域。

本文将对SIP协议进行详细解析,介绍其基本原理和主要特点。

2. SIP协议概述SIP协议是基于文本的应用层协议,使用可读的ASCII文本来进行消息交换。

它采用客户端/服务器(C/S)模型,其中用户代理作为客户端,SIP服务器作为服务器。

SIP消息的格式包括请求消息和响应消息两种类型。

3. SIP消息格式SIP消息由起始行、头部字段和消息体组成。

起始行包括请求行或状态行,用于表示消息的类型和状态。

头部字段包含了一系列的键值对,用于传递消息的各种参数和选项。

消息体用于传输实际的数据内容。

4. SIP会话的建立与终止SIP协议通过INVITE/200 OK消息实现会话的建立,通过BYE消息实现会话的终止。

当用户A希望与用户B建立一个通话时,用户A向SIP服务器发送INVITE 消息,SIP服务器将该消息转发给用户B。

用户B可以选择接受INVITE消息,然后发送200 OK消息给用户A,表示接受通话请求。

当通话结束时,任一用户可以发送BYE消息,通知对方终止通话。

5. SIP注册与鉴权SIP协议支持用户注册和鉴权机制,以实现用户身份验证和安全通信。

用户在注册时,将自己的身份信息发送给SIP服务器,服务器将该信息保存起来。

当用户发起通话请求时,服务器可以根据用户的身份进行鉴权,确定用户是否具有通话的权限。

6. SIP中继与路由SIP协议支持中继和路由机制,以实现跨网络的通信。

SIP中继允许SIP消息在不同的网络之间传输,保证了用户可以在不同的网络环境下进行通话。

SIP路由机制允许SIP消息根据特定的规则进行转发,以找到正确的接收者。

7. SIP扩展与应用SIP协议允许进行扩展,以满足不同应用场景的需求。

例如,SIP可以与其他协议结合使用,如SDP(Session Description Protocol)用于传输会话描述信息。

sip 协议讲解

sip 协议讲解

sip 协议讲解SIP协议讲解SIP(Session Initiation Protocol)是一种用于建立、维护和终止实时会话的通信协议。

它是互联网工程任务组(IETF)制定的一项标准协议,广泛应用于IP电话、视频会议和即时通讯等领域。

SIP协议是一个基于文本的协议,它使用类似于HTTP的请求-响应模式进行通信。

SIP协议以会话为中心,允许用户之间发起和结束实时通信。

它定义了一套规则和语法,用于建立、修改和终止会话。

以下是SIP协议的主要特点和工作流程。

1. SIP协议的特点:- 灵活性:SIP协议可以与其他协议(如HTTP、SMTP)结合使用,实现不同应用场景下的实时通信。

- 可扩展性:SIP协议使用基于文本的消息格式,可以通过添加新的请求和响应来扩展功能。

- 基于互联网:SIP协议基于互联网协议(IP),适用于互联网上的实时通信。

- 独立于传输层协议:SIP协议可以使用TCP、UDP、TLS等不同的传输层协议进行通信。

2. SIP协议的工作流程:- 注册:用户在使用SIP服务之前,需要通过注册将自己的通信地址(如IP地址)与用户名进行关联。

- 呼叫建立:一个用户向另一个用户发起呼叫时,需要发送一个INVITE请求。

该请求包含了通信地址和媒体类型等信息。

- 呼叫响应:被呼叫方收到INVITE请求后,可以接受或拒绝呼叫。

接受呼叫时,会返回一个200 OK的响应,表示呼叫可以建立。

- 呼叫结束:一旦通话结束,任何一方都可以发送BYE请求来终止呼叫。

收到BYE请求后,对方会发送一个200 OK的响应,表示呼叫已经结束。

3. SIP协议的消息格式:- 请求消息:SIP协议的请求消息包括请求行、首部字段和消息正文。

请求行包含请求方法(如INVITE、REGISTER)、URI地址和SIP协议版本。

- 响应消息:SIP协议的响应消息包括状态行、首部字段和消息正文。

状态行包含状态码(如200 OK、404 Not Found)和SIP协议版本。

SIP协议

SIP协议

1.简介SIP(Session Initiation Protocol)是一种用于实时通信的协议。

它被广泛应用于语音通话、视频会议、即时消息等领域。

SIP协议提供了一种机制,使得用户可以建立、修改和终止多媒体会话,同时允许参与者之间的媒体数据传输。

SIP协议的主要作用是在通信设备之间建立会话,包括语音通话、视频通话和多媒体会议等。

它定义了一套规则和消息格式,用于发起会话、管理会话状态以及传输媒体数据。

在实时通信中,SIP协议扮演着重要的角色。

它为用户提供了一种灵活且可扩展的方式来建立和管理通信会话。

通过SIP协议,用户可以轻松地与其他用户进行语音通话、视频通话或者发送即时消息。

SIP协议的重要性在于它的开放性和互操作性。

由于SIP是一个开放标准,各种通信设备和应用程序都可以通过实现SIP协议来实现互相之间的通信。

这种互操作性使得不同厂商和平台的设备可以无缝地进行通信,促进了实时通信的发展和普及。

总之,SIP协议在实时通信中发挥着关键的作用。

它通过定义会话的建立和管理方式,为用户提供了一种灵活、可扩展的通信方式,使得语音通话、视频通话和即时消息等应用成为可能。

其开放性和互操作性也为实时通信领域的发展做出了重要贡献。

2.SIP协议的基本原理SIP协议(Session Initiation Protocol)是一种基于文本的协议,用于建立和管理实时通信会话。

它采用了简单灵活的消息交换机制,允许参与者之间进行会话的发起、修改和终止。

SIP消息的格式SIP消息由文本行组成,每行以回车换行符(CRLF)结束。

常见的SIP消息有两种格式:请求消息和响应消息。

•请求消息:用于发起会话请求。

它包含请求行、头部字段和可选的消息体。

请求行指定了请求的方法(如INVITE、REGISTER、BYE等)和URI(统一资源标识符)。

•响应消息:用于回应请求消息。

它包含状态行、头部字段和可选的消息体。

状态行指定了响应的状态码(如200 OK、404Not Found等)和原因短语。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SIP协议栈及其嵌入式UA/SERVER的实现作者:enyaxpEmail: enyaxp@目录第一章绪论 (1)1.1 SIP协议简介 (1)1.2论文各章内容 (2)第二章 SIP协议基本介绍 (3)2.1 SIP系统基本组成 (3)2.2 SIP消息描述 (4)2.2.1 起始行 (4)2.2.2 消息头(message-header) (6)2.3 SIP基本会话过程 (7)第三章 SIP协议栈ZmhSipStack的实现 (10)3.1 协议栈工作原理 (10)3.2 协议栈处理器的实现 (13)3.2.1 传输层模块 (13)3.2.2 文本解析器 (15)3.2.3 文本生成器 (20)3.2.4 数据处理器 (21)3.2.5 SIP状态机 (23)3.3 数据存储区的实现 (25)第四章基于ZmhSipStack的应用程序编写 (28)4.1 基于ZmhSipStack的应用程序开发 (28)4.2 用户代理程序SipUA的实现 (29)4.2.1 RTP模块 (30)4.2.2 编解码器模块 (31)4.2.3 音视频采集与输出模块 (32)4.2.4 用户对话框设计以及程序运行效果 (32)4.3 无状态服务器程序SipProxyServer的实现 (34)第五章 ZmhSipStack在嵌入式环境下的应用 (36)5.1 ARM/μCOS-Ⅱ嵌入式开发环境介绍 (36)5.2 ZmhSipStack的嵌入式移植 (37)5.3 基于ZmhSipStack的嵌入式应用程序构建 (39)5.3.1 ArmSipUA构建 (40)5.3.2 ArmSipProxy构建 (41)第六章局域网内的SIP通信实验 (42)6.1实验条件介绍 (42)6.2 实验步骤说明 (43)结论 (45)参考文献 (46)第一章绪论1.1 SIP协议简介SIP(Session Initiation Protocal)称为会话初始化协议,是由IETF(Internet Engineering Task Force)组织于1999年提出的一个基于IP网络中实现实时通信应用的一种信令协议。

作为一个由IETF 提出的标准,SIP协议很大程度上借鉴了其他各种广泛存在的Internet协议,采用基于文本的编码方式,这也是SIP协议同下一代网络视音频通信领域其他现有标准相比最大的特点之一。

和原有的多媒体会话协议(如H.323)相比,SIP具有以下优点:• 可与V oice XML、JSP、J2ME等结合,快速开发增值业务;• 支持多媒体应用,如语音、视频、图像、音频、文字、数据等业务;• 可将语音、视频、Presence、短消息、Web浏览、定位信息、Push、文件共享等业务结合起来,在语音、数据业务结合和互通方面有天然优势;• 业务网络和承载网络分离,两者可独立发展;• 业务网络可以融合现有的固网和移动网业务;• 协议简单,具有公认的扩展潜力。

基于以上优势,SIP协议被广泛应用于下一代网络的业务开发当中。

而在现代软交换网络和未来移动网络中,SIP协议更是将作为各个功能单元之间互通的基础协议,因此,有人也称SIP 协议为下一代网络中的“TCP/IP”协议(图1.1)。

1.2论文各章内容本论文的各章内容如下:1. 本文第二章介绍SIP协议的基本原理、格式和与其他辅助协议的结合,然后介绍SIP系统的工作原理和基本会话过程;(a) V oIP软件(b) 可视电话终端(c) 多媒体网关(d) 3G手机图1.1 基于SIP协议的通信应用2. 第三章介绍SIP系统的核心—SIP协议栈的编写:首先进行方案论证,然后分析协议栈的工作原理和需要实现的机能,紧接着介绍自主开发的SIP 协议栈ZmhSipStack 的软件架构、结构体定义和各具体功能函数;3. 第四章介绍了基于此协议栈编写的应用于PC机的用户代理程序SipUA和服务器程序SipProxyServer,并对实现程序各功能的函数进行解释,最后展示程序运行效果;4. 第五章中介绍了如何将SIP 协议栈ZmhSipStack移植到嵌入式ARM/μCOS-Ⅱ环境下,并介绍了基于此协议栈编写的应用于嵌入式ARM平台的用户代理程序和服务器程序;5. 第六章应用用户代理和服务器程序在PC机和ARM平台之间进行SIP协议会话实验,并给出实验结果。

第二章SIP协议基本介绍本章主要介绍了SIP系统的基本组成和SIP协议的消息格式,并介绍了SIP系统的四种基本会话过程。

2.1 SIP系统基本组成SIP系统在RFC3261中有详细的定义。

为了描述问题方便,RFC3261定义了几种逻辑功能实体,协议对每种实体的功能和行为都进行了详尽描述。

实际应用中,一个物理实体可能集成了多个逻辑功能。

在RFC3261看来,SIP系统可按逻辑功能分为4种元素:User Agent(用户代理),Proxy(代理服务器),Redirect Sever(重定向服务器),Registrar(注册服务器)。

图 2.1描述了一个完备SIP系统的网络结构。

从中我们可以发现用户代理、注册服务器、代理服务器都在同一个网域中,而重定向服务器可以在这个网域中,也可以在另一个网域中。

SIP系统的会话过程请参看本章2.4节。

图 2.1 SIP系统的网络结构2.2 SIP消息描述SIP协议是基于文本的通信信令协议。

SIP消息以文本形式表示消息的语法、语义和编码,因此相对于二进制的信令,SIP消息显得简单、易懂。

SIP消息有两种:客户端到服务器的请求消息和服务器到客户端的响应消息。

SIP消息由一个起始行(start-line)、一个或多个字段(field)组成的消息头、一个标志消息头结束的空行(CRLF)以及作为可选项的消息体(message body)组成。

其中描述消息体的头称为实体头(entity header),其格式如下:generic-message = start-line*message-headerCRLF[message-body]下面分别对起始行、消息头及消息体一一进行解释。

2.2.1 起始行起始行分请求行(Request-Line)和状态行(Status-Line)两种,其中请求行是请求消息的起始行,状态行是响应消息的起始行。

1.请求行请求行已方法(method)标记开始,后面是统一定位标示符(URI)和协议版本号(SIP-Version),最后以回车换行符结束,各个元素间用空格键字符间隔。

Request-Line = Method SP Request-URI SP SIP-Version CRLF方法标记“Method”来对说明部分进行描述。

SIP协议在RFC3261中一共定义了六种方法。

具体定义如下:INVITE:用于邀请用户或服务参加一个会话。

INVITE 消息中必须包含主叫方和被叫方的信息和双方交换的多媒体信息流类型。

除了能够用用于启动双方通信会话外,还具有启动多方会议的能力;●ACK:用于客户机向服务器证实它已经收到了对INVITE请求的最终响应。

ACK消息中的主叫、被叫信息是由前期媒体协商得来,可以包含消息体描述也可以不包含。

ACK消息发送后,双方多媒体会话才真正开始;●BYE:用于客户端向服务器表明它想释放呼叫。

主叫方或被叫方都可以发送该消息。

当会话参与者退出会话时,它必须向对方发送BYE消息,表示终止当前会话;●OPTIONS:用于向服务器查询其能力。

按照RFC3261的初衷,实体发起呼叫前可以发起该消息,以确认网络实体是否支持某种消息或某种能力,但从网络运行安全的角度来讲,不希望终端设备能够获知网络能力,因此在终端询问网络能力这一应用上,一般不允许发生。

目前OPTIONS指令主要用于主叫方确认被叫方是否存在;• CANCEL:用于取消正在进行的请求。

CANCEL只能由主叫方发起,而且若已接收到最终响应状态200/OK,则该方法无效;●REGISTER:用于用户向网络注册服务器发送注册消息。

随着应用的增多,仅仅有以上六种请求方法并不能够满足需求。

因此IETF在RFC3261的基础上提出了许多扩展方法以满足应用需求。

具体扩展定义请参考IEFT RFC2976。

2.状态行状态行以协议版本号(SIP-Version)开始,接下来是用数字表示的状态码(Status-Code),然后是相关文字说明(Reason-Phrase),最后以回车换行符结束,各个元素间用空格键字符间隔。

Status-Line = SIP-Version SP Status-Code SP Reason-Phrase CRLFSIP协议中用三位整数的状态码(Status-Code)和文本形式的原因短语(Reason-Phrase)来表示对请求作出的回答。

状态码用于机器识别操作,原因短语用于人工识别操作。

状态码的第一个数字定义响应的类别,在2.0版本中第一个数字有六个值:●1xx(Provisional):请求已经接收到,正在处理;●2xx(Success):请求已经收到、理解,并接收;●3xx(Redirection):为了完成请求,还需要进行下一步动作,用在重定向场合;●4xx(Client Error):请求有语法错误或不能够被此服务器执行;●5xx(Server Error):服务器不能够执行明显的有效请求;●6xx(Global Failure):网络中所有的服务器不能够执行请求。

SIP协议将1xx响应定义为临时响应(Provisional Response),而其他五类则定义为最终响应(Final Response)。

当服务器接收到临时响应消息时,表示对当前请求的处理并没有完结;当接收到最终响应消息时,表示对当前请求的处理已经完结。

2.2.2 消息头(message-header)SIP协议的消息头是由多个消息头字段(header-field)构成的。

消息头携带了SIP会话的一切必要信息,是SIP协议的主体。

每一个头字段都遵循以下格式:首先是字段名(Field Name),后面是冒号,然后是字段值,不同的字段其所带字段值的格式及意义都不同。

Message-header = field-name“:” [field-value] CRLF 对于不同的请求消息或响应消息,有些消息头是必须的,有些消息头是可选的,而有些消息头是不允许出现的。

关于请求消息、响应消息与消息头之间的映射关系请参考附录。

消息头根据使用的方法不同可以分为通用头(General-header)、实体头字段(Entity-header)、请求头(Request-header)以及响应头(Response-header)四类。

相关文档
最新文档