SIP协议原理及应用

更新时间:2023-05-15 21:39:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

SIP协议原理及应用

SS_012030_C SIP协议原理及应用

课程目标:

掌握SIP协议的定义、特点和SIP系统的构成

掌握SIP协议的消息结构典型的消息流程

掌握SIP-I协议的原理及应用

了解SIP协议和其它协议如:SIP-T,SIP-I,BICC,H.323之间的区别和联系

参考资料:

RFC3261

SIP协议原理及应用

SIP协议原理及应用

目 录

第1章 SIP的基本概念 ................................................................................................................ 1

1.1 SIP的提出和发起 ............................................................................................................... 1

1.1.1 SIP的引入 ................................................................................................................. 1

1.2 SIP协议所使用的环境 ........................................................................................................ 2

1.2.1 Softswitch的软件模块结构:...................................................................................... 2

1.2.2 基于SIP的IP网络电话系统所用的协议栈............................................................... 3

1.3 SIP的主要功能................................................................................................................... 3

1.3.1 SIP协议的功能和特点: ............................................................................................ 3

1.3.2 SIP URL结构: ......................................................................................................... 4

1.4 SDP(Session Description Protocol) 会话描述协议简介 ...................................................... 5

1.4.1 SDP描述的内容......................................................................................................... 5

1.4.2 SDP的会话描述......................................................................................................... 5

1.5 SIP当前的应用情况............................................................................................................ 7

1.6 SIP协议的特点................................................................................................................... 7

第2章 SIP的网络构成 ................................................................................................................ 9

2.1 概述 .................................................................................................................................. 9

2.1.1 系统基本组成............................................................................................................ 9

2.1.2 SIP中UA、Proxy和SIP终端的区别与联系 .............................................................. 11

第3章 SIP协议消息的格式与操作 .............................................................................................15

3.1 SIP消息总体描述 ..............................................................................................................15

3.1.1 SIP消息结构带来的协议的可扩展性..........................................................................16

3.2 SIP请求消息 .....................................................................................................................17

3.3 SIP响应消息 .....................................................................................................................20

3.4 SIP消息头字段..................................................................................................................21

3.4.1 通用消息头(General-header) ......................................................................................21

3.4.2 实体头(Entiy-header).................................................................................................23

3.4.3 请求头(Request—header)...........................................................................................23

3.4.4 响应头(Response-header) ...........................................................................................24 i

SIP协议原理及应用

3.5 SIP协议的主要消息头字段................................................................................................ 25

3.6 请求消息的实例与操作..................................................................................................... 27

3.7 响应消息的实例与操作..................................................................................................... 28

3.8 SIP呼叫流程..................................................................................................................... 29

3.8.1 注册注销过程 .......................................................................................................... 29

3.8.2 呼叫过程 ................................................................................................................. 29

3.8.3 重定向过程.............................................................................................................. 29

3.8.4 能力查询过程 .......................................................................................................... 30

3.8.5 SIP呼叫流程 ............................................................................................................ 30

第4章 SIP协议消息实例 ........................................................................................................... 37

4.1 概述................................................................................................................................. 37

4.2 发起呼叫过程................................................................................................................... 38

4.3 接受呼叫过程................................................................................................................... 40

4.4 终止呼叫或拒绝接受邀请过程 .......................................................................................... 41

4.5 取消邀请过程................................................................................................................... 42

4.6 转接过程.......................................................................................................................... 45

第5章 特殊性能要求与解决 ....................................................................................................... 47

5.1 Request URI和SIP地址 .................................................................................................... 47

5.2 SIP用户的IP地址的查找 .................................................................................................. 47

5.3 注册SIP地址 ................................................................................................................... 47

5.4 SIP可靠性机制 ................................................................................................................. 50

5.5 强制收费的解决 ............................................................................................................... 51

5.6 SIP对路由的保证。 .......................................................................................................... 51

5.7 SIP对安全性的支持 .......................................................................................................... 53

第6章 SIP-T协议介绍............................................................................................................... 55

6.1 SIP-T概述 ........................................................................................................................ 55

6.2 SIP-T典型流程 ................................................................................................................. 56

6.3 ISUP消息的封装............................................................................................................... 58

第7章 SIP协议和其它协议的比较 ............................................................................................. 63

7.1 H.323和SIP的比较 .......................................................................................................... 63 ii

SIP协议原理及应用

7.2 SIP和BICC的比较 ...........................................................................................................63

7.3 5.3 SIP-T和SIP-I的比较 ...................................................................................................64

7.3.1 IETF的SIP-T协议....................................................................................................64

7.3.2 ITU-T的SIP-I协议 ...................................................................................................65

7.3.3 与SIP-I的比较 ........................................................................................................65

第8章 SIP协议的应用 ...............................................................................................................67

8.1 基于SIP的IP电话增值业务实现方案 ...............................................................................67

8.1.1 电话增值业务简介....................................................................................................67

8.1.2 SIP增值业务实现技术...............................................................................................67

8.2 SIP——无线数据增收的手段..............................................................................................69

8.2.1 Presence ....................................................................................................................69

8.2.2 短信服务..................................................................................................................69

8.2.3 实时的基于位置的业务.............................................................................................70

8.2.4 增强赢利能力...........................................................................................................70

iii

SIP协议原理及应用

SIP协议原理及应用

第1章 SIP的基本概念

1.1 SIP的提出和发起

1.1.1 SIP的引入

SIP(Session Initiation Protocol,会话发起协议)是由IETF(Interne工程任务组) 提出的IP电话信令协议。它的主要目的是为了解决IP网中的信令控制,以及同SoftSwitch的通信,从而构成下一代的增值业务平台,对电信,银行,金融等行业提供更好的增值业务。其结构图如下图所示。

图 1.1-1 SIP结构图

各功能模块说明如下:

SoftSwitch: 主要实现连接,路由和呼叫控制,关守和带宽的管理,以及话务纪录的生成。

Media Gateway: 提供电路交换网(即传统的PSTN网)与包交换网(即IP,ATM网)中信息转换(包括语音压缩、数据检测等)。

1

SIP协议原理及应用

SS-602-C SIP协议原理

Sinnaling Gateway: 提供PSTN网同IP网间的协议的转换。

Application Server: 运行和管理增值业务的平台,与SoftSwitch用SIP进行通信。 Media Server: 提供媒体和语音资源的平台,同时与Media Gateway进行RTP流的传输。

使用SIP作为SoftSwitch和Application Server之间的接口,可以实现呼叫控制的所有功能。同时SIP已被SoftSwitch接受为通用的接口标准,从而可以实现SoftSwitch之间的互连。

1.2 SIP协议所使用的环境

1.2.1 Softswitch的软件模块结构:

如下图所示,SIP Adapter在SoftSwitch的软件模块结构中处于与SS7、H.248、H.323相同的L2/L3层内,都需要通过Internal Protocol与Call Server进行消息交互。

图 1.2-1 SIP在SS中的软件结构

从Call Server 的角度来看,SIP Adapter 的功能主要有两部分:

(1) 将其他SoftSwitch交换机发来的SIP消息转换成统一的内部呼叫协议;

2

SIP协议原理及应用

第1章 SIP的基本概念

(2) 将Call Server产生的呼叫消息转换成标准的SIP协议消息,发送给其他

SoftSwitch;

1.2.2 基于SIP的IP网络电话系统所用的协议栈

图 1.2-2 IP电话协议栈

如图 1.2-2所示,媒体传输层采用PCM编码或各种压缩编码的话音信号经RTP协议分装后在IP网上传送,RTCP检测传送的QOS,RSVP用于资源预留,保证传送的QOS,SIP协议基于文本,结构灵活,易于扩展,低层传输协议可用TCP或UDP,推荐首选UDP。另外,在SIP协议中,呼叫和媒体控制信息同时传送。

1.3 SIP的主要功能

1.3.1 SIP协议的功能和特点:

(1) SIP是一个客户/服务器协议。协议消息分为两类:请求和响应;协议消息.....

的目的是:建立或终结会话了; .........

(2) “邀请”是SIP协议的核心机制;

(3) 响应消息分为两类:中间响应和最终响应; .........

3

SIP协议原理及应用

SS-602-C SIP协议原理

(4) 媒体类型、编码格式、收发地址等信息由SDP协议(会话描述协议)来描

述,并作为SIP消息的消息体和头部一起传送,因此,支持SIP的网元和...

终端必须支持SDP

(5) 采用SIP URL......的寻址方式,特别地,其用户名字段可以是电话号码,以支

持IP电话网关寻址,实现IP电话和PSTN的互通

(6) SIP的最强大之处就是用户定位功能,用户定位基于登记和DNS机制 .................

(7) SIP独立于低层协议,可采用不同的传送层协议,若采用传送,要求..UDP.......

响应消息沿请求消息发送的同样路径回送;若采用传送,则同一事务....................TCP..........

的请求和响应需在同一连接上传送 ..........TCP........

总之,SIP主要支持以下5个方面的功能: 用户定位:确定通信所用的端系统位置。 用户能力交换:确定所用的媒体类型和媒体参数。 用户可用性判定:确定被叫方是否空闲和是否愿意加入通信。 呼叫建立:邀请和提示被叫,在主被叫之间传递呼叫参数。 呼叫处理:包括呼叫终结和呼叫转交。

1.3.2 SIP URL结构:

URL格式:SIP:用户名:口令@主机:端口;传送参数;用户参数;方法参数;生存期参数;服务器地址参数。

URL形式:USER@HOST;

用途:代表主机上的某个用户,可指示From, To, Request URI, Contact等SIP头部字段。

URL 应用举例:

Sip:j.doe@

Sip:j.doe:secret@;transport=tcp;subject=project

Sip:+1-212-555-1212:1234@;user=phone

Sip:alice@10.1.2.3 Sip:alice@;method=REGISTER

4

SIP协议原理及应用

第1章 SIP的基本概念

1.4 SDP(Session Description Protocol) 会话描述协议简介

描述会话信息的协议,包括会话的地址、时间、媒体和建立等信息

1.4.1 SDP描述的内容

会话名和目的

会话激活的时间段

构成会话的媒体

接收这些媒体所需的信息(地址、端口、格式)

会话所用的带宽信息(任选)

会话负责人的联系信息(任选)

1.4.2 SDP的会话描述

格式: <type> = <value>

规则: type为单个字符,区分大小写

value为结构化文本

= 两侧无空格

一个会话级描述,从v=开始

若干媒体级描述, 从m=开始

SDP的会话级描述:

v= (protocol version)

o= (owner/creator and session identifier).

s= (session name)

i= * (session information)

u= * (URI of description)

e= * (email address)

p= * (phone number)

c= * (connection information - not required if included in all media)

b= * (bandwidth information)

5

SIP协议原理及应用

SS-602-C SIP协议原理

z= * (time zone adjustments)

k= * (encryption key)

a= * (zero or more session attribute lines)

SDP的媒体级描述:

m= (media name and transport address)

i= * (media title)

c= * (connection information - optional if included at session-level)

b= * (bandwidth information)

k= * (encryption key)

a= * (zero or more media attribute lines)

SDP描述举例:

v=0 (版本为0)

o=bell 53655765 2353687637 IN IP4 128.3.4.5 (会话源:用户名bell,会话标

识53655765,版本2353687637,网络类型internet,地址类型Ipv4,地址128.3.4.5)

s=Mr. Watson, come here. (会话名:Mr.Watson, come here.)

i=A Seminar on the session description protocol (会话信息:)

t=3149328600 0 (起始时间:t=3149328600(NTP 时间值),终止时间:无) c=IN IP4 (连接数据:网络类型internet, 地址类型Ipv4,

连接地址)

m=audio 3456 RTP/AVP 0 3 4 5 (媒体格式:媒体类型audio, 端口号3456,

传送层协议RTP/AVP,格式列表为0 3 4 5)

a=rtpmap:0 PCMU/8000 (净荷类型编码名PCMU,抽样速度为8kHZ) ....0,

a=rtpmap:3 GSM/8000 (净荷类型3,编码名GSM,抽样速度为8kHZ) a=rtpmap:4 G723/8000 (净荷类型4,编码名G723,抽样速度为8kHZ)

a=rtpmap:5 DVI4/8000 (净荷类型5,编码名DVI4,抽样速度为8kHZ) 总之,SDP有如下的特点:

6

SIP协议原理及应用

第1章 SIP的基本概念

描述会话信息的协议

与具体的传输协议无关

文本形式,格式要求严格

包含会话级描述和媒体级描述

可扩展 ...

1.5 SIP当前的应用情况

SIP协议当前的主要应用有即时消息、呈现业务、同时振铃、依次振铃业务、用户漫游、用户号码可携带、第三方控制业务等多种业务。

1.6 SIP协议的特点

下一代网络的一个重要目标是建立一个可管理的、高效的、可以扩展的业务平台SIP作为应用层信令协议很好地满足了这一系列要求。

SIP具有很强的包容性,它既可以用于建立(如音频、视频、多方通话等)各种会话,也可以被用来传送即叫消息和文件,这得益于它对HTTP等协议的吸收借鉴。这使运营商能通过统一的业务平台提供综合业务,实现网络的融合。SIP在灵活、方便地提供业务方面具有多方而优点。

7

SIP协议原理及应用

SIP协议原理及应用

第2章 SIP的网络构成

知识点

本章主要介绍了SIP协议网络的网元构成。

2.1 概述

SIP协议虽然主要为IP网络设计的,仅它并不关心承载网络,也可以在ATM、帧中继等承载网中工作,它是应用层协议,可以运行于TCP,UDP,SCTP等各种传输层协议之上。SIP用户是通过类似于e-mail地址的URL标识,例如:sip:myname@,通过这种方式可以用一个统一名字标识不同的终端和通信方式,为网络服务和用户使用提供充分的灵活性。

2.1.1 系统基本组成

SIP协议是一个Client/Sever协议。SIP端系统包括用户代理客户机(UAC)和用户代理服务器(UAS),其中UAC的功能是向UAS发起SIP请求消息,UAS的功能是对UAC发来的SIP请求返回相应的应答。在SS(SoftSwitch)中, 可以把控制中心SoftSwitch看成一个SIP端系统。

在Iptel系统中,与PSTN互通的网关也相当于一个端系统。

按逻辑功能区分,SIP系统由4种元素组成:用户代理、代理服务器、重定向服务器以及注册服务器,如图 2.1-1所示。

SIP Components

User

Agent Gateway

Proxy

Server Proxy Server

图 2.1-1 SIP系统组成

9

SIP协议原理及应用

SS-602-C SIP协议原理

1. 用户代理

用户代理(UserAgent)分为两个部分:客户端(User Agent Client),负责发起

呼叫;用户代理服务器(UserAgent Server),负责接受呼叫并做出响应。二者组成用户代理存在于用户终端中。用户代理按照是否保存状态可分为有状态代理、有部分状态用户代理和无状态用户代理。

2. 代理服务器

代理服务器(Proxy Server),负责接收用户代理发来的请求,根据网络策略

将请求发给相应的服务器,并根据收到的应答对用户做出响应。它可以根据需要对收到的消息改写后再发出。

3. 重定向服务器

重定向服务器务器(Redirect Serever),接收用户请求,把请求中的原地址映

射为零个或多个地址,返回给客户机,客户机根据此地址重新发送请求。用于在需要的时候将用户新的位置返回给呼叫方,呼叫方可以根据得到的新位置重新呼叫。

4. 注册服务器

注册服务器(Registrar)用于接收和处理用户端的注册请求,完成用户地址的

注册。

以上几种服务器可共存于一个设备,也可以分布在不同的物理实体中。SIP服务器完全是纯软件实现,可以根据需要运行于各种工作站或专用设备中。UAC,UAS,Proxy Server,Redirect Server是在一个具体呼叫事件中扮演的不同角色,而这样的角色不是固定不变的。一个用户终端在会活建立时扮演UAS,而在主动发起拆除连接时,则扮演UAC。一个服务器在正常呼叫时作为Proxy Server,而如果其所管理的用户移动到了别处,或者网络对被呼叫地址有特别策略,则它将扮演Redirect Server,告知呼叫发起考该用户新的位置。

除了以上部件,网络还需要提供位置目录服务,以便在呼叫接续过程中定位被叫方(服务器或用户端)的具体位置。这部分协议不是SIP协议的范畴,可选用LDAP(轻量目录访问协议)等。

理论上,SIP呼叫可以只有双方的用户代理参与,而不需要网络服务器。设置服务器,主要是服务提供者运营的需要。运营商通过服务器可以实现用户认证、管理和计费等功能,并根据策略对用户呼叫进行有效的控制。同时可以引入一系列应用服务器,提供丰富的智能业务。

10

SIP协议原理及应用

第2章 SIP的网络构成

SIP的组网很灵活,可根据情况定制。在网络服务器的分工方面:位于网络核心的服务器,处理大量请求,负责重定向等工作,是无状态的,它个别地处理每个消息,而不必跟踪纪录一个会话的全过程;网络边缘的服务器,处理局部有限数量的用户呼叫,是有状态的,负责对每个会话进行管理和计费,需要跟踪一个会话的全过程。这样的协调工作,既保证了对用户和会话的可管理性,又使网络核心负担大大减轻,实现可伸缩性,基本可以接入无限量用户。SIP网络具有很强的重路由选择能力,具有很好的弹性和健壮性。

2.1.2 SIP中UA、Proxy和SIP终端的区别与联系

从逻辑实体分类,SIP共包含三大逻辑实体:UA、PROXY、SERVER;从SIP实用产品分类,SIP产品分三类:SIP终端、SIP PROXY、SIP SERVER。

SIP UA:

UA是SIP协议中一个逻辑实体,它包括了UAC/UAS。UAC/UAS角色只在同一个事务中保持不变。UA的主要功能是通过发送SIP请求发起一个新的事务,发送SIP Final answer或者SIP ACK请求结束当前事务。实现中,应包含以下功能: ●

● 生成record_set。 UAS按一定规则接受、拒绝或重定向SIP请求。 UA能够选择适当的protocal/port接收应答和发送请求。 重发和重发终止,实现通信的可靠性。 能够解释ICMP,收到ICMP差错报文误之后,将它映射到相似的status code

处理过程。

SIP PROXY:

按作用分类:outbound proxy;proxy。(有前者,SIP终端可以作的非常简单)从是否维护连接信息分类:statulful proxy,statuless proxy。从逻辑上来讲,代理最主要的功能是将SIP信息包转发给目的用户。它最低限度要包括UA功能。在具体实现中,它还应该实现以下功能:

● 呼叫计费。包括强制路由选择。 防火墙。(可选) 通过查询DNS,选择SIP服务器。 检测环路。在路径上包含Fork Proxy服务器,可能会有环路产生,必须检

测。

11

SIP协议原理及应用

SS-602-C SIP协议原理

● 非SIP URI解释功能:传递SIP包到适当的目的地址中去。 丢弃via header中,最上一个不是自己地址的SIP包。 特定的Proxy将实现IP到PSTN之间的网关。提供IP、电话、Email之间

的交互。

● 根据传递要求,对VIA和Record Route进行相应修改。 根据收到的Cancel,立即发送200应答。(快速应答) 通过查询Location server和redirect server,查找目的用户的地址;

SIP SERVER:

主要作为信息数据库,对Proxy提供服务。Server主要分为三类:

● Location Server:存储了SIP地址对一个或多个IP地址的映射,主要面向

Proxy和Redirect server。

● Redirect server: 接收查询请求,通过Location Server中找到对应的地址列

表,把结果返回给用户。

● Registrar:接收SIP终端的Register请求,将SIP地址和IP地址组对写入

Location Server的数据库中。

SIP终端:

● 作为用户可用的终端设备,它具备拨打IP电话或发起/参与多媒体会议的

功能,还有用户友好界面。在其内部应该实现的功能有:

● 发起或结束一个会话。包括:记录会话中每一个子会话的相关状态,即保

存并维护每一个活动的Call leg;维护Call leg上“事务”有关的状态(ip/port/protocal/record set/);

● 构造请求和应答Message: 包含Req_URI的选择;通过查询DNS,选择

SIP服务器;SIP包的发送目的(Outbound proxy / Request URI);SIP包的加密;

● Contact Header、Record Set的构造。 多播风暴避免。对于多播请求,要延迟0-1s时间来回答。 智能应答。如果已经在一个会议中,自动代理用户回答。 方便的修改会议参数。 能够参与多播组。即支持IGMP。

12

SIP协议原理及应用

第2章 SIP的网络构成

● (代替他人)注册,重定向SIP请求; 通过Contact header实现直接发送到目的用户和重定向用户功能。 可以设置outbounding proxy。

13

SIP协议原理及应用

SIP协议原理及应用

第3章 SIP协议消息的格式与操作

知识点

本章主要介绍了SIP协议消息结构、格式、意义与SIP网元之间的互操作

3.1 SIP消息总体描述

SIP是IETF提出的在IP网络上进行多媒体通信的应用层控制协议,可用于建立、修改、终结多媒体会话和呼叫,号称通信技术个的“TCP/IP”,SIP协议采用基于文本格式的客户—服务器方式,以文本的形式表示消息的语法、语义和编码,客户机发起请求,服务器进行响应。SIP独立于底层协议——TCP、UDP、SCTP,采用自己的应用层刘靠性机制来保证消息的可靠传送。有关SIP协议的详细内容参见IETF RFC3261。

SIP消息有两种:客户机到服务器的请求(Request),服务器到客户机的响应(Response)。

SIP消息由一个起始行(start-line)、一个或多个字段(field)组成的消息头、一个标志消息头结束的空行(CRLF)以及作为可选项的消息体message body)组成。其中,描述消息体(message body)的头称为实体头(entity header),其格式如下: SIP消息=起始行/状态行

*消息头部(1个或多个头部)

CRLF(空行)

〖消息体〗

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

消息头分通用头(general-header)、请求头(request-header)、响应头(response-header)和实体头(entity-header)4种。

15

本文来源:https://www.bwwdw.com/article/tfy4.html

Top