H.323协议簇

1.1基本概念

H.323是ITU-T第16工作组的建议,H.323由一组协议构成,其中有负责音频与视频信号的编码、解码和包装,有负责呼叫信令收发和控制的信令,还有负责能力交换的信令。1999年7月前,多数系统是基于H.323第二版的,而在此之后,H.323第三版开始应用。H.323是个框架性的协议,由系列协议组成,包括:H.225、H.245、G.711、G.723.1、G.729等。

1.2基本功能

目前我国网上使用的H.323协议基本上是第二版本的。针对信令方面主要为H.225、H.245。

1.2.1H.225协议的功能

(1)RAS信令功能:就是采用H.225中的消息在端点和网守之间实现注册、接入许可、带宽修改、状态和拆除程序。 
(2)呼叫信令功能:采用H.225呼叫信令在H.323端点之间建立连接,包括呼叫建立和拆除等流程。   

1.2.2H.245协议的功能

(1)控制功能:H.245控制功能采用H.245控制通路交换端到端控制信息,从而保证H.323实体的运作,其中包括能力交换、打开/关闭逻辑通路模式选择、流控消息、一般命令和指示。H.245信令在两个端点和一个网守之间建立。端点必须为其参与的每个呼叫建立正确的H.245控制通路,这个通路必须使用H.245消息和流程。 
(2)H.245的能力交换:指提供独立的接收和传送功能。 
(3)逻辑通路信令。每个逻辑通路承载从一个发送方至另一个或多个接收方的信息。 
(4)模式选择。接收方可以使用requestMode消息请求发送方发送一个特定模式。 
(5)主从决定。主从决定主要是解决冲突问题。

SIP协议

2.1基本概念

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

2.2基本功能

SIP的基本功能有5种:用户定位、用户能力、用户可用性、呼叫建立和呼叫处理。

2.3SIP组件

2.3.1体系结构

SIP是基于客户机/服务器结构的。基本分为用户代理和网络服务器,网络结构如图2所示。 
(1)用户代理:用户代理客户端、用户代理服务器。 
(2)网络服务器:代理服务器、重定向服务器、注册服务器、位置服务器。

2.4SIP消息

SIP消息分为两大类:请求和响应。响应又分为最终响应和临时响应。

2.4.1请求消息

请求消息分为6种:INVITE、ACK、BYE、CANCEL、REGISTER和OPTIONS。

2.4.2响应消息

响应消息分为6类:1xxInformational(通知)、2xxSuccessful(成功)、3xxRedirection(重定向)、4xx Request Failure(请求失败)、5xx Server Failure(服务失败)、6xx Global Failures(全局错误)。

2.5SIP操作

SIP操作包括:SIP服务器定位、SIP事务、SIP邀请、用户定位和注册服务。

2.5.1SIP服务器定位

客户在发起呼叫时,需要将请求发送到本地配置的独立于Request-URI的SIP服务器或者由Request-URI标识的IP地址和端口。

2.5.2SIP事务

一个SIP事务存在于一个客户与一个服务之间,由所有的(从最初的请求到最后的应答)消息组成。 
一个事务只对应于一个呼叫,由Call-ID标识。所有对于一个请求的应答都包含相同的Call-ID、CSeq、To、From域(或其他包含的值)。客户机与服务器之间的每一个Call-ID只能有一个未结束的事务。

2.5.3SIP邀请

SIP会话由INVITE方法发起,通常情况下,INVITE包括会话描述(一般使用SDP格式),为被叫提供足够的会话信息;如果被叫同意加入会话,主叫就发送ACK方法确认呼叫成功;如果被叫拒绝加入会话或产生其他错误,主叫则发送BYE方法指示呼叫失败。

2.5.4SIP用户定位

考虑到用户可以在不同终端移动,SIP提供了定位功能。用户可以在SIP服务器或位置服务器注册其位置信息,一个用户可以注册到不同的位置。位置服务器可以采用其他协议。位置服务器可以解析出零个或多个可能位置,这些位置可以按照成功访问的概率来存储。

2.5.5SIP注册服务

用户在发起会话前,首先应到注册服务器注册。注册使用REGISTER方法。注册服务器通常将用户注册的地址信息保存在位置服务器,这样使代理服务器或者重定向服务器就知道那些地址是可以到达的。注册信息是随时刷新的(默认周期是1h),所以用户每隔一段时间都应主动注册。注册服务一般伴随其他功能,如提供用户鉴权功能,或者通过注册服务安装呼叫处理程序或第三方应用。

2.5.6改变现有会话

当需要改变现有会话参数的时候,可以通过重发INVITE来实现。重发INVITE时应该使用相同的Call-ID,但使用新的或不同的消息头或消息体来传送新的信息。这条再次发送INVITE必须比以前的请求拥有高的CSeq。

2.6SIP的注册服务与鉴权

SIP注册服务的目的是使SIP客户机能够使用SIP服务器提供的服务,或使之失效。在注册请求中,客户机将提供包含在Contact域中的一个或几个地址给注册服务器。这样代理服务器就可以使用注册信息进行IP电话的路由。同时,注册也可以提供鉴权服务。如果不提供鉴权服务,冒名顶替者就可以截听任何人的电话。

H.323与SIP的比较

首先进行类比的是,SIP的UA等价于一个H.323的终端(或者包交换网络侧的网关),SIP服务器则等价于H.323的网守。另外,SIP类似H.323中的RAS和Q.931协议,而SDP则相当于H.245。在IETF的SIP体系结构中,媒体流的承载采用了RTP协议,这是和H.323一样的。所以,H.323与IETF的SIP主要的不同在于呼叫信令和控制是如何实现的。

3.1基本呼叫的建立和拆除

H.323第二版的呼叫建立是基于可靠的传输协议,所以呼叫建立需要两个连接阶段:TCP连接和呼叫连接。而在H.323第三版,支持TCP和UDP,它简化了呼叫建立过程。SIP的呼叫建立类似H.323第三版的处理过程,用INVITE信息包(可建立在UDP上)。呼叫拆除的过程与呼叫建立相反,主叫和被叫都能通过RELEASE[COMPLETE](H.323中用)或BYE(SIP中用)。

3.2呼叫控制业务

SIP和H.323都支持呼叫保持、呼叫转移、呼叫前转、呼叫等待、电话会议和其他补充业务。以呼叫保持为例:H.323定义了近点呼叫保持和远点呼叫保持两种保持业务的场景,两者都可带网守或不带。网守仅仅透明地传送SS-HOLD。而SIP实现同样的功能,只要向需要呼叫保持的一方发送一个更改了SDP描述的INVITE命令即可。更改的SDP描述段仅将媒体发送的目的地址变为空<0.0.0.0>,而其他的内容不变。收到该用户的UA,让呼叫保持,直到有新的INVITE到来为止。

3.3SIP的第三方控制

第三方控制是指不参与会话的第三者具有建立呼叫的能力,这个业务特征目前只有SIP具有,由于SIP的这一特性,ITU-T和IETF在实现PINT(IN和因特网互通)业务时都采用了SIP协议。能力交换的就是彼此交流各自对媒体流的处理能力,确定双方共有的能力,从而确保多媒体信号被双方接受。H.323采用H.245协议进行能力交换。SIP使用SDP来进行能力交换,主叫方使用一个OPTION需求去找出被叫,当前,SIP还不如H.245有完整灵活的协商能力,因为受制于SDP的表达方式。

3.4服务质量

服务质量包含很多不同方面的指标,一个和多媒体流相关的QoS参数包括带宽、最大时延、时延抖动和包丢失率等。本文仅从考察呼叫建立时延和环路检测进行比较。

1.呼叫建立时延

H.323第一版在呼叫建立时时延很大。第二版大大改进,而第三版则更好。SIP在呼叫建立时非常类似于H.323第三版,然而,如果UDP呼叫建立失败,则H.323第三版要好于SIP,H.323第三版几乎同时建立一个UDP的连接和一个TCP连接,它提供一个有效的机制,如果UDP连接成功则关闭TCP连接;否则,立刻启用TCP。SIP是顺序地操作UDP和TCP,如果UDP失败,则会增加呼叫建立时延。对于H.323如果网络质量比较好的情况下,TCP连接就浪费了。

2.环路检测

为防止环路,H.323定义PathValue域来指出信令信息在丢弃前可达到的最大数目。问题是定义一个适用的值很关键。其次,网络变化后,这个值也要改。SIP采用了via头字段,检查其内容,如果新端点已出现在via列表中,则表示有环路了。SIP的方法好于H.323。但是via要占用很多空间。

3.5实现的难易性

H.323信令信息是符合ASN.1的二进制编码。需要特殊的编解码器。SIP信息是基于文本的,采用ISO10646以UTF-8编码。基于文本的编码很容易用Java、TCL和Perl等语言来实现,调试方便。

转载于:https://www.cnblogs.com/hummersofdie/archive/2011/01/28/1946802.html

sip协议的功能及其应用相关推荐

  1. SIP协议简介(一)之SIP基本的概述

    本篇文章主要是对RFC3261翻译进行的,也包含着自己的一些理解.希望能给需要的人带来一些帮助 补充说明:RFC即Request For Comments(RFC),是一系列以编号排定的文件.文件收集 ...

  2. android sip协议栈,基于Android平台及SIP协议的软电话系统的研究

    摘要: 随着互联网通信技术不断发展以及智能手机的日益流行,VoIP(Voice Over InternetProtocol)技术得到了越来越广泛的应用.VoIP技术能结合这两者改变传统长途电话费用高昂 ...

  3. 国标28181:什么是SIP协议

    前言 对讲设备作为一种专业无线通信工具,能进行一对一,多对多的群组即时通信,在应急调度和突发事故处理中是其他通信工具所不能替代的,在城市治理.公安.运输等行业有广泛的应用. 对讲机按照通信方式分模拟对 ...

  4. SIP协议详解(中文)-1

    原文 1.SIP协议介绍 Internet的许多应用都需要建立和管理一个会话,会话在这里的含义是在参与者之间的数据的交换.由于考虑到参与者的实际情况,这些应用的实现往往是很复杂的:参与者可能是在代理间 ...

  5. RFC3261(SIP协议)

    1.SIP协议介绍 Internet的许多应用都需要建立和管理一个会话,会话在这里的含义是在参与者之间的数据的交换.由于考虑到参与者的实际情况,这些应用的实现往往是很复杂的:参与者可能是在代理间移动, ...

  6. (转)sip协议中文收藏

    sip协议中文(1)收藏 1.SIP协议介绍 Internet的许多应用都需要建立和管理一个会话,会话在这里的含义是在参与者之间的数据的交换.由于考虑到参与者的实际情况,这些应用的实现往往是很复杂的: ...

  7. 安卓平台基于SIP协议实现注册,聊天功能

    ============问题描述============ 不涉及音频,视频发送,只要实现注册,和聊天功能就行, 网上下了sipdroid的源码,但是XML中配置的<uses-sdk androi ...

  8. linux sipp 呼叫转移_基于SIP协议的呼叫转移功能实现.pdf

    ea句拣 却m川1归3 年第却卷材第 u E,sw部署跚跚跚. E囚le倪cb胁'O响叫ni沁cS缸ci. &τT.e优ch. /De盹ι 15 , 2013 基于 SIP 协议的呼叫转移功能 ...

  9. 阐述:SIP协议是什么

    sip协议是什么?可能刚刚接触这个协议的朋友会掌握不好它的定义.那么首先我们要了解一下,目前企业中大多数VoIP应用都使用H.323协议,但是,随着越来越多的企业研究SIP协议,不久的将来基于SIP协 ...

最新文章

  1. pandas使用组合条件筛选、过滤数据行
  2. Python入门100题 | 第080题
  3. hdu4932 Miaomiao#39;s Geometry (BestCoder Round #4 枚举)
  4. 【编译原理】为什么编程语言中,标识符不能以数字开头?
  5. Redis:23---info命令总结
  6. asp.net登录状态验证
  7. 安卓开发语言php,go语言支持安卓开发吗
  8. 同样是面试简历,为何你如此风骚!
  9. MySQL check table/optimize table/analyze table/REPAIR TABLE
  10. android view选中状态,RecyclerView选中
  11. vue项目打包部署-----解决打包后访问资源失败问题
  12. [转]C#:手把手教你用C#打包应用程序(安装程序卸载程序)
  13. ora使用动态sql给变量赋值
  14. 西数MyBookDuo提供致臻性能、超大容量及综合数据保护
  15. Window系列 (一) — WindowManager 详解
  16. openssl 1.0.2 漏洞修复指南
  17. 【技术分享】Ubuntu20.04启动LGSVL-2021.03闪退解决方案
  18. 方法被重写时的调用问题
  19. win10家庭版如何连接远程桌面
  20. b站pink老师JavaScript的PC端网页特效 案例代码——仿京东放大镜效果

热门文章

  1. PBR理论基础2:光照、材质与微面元理论
  2. Unity3D基础14:碰撞检测
  3. Educational Codeforces Round 52: D. Three Pieces(记忆化搜索)
  4. 互联网控制协议ICMP
  5. python中os.path.basename的使用
  6. C++ STL 一个简单的文件输入输出示例
  7. C++ STL 遍历vector
  8. jquery系列教程3-DOM操作全解
  9. zynq文档阅读之GPIO的中断
  10. H3C 常用信息查看命令