两台 H.323 终端点对点直连通信完整步骤

下面给你最精简、最标准、可用于考试/开发/调试 的:
两台 H.323 终端点对点直连通信完整步骤

无网守(Gatekeeper)、纯终端对终端,一步不落。


一、前提条件

  • 终端A:主叫(比如 192.168.1.10)
  • 终端B:被叫(比如 192.168.1.20)
  • 网络互通,TCP 1720 及动态 UDP 端口可通
  • 双方都支持 H.225、H.245、RTP/RTCP

二、点对点 H.323 呼叫完整步骤(10 步)

1. 主叫发起呼叫(H.225 Call Signaling)

  • 终端A 主动连接 终端B 的 TCP 1720
  • 发送 Setup 消息
    携带:呼叫ID、呼叫能力、A 的 H.245 地址(IP+端口)

2. 被叫回应呼叫建立

  • 终端B 返回:
    • Call Proceeding(呼叫处理中)
    • Alerting(振铃)

3. 被叫接听

  • 终端B 发送 Connect 消息
    携带:B 的 H.245 地址(IP+端口)
  • 至此 H.225 呼叫通道建立完成

4. 建立 H.245 控制通道

  • 终端A 根据 Connect 中的信息,连接 终端B 的 H.245 TCP 端口
  • 双向 TCP 连接建立,用于后续媒体协商

5. 终端能力交换(最关键)

双方互相发送:

  • TerminalCapabilitySet
    内容包括:
  • 支持的视频编码:H.261/H.263/H.264
  • 分辨率、帧率、码率
  • 音频编码:G.711/G.722/G.729
  • 数据能力(T.120 等)

6. 主从节点判定(Master/Slave)

  • H.245 必须协商出一个 Master、一个 Slave
  • 用于解决端口冲突、控制冲突
  • 不影响音视频,只是协议要求

7. 打开逻辑通道(Open Logical Channel)

双方分别为音频、视频各打开通道:

  1. 终端A 发送:
    OpenLogicalChannel
    • 媒体类型:视频/音频
    • 编码格式
    • 本地 RTP 端口(UDP)
  2. 终端B 回复:
    OpenLogicalChannelAck
    确认接收端口

然后反向再做一次:B→A 也打开音视频通道。

8. 开始传输音视频(RTP 实时流)

  • 视频:H.264/H.263 → RTP → UDP
  • 音频:G.711 → RTP → UDP
  • RTCP(端口=RTP+1)用于丢包、时延统计

此时双方已经能看到画面、听到声音。

9. 通话中实时控制(可选)

  • 流量控制
  • 视频快速更新请求(Video Fast Update)
  • 码率调整
  • 静音、关闭视频等

10. 结束通话

任意一方发起:

  • Release Complete (H.225)
    依次关闭:
  1. 所有 RTP 媒体通道
  2. H.245 控制通道
  3. H.225 呼叫通道
    通话结束

三、极简总结(背这个就行)

  1. H.225(1720 TCP) 拨号、接听
  2. H.245(TCP) 协商音视频格式
  3. 打开RTP通道(UDP)
  4. 直接传RTP音视频流
  5. H.225 挂断

四、协议与端口速记

  • 呼叫信令:H.225.0 / TCP 1720
  • 媒体控制:H.245 / 动态TCP
  • 视频音频:RTP / 动态UDP
  • 媒体监控:RTCP / RTP端口+1

如果你需要,我可以再给你:

  • 一张文字版时序图
  • 或者 Wireshark 抓包对应哪一步
  • 或者 点对点H.323抓包示例
相关推荐
网络小江16 分钟前
上网第三十九课:TCP 的可靠性——滑动窗口、重传与拥塞控制
网络协议
91刘仁德2 小时前
HTTP协议详解:从URL到HTTP服务器的完整实战
服务器·网络·笔记·网络协议·http
可乐鸡翅yeah_4 小时前
hls.js 手动自定义 http 请求 loader,修改请求头实战
开发语言·前端·javascript·网络协议·http·ecmascript·m3u8在线
pt10437 小时前
CML网络仿真入门-2:使用CML模拟网络实验环境
运维·网络协议
熊文豪11 小时前
KingbaseES 数据加密全解:从 SSL 到全密态
网络·网络协议·ssl
网络小江12 小时前
上网第三十八课:TCP 三次握手与四次挥手——连接到底是怎么“谈“成的
网络协议
AIgorithmGEEK13 小时前
[Linux]HTTP 应用层协议全解(下篇)
linux·网络·网络协议·http·cookie·无连接·无状态
DP DPharness13 小时前
手机连不上 DSH 时的排错顺序:从 401 到 WebSocket 放行
websocket·网络协议·智能手机
91刘仁德13 小时前
传输层协议深度拆解:端口寻址、UDP 报文与 TCP 可靠性机制全解析
linux·网络·c++·网络协议·tcp/ip·udp·c