I am trying to integrate Webrtc with PJSIP for iOS. The logic is SIP systems works separately and Webrtc system works separately. I dont mix both in any situation. I had first problem in linker trying to integrate both PJSIP's SRTP and Webrtc's SRTP. PJSIP's SRTP is much older version and Webrtc's SRTP is a newer one. I force loaded using force_load "LibPath" in linker. It solved linker error. I am able to make Webrtc connection, receive remote video track but I am not able to render remote's stream. I get the following logs. My primary suspect is PJSIP's SRTP being loaded when Webrtc's SRTP is required. Is it possible to override with Webrtc's SRTP library? or Do you have any other suggestions?
Without SIP, I was able to make proper connection and streaming between two devices and its working in a different project and even APPRTC's demo also works.
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)
I had to add namespaces in PJSIP srtp libs to avoid symbol collisions. Now both co exist
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With