简体   繁体   English

SIP和Webrtc集成iOS

[英]SIP and Webrtc Integration iOS

I am trying to integrate Webrtc with PJSIP for iOS . 我正在尝试将Webrtc与PJSIP for iOS集成 The logic is SIP systems works separately and Webrtc system works separately. 逻辑是SIP系统单独工作,Webrtc系统单独工作。 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的SRTP和Webrtc的SRTP。 PJSIP's SRTP is much older version and Webrtc's SRTP is a newer one. PJSIP的SRTP版本较旧,Webrtc的SRTP版本较新。 I force loaded using force_load "LibPath" in linker. 我在链接器中使用force_load“LibPath”强制加载。 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 . 我能够建立Webrtc连接,接收远程视频轨道,但我无法渲染远程流 I get the following logs. 我得到以下日志。 My primary suspect is PJSIP's SRTP being loaded when Webrtc's SRTP is required. 我的主要嫌疑人是在需要Webrtc的SRTP时加载PJSIP的SRTP。 Is it possible to override with Webrtc's SRTP library? 是否可以覆盖Webrtc的SRTP库? 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. 没有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) 

I had to add namespaces in PJSIP srtp libs to avoid symbol collisions. 我不得不在PJSIP srtp libs中添加名称空间以避免符号冲突。 Now both co exist 现在两者都存在

使用此pod文件https://github.com/chebur/pjsip用于iOS的PJSIP。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM