recently, the SIP protocol was used, so we looked for two open source projects to compare, Linphone and Pjsip, and finally chose Pjsip this open source protocol stack for development.
The main reasons are as follows (for personal reference only):
1, Linphone code structure than Pjsip clear, pjsip in Windows more convenient debugging ;
2, Linphone after the update does not use Osip as a protocol stack, instead of self-written BELLE_SIP,PJSIP protocol stack is maintained, and has been stable ;
3, Pjsip as a protocol stack development example many, belle_sip to develop or linphone the first time.
Linphone and Pjsip are very good open source projects, I support, are worth learning, just choose Pjsip more suitable for my project.
Code structure for PJSIP:
Base library: Pjsip
Base Auxiliary Library: Pjutil
(Lowest interface)
Base protocol stack: PJSIIP, pjsip-simple
Base Media Library: Pjmedia, Pjmedia-codec (Pjmedia_audiodev/pjmedia_videodev), Pjnath (NAT traversal)
(Middle-tier interface, dependent on PJSIP and Pjutil)
Overall Package Interface: Pjsip-ua
Application Layer Interface: Pjsua-lib/pjsua2_lib
(dependent on middle-tier interface)
Application: Pjsua
Example: Sample_pjsua . C with registration, can call and answer
SAMPLEUA.C without registration, can call and answer
Siprtp.c sending and receiving RTP packets
HTTPDEMO.C a simple HTTP client
A layer of interfaces with test, which is helpful for learning its API
Interested can study together: Q Group (437295987)
[VoIP] PJSIP Research and learning