3
votes

The PJPROJECT libraries are organized as follows:

  • Base libraries (PJLIB/PJLIB-UTIL/PJSIP/PJNATH/PJMEDIA)
  • APIs (PJSUA/PJSUA2)

I'm trying to develop a new API based on PJSUA but using RTC native libraries (as far as I know, the term WebRTC is more related to the Web API) instead of PJMEDIA.

However, according to the official docs, I understand that the RTC native libraries are used for signalling and media.

Is it possible to only use the media part of the RTC libraries? If yes, where can I find resources to integrate the RTC libraries with PJSIP?

Thanks, Mickael

1
Why would you only want the media for RTC? That would just handle encoding and encrypting which by itself does not allow integration with other RTC devices...I am just curious as to what your goal is. I am sure you can pull out the media portion of the libraries, just not 100% sure the steps needed to do that. - Benjamin Trent
@BenjaminTrent I'm a very beginner in this specific field, I just heard about a project of building an SDK to easily implement UAs on Android. One of the technical detail of the project was that PJSIP will be integrated with RTC native libraries. Are there really any advantage of doing that? If not, what will be the good path, full RTC? - manash
If you want to communicate with RTC, use RTC. If you want RTC to communicate with a SIP client, use a middle server in between to negotiation the session. That is the most logical approach. - Benjamin Trent
@BenjaminTrent The goal is for the UA to communicate with a SIP proxy, the signalling protocol will be SIP. - manash
@BenjaminTrent As I'm reading on the web, WebRTC doesn't support regular SIP communication (over UDP/TCP). It is based on WebSockets. It's a good argument not to use it for signalling, most VoIP architectures I know don't support this protocol suite. - manash

1 Answers

2
votes

CSipSimple (Android SIP Client) has bolted a part of WebRtc into PJSIP as patches: https://code.google.com/p/csipsimple/source/browse/trunk/CSipSimple/jni/pjsip/patches/002pjsip-webrtc-aec.diff