Basic VoIP Protocols

支持 HackTricks

信令协议

SIP (会话发起协议)

这是行业标准,更多信息请查看:

SIP (Session Initiation Protocol)

MGCP (媒体网关控制协议)

MGCP (媒体网关控制协议) 是一个 信令呼叫 控制协议,在 RFC 3435 中进行了概述。它在集中式架构中运行,主要由三个组件组成:

  1. 呼叫代理或媒体网关控制器 (MGC):MGCP 架构中的主网关,负责 管理和控制媒体网关。它处理呼叫的建立、修改和终止过程。MGC 使用 MGCP 协议与媒体网关进行通信。

  2. 媒体网关 (MGs) 或从属网关:这些设备 在不同网络之间转换数字媒体流,例如传统的电路交换电话和分组交换 IP 网络。它们由 MGC 管理,并执行从 MGC 接收到的命令。媒体网关可能包括转码、分组和回声消除等功能。

  3. 信令网关 (SGs):这些网关负责 在不同网络之间转换信令消息,使传统电话系统(例如 SS7)与基于 IP 的网络(例如 SIP 或 H.323)之间能够无缝通信。信令网关对于互操作性至关重要,确保呼叫控制信息在不同网络之间正确传达。

总之,MGCP 将呼叫控制逻辑集中在呼叫代理中,简化了媒体和信令网关的管理,提高了电信网络的可扩展性、可靠性和效率。

SCCP (瘦客户端控制协议)

瘦客户端控制协议 (SCCP) 是一个 专有的信令和呼叫控制协议,由思科系统公司拥有。它主要 用于思科统一通信管理器(前称 CallManager)与思科 IP 电话或其他思科语音和视频终端之间的通信。

SCCP 是一个轻量级协议,简化了呼叫控制服务器与终端设备之间的通信。由于其简约的设计和相较于其他 VoIP 协议(如 H.323 或 SIP)减少的带宽需求,因此被称为“瘦”。

基于 SCCP 的系统的主要组件包括:

  1. 呼叫控制服务器:该服务器通常是思科统一通信管理器,管理呼叫的建立、修改和终止过程,以及其他电话功能,如呼叫转移、呼叫转接和呼叫保持。

  2. SCCP 终端:这些设备如 IP 电话、视频会议单元或其他思科语音和视频终端,使用 SCCP 与呼叫控制服务器进行通信。它们向服务器注册,发送和接收信令消息,并遵循呼叫控制服务器提供的呼叫处理指令。

  3. 网关:这些设备,如语音网关或媒体网关,负责在不同网络之间转换媒体流,例如传统的电路交换电话和分组交换 IP 网络。它们还可能包括额外的功能,如转码或回声消除。

SCCP 提供了一种简单高效的通信方法,连接思科呼叫控制服务器和终端设备。然而,值得注意的是 SCCP 是一个专有协议,这可能限制与非思科系统的互操作性。在这种情况下,其他标准 VoIP 协议如 SIP 可能更为合适。

H.323

H.323 是一套用于多媒体通信的 协议,包括语音、视频和数据会议,适用于分组交换网络,如基于 IP 的网络。它由 国际电信联盟(ITU-T)开发,提供了管理多媒体通信会话的全面框架。

H.323 套件的一些关键组件包括:

  1. 终端:这些是支持 H.323 的端点设备,如 IP 电话、视频会议系统或软件应用程序,可以参与多媒体通信会话。

  2. 网关:这些设备在不同网络之间转换媒体流,如传统的电路交换电话和分组交换 IP 网络,使 H.323 与其他通信系统之间能够互操作。它们还可能包括额外的功能,如转码或回声消除。

  3. 网关控制器:这些是可选组件,在 H.323 网络中提供呼叫控制和管理服务。它们执行地址转换、带宽管理和接入控制等功能,帮助管理和优化网络资源。

  4. 多点控制单元 (MCUs):这些设备通过管理和混合来自多个端点的媒体流来促进多点会议。MCUs 使得视频布局控制、语音激活切换和持续存在等功能成为可能,从而能够举办大规模的多方会议。

H.323 支持多种音频和视频编解码器,以及其他补充服务,如呼叫转移、呼叫转接、呼叫保持和呼叫等待。尽管在 VoIP 的早期阶段被广泛采用,H.323 已逐渐被更现代和灵活的协议如 会话发起协议 (SIP) 所取代,后者提供了更好的互操作性和更容易的实现。然而,H.323 在许多遗留系统中仍在使用,并继续得到各种设备供应商的支持。

IAX (Inter Asterisk eXchange)

IAX (Inter-Asterisk eXchange) 是一个 信令和呼叫控制协议,主要用于 Asterisk PBX(私人分支交换机)服务器与其他 VoIP 设备之间的通信。它由 Asterisk 开源 PBX 软件的创建者 Mark Spencer 开发,作为其他 VoIP 协议(如 SIP 和 H.323)的替代方案。

IAX 以其 简单、高效和易于实现 而闻名。IAX 的一些关键特性包括:

  1. 单个 UDP 端口:IAX 使用单个 UDP 端口(4569)进行信令和媒体流量,这简化了防火墙和 NAT 穿越,使其在各种网络环境中更易于部署。

  2. 二进制协议:与基于文本的协议(如 SIP)不同,IAX 是一种二进制协议,减少了带宽消耗,使其在传输信令和媒体数据时更高效。

  3. 中继:IAX 支持中继,允许多个呼叫合并为单个网络连接,减少开销并提高带宽利用率。

  4. 原生加密:IAX 内置对加密的支持,使用 RSA 进行密钥交换,使用 AES 进行媒体加密,提供端点之间的安全通信。

  5. 点对点通信:IAX 可用于端点之间的直接通信,无需中央服务器,从而实现更简单和更高效的呼叫路由。

尽管 IAX 有其优点,但也存在一些局限性,例如其主要集中在 Asterisk 生态系统上,与更成熟的协议(如 SIP)相比,采用程度较低。因此,IAX 可能不是与非 Asterisk 系统或设备互操作的最佳选择。然而,对于在 Asterisk 环境中工作的人来说,IAX 提供了一个强大而高效的 VoIP 通信解决方案。

传输与传输协议

SDP (会话描述协议)

SDP (会话描述协议) 是一种 基于文本的格式,用于描述多媒体会话的特征,如语音、视频或数据会议,适用于 IP 网络。它由 互联网工程任务组 (IETF) 开发,并在 RFC 4566 中定义。SDP 不处理实际的媒体传输或会话建立,而是与其他信令协议(如 SIP (会话发起协议))结合使用,以协商和交换有关媒体流及其属性的信息。

SDP 的一些关键元素包括:

  1. 会话信息:SDP 描述多媒体会话的详细信息,包括会话名称、会话描述、开始时间和结束时间。

  2. 媒体流:SDP 定义媒体流的特征,如媒体类型(音频、视频或文本)、传输协议(例如 RTP 或 SRTP)和媒体格式(例如编解码器信息)。

  3. 连接信息:SDP 提供有关网络地址(IP 地址)和媒体应发送或接收的端口号的信息。

  4. 属性:SDP 支持使用属性提供有关会话或媒体流的附加可选信息。属性可用于指定各种特性,如加密密钥、带宽要求或媒体控制机制。

SDP 通常在以下过程中使用:

  1. 发起方创建提议的多媒体会话的 SDP 描述,包括媒体流及其属性的详细信息。

  2. SDP 描述被发送给接收方,通常嵌入在信令协议消息中,如 SIP 或 RTSP。

  3. 接收方处理 SDP 描述,并根据其能力,可能接受、拒绝或修改提议的会话。

  4. 最终的 SDP 描述作为信令协议消息的一部分发送回发起方,完成协商过程。

SDP 的简单性和灵活性使其成为各种通信系统中描述多媒体会话的广泛采用标准,在建立和管理实时多媒体会话方面发挥着关键作用。

RTP / RTCP / SRTP / ZRTP

  1. RTP (实时传输协议):RTP 是一种网络协议,旨在通过 IP 网络传输音频和视频数据或其他实时媒体。由 IETF 开发,并在 RFC 3550 中定义,RTP 通常与信令协议(如 SIP 和 H.323)一起使用,以实现多媒体通信。RTP 提供 同步排序时间戳 媒体流的机制,帮助确保媒体播放的流畅和及时。

  2. RTCP (实时传输控制协议):RTCP 是 RTP 的伴随协议,用于监控服务质量 (QoS) 并提供有关媒体流传输的反馈。在与 RTP 相同的 RFC 3550 中定义,RTCP 定期在 RTP 会话的参与者之间交换控制数据包。它共享诸如丢包、抖动和往返时间等信息,有助于诊断和适应网络条件,提高整体媒体质量。

  3. SRTP (安全实时传输协议):SRTP 是 RTP 的扩展,提供 加密消息认证重放保护,确保敏感音频和视频数据的安全传输。在 RFC 3711 中定义,SRTP 使用 AES 等加密算法进行加密,使用 HMAC-SHA1 进行消息认证。SRTP 通常与安全信令协议(如通过 TLS 的 SIP)结合使用,以提供多媒体通信的端到端安全性。

  4. ZRTP (Zimmermann 实时传输协议):ZRTP 是一种加密密钥协商协议,为 RTP 媒体流提供 端到端加密。由 PGP 的创建者 Phil Zimmermann 开发,ZRTP 在 RFC 6189 中进行了描述。与依赖信令协议进行密钥交换的 SRTP 不同,ZRTP 旨在独立于信令协议工作。它使用 Diffie-Hellman 密钥交换 在通信方之间建立共享密钥,而无需事先信任或公共密钥基础设施 (PKI)。ZRTP 还包括 短认证字符串 (SAS) 等功能,以防止中间人攻击。

这些协议在 通过 IP 网络传递和保护实时多媒体通信 中发挥着重要作用。虽然 RTP 和 RTCP 处理实际的媒体传输和质量监控,但 SRTP 和 ZRTP 确保传输的媒体免受窃听、篡改和重放攻击的保护。

支持 HackTricks

Last updated