在传统电话业务中 SIP 信令 以及语音数据,在传输层大都使用UDP,随着电话业务的运营由运营商(移动,电信,联通)扩展到公司,到如今的云电话服务。 被服务的公司或个人越来越注重数据的安全,可选择的运营公司比较多,导致各个运营商开始实施安全的SIP 信令和语音。
SIP/TLS or sips
Voice / SRTP
RFC 4568 就描述了怎么在SDP中协商 媒体加密参数。因为SDP 是随着SIP 信令传输的,那么就要求SIP 信令必须是安全的
SIP over TLS 是比较常用的case。
RFC 4568 为SDP 新增加了一个attribute:
a=crypto:<tag> <crypto-suite> <key-params> [<session-params>]
example:
a=crypto:1 AES_CM_128_HMAC_SHA1_80
inline:PS1uQCVeeCFCanVmcjkpPywjNWhcYD0mXXtxaVBR|2^20|1:32
RFC 4568 只定义了inline 类型的key 方式,在这种方式下 后面的key字符串是一个字节串(不一定是字符串,可能有些字节不是可现实字符)。这个字节串包含了master key 和 salt。
"inline:" <key||salt> ["|" lifetime] ["|"