PJSIP是很好的开源sip协议栈。
我们的一个项目使用pjsip库, 维护一段时间了,但是没有深入的分析pjsip代码。总有些说不过去。
PJSIP的代码量还是比较大的。拿到代码有些不知道如何入手。
我分析代码的思路,想从sip协议为出发点。分为以下两大模块:
1.sip协议的实现
sip的基本方法:register、invite、ack、cancel、bye
分析这几个method的处理逻辑。
2.媒体流
sip通话建立后要进行媒体数据的发送和接收。
弄清楚音视频流处理流程(以分析音频为例):
采集-> 编码->RTP打包->RTP发送
RTP接收->RTP解包->解码->播放