我正在尝试将Webrtc与用于iOS的PJSIP集成。逻辑是SIP系统单独工作,而Webrtc系统单独工作。在任何情况下我都不会混合使用。在链接器尝试集成PJSIP的SRTP和Webrtc的SRTP时,我遇到了第一个问题。 PJSIP的SRTP是较旧的版本,而Webrtc的SRTP是较新的版本。我在链接器中使用force_load“LibPath”强制加载。它解决了链接器错误。我可以建立Webrtc连接,接收远程视频轨道,但不能渲染远程的流。我得到以下日志。我的主要怀疑是在需要Webrtc的SRTP时加载了PJSIP的SRTP。是否可以使用Webrtc的SRTP库覆盖?或您还有其他建议吗?

没有SIP,我就可以在两个设备之间建立正确的连接和流,并且可以在不同的项目中工作,甚至APPRTC的演示也可以工作。

2015-06-12 18:57:41.835 [1028:134693] -[WebrtcManager peerConnection:iceGatheringChanged:] [Line 529] ICE gathering state changed: 2
testing rand_source...passed
cipher: aes cipher block chaining (cbc) mode
  instance count: 0
  self-test: 2015-06-12 18:57:42.063 [1028:134693] -[WebrtcManager peerConnection:iceConnectionChanged:] [Line 524] ICE state changed: 2
passed
cipher: aes integer counter mode
  instance count: 0
  self-test: passed
cipher: null cipher
  instance count: 0
  self-test: passed
auth func: hmac sha-1 authentication function
  instance count: 0
  self-test: passed
auth func: null authentication function
  instance count: 0
  self-test: passed
debug modules loaded:
  srtp (off)
  hmac sha-1 (off)
  aes cbc (off)
  aes icm (off)
  alloc (off)
  stat test (off)
  cipher (off)
  auth func (off)
  crypto kernel (off)
testing rand_source...passed
cipher: aes cipher block chaining (cbc) mode
  instance count: 0
  self-test: passed
cipher: aes integer counter mode
  instance count: 0
  self-test: passed
cipher: null cipher
  instance count: 0
  self-test: passed
auth func: hmac sha-1 authentication function
  instance count: 0
  self-test: passed
auth func: null authentication function
  instance count: 0
  self-test: passed
debug modules loaded:
  srtp (off)
  hmac sha-1 (off)
  aes cbc (off)
  aes icm (off)
  alloc (off)
  stat test (off)
  cipher (off)
  auth func (off)
  crypto kernel (off)

最佳答案

我必须在PJSIP srtp库中添加 namespace ,以避免符号冲突。现在两者共存

10-06 13:09