SIP协议消息的类型和结构.
SIP协议讲解

14 SIP协议关于本章本章将对SIP协议做一简要介绍,包括涉及的基本概念、消息结构以及简要的消息流程。
14.1 概述SIP(Session Initiation Protocol)是一个应用层控制协议,用于创建、更改和终止会话。
这里的会话类型包括多媒体会议、Internet电话等类似的应用。
SIP是实现VOIP(Voice over IP)的关键协议之一。
SIP支持别名映射、重定向服务、ISDN和智能网业务。
它支持个人移动(personal mobility),即终端用户能够在任何地方、任何时间请求和获得已订购的任何电信业务。
总的来说,SIP能够支持下列五种多媒体通信的信令功能。
l用户定位:确定参加通信的终端用户的位置;l用户通信能力协商:确定通信的媒体类型和参数;l用户意愿交互:确定被叫是否乐意参加某个通信;l建立呼叫:包括向被叫“振铃”,确定主叫和被叫的呼叫参数;l呼叫处理和控制:包括呼叫重定向、呼叫转移、终止呼叫等等。
SIP可以通过MCU(Multipoint Control Unit)、单播联网方式、或组播方式创建多方会话,支持PSTN和IP电话之间的网关功能。
SIP协议对低层协议作了最少的假设,低层协议可以为SIP协议提供可靠或非可靠传输,可以为分组或字节流业务。
SIP可以使用UDP协议或TCP协议作为传输层协议,首选UDP协议。
14.1.1 相关概念呼叫一个呼叫是由一个会议中被同一个发起者邀请加入的所有成员组成的。
一个SIP 呼叫由Call-ID进行标识。
因此,如果一个用户是被不同的人邀请参加同一个多点会议,那么每个邀请都构成一个呼叫。
点到点IP电话会话是一种最简单的会话,它映射为单一的SIP呼叫。
呼叫分支一个呼叫分支(Call leg)由Call-ID、To、From三个参数共同决定。
在同一个Call-ID中,从A到B的请求与从B到A的请求都属于同一个呼叫分支,呼叫分支也可以理解成一次呼叫中消息经过的路径。
SIP协议主要消息 (3)

SIP协议主要消息协议名称:SIP协议主要消息一、引言本协议旨在详细描述SIP(Session Initiation Protocol,会话初始协议)的主要消息,包括其定义、结构和功能。
SIP是一种用于建立、修改和终止多媒体味话的应用层协议,广泛应用于VoIP(Voice over Internet Protocol,互联网语音通信)和实时通信系统中。
二、协议概述SIP协议主要通过请求和响应的方式进行通信,使用文本格式的消息进行交互。
SIP消息由起始行、头部字段和消息体组成,其中起始行包含请求或者响应的方法、URI(Uniform Resource Identifier,统一资源标识符)和SIP版本信息。
头部字段包含了关于消息的元数据,而消息体则携带了具体的数据内容。
三、主要消息类型1. INVITE:该消息用于建立会话,发起方向被叫方发送INVITE请求,包含了被叫方的SIP地址和媒体描述信息。
2. ACK:该消息用于确认INVITE请求的接收,发起方在收到200 OK响应后发送ACK请求,表示会话建立成功。
3. BYE:该消息用于终止会话,可以由任意一方发送,对方收到BYE请求后会发送200 OK响应,表示会话终止。
4. CANCEL:该消息用于取销未完成的请求,普通用于取销INVITE请求,以便重新发起新的请求。
5. REGISTER:该消息用于注册用户地址,用户向服务器发送REGISTER请求,以便在服务器上注册自己的SIP地址。
6. OPTIONS:该消息用于查询服务器的能力,普通用于检测对方是否在线或者支持特定功能。
7. INFO:该消息用于传输非实时信息,如传输DTMF(Dual-tone Multi-frequency)信号等。
四、消息格式和示例1. INVITE消息格式:```INVITE sip:alice@example SIP/2.0Via: SIP/2.0/UDP 192.0.2.1;branch=z9hG4bK776asdhdsMax-Forwards: 70To: <sip:alice@example>From: <sip:bob@example>;tag=1928301774Call-ID: a84b4c76e66710CSeq: 314159 INVITEContact: <sip:bob@example>Content-Type: application/sdpContent-Length: 142v=0o=bob 2890844526 2890844526 IN IP4 192.0.2.1s=-c=IN IP4 192.0.2.1t=0 0m=audio 49172 RTP/AVP 0a=rtpmap:0 PCMU/8000```2. ACK消息格式:```ACK sip:alice@example SIP/2.0Via: SIP/2.0/UDP 192.0.2.1;branch=z9hG4bK776asdhds Max-Forwards: 70To: <sip:alice@example>From: <sip:bob@example>;tag=1928301774Call-ID: a84b4c76e66710CSeq: 314159 ACKContact: <sip:bob@example>Content-Length: 0```3. BYE消息格式:```BYE sip:alice@example SIP/2.0Via: SIP/2.0/UDP 192.0.2.1;branch=z9hG4bK776asdhds Max-Forwards: 70To: <sip:alice@example>From: <sip:bob@example>;tag=1928301774Call-ID: a84b4c76e66710CSeq: 314160 BYEContact: <sip:bob@example>Content-Length: 0```4. CANCEL消息格式:```CANCEL sip:alice@example SIP/2.0Via: SIP/2.0/UDP 192.0.2.1;branch=z9hG4bK776asdhds Max-Forwards: 70To: <sip:alice@example>From: <sip:bob@example>;tag=1928301774Call-ID: a84b4c76e66710CSeq: 314159 CANCELContact: <sip:bob@example>Content-Length: 0```5. REGISTER消息格式:```REGISTER sip:example SIP/2.0Via: SIP/2.0/UDP 192.0.2.1;branch=z9hG4bK776asdhds Max-Forwards: 70To: <sip:bob@example>From: <sip:bob@example>;tag=1928301774Call-ID: a84b4c76e66710CSeq: 314161 REGISTERContact: <sip:bob@example>Expires: 3600Content-Length: 0```6. OPTIONS消息格式:```OPTIONS sip:example SIP/2.0Via: SIP/2.0/UDP 192.0.2.1;branch=z9hG4bK776asdhds Max-Forwards: 70To: <sip:alice@example>From: <sip:bob@example>;tag=1928301774Call-ID: a84b4c76e66710CSeq: 314162 OPTIONSContact: <sip:bob@example>Content-Length: 0```7. INFO消息格式:```INFO sip:alice@example SIP/2.0Via: SIP/2.0/UDP 192.0.2.1;branch=z9hG4bK776asdhds Max-Forwards: 70To: <sip:alice@example>From: <sip:bob@example>;tag=1928301774Call-ID: a84b4c76e66710CSeq: 314163 INFOContact: <sip:bob@example>Content-Type: application/dtmf-relayContent-Length: 18Signal=1Duration=100```五、总结SIP协议的主要消息包括INVITE、ACK、BYE、CANCEL、REGISTER、OPTIONS和INFO。
SIP协议主要消息

SIP协议主要消息协议名称:SIP协议主要消息一、引言本协议旨在详细描述SIP(Session Initiation Protocol,会话发起协议)的主要消息类型及其相关内容。
SIP是一种用于建立、修改和终止多媒体会话的应用层协议,广泛应用于IP电话、视频会议、实时消息传递等通信领域。
二、协议概述SIP协议主要由请求-应答模型组成,请求消息由客户端发送给服务器,服务器根据请求进行处理并返回相应的应答消息。
以下是SIP协议中的主要消息类型:1. INVITEINVITE消息用于建立会话,发起方向接收方发起通话请求。
该消息包含了会话的相关信息,如发起方地址、接收方地址、媒体类型等。
2. ACKACK消息用于确认接收INVITE消息,并建立双向通信。
接收方在接收到INVITE消息后,返回ACK消息给发起方,表示接收到请求并准备好建立通话。
3. BYEBYE消息用于终止会话。
任何一方都可以发送BYE消息,表示希望结束当前会话。
接收方收到BYE消息后,可以发送200 OK应答消息,也可以选择不应答。
4. CANCELCANCEL消息用于取消之前发送的INVITE请求。
当发起方发送INVITE请求后,如果发现不再需要建立会话,可以发送CANCEL消息取消之前的请求。
5. OPTIONSOPTIONS消息用于查询服务器的能力。
发起方可以发送OPTIONS消息给服务器,询问服务器支持的功能、媒体类型等信息。
6. REGISTERREGISTER消息用于注册用户位置信息。
当用户登录到SIP服务器时,会发送REGISTER消息,将自己的位置信息注册到服务器上。
7. INFOINFO消息用于传递媒体相关的信息。
例如,当用户在通话过程中需要传输DTMF(双音多频)信号时,可以使用INFO消息传递相关信息。
8. UPDATEUPDATE消息用于修改会话参数。
当会话已经建立后,发起方可以发送UPDATE消息,修改会话的相关参数,如媒体类型、编码方式等。
sip制作标准

sip制作标准SIP(Session Initiation Protocol)是一个面向Internet会议和电话的简单信令协议标准。
SIP制作标准主要包括以下内容:1. 协议结构:SIP协议基于文本,采用请求/响应模型,由请求消息和响应消息两种类型构成。
请求消息用于发起呼叫,包括邀请消息、挂断消息、更新消息、订阅消息等;响应消息用于对请求消息进行响应,包括成功、失败、重定向、确认等类型。
2. 消息头和消息体:SIP消息头用于描述消息的属性和行为,例如To、From、CSeq、Call-ID等。
消息体用于承载媒体数据或信令信息,可以是文本、音频、视频等类型。
3. 呼叫流程:SIP呼叫流程包括邀请流程和挂断流程。
邀请流程用于建立呼叫,涉及用户代理(UAC)和用户代理服务器(UAS)之间的交互,包括发送邀请消息、接收响应消息、发送确认消息等步骤。
挂断流程用于终止呼叫,涉及用户代理之间的交互,包括发送挂断消息、接收响应消息等步骤。
4. 路由机制:SIP采用基于网络的路由机制,通过URI(统一资源标识符)标识用户和服务器。
SIP路由器根据路由规则将请求消息转发到目标服务器或用户代理,同时根据网络拓扑和负载情况优化路由,保证呼叫的可靠性和性能。
5. 安全机制:SIP采用传输层安全性协议(TLS)进行通信层的安全保护,通过SSL/TLS协议建立安全连接,保证通信数据的机密性和完整性。
同时,SIP也支持数字签名和身份认证,防止伪造和篡改消息。
6. 媒体协商:SIP通过媒体协商机制确定媒体格式、编解码器、传输协议等参数,以保证不同设备之间能够正确地交换媒体数据。
媒体协商过程中,参与方通过发送offer/answer模型的消息进行交互,最终达成一致的媒体配置。
7. 会话控制:SIP提供会话控制功能,包括会话邀请、会话转移、会话暂停和恢复等。
这些功能通过发送特定的SIP请求和响应消息实现,使得用户能够灵活地控制和管理会话。
SIP协议主要消息

SIP协议主要消息协议名称:SIP协议主要消息协议版本:1.0生效日期:[协议生效日期]修订日期:[协议修订日期]1. 引言本协议旨在定义SIP(会话初始化协议)的主要消息。
SIP是一种应用层控制协议,用于建立、修改和终止多媒体会话,如语音通话、视频通话和即时消息。
本协议详细描述了SIP协议的主要消息类型、消息格式和消息交互过程。
2. 术语和定义以下术语和定义适用于本协议:- SIP(会话初始化协议):一种应用层控制协议,用于建立、修改和终止多媒体会话。
- 消息:SIP协议中的基本通信单元,用于在用户代理之间传递信息。
- 请求:SIP协议中的一种消息类型,用于请求执行某种动作。
- 响应:SIP协议中的一种消息类型,用于回复请求的执行结果。
- URI(统一资源标识符):用于标识资源的字符串,包含协议方案、主机名和路径等信息。
3. 主要消息类型本协议定义了以下主要消息类型:- INVITE:用于建立会话。
- ACK:用于确认接收到INVITE请求。
- BYE:用于终止会话。
- OPTIONS:用于查询对方支持的功能。
- REGISTER:用于注册用户位置信息。
- CANCEL:用于取消尚未完成的请求。
- INFO:用于传递会话相关的信息。
- PRACK:用于确认接收到可靠的临时响应。
4. 消息格式4.1 请求消息格式SIP的请求消息格式如下:- 请求行:包含请求方法、URI和SIP协议版本。
- 头部字段:包含请求相关的各种头部字段,如From、To、Call-ID、CSeq等。
- 实体主体:可选,用于传递请求的实体主体。
4.2 响应消息格式SIP的响应消息格式如下:- 状态行:包含SIP协议版本、状态码和原因短语。
- 头部字段:包含响应相关的各种头部字段,如From、To、Call-ID、CSeq等。
- 实体主体:可选,用于传递响应的实体主体。
5. 消息交互过程5.1 INVITE消息交互过程1. 主叫方发送INVITE请求给被叫方。
SIP协议主要消息

SIP协议主要消息一、背景介绍SIP(Session Initiation Protocol)是一种用于建立、修改和终止会话的信令协议,广泛应用于VoIP(Voice over Internet Protocol)和实时通信系统中。
SIP协议主要消息是指在SIP通信过程中,各个参与方之间传递的消息,包括请求消息和响应消息。
本协议旨在规范SIP协议主要消息的格式和内容,以确保通信的可靠性和互操作性。
二、协议目的本协议的目的是定义SIP协议主要消息的标准格式,包括请求消息和响应消息的结构、字段和语义。
通过遵循本协议,各参与方能够准确理解和处理SIP协议主要消息,从而实现可靠的通信和互操作。
三、协议内容1. 请求消息格式:请求行:包括请求方法、请求URI和SIP协议版本。
头部字段:包括常用字段(如From、To、Call-ID、CSeq、Contact等)和可选字段(如Max-Forwards、User-Agent、Content-Type等)。
空行:用于分隔头部字段和消息体。
消息体:可选,用于传递附加数据。
2. 响应消息格式:状态行:包括SIP协议版本、状态码和原因短语。
头部字段:包括常用字段(如From、To、Call-ID、CSeq、Contact等)和可选字段(如Server、Content-Type等)。
空行:用于分隔头部字段和消息体。
消息体:可选,用于传递附加数据。
四、协议规范1. 请求方法:- INVITE:用于建立会话。
- ACK:用于确认接收到INVITE请求。
- OPTIONS:用于查询支持的功能和参数。
- BYE:用于终止会话。
- CANCEL:用于取消未被接受的请求。
- REGISTER:用于注册用户的位置信息。
- INFO:用于传递会话中的中间信息。
- PRACK:用于确认接收到可靠传输的请求。
2. 状态码:- 1xx:信息性响应,表示请求已被接收,但尚未完成。
- 2xx:成功响应,表示请求已成功处理。
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协议主要消息协议名称:会话发起协议(Session Initiation Protocol,简称SIP)1. 引言本协议旨在规范会话发起协议(SIP)的主要消息格式和内容。
SIP是一种应用层协议,用于在IP网络上建立、修改和终止多媒体会话,如语音通话、视频会议和即时消息。
本协议的目的是确保SIP消息在各个实现之间的互操作性和一致性。
2. 消息格式SIP协议定义了以下主要消息类型:2.1 请求消息请求消息由客户端发送给服务器,用于请求资源或执行操作。
请求消息的格式如下:请求行头部字段空行消息体请求行包括请求方法、请求URI和SIP协议版本。
常见的请求方法包括INVITE(邀请对方参与会话)、REGISTER(注册用户位置信息)、ACK(确认消息接收)等。
头部字段包括各种标准字段和扩展字段,用于传递请求的相关信息,如From (发送者身份)、To(接收者身份)、Call-ID(会话标识符)、CSeq(序列号)等。
消息体可选,用于传递请求的实体内容,如SDP(会话描述协议)等。
2.2 响应消息响应消息由服务器发送给客户端,用于回应请求或指示操作结果。
响应消息的格式如下:状态行头部字段空行消息体状态行包括SIP协议版本、状态码和原因短语。
常见的状态码包括1xx(信息性响应)、2xx(成功响应)、3xx(重定向响应)、4xx(客户端错误响应)、5xx (服务器错误响应)等。
头部字段包括各种标准字段和扩展字段,用于传递响应的相关信息,如From、To、Call-ID、CSeq等。
消息体可选,用于传递响应的实体内容,如SDP等。
3. SIP消息示例以下是一些常见的SIP消息示例:3.1 INVITE请求消息示例:INVITEsip:********************/2.0Via: SIP/2.0/UDP 192.0.2.1:5060;branch=z9hG4bK123456789From:sip:***************;tag=12345To:sip:*****************Call-ID:***************.2.1CSeq: 1 INVITEContact:sip:***************Max-Forwards: 70Content-Type: application/sdpContent-Length: 142v=0o=bob 2890844526 2890844526 IN IP4 192.0.2.1s=-c=IN IP4 192.0.2.1t=0 0m=audio 49170 RTP/AVP 03.2 200 OK响应消息示例:SIP/2.0 200 OKVia: SIP/2.0/UDP 192.0.2.1:5060;branch=z9hG4bK123456789 From:sip:***************;tag=12345To:sip:*****************;tag=54321Call-ID:***************.2.1CSeq: 1 INVITEContact:sip:*****************Content-Type: application/sdpContent-Length: 142v=0o=alice 2890844527 2890844527 IN IP4 192.0.2.2s=-c=IN IP4 192.0.2.2t=0 0m=audio 49172 RTP/AVP 04. 总结本协议详细描述了SIP协议的主要消息格式和内容要求。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2xx
3xx 4xx
成功响应
重定向响应 客户出错
表示请求已经被成功接受、处理
表示需要采取进一步动作,以完成该请求 表示请求消息中包含语法错误或者SIP服务器不能完成 对该请求消息的处理
5xx 6xx
服务器出错 全局故障
表示SIP服务器故障不能完成对正确消息的处理 表示请求不能在任何SIP服务器上实现
SIP请求消息结构
命令名称 对端URI Call-ID:值 Form:值 To :值 Cseq :值 Via :值 Contact :值 Max-Forwards :值 版本
起始行
消息头
SIP请求消息结构 (续)
Allow :值 Content-Length :值 Supported :值 User-Agent :值 Content-Type :值 ……
请求消息
请求消息 消息含义
INVITE
发起会话请求,邀请用户加入一个会话,会话描述含于消息体中。对于两方呼叫来说,主叫方
在会话描述中指示其能够接受的媒体类型及其参数。被叫方必需在成功响应消息的消息体中指 明其希望接受哪些媒体,还可以指示其行将发送的媒体。 如果收到的是关于参加会议的邀请,被叫方可以根据Call-ID或者会话描述中的标识确定用户 已经加入该会议,并返回成功响应消息。
ACK BYE CANCEL REGISTER OPTIONS
证实已收到对于INVITE请求的最终响应。该消息仅和INVITE消息配套使用。 结束会话 取消尚未完成的请求,对于已完成的请求(即已收到最终响应的请求)则没有影响 注册 查询服务器的能力
响应消息
序号 1xx 状态码 消息功能 信息响应(呼叫进展响应) 表示已经接收到请求消息,正在对其进行处理
消息头
User-Agent :值
Content-Type :值
……
空格
SDP
消息体
通信技术专业教学资源库 深圳职业技术学院
谢谢
主讲: 杨柳
课程团队:杨柳 成敏娟 王永学
消息头
空格
SDP
消息体
响应格式
SIP/协议版本 状态码 Call-ID:值 Form:值 To :值 Cseq :值 Via :值 Contact :值 Max-Forwards :值 描述性短语
起始行
消息头
响应格式(续)
Allow :值
Content-Length :值 Supported :值
通信技术专业教学资源库 深圳职业技术学院
《SOFTX3000产品培训》课程
SIP协议程团队: 杨柳 成敏娟 王永学
SIP协议消息的类型
• SIP消息采用文本方式编码,分为两类:请求消息和响应消息。 • 请求消息:客户端为了激活按特定操作而发给服务器的SIP消息。 • 响应消息:用于对请求消息进行响应,指示呼叫的成功或失败状态。 • 请求消息和响应消息都包括SIP头字段和SIP消息字段。