SIP协议原理及实例分析

上传人:fe****16 文档编号:120815911 上传时间:2020-02-10 格式:PPT 页数:50 大小:1.45MB
返回 下载 相关 举报
SIP协议原理及实例分析_第1页
第1页 / 共50页
SIP协议原理及实例分析_第2页
第2页 / 共50页
SIP协议原理及实例分析_第3页
第3页 / 共50页
SIP协议原理及实例分析_第4页
第4页 / 共50页
SIP协议原理及实例分析_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《SIP协议原理及实例分析》由会员分享,可在线阅读,更多相关《SIP协议原理及实例分析(50页珍藏版)》请在金锄头文库上搜索。

1、SIP协议原理及实例分析 接入网产品导入部 Page2 学习目标 学习完此课程 您将会 了解SIP协议原理掌握SIP命令和消息掌握SIP协议的消息交互过程了解SIP业务基本故障分析处理方法 Page3 第1章SIP协议原理第2章SIP命令和消息第3章业务流程分析 Page4 SIP协议概念 SIP的前世 SIP的前世 有关SIP的完整定义最早出现在1999年公布的RFC2543中 当前SIP详细定义于RFC3261 June2002 Multi PartyMultimediaWorkingGroup于1996年提出两项关于在Internet中实现多媒体通信的建议 SessionInitiati

2、onProtocol SIP SimpleConferenceInvitationProtocol SCIP 最终两项建议统一于SessionInitiationProtocolSIP Page5 SIP协议概念 SIP是SessionInitializationProtocol 会话初始协议 的缩写 用来建立 更改和终止一个或者多个参与者的会话 这些会话包括多媒体会议 网络呼叫等 IETF制订的多媒体通信系统框架协议之一 但是SIP单独不能完成多媒体呼叫 必须要与其他协议一起才能组建完整的多媒体通信系统 与RTP RTCP SDP等协议配合共同完成多媒体会话过程 Page6 SIP协议功能描

3、述 用户定位 确定参加通信的终端用户的位置 用户通信能力协商 确定通信的媒体类型和参数 用户交互意愿 确定被叫加入通信的意愿 呼叫建立 建立主叫和被叫的会话参数 呼叫处理和控制 包括呼叫重定向 呼叫转移 终止呼叫等 Page7 SIP协议特点 借鉴了其他internet标准和协议的设计思想 在风格上遵循因特网一贯坚持的简练 开放 兼容和可扩展等原则 并充分注意到因特网开放而复杂的网络环境下的安全问题 充分考虑了对传统公共电话网的各种业务 包括IN业务 Internet 和ISDN业务的支持 通过代理和重定向请求用户当前位置 以支持用户的移动性 独立于传输层协议 可以承载在不同的传输协议上 UD

4、P TCP SCTP TLS 因此可以灵活方便地扩展其他附加功能 SIP协议独立于业务 协议不限制具体业务范畴 只描述建立 更改 终止一个会话 并不描述会话的内容 所以可以承载任何的会话内容 如语音 视频 游戏等 Page8 SIP与H 248对比 Page9 SIP协议的应用 SIP协议的典型应用IP电话 VoIP 移动游戏即时通信视频与协调SIP扩展应用3GWCDMAIMS Page10 SIP协议栈 在TCP IP五层模型中属于应用层协议在OSI七层模型中属于会话层协议 Page11 SIP协议在网络中的位置 Page12 SIP协议在NGN中的实现 SoftX3000 So SoftX

5、3000 So SIP SIP SIP IP IP IP IP IPCore Page13 SIP在网络中的主要实体 SIP在网络中存在多种逻辑实体 不同实体作用互不相同 UA UserAgent ProxyserverRegistrarserverRedirectserverLocationserver不同的逻辑实体可以存在于同一个物理实体之上 Page14 SIP在网络中的主要实体 用户助理 UserAgent 用来发起或者接收请求的逻辑实体称为UserAgent 用户助理客户 UserAgentClient 发起请求的一方称为UAC SIPPhone就是UAC的一种实际形态 用户助理服务

6、器 UserAgentServer 接收请求 产生响应的一方称为UAS SoftX3000就是UAS的一种实际形态 UAC和UAS的划分是针对一个事务而言的 代理服务器 作为一个逻辑网络实体代表客户端转发请求或者响应 可以同时作为客户端和服务器端 主要功能有 路由 认证鉴权 计费控制 呼叫控制 业务提供等 它可以采取分支 循环 递归查询等方式向多个地址尝试转发请求 SoftX3000兼任代理服务器的角色 它有三种形态 Stateless 其作用为一般的路由器TransactionStateful 关联一次事务过程CallDialog 关联一次会话过程 Page15 SIP在网络中的主要实体 注

7、册服务器 接收注册请求的服务器 需要将注册请求中的地址映射关系保存到数据库中 供后续的相关呼叫过程使用 同时可以提供定位服务 SoftX3000兼任注册服务器的角色 重定向服务器 为所收到的请求返回一个或多个新的地址 客户端直接向这些新的地址发起请求 重定向服务器并不接收或者拒绝呼叫 主要完成路由功能 与注册过程配合可以支持SIP终端的移动性 SoftX3000兼任重定向服务器的角色 定位服务器 提供被叫位置的服务器 SoftX3000兼任定位服务器的角色 Page16 相关术语 呼叫 一个呼叫是由一个公共源端所邀请的在一个会议中的所有参加者组成 由一个全球唯一的Call ID进行标识 例如

8、由同一个源邀请的一个会议的所有参加者构成一个呼叫 点到点IP电话会话是一种最简单的会话 它映射为单一的SIP呼叫 通常情况下 呼叫由主叫方创建 但是更一般说来 呼叫可由并不参与媒体通信的第三方创建 此时会话的主叫方和会话的邀请方并不相同 事务 SIP是一个客户 服务器协议 客户和服务器之间的操作从第1个请求至最终响应为止的所有消息构成一个SIP事务 一个正常的呼叫一般包含三个事务 其中 呼叫启动包含两个操作请求 邀请 Invite 和证实 ACK 前者需要回送响应 后者只是证实已收到最终响应 不需要回送响应 呼叫终结包含一个操作请求 再见 Bye Page17 相关术语 SIPURL 为了能正

9、确传送协议消息 SIP还需解决两个重要的问题 一是寻址 即采用什么样的地址形式标识终端用户 二是用户定位 SIP沿用WWW技术解决这两个问题 寻址采用SIPURL UniformResourceLocators 按照RFC2396规定的URI导则定义其语法 特别是用户名字段可以是电话号码 以支持IP电话网关寻址 实现IP电话和PSTN的互通 Page18 相关术语 SIPURL的一般结构为 SIP 用户名 口令 主机 端口 传送参数 用户参数 方法参数 生存期参数 服务器地址参数 SIP 表示需采用SIP协议和所指示的端系统通信 用户名 可以由任意字符组成 一般可取类似与E mail用户名形式

10、 也可以是电话号码 SoftX3000目前用户名是电话号码 口令 可以置于SIPURL中 但一般不建议这样做 因为其安全性是有问题的 主机 可为主机域名或IPv4地址 端口 指示请求消息送往的端口号 其缺省值为5060 即公开的SIP端口号 传送参数 指示采用TCP还是UDP传送 缺省值为UDP 用户参数 SIPURL的一个特定功能是允许主机类型为IP电话网关 此时 用户名可以为一般的电话号码 由于BNF语法表示无法区分电话号码和一般的用户名 因此 在域名后增加了 用户参数 字段 该字段有两个可选值 IP和电话 当其设定为 电话 时 表示用户名为电话号码 对应的端系统为IP电话网关 方法参数

11、指示所用的方法 生存期参数 指示UDP多播数据包的寿命 仅当传送参数为UDP 服务器地址参数为多播地址时才能使用 服务器地址参数 指示和该用户通信的服务器的地址 它覆盖 主机 字段中的地址 通常为多播地址 传送参数 方法参数 生存期参数 和 服务器地址参数 均属于URL参数 只能在重定向地址 即后面所说的Contact字段中才能使用 Page19 相关术语 下面给出若干个SIPURL的示例 Sip 55500200为用户名 191 169 1 112为IP电话网关的IP地址 Sip 55500200 191 169 1 112 5061 User phone 55500200为用户名 191

12、169 1 112为主机的IP地址 5061为主机端口号 用户参数为 电话 表示用户名为电话号码 Sip method REGISTER Alice为用户名 为主机域名 方法参数为 登记 需要注意的是SoftX3000目前只支持用户名是电话号码 不支持这种形式的用户名 Sips SIPS表示安全的SIPURI 传输层使用的是基于安全的TLS协议 Page20 问题 SIP有哪些网络实体 它们的功能是什么 SIP协议的协议栈模型是怎样的 Page21 第1章SIP协议原理第2章SIP命令和消息第3章业务流程分析 Page22 SIP协议消息的分类 SIP消息采用文本方式编码 分为两类 请求消息和

13、响应消息 请求消息和响应消息都包括SIP头字段和SIP消息字段 请求消息和响应消息在形式上的区别仅在消息的第一行 请求的第一行为请求行 响应的第一行为状态行 Page23 请求消息 请求消息 客户端为了激活按特定操作而发给服务器的SIP消息 RFC3261定义了六个基本方法 包括INVITE ACK OPTIONS BYE CANCEL REGISTER 后续RFC扩展了其他的请求方法 包括UPDATE INFO SUBSCRIBER NOTIFY MESSAGE PRACK REFER Page24 请求消息格式 请求消息由起始行 消息头和消息体组成 通过换行符区分消息头中的每一条参数行 对

14、于不同的请求消息 有些参数可选 Page25 响应消息 响应消息 用于对请求消息进行响应 指示呼叫的成功或失败状态 不同类的响应消息由状态码来区分 状态码包含三位整数 状态码的第一位用于定义响应类型 另外两位用于进一步对响应进行更加详细的说明 除1XX外其余都是最终响应 Page26 响应消息格式 对于不同的响应消息 有些参数可选 Page27 消息的头域 5个必须包含在每个SIP消息中的头域 Call IDFromToCSeqViaCall ID 用于唯一标识一次会话 一般格式为 Call ID 本地标识 主机主机应为全局域名或者全局IP地址 此时本地标识可由在主机范围内唯一的URI字符组成

15、 否则 本地标识必须是全局唯一的 以保证Call ID的全局唯一性 举例 Call Id call 973636852 Page28 消息的头域 From 用于标识请求的发起者 服务器将此字段从请求消息中复制到响应消息 一般格式为 From 显示名 tag XXXX显示名为用户界面上显示的字符 如果系统不予显示 应置显示名为 匿名 Tag称为标记 为16进制数字串 中间可带连字符 当两个共享同一SIP地址的用户实例用相同的Call ID发起呼叫时 就需用此标记予以区分 标记值必须全局唯一 用户在整个呼叫期间应保持相同的Call ID和标记值 举例 From 123456 tag a48s Pa

16、ge29 消息的头域 To 用于表示请求的接收者 其格式和From相同 仅第一个关键字不同 To 显示名 tag XXXXTag可用于区分由同一SIPURL标识的不同的用户实例 由于代理服务器可以并行分发请求 同一请求可能到达用户的不同实例 每个实例都可能响应 因此需用标记来区分来自不同实例的响应 To字段中的标记是由每个实例置于响应消息中的 举例 To tag 62beb3ca在SIP中 Call ID From和To三个字段标识一个呼叫分支 在代理服务器并行分发请求时 一个呼叫可能会有多个呼叫分支 Page30 消息的头域 CSeq 用于表示请求的顺序号 UAC在每个请求中加入此字段 一般格式为 CSeq 序号消息名称序号由UAC选定 在Call ID范围内唯一确定 序号初值可为任意值 其后具有相同Call ID值但不同命令名称 消息体的请求 其CSeq序号应加1 重发请求的序号保持不变 服务器将请求中的CSeq值复制到响应消息中 用于将请求和其触发的响应关联起来 ACK和CANCEL请求的CSeq值和对应的INVITE请求相同 BYE请求的CSeq序号应大于INVITE请求 由代

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号