1

我正在为 webrtc 和 sip 之间的兼容性实现一个 java 网关。我已经完成了 sdp 交换部分。但现在我被困在媒体部分。到目前为止,我假设我需要实现 dtls-srtp 握手,然后是加密、解密部分。所以任何人都可以请推荐任何java库

  1. DTLS 握手
  2. SRTP <--> RTP 转换

或执行此操作的特定方法。
编辑:我正在使用JsSIP for webrtc sip end。和Pangolin用于 sip 客户端。

4

1 回答 1

1

我以前做过。查看我的项目 jPhoneLite。它使用 BouncyCastle 作为 DTLS 部分。

https://github.com/pquiring/javaforce/blob/master/src/javaforce/voip/SRTPChannel.java

但我想将它转换为现在包含 DTLS 的 Java9,但我不确定它是否可以工作。

DTLS 实际上并不用于传输任何数据。客户端/服务器连接、协商密钥,然后使用密钥在正常 RTP 通道中编码数据。一旦交换密钥,DTLS 连接就会断开。

请参阅 RFC 5705,其中 DTLS 仅用于获取我的代码支持的密钥。

请参阅 RFC 5764,其中 DTLS “用于”发送/接收实际数据。我的代码目前不支持这种方法。

于 2018-03-30T02:23:41.120 回答