encryption - 用于 webrtc <--> sip 通信的 Java 网关

标签 encryption webrtc sip rtp jssip

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

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

或者具体的方法来做到这一点。
编辑:我正在使用JsSIP进行webrtc sip结束。以及用于 sip 客户端的 Pangolin

最佳答案

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

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

但我想将其转换为 Java9,现在包含 DTLS,但我不确定它是否有效。

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

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

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

关于encryption - 用于 webrtc <--> sip 通信的 Java 网关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49108597/

相关文章:

使用 SSL 时 Tomcat 超时

c# - 如何将 SecureString 转换为 System.String?

javascript - WebRTC:是否可以控制麦克风和音量

ios pjsip - 在 sip 通话期间播放声音

node.js - 如何通过nodejs进行SIP调用

java - 使用公钥-私钥加密

Java:写入和读取基于密码的加密私钥

安卓原生webrtc : add video after already connected

javascript - Webrtc 应用程序开发、网络和安卓

java - JAIN SIP 481 对 BYE 消息的响应