rtpengine 是什么?
- 通过 IPv4 或 IPv6 运行的媒体流量 * 将 IPv4 和 IPv6 用户代理相连 * 将不同 IP 网络或接口相连 * TOS/QoS 字段设置 * 可自定义端口范围 * 多线程 * 为 NAT 后面的操作广告不同地址 * 内核包转发,实现低延迟和低 CPU 性能 * 如果内核模块不可用,则自动回退到正常用户空间操作 * 支持 Kamailio 的 rtpproxy 模块 * 旧 OpenSER mediaproxy 模块的传统支持 * HTTP、HTTPS 和 WebSocket (WS 和 WSS) 接口
通过 rtpengine 模块(或其旧版本 rtpproxy-ng)使用时,可提供以下附加功能:
- 全面的 SDP 解析和重写
- 支持非标准 RTCP 端口 (RFC 3605)
- ICE (RFC 8445) 支持:
- 在支持 ICE 和不了解 ICE 的用户代理之间进行桥接
- 可选择仅作为额外的 ICE 中继/候选方
- 可选择通过删除其他 ICE 候选方来强制传输媒体流
- 可选择仅作为"ICE lite"对等方
- 可选的逐步 ICE 支持 (RFC 8838)
- 可选的 ICE2 支持
- 支持 SDES (RFC 4568) 和 DTLS-SRTP (RFC 5764)
- AES-CM 和 AES-F8 密码,既在用户空间中,也在内核中
- HMAC-SHA1 数据包身份验证
- 在 RTP 和 SRTP 用户代理之间进行桥接
- 机遇性 SRTP (RFC 8643)
- 传统非 RFC (双个
m= 行) 最佳努力 SRTP
- AES-GCM 认证加密 (AEAD) (RFC 7714)
- 根据 RFC 8842 的
a=tls-id