PJSIP 我们要分析的重点
引用官方的一张图:
PJLIB 做为与系统打交道底层支持库
PJLIB-UTIL 是封装的一些工具库
PJNATH 则是对 NAT 相关做支持
PJMEDIA 完成 SDP 与媒体栈的封装
而上面的又需要第三方库支持,就是源码目录中的 third_party
PJSIP 则简单很多只需要 PJLIB-UTIL 与 PJLIB 的支持
在上面又包装一层 PJSIP-SIMPLE 增加个人信息与IM的支持。
然后整合 PJSIP-SIMPLE 和 PJMEDIA 包装成 PJSIP-UA
最后包装成 PJSUA 来完成对应用程序的支持。
PJLIB 也开放给应用程序。
这就是PJSIP 团队想表达出整个设计,及用户使用的一个分层图表。同时也包含了各个部件在整个PJSIP库中的作用。