谈H.323和SIP协议两者的区别

简介:

目前,VoIP通讯协议主要分为两大阵营:SIP与H.323。 H.323企图把IP电话当作是众所周 知的传统电话,只是传输方式发生了改变,由电路交换变成了分组交换。而SIP协议侧重于将IP电话 作为因特网上的一个应用,较其实应用(如FTP,E-mail等)增加了信令和QoS的要求,它们支持的 业务基本相同,也都利用RTP作为媒体传输的协议。但H.323是一个相对复杂的协议。

H.323采用基于ASN.1和压缩编码规则的二进制方法表示其消息。ASN.1通常需要特殊的代码生 成器来进行词法和语法分析。而SIP的基于文本的协议,类似于HTTP。基于文本的编码意味着头域的 含义是一目了然的,如From、To、Subject等域名。这种分布式、几乎不需要复杂的文档说明的标 准规范夫风格,其优越性已在过去的实践中得到了充分的证明(现在广为流行的邮件协议SMTP就是 这样的一个例子)。SIP的消息体部份采用SDP进行描述,SDP中的每一项格式为=,也比较简单。

在支持会议电话方面,H.323由于由多点控制单元(MCU)集中执行会议控制功能,所有参加会 议终端都向MCU发送控制消息,MCU可能会成为颈,特别是对于具有附加特性的大型会议;并且 323不支持信令的组播功能,其单功能限制了可扩展性,降低了可靠性。而SIP设计上就为分布式的 呼叫模型,具有分布式的组播功能,其组播功能不仅便于会议控制,而且简化了用户定位、群组邀 请等,并且能节约宽带。但是H.323集中式控制便于计费,对带宽的管理也比较简单、有效。

H.323中定义了专门的协议用于补充业务,如H.450.1、H.450.2和H.450.3等。SIP并未专门定义的 协议用于此目的,但它很方便地支持补充业务或智能业务。只要充分利用SIP已定义的头域(如 Contact头域),并对SIP进行简单的扩展(如增加几个域),就可以实现这些业务。例如对于呼叫 转移,只要在BYE请求消息中添加Contact头域,加入意欲转至的第三方地址就可以实现此业务。对 于通过扩展头域较难实现的一些智能业务,可在体系结构中增加业务代理,提供一些补充服务或与 智能网设备的接口。

在H.323中,呼叫建立过程涉及到第三条信令信道:RAS信令信道、呼叫信令信道和H.245控 制信道。通过这三条信道的协调才使得H.323的呼叫得以进行,呼叫建立时间很长。在SIP中,会话 请求过程和媒体协商过程等一起进行。尽管H.323v2已对呼叫建立过程作了改进,但较之SIP只需要 1.5个回路时延来建立呼叫,仍是无法相比。 H.323的呼叫信令通道和H.245控制信道需要可靠的传 输协议。而SIP独立于低层协议,一般使用UDP等无法连接的协议,用自己信令层的可靠性机制来保 证消息的可靠传输。

总之,H.323沿用的是传统的实现电话信令模式,比较成熟,已经出现了不少H.323产品。 H.323符合通信领域传统的设计思想,进行集中、层次控制,采用H.323协议便于与传统的电话网相 连。SIP协议借鉴了其它因特网的标准和协议的设计思想,在风格上遵循因特网一贯坚持的简练、开 放、兼容和可扩展等原则,比较简单。

本文转自d1net(转载)

相关文章
|
缓存 网络协议 Unix
Linux(UNIX)五种网络I/O模型与IO多路复用
Linux(UNIX)五种网络I/O模型与IO多路复用
375 0
|
4月前
|
人工智能 自然语言处理 安全
从工具到伙伴:AI代理(Agent)是下一场革命
从工具到伙伴:AI代理(Agent)是下一场革命
477 117
|
9月前
|
存储 人工智能 运维
MoE大模型迎来“原生战友”:昇腾超节点重构AI基础设施
大模型训练中,MoE架构逐渐成为主流,但也面临资源利用率低、系统稳定性差、通信带宽瓶颈三大挑战。传统AI集群难以满足其需求,而“昇腾超节点”通过自研高速互联协议、软硬件协同调度、全局内存统一编址及系统稳定性提升等创新,实现384张卡协同工作,大幅提升训练效率与推理性能。相比传统方案,昇腾超节点将训练效率提升3倍,推理吞吐提升6倍,助力MoE模型在工业、能源等领域的规模化应用。5月19日的鲲鹏昇腾创享周直播将深度解析相关技术细节。
573 15
|
11月前
|
JavaScript 前端开发 UED
vue2和vue3的响应式原理有何不同?
大家好,我是V哥。本文详细对比了Vue 2与Vue 3的响应式原理:Vue 2基于`Object.defineProperty()`,适合小型项目但存在性能瓶颈;Vue 3采用`Proxy`,大幅优化初始化、更新性能及内存占用,更高效稳定。此外,我建议前端开发者关注鸿蒙趋势,2025年将是国产化替代关键期,推荐《鸿蒙 HarmonyOS 开发之路》卷1助你入行。老项目用Vue 2?不妨升级到Vue 3,提升用户体验!关注V哥爱编程,全栈开发轻松上手。
751 2
|
网络协议 Ubuntu Linux
在Linux中, 如何配置网络接口?
在Linux中, 如何配置网络接口?
|
开发框架 安全 .NET
Web安全-一句话木马
Web安全-一句话木马
1565 5
|
存储 编解码 数据可视化
揭秘GB28181标准下如何打造超能执法记录仪,引领警务新时代!
【10月更文挑战第3天】GB28181是中国公共安全行业标准,对智慧可视化指挥控制系统建设至关重要。本文探讨了如何在该标准下设计符合现代警务需求的执法记录仪,包括环境准备、引入依赖、SDK初始化、视频采集与编码、存储与传输等关键技术环节,并提供了具体的设计思路和代码示例,助力实现高效稳定的指挥调度功能。
420 3
USB Type-C引脚解析 && CC、DFP、UFP、DRP用途解析
USB Type-C引脚解析 && CC、DFP、UFP、DRP用途解析
|
机器学习/深度学习 TensorFlow 算法框架/工具
使用Python构建简单的图像识别应用
本文将介绍如何利用Python语言及其相关库来构建一个简单但功能强大的图像识别应用。通过结合OpenCV和深度学习模型,我们将展示如何实现图像的特征提取和分类,从而实现对图像中物体的自动识别和分类。无需复杂的算法知识,只需一些基本的Python编程技巧,你也可以轻松地创建自己的图像识别应用。
|
SQL 数据库
SQL LIKE 运算符:用法、示例和通配符解释
SQL中的LIKE运算符用于在WHERE子句中搜索列中的指定模式。通常与LIKE运算符一起使用的有两个通配符: 百分号 % 代表零个、一个或多个字符。 下划线 _ 代表一个单个字符。 以下是LIKE运算符的用法和示例:
946 0