sip 协议原理和应用培训

33

Upload: pancho

Post on 24-Jan-2016

97 views

Category:

Documents


0 download

DESCRIPTION

SIP 协议原理和应用培训. 郭忠军 2008.11.04. 本课程适用于: 对 SIP 原理及应用感兴趣的人员. 培训对象. 通过本课程的学习,您将能够: 理解 SIP 的作用 掌握 SIP 协议模型及主要信令 了解 SIP 常见应用模式 明白 SIP 和 H.323 的区别和联系. 培训目的. SIP 概述 SIP 协议模型 SIP 基本消息及流程 SIP 应用模式 SIP vs H.323. 培训大纲. Part 1: SIP 概述. 众多的多媒体应用,众多通信协议,为何 SIP 越来越流行? - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: SIP  协议原理和应用培训
Page 2: SIP  协议原理和应用培训

SIP 协议原理和应用培训

郭忠军 2008.11.04

Page 3: SIP  协议原理和应用培训

培训对象

• 本课程适用于:– 对 SIP 原理及应用感兴趣的人员

Page 4: SIP  协议原理和应用培训

培训目的

• 通过本课程的学习,您将能够:– 理解 SIP 的作用

– 掌握 SIP 协议模型及主要信令

– 了解 SIP 常见应用模式

– 明白 SIP 和 H.323 的区别和联系

Page 5: SIP  协议原理和应用培训

培训大纲

• SIP 概述• SIP 协议模型• SIP 基本消息及流程• SIP 应用模式• SIP vs H.323

Page 6: SIP  协议原理和应用培训

Part 1: SIP 概述

Page 7: SIP  协议原理和应用培训

Why SIP

• 众多的多媒体应用,众多通信协议,为何 SIP 越来越流行?

实例: sip 被 IMS/NGN/3GPP/… 选为信令协议

• SIP :是否一旦拥有,别无所求?

Page 8: SIP  协议原理和应用培训

SIP 概况

• SIP ( Session Initiation Protocol ,会话初始化协议 ) , IETF 提出并主持研究的信令控制协议

• 按 OSI 七层协议模型,属于会话层• 控制 IP 网络上多媒体应用会话过程,包括创建、

修改、终止等

Page 9: SIP  协议原理和应用培训

SIP 主要特点

• 通用的信令控制协议,独立于具体的应用• 轻量级,但涵盖主要会话功能,如用户定位、会

话建立、修改、终止等• 灵活,扩展性好• 常常需要和其它协议配合,构成完整的信令系统• 很多优点,回头再看

Page 10: SIP  协议原理和应用培训

Part 2: SIP 协议模型

Page 11: SIP  协议原理和应用培训

SIP 基础概念 (1)—SIP URI

• SIP URI (SIP Uniform Resource Identifier) :用来区分终端用户的标识符。

• 一般格式:sip:user:password@host:port;uri-parameters?headers

• 示例 sip:[email protected]

sip: 128234@cnjy:9902;transport=tcp

• 逻辑地址和物理地址相隔离。支持移动性。

Page 12: SIP  协议原理和应用培训

SIP 基础概念 (2)— 消息、事务、会话

• 消息: SIP 是请求 / 应答式的协议。一个请求或应答对应于一条消息

• 事务 (Transaction) :从一个请求发出至对该请求的最终响应为止的所有消息序列。

• 会话:若干实体交换数据的过程。由相互关联的多个事务构成

Page 13: SIP  协议原理和应用培训

SIP 基础概念 (3)—SIP 实体

• 分为 UA (User Agent) 和 Proxy 两大类– UA :发出请求 / 处理请求 / 发送应答。– Proxy :主要承担实体注册、信令中继、呼叫管理、

位置查找等功能。 • 注册服务器• 代理服务器• 重定向服务器• 位置服务器

Page 14: SIP  协议原理和应用培训

SIP 实体图

代理服务器

定位服务器

代理服务器UAC/UAS

注册服务器

定位服务器

重定向服务器

SIP协议通信

非SIP协议通信

UAC/UAS

Page 15: SIP  协议原理和应用培训

SIP 协议模型

• SIP 协议本身分层,不同模块功能相对独立,各层之间松散耦合

• 语法和编码层:定义 SIP 消息语法,完成消息编解码。 BNF 范式定义,文本编码。

• 传输层 : 如何发送 SIP 请求和处理应答。注意同 TCP/IP 协议中传输层概念区别。

• 事务层:定义消息的重传,应答的匹配等工作。保证消息的可靠性。

• 事务用户层:供上层用户(程序)使用的事务层接口。

事务用户层(Transaction User

Level)

事务层(Transaction Level)

传输层(Transport Level)

语法和编码层(Syntax and

Encoding Level)

Page 16: SIP  协议原理和应用培训

Part 3: SIP 主要消息及流程

Page 17: SIP  协议原理和应用培训

SIP 消息

• 类型:分为请求和应答两类,文本编码• 结构: SIP 消息由起始行 / 消息头 / 消息体三部分组

成。– 起始行:区分请求和应答– 消息头:一系列属性值– 消息体:可选。 SIP 不限定消息体格式和内容。体现通用性。

一般用 SDP 协议来表述音视频媒体信息。

Page 18: SIP  协议原理和应用培训

SIP 消息 - 请求

起始行格式:命令名称 对端 URI SIP/ 版本示例: INVITE sip:[email protected]

SIP/2.0

核心消息包括: INVITE , ACK , OPTI

ONS , BYE , CANCEL 和 REGISTER

请求消息 消息含义

INVITE

发起会话请求,邀请用户加入一个会话,会话描述含于消息体中。对于两方呼叫来说,主叫方在会话描述中指示其能够接受的媒体类型及其参数。被叫方必需在成功响应消息的消息体中指明其希望接受哪些媒体,还可以指示其行将发送的媒体。

如果收到的是关于参加会议的邀请,被叫方可以根据 Call-ID 或者会话描述中的标识确定用户已经加入该会议,并返回成功响应消息。

ACK证实已收到对于 INVITE 请求的最终响应。该消息仅和

INVITE 消息配套使用。

BYE 结束会话

CANCEL取消尚未完成的请求,对于已完成的请求(即已收到最

终响应的请求)则没有影响

REGISTER

注册

OPTIONS 查询服务器的能力

Page 19: SIP  协议原理和应用培训

SIP 消息 - 应答

• 起始行格式SIP/ 协议版本 状态码 描述性短语示例: SIP/2.0 200 OK

• 状态码都有特定含义1xx: 临时应答2xx: 成功应答3xx: 重定向4xx: 客户端错误5xx: 服务器错误6xx:全局错误• 应答必须和请求匹配分析

Page 20: SIP  协议原理和应用培训

SIP 基本消息流程—注册

• 设备(用户)告知注册服务器其最新地址 /SIP URI 等信息。

• 用于用户定位。 UA Registrar

1 REGISTER

2 401 Unauthorized

4 200 OK

3 REGISTER

Page 21: SIP  协议原理和应用培训

SIP 基本消息流程—点对点呼叫

• 三次握手。保证会话双方都能确知• 不经过 Proxy 的情况如图所示

UA1 UA2

1 INVITE

2 100 Tring

4 200 OK

5 ACK

6 BYE

7 200 OK

3 180 Ring

Media Stream

Page 22: SIP  协议原理和应用培训

SIP 基本消息流程—通过 Proxy 呼叫

• Proxy 中继信令。修改必要的 header ,如 Max-Forwards 。

• Proxy 也可能更改消息体。UA1 Proxy UA2

1 INVITE

3 INVITE2 100 Tring

4 100 Tring

7 200 OK8 200 OK

9 ACK10 ACK

11 BYE

13 BYE

14 200 OK

12 200 OK

5 180 Ring6 180 Ring

Media Stream

Page 23: SIP  协议原理和应用培训

SIP 消息实例

• 见课件文档

Page 24: SIP  协议原理和应用培训

SIP 消息扩展

• 消息类型可扩展:如 MESSAGE/INFO

• 消息头可扩展:自定义语法和语义

Page 25: SIP  协议原理和应用培训

Part 4: SIP 应用模式

Page 26: SIP  协议原理和应用培训

SIP 应用模式

1. 确定业务功能

2. 确定各业务功能采用的 SIP 消息(标准或扩展)

3. 确定业务功能的协议语法及语义

Page 27: SIP  协议原理和应用培训

SIP 应用实例

• 湖北省教育考试巡考系统技术规范

Page 28: SIP  协议原理和应用培训

Part 5: SIP vs H.323

Page 29: SIP  协议原理和应用培训

对比表

SIP H.323

设计目标

通用的会话管理信令协议 单一性。面向 IP网络的多媒体会议应用

会话管理

简要 完备

会议控制

无 完备

媒体能力描述

粗糙。 SDP 缺乏对对媒体的精细描述能力

精细。能力集的设计相当精巧

媒体控制

媒体通道管理承载在会话信令中。没有单独的媒体控制信令。

单独的媒体相关信令,如 TCS/OLC 等

Page 30: SIP  协议原理和应用培训

对于 SIP 的结语

• 轻量级,设计精巧• 纯粹的通用性 , 体现业务和承载分离思想• 吸收了 HTTP 协议的思想,是 IETF 开放灵活特性和古板的通信系统良好融合的样例

• 不是万能的,需要合理使用• 信令编码效率不高• 路还很长

Page 31: SIP  协议原理和应用培训

参考文献

【 1】 RFC3261

【 2】 RFC2617

【 3】 RFC2327

【 4】 SIP Demystified , McGraw Hill Press

Page 32: SIP  协议原理和应用培训

Part 5: Q & A

Page 33: SIP  协议原理和应用培训