摘要

  • RFC 5194 把实时文字定义为逐字符的会话媒体。音频、视频或 SIP 会话成功,都不能证明文字已经按会话节奏发送、到达并显示。
  • 运营记录应分别保存媒体协商、首字符、序列连续性、冗余恢复、剩余丢失、渲染进度、参与者归属与网关转换。总状态只能索引这些事实,不能替代它们。

一个绿色状态借用了三个系统的权力

多媒体会话天然需要汇总。用户不希望先读一张协议状态表,再决定通话是否可用。问题不在于汇总,而在于汇总失去可分解性。

RFC 5194 允许实时文字与语音、视频结合,并要求对媒体可用性和状态作出处理。这意味着“通话”不是一个单一执行面。音频 RTP、视频 RTP 和文字 RTP 可能拥有相同的 SIP 对话,却具有不同的路径、负载格式、丢失行为和接收器状态。

当产品把任何两个媒体的健康推导成整个通话健康时,它把活跃媒体的证据扩张到沉默媒体。文字沉默可能只是无人输入,也可能是发送端整行缓冲、路径阻断、解码失败或渲染器停滞。只有分层记录才能区分。

实时文字不是通话中的聊天框

RFC 5194 描述的是逐字符会话。字符应尽快发送;整行缓冲明确不满足字符时延要求。接收者看到思想逐渐形成,能够在句子完成前响应、纠错或确认对方仍在输入。

聊天框可以最终交付同样的词语,却保留不同的互动结构。把两者都称为“文字可用”,等于只保留内容而删除时间。对于依赖文字参与即时对话的人,这不是界面偏好,而是媒体是否存在。

文档把一秒端到端时延视为良好,指出用户会感受到缩短到 300 毫秒的改善,也说明两秒左右仍可能可接受。这些描述不是全球统一 SLA。它们揭示测量对象:每个字符从输入、发送、到达、解码到显示的完整路径。

协商成功只证明达成描述

SIP、offer/answer 与 SDP 负责建立和描述媒体。它们能证明双方同意了文字媒体、地址、端口和负载格式。它们不能证明发送端实际产生字符、网络交付、接收端解码或屏幕呈现。

因此,text negotiated 之后至少还要有首字符发送、首字符接收、连续性、剩余丢失与渲染进度。总通话状态可以引用这些子状态,但不能在缺少它们时自动为绿色。

同样,RFC 4103 的 cps 参数描述速率能力或协商值,不是实际字符时序的收据。网络包可以在几毫秒内到达,却在本地编辑器中等待了八秒。

冗余降低风险,不颁发完整证书

RFC 4103 使用 RTP 承载 T.140,并可借助 RFC 2198 的冗余负载重复近期文字。后续包可以修复前一个包的丢失,这对文字尤其重要:一个包的缺口可能删除数字、否定词或姓名的一部分。

text/red 已协商并不等于没有丢失。接收器还需记录哪个序列缺口出现、哪一代冗余完成修复、哪些字符仍然缺失。RFC 5194 要求在仍有入站文字丢失时提供相应指示。

如果界面直接拼接缺口两端,最终句子可能比底层证据更确定。正确的记录分别表示原始到达、冗余恢复、剩余丢失以及用户实际看到的丢失标记。

呈现本身是结果

T.140 不只有可打印字符。国际字符、换行、擦除与提醒都影响会话。归档系统若重新加入发送者已经擦除的文字,就没有忠实记录现场呈现;旧字符集转换若损坏姓名,也不能用“其余文本可读”抵消。

至少需要三层:接收事件、呈现事件和归档文本。归档便于搜索,但它是一种投影。用投影证明现场体验,是让后来产生的符号层统治它没有保存的现实。

网关是语义边界

RFC 5194 对互通给予大量篇幅,因为 PSTN 文字电话、移动文字与即时通讯具有不同速率、双工与消息模型。旧终端可能速率更低、字符集受限;即时通讯网关可能累积字符后生成消息。

这些转换可以是必要的。它们不能是透明的。网关收据应说明输入输出协议、缓冲规则、速率、双工变化、字符映射、丢失处理和版本。否则,平台会把本地消息聚合造成的延迟归咎于网络,或把消息泡称为逐字符媒体。

互操作性并不承诺两边语义完全相同。它承诺转换受到控制,且损失能够被看见。

会议中的可读文字也可能无主

RFC 9071 处理多方实时文字的格式与呈现问题。它说明收到合并文字流与知道每段话是谁说的并非同一个产品事实。

一个语法完整但无法归属发言者的会议记录,无法可靠回答谁提出警告、谁更正数字。参与者身份必须在流和字符事件阶段绑定,而不是从后来文本上下文猜测。

紧急呼叫:接通不是能够表达

RFC 5194 要求支持实时文字紧急呼叫,并考虑中继服务。今天的具体法律义务随司法辖区和部署变化,本文不作合规判断。

但技术事件可以分开:目的地路由成功、中继可用、文字媒体协商、首个双向字符与持续呈现。若事件在中心接听时就关闭,系统可能删除呼叫者仍然不能说明情况的那段时间。

最小收据

本文建议的运营收据包含会话与媒体描述、文字流与参与者、输入/发送/到达/渲染时间、原始和恢复到达、剩余丢失及其呈现、各媒体独立状态,以及网关每次语义转换。这是运营推论,不是 RFC 5194 规定的线格式。

Heng Lu 的现实分层在这里要求克制:已连接 只说明会话层;已协商 只说明描述;已接收 只说明传输;已显示 才触及用户界面。运行代码和屏幕上的实际字符高于配置标签。最小初始规范保护可移植的会话语义,同时把界面创新留给本地实现。

Sources

  1. RFC 5194 HTML
  2. RFC 5194 文本
  3. RFC 5194 信息页
  4. Datatracker RFC 5194
  5. RFC 5194 历史
  6. RFC 5194 引用
  7. RFC 5194 勘误
  8. RFC 4103
  9. RFC 4103 信息页
  10. RFC 9071
  11. RFC 9071 信息页
  12. RFC 4351
  13. RFC 3550
  14. RFC 2198
  15. RFC 3261
  16. RFC 3264
  17. RFC 8866
  18. Heng Lu:现实分层与符号权力
  19. Heng Lu:最小初始规范
  20. Heng Lu:运行代码优先