我正在实现一个java网关,以实现webrtc和sip之间的兼容性。我做过sdp交换部分。但现在我被困在媒体部分。到目前为止,我假设我需要实现dtls-srtp握手,然后是加密,解密部分。所以任何人都可以为
建议任何java库或具体方式这样做。
修改:我正在使用 JsSIP 为webrtc sip end。并且穿山甲用于sip客户端。
答案 0 :(得分: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“用于”发送/接收实际数据。我的代码目前不支持这种方法。