[voip] pjsip 的研究学习

最近要用到sip协议,因此寻找了两个开源项目作对比,分别是linphone和pjsip,经过对比,最终选择pjsip这套开源协议栈进行开发。

主要原因有如下(仅个人参考):


1、linphone的代码结构不如pjsip分明,pjsip在windows下更方便调试
2、linphone更新后不使用osip作为协议栈,改用自行编写的belle_sip,pjsip协议栈还在维护,且一直稳定
3、pjsip作为协议栈开发的示例很多,belle_sip来开发还是linphone头一回。


linphone和pjsip都是很优秀的开源项目,我都支持,都值得学习,只是选择pjsip更适合我的项目。

pjsip的代码结构:


基础库:        pjsip
基础辅助库:pjutil

(最底层接口)


基础协议栈:pjsiip、pjsip-simple

基础媒体库:pjmedia、pjmedia-codec(pjmedia_audiodev/pjmedia_videodev)、pjnath(nat穿透)
(中间层接口,依赖pjsip和pjutil)


整体封装接口:pjsip-ua

应用层接口:pjsua-lib/pjsua2_lib

(依赖中间层接口)

应用:pjsua

示例:sample_pjsua .c 带注册,可拨打和接听

             sampleua.c 不带注册,可拨打和接听

             siprtp.c         发送和接收rtp包

            httpdemo.c  一个简易的http client

其中,一层接口都带了test,对学习它的api很有帮助



有兴趣可以一起研究:Q群(437295987)


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。