软交换分组协议基础SIP1020B.docx

上传人:b****6 文档编号:8113362 上传时间:2023-01-28 格式:DOCX 页数:35 大小:286.81KB
下载 相关 举报
软交换分组协议基础SIP1020B.docx_第1页
第1页 / 共35页
软交换分组协议基础SIP1020B.docx_第2页
第2页 / 共35页
软交换分组协议基础SIP1020B.docx_第3页
第3页 / 共35页
软交换分组协议基础SIP1020B.docx_第4页
第4页 / 共35页
软交换分组协议基础SIP1020B.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

软交换分组协议基础SIP1020B.docx

《软交换分组协议基础SIP1020B.docx》由会员分享,可在线阅读,更多相关《软交换分组协议基础SIP1020B.docx(35页珍藏版)》请在冰豆网上搜索。

软交换分组协议基础SIP1020B.docx

软交换分组协议基础SIP1020B

资料编码

产品名称

NGN

使用对象

工程师

产品版本

编写部门

固网技术支持部

资料版本

V1.1

软交换分组协议基础-SIP

拟制:

刘伟聪

日期:

20021211

审核:

日期:

审核:

日期:

批准:

日期:

华为技术有限公司

版权所有XX

修订记录

日期

修订版本

描述

作者

20020716

V1.0

刘伟聪

20020917

V1.1

调整文档

刘伟聪

20021211

V1.1

转换为WORD格式

刘伟聪

目录

第1章SIP协议总体概述1

1.1SIP协议定义1

1.2SIP协议支持多媒体通信的五个方面1

1.3SIP协议优点2

第2章SIP协议主要概念模型3

2.1实体模型概述3

2.2相关概念4

第3章SIP协议主要消息6

3.1SIP消息分类6

3.2SIP消息结构6

3.3消息格式6

3.3.1请求消息格式6

3.3.2响应消息格式8

第4章SIP协议主要响应码11

4.1响应码分类11

4.21xx类消息11

4.32xx类消息12

4.43xx类消息12

4.54xx类消息12

4.65xx类消息14

4.76xx类消息15

第5章SIP协议主要流程16

5.1呼叫模型概述16

5.2基本呼叫建立流程17

5.3基本呼叫拆除流程18

5.4经过代理的呼叫建立流程19

5.5经过代理的呼叫拆除流程20

第6章SIP协议在软交换SoftX3000的实际应用举例22

6.1SIP用户局内互通组网说明22

6.2SIP协议在软交换SoftX3000流程图22

6.3对应主要消息说明24

6.3.1INVITE24

6.3.2100TRYING26

6.3.3407ProxyAuthentication27

6.3.4ACK28

6.3.5INVITE29

6.3.6100TRYING31

6.3.7INVITE32

6.3.8180RINGING34

6.3.9200OK35

6.3.10ACK36

6.3.11OPTION37

6.3.12BYE38

关键词:

SIP、SDP、IP电话/Internet电话、多媒体会议

摘要:

SIP协议是一个用于建立,更改和终止多媒体会话的应用层控制协议。

它是IETF多媒体数据和控制体系结构的一部分并大量借鉴了成熟的HTTP协议,具有易扩展、易实现等特点,因此非常适合用于实现基于因特网的多媒体会议、IP电话等系统。

本文对SIP协议的基本结构、功能、控制流程进行介绍。

缩略语清单:

SIP

SessionInitiationProtocol

初始会话协议

RSVP

ResourceReServationProtocol

资源预约协议

RTP

Real-timeTransmitProtocol

实时传输协议

RTSP

Real-TimeStreamProtocol

实时流协议

SDP

SessionDescriptionProtocol

会话描述协议

参考资料清单:

第1章SIP协议总体概述

1.1SIP协议定义

SIP(SessionInitiationProtocol,即初始会话协议)是IETF提出的基于文本编码的IP电话/多媒体会议协议。

用于建立、修改并终止多媒体会话。

SIP协议可用于发起会话,也可以用于邀请成员加入已经用其它方式建立的会话。

多媒体会话可以是点到点的话音通信或视频通信,也可以是多点参与的话音或视频会议等。

SIP协议透明地支持名字映射和重定向服务,便于实现ISDN,智能网以及个人移动业务。

SIP协议可以用多点控制单元(MCU)或全互连的方式代替组播发起多方呼叫。

与PSTN相连的IP电话网关也可以用SIP协议来建立普通电话用户之间的呼叫。

SIP协议在IETF多媒体数据及控制体系协议栈结构的位置,如图1-1所示。

图1-1IETF多媒体数据及控制体系协议栈结构图

1.2SIP协议支持多媒体通信的五个方面

用户定位:

确定用于通信的终端系统;

用户能力:

确定通信媒体和媒体的使用参数;

用户可达性:

确定被叫加入通信的意愿;

呼叫建立:

建立主叫和被叫的呼叫参数;

呼叫处理:

包括呼叫转移和呼叫终止;

1.3SIP协议优点

●最少状态

一个会议呼叫或电话呼叫可以包含一个或多个请求——响应事务(transaction),代理服务器可以采用无状态方式工作。

●低层协议无关性

低层协议可以为SIP协议层提供可靠或非可靠业务,也可以为分组或字节流业务。

Internet环境下SIP协议层可以使用UDP协议或TCP协议,它首选UDP协议,当不能使用UDP协议时,使用TCP协议。

●基于文本

SIP协议采用基于文本的UTF-8编码方式,采用字符集为ISO10646字符集,易于实现,易于调试、灵活和扩展性好。

●健壮性

SIP协议健壮性可以通过下述方面体现:

代理服务器可以不必保存呼叫状态;后续请求与重传可以采用不同路由;响应消息采用自寻路方式传送等。

●可扩展性

SIP协议的可扩展性主要体现在:

不可识别的头域可以忽略;用户可以指示SIP服务器必须理解的消息内容;新的头域容易引入;状态码采用分层编码方式进行编码。

●易于支持IN业务

通过与终端系统的配合,SIP协议及其呼叫控制扩展能够支持绝大多数ITUT的CapabilitySet1中的业务及CapabilitySet2中的业务。

第2章

SIP协议主要概念模型

2.1实体模型概述

SIP协议模型定义了UserAgent和Server等两类主要实体。

SIP协议把UserAgent(即UA)分为两个部分:

UserAgentClient和UserAgentServer。

呼叫方(称UserAgentClient)发出邀请(或呼叫),被叫方(称UserAgentServer)接受或拒绝邀请(或呼叫)。

分组终端设备、媒体网关/媒体设备通常是包括UserAgentClient和UserAgentServer在内的UserAgent。

另外,下面所说的ProxyServer也要实现UserAgent功能。

SIP协议定义了ProxyServer、RedirectServer和RegisterServer等三类主要Server。

RegisterServer主要用于登记分组终端的当前位置和位置服务的原始数据;

ProxyServer作为UserAgentClient和UserAgentServer间的中间媒体,它转发UserAgentClient来的的邀请,在转发之前,根据被叫标识请求位置服务器获得被叫的可能位置,然后分别向它们发出邀请;

RedirectServer接受UserAgentClient来的邀请,根据被叫标识请求位置服务器获得被叫的可能位置,把这些信息返回给邀请的发起者(UserAgentClient),和ProxyServer的不同之处就在于它不转发邀请,邀请由主叫终端自己完成。

Sip协议基本网络模型,如0所示:

Sip协议基本网络模型

2.2相关概念

呼叫(Call):

一个呼叫是由一个会议中被同一个发起者邀请加入的所有成员组成的。

一个SIP呼叫用全局唯一呼叫标识符(CALL_ID)来识别。

因此,如果一个用户被不同的人邀请参加同一个多点会议,每个邀请都有一个唯一的呼叫。

一个点对点因特网电话交谈也被认为是一个SIP呼叫。

在一个基于多点控制单元(MCU)的电话交谈节目中,每个参与者都用一个独立的呼叫与MCU相连。

呼叫支路(Callleg):

一个呼叫支路由Call-ID、To以及From之中的addr-spec和tag共同标识。

只有addr-spec中的user和hostport部分有意义。

在同一个Call-ID中,从A到B的请求与从B到A的请求都属于同一个呼叫支路。

呼叫支路也可以说是一次呼叫里消息经过的路径。

(注:

参数说明见第三章)

会议(Conference):

一个多媒体会话,由公共的会话描述来标识。

一个会议可由零个或多个成员组成,可以是多点会议,全互连会议,点对点会议,或者是它们的组合。

可以用任意数目的呼叫来建立一个会议。

发起者、主叫(Initiator,Caller):

发起会议邀请的一方。

注意,发起者不一定是会议的建立者。

被邀请者、被叫(Invitee,Callee):

被主叫方邀请参加会话的一方。

邀请(Invitation):

要求用户加入会话的请求。

一个成功的SIP邀请包括2个事务:

一个INVITE请求,后面跟一个ACK请求。

同构请求/响应(Isomorphicrequestorresponse):

两个含有相同Call-ID、To、From和CSeq头域的请求/响应。

此外,同构请求还必须含有相同的Rquest-URI。

并行查询(Parallelsearch):

在一个并行查询中,代理收到请求后向可能的被叫用户发出多个请求。

并行查询在发出请求时并不等待以前所发请求的响应。

最终响应(Finalresponse):

用于结束SIP事务的响应,与临时响应相对。

所有的2XX,3XX,4XX,5XX和6XX响应都是最终响应。

临时响应(Provisionalresponse):

服务器用来表示工作进展,并不结束SIP事务的一种响应。

编码为1XX的响应是临时响应,其他响应都是最终响应。

会话(Session):

根据SDP(会话描述协议)规范的定义:

“多媒体会话是由多媒体发送者,接收者以及从发送者到接收者的数据流组成的集合。

例如多媒体会议。

”根据定义,一个被叫可以被不同的呼叫多次邀请加入同一个会话。

如果用SDP来描述,一个会话可以由用户名、会话标识符、网络类型、地址类型和源地址共同定义。

SIP事务(SIPTransaction):

一个SIP事务是发生在客户和服务器之间的,包括从客户向服务器发出的第一个请求直到服务器发给客户一个最终响应这期间所有的消息。

事务是由一个呼叫支路(Callleg)中的Cseq顺序号来标识的。

一个ACK请求与对应的INVITE请求拥有相同的CSeq,构成自己的事务;

背靠背用户代理(B2BUA):

B2BUA是接收请求并作为用户代理服务器的一个逻辑实体。

为了确定应该如何响应请求,它作为一个用户代理客户(UAC)发出请求。

与代理服务器不同的是它维护对话状态并必须参与所有在已建立的对话上所发的请求。

由于它是一个串联UAC和UAS,对于它的行为无须作显式定义。

第3章

SIP协议主要消息

3.1SIP消息分类

SIP协议是以层协议的形式组成的,就是说它的行为是以一套相对独立的处理阶段来描述的,每个阶段之间的关系不是很密切。

SIP协议将Server和UserAgent之间的通讯的消息分为两类:

请求消息和响应消息。

请求消息:

客户端为了激活特定操作而发给服务器的SIP消息,包括INVITE、ACK、BYE、CANCEL、OPTION和UPDATE消息。

响应消息:

服务器向客户反馈对应请求的处理结果的SIP消息,包括1xx、2xx、3xx、4xx、5xx、6xx响应

3.2SIP消息结构

请求消息和响应消息都包括SIP消息头字段和SIP消息体字段;

SIP消息头主要用来指明本消息是有由谁发起和由谁接受,经过多少跳转等基本信息;

SIP消息体主要用来描述本次会话具体实现方式;

3.3消息格式

3.3.1请求消息格式

SIP请求消息的格式,由SIP消息头和一组参数行组成,如图3-1所示。

通过换行符区分命令行和每一条参数行。

图3-1SIP请求消息结构

注意:

参数行的顺序不是固定的。

对应的参数解释见6.3。

SIP请求消息实例:

INVITEsip:

0109@127.0.0.1:

5060;User=phoneSIP/2.0

Call-ID:

01E04633512400000@127.0.0.1

Via:

SIP/2.0/UDP127.0.0.1:

5061

From:

010203@127.0.0.1:

5061;User=phone>;tag=29005358336B534F610A000

To:

0109@127.0.0.1:

5060;User=phone>

Contact:

sip:

010203@127.0.0.1:

5061

CSeq:

1INVITE

Max-Forwards:

70

Content-Type:

application/SDP

Content-Length:

168

v=0

o=UserA28908445262890844526INIP4

s=SessionSDP

c=INIP4192.0.0.1

t=00

m=audio49172RTP/AVP08

a=rtpmap:

0PCMU/8000

a=rtpmap:

8PCMA/8000

a=sendonly

INVITE消息是其中一种SIP请求消息。

第一行由消息头和对端SIP实体的URI(通用资源标识)以及SIP版本号码组成。

SIPURI是电话URI,附在IP地址上,表示对端和端点收发SIP消息的端口的域。

“From”、“To”和“Contact”这三个SIP消息头属于电话URI。

当背靠背用户代理发出呼叫时,“From”消息头中的URI填写在“Via”消息头里。

请求消息类型填写在CSeq消息头里,并且当该SIP端点发送一个请求,号码就相应递增。

SIP协议版本为SIP/2.0。

其中SDP被加入到INVITE消息内容里,在消息头里的Content-Length说明了SDP内容的长度。

3.3.2响应消息格式

SIP响应消息的格式,由SIP响应消息头和一组参数行组成,如图3-2所示。

通过换行符区分命令行和每一行参数。

图3-1SIP响应消息结构

注意:

参数行的顺序不是固定的。

对应的参数解释见6.3。

SIP响应消息实例:

SIP/2.0200OK

Content-Type:

application/SDP

Via:

SIP/2.0/UDP127.0.0.1:

5061

Call-ID:

01EF351F8140000000000@127.0.0.1

CSeq:

1INVITE

From:

010203@127.0.0.1:

5061;User=phone>;tag=29005358336B534F610A000

To:

0109@127.0.0.1:

5060;User=phone>;tag=5358336B534F2900CD1B0000

Contact:

0109@127.0.0.1:

55061>

Content-Length:

156

v=0

o=HuaweiSoftX300010737418241073741824INIP4127.0.0.1

s=SipCall

c=INIP4110.111.112.113

t=00

m=audio5060RTP/AVP0

a=rtpmap:

0PCMU/8000

200OK消息是SIP响应消息的一种。

第一行由SIP版本号和200响应消息组成。

SIPURI是电话URI,附在IP地址上,表示对端和端点收发SIP消息的端口的域。

“From”、“To”和“Contact”这三个SIP消息头属于电话URI。

当背靠背用户代理发出呼叫时,“From”消息头中的URI填写在“Via”消息头里。

请求消息类型填写在CSeq消息头里,并且当该SIP端点发送一个请求,号码就相应递增。

SIP协议版本为SIP/2.0。

把SDP加入到INVITE消息内容里,在消息头里说明内容的长度。

第4章

SIP协议主要响应码

4.1响应码分类

SIP响应消息用于对请求消息进行响应,指示呼叫的成功或失败状态。

不同类的响应消息由状态码来区分,状态码包含三位整数,状态码的第一位用于定义响应类型,另外两位用于进一步对响应进行更加详细的说明。

响应消息的分类如表4-1所示。

表4-1消息分类

上述消息中,临时响应用于指示呼叫正在进行,最终响应用于结束请求消息。

4.21xx类消息

1xx消息表示服务器或代理正在进行处理,还未得到确定的响应。

客户应该继续等待服务器的响应。

当服务器预测在200毫秒之内不能得到最终响应时,它应该发送一个1xx响应。

服务器可以发送多个1xx响应。

下面表4-2是常见的1xx类消息列表。

表4-1常见的1xx类消息列表

100

试呼(Trying)正在进行与呼叫有关的操作(例如:

访问数据库),但被叫用户还没有定位。

180

被叫振铃(Ringing)被叫用户代理已经得到被叫的位置,正在提醒被叫用户。

181

呼叫前转(CallIsBeingForwarded)代理服务器可以用该状态码表示当前呼叫正被转移到其它目的地。

182

呼叫排队(Queued)被叫暂时不可访问,当前呼叫被排队而不是被拒绝。

当服务器有效时,可以继续响应该呼叫。

该响应的"reasonphrase"可以进一步给出排队呼叫的信息,例如:

“队列中有5个呼叫,期望等待时间为15分钟”。

服务器可以发出多个182响应来更新当前排队呼叫的信息。

183

通话进展。

4.32xx类消息

2xx消息表示请求已经被接收、处理并被成功接受;

200:

OK---请求成功。

202:

被接受:

用于转介

4.43xx类消息

3xx消息表示响应给出有关用户新位置或其它可选服务的信息。

下面表4-3是常见的3xx类消息列表。

表4-1常见的3xx类消息列表

300

多个选择(MultipleChoice)请求中的地址被解析为多个位置,用户可以将请求重定向到一个合适的地址。

该响应应该包含可供用户或用户代理选择的位置和资源列表,并且在Contact头域中,列出可供选择的地址。

301

永久离开(MovedPermanently)在请求中Request-URI所指的地址找不到用户,客户应该尝试Contact头域给出的新地址。

主叫收到该响应后应该更新所有的本地目录,地址簿,用户位置缓存并将以后的请求重定向到新的地址。

302

暂时离开(MovedTemporarily)客户应该用Contact头域给出的新地址尝试呼叫。

响应中Expire头域指出该次重定向的有效期,如果没有给出有效期,那么重定向只对当前呼叫有效。

305

使用代理(UseProxy)客户所请求的资源必须通过Contact头域中给出的代理来访问。

Contact头域给出代理的URI。

该响应只能由用户代理服务器发出。

380

使用其它服务(AlternateService)呼叫不成功,但是可选其它的服务(如:

电子邮件,语音信箱)。

该响应的消息体给出可选服务的描述。

4.54xx类消息

4xx消息表示请求消息中包含语法错误或者SIP服务器不能完成对该请求消息的处理。

下面表4-4是常见的4xx类消息列表。

表4-1常见的4xx类消息列表

400

无效请求(BadRequest)请求语法有误,不能被服务器理解。

401

未授权(Unauthorized)请求需要用户认证。

402

要求付费(PaymentRequired)该响应为将来使用保留。

403

禁止(Forbidden)服务器理解请求,但拒绝完成。

客户不应该再次发请求。

404

未找到用户(NotFound)请求中Request-RUL给出的地址上没有要呼叫的用户。

当Request-RUL给出的地址与服务器管理的域不匹配时,服务器也发送该响应。

405

方法不允许(MethodNotAllowed)请求行中指定的方法不被允许。

该响应必须包含Allow头域,列出服务器支持的方法。

406

不可接受(NotAcceptable)根据请求中的Accpe头域,由请求给出的资源产生的响应实体里面的内容字符不可接受。

407

需要代理认证(ProxyAuthenticationRequired)该响应与401(未授权)类似,但它指示用户必须首先向代理认证自己。

408

请求超时(RequestTiemout)服务器不能在请求的Expire头域指定的时间内产生响应。

客户可以过一段时间重发请求。

409

冲突(Conflict)客户的请求与资源的当前状态冲突,不能完成请求。

当REGISTER请求的action参数与现存的注册冲突时返回该响应。

410

无可用资源(Gone)服务器上没有所请求的资源,也不知道进一步联系的地址。

这种情况被认为是永久的。

如果服务器不能确定该情况是否是永久的,它应该发送404(被叫未找到)响应。

411

需要消息体长度(LengthRequired)服务器拒绝接受没有包含Content-Length头域的请求。

客户何以在加入一个表示消息体长度的Cotent-Length头域后重发请求。

413

请求实体过长(RequestEntityTooLarge)服务器拒绝处理过长的消息实体。

如果这种情况是暂时的,服务器应该在响应中包含Retry-After头域指示客户何时重发请求。

414

Request-URI过长(Request-URITooLong)服务器不能解析过长的Request-URI。

415

媒体类型不支持(UnsupportedMediaType)服务器不支持请求消息体的格式。

服务器应该在响应中用Accept,Accept-Encoding和Accept-Language头域列出它支持的格式。

416

不支持的URI方案。

420

错误的扩展(BadExtension)服务器不理解请求中Require头域指定的协议扩展。

421

需要扩展。

423

时间间隔过短。

480

暂时不可访问(TemporarilyUnavailable)被叫的终端系统已经成功连接,但用户暂时不可访问(例如:

用户未登录,或登录为免打扰)。

服务器可以在Retry-After头域中另外指定一个访问时间。

481

呼叫支路/事务不存在(Callleg/TransactionDoesNotExist)在两种情况下服务器返回该响应:

服务器收到一个BYE请求但找不到匹配的呼叫支路;或是收到一个CANCEL请求但找不到匹配的事务;或是收到与原来TAG标志不一样的INVITE请求。

(对于无匹配的ACK请求,服务器直接将它丢弃,不响应)。

482

检测到循环呼叫(LoopDetected)请求消息的Via头域中包含接收服务器自身的地址。

483

跳数过多(TooManyHop)请求的Via头域包含的条目数(跳数)超过Max-Forwards头域指定的值。

484

地址不

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1