pjsip是纯C语言写的一个sip协议库,整个代码写得还是比较模块化的,得益于此的设计,只要理解了pjsip的设计,就可以对其网络层进行扩展. 我们项目是QT作为主要开发工具,而PJSIP的库默认是利用select或者io queue的,只能开启一个线程去接受和发送,无法直接在QT的界面线程里面进行接受和发送.导致编程模型比较复杂,经常要在两个线程进行通讯,并且要注意内存数据竞争的问题. 我们项目里面并没有效率要求,不需要独立一个IO的线程,反而稳定性更重要.为了简化编程模型,方便新人维护,所以