在找开源的sip电话参考时,找到了这个linphone,下载:http://www.linphone.org/eng/download/packages/linphone.html
大概看了下结构,采用osip,exosip和ortp协议栈开发,对264的支持是x264(VLC的子项目)。
哈哈,跟我原来做的很有缘分,我基本上原来做的sip终端类开发就是sip协议栈基于osip,exosip,rtp协议栈基于ortp,再对exosip做一次封装形成个sip通信结构,流媒体部分再加上音视频处理相关的。
但是后来觉得如果继续做下去,差不多相当于基于exosip二次开发一个sip协议栈了,exosip本身提供的api太底层,且缺少通信框架的设计设对媒体层的支持,比如说对sdp的处理,媒体协商之类的都需要自己做。做一个完善点的终端的话,工作量不小。所以想参考下pjsip的框架的设计,看他怎样构建一个sip电话框架,怎样将sip处理和rtp协议处理结合起来,包括对流媒体的处理。
找到了linphone更省了一步事,研究下linphone,看下它是怎样组织的,看是继续改进自己的还是基于它修改。不过linphone的界面。。。,应该是要换一下的。