PJSIP 是非常精致的SIP Client 协议栈, 其层次结构清晰的API设计, 良好的跨平台属性, 在业内有很高的声誉, 有不少SIP商业应用基于它开发. 可是PJSIP早期版本从未对IPV6有很好的支持. Apple 在今年5月时发布声明, 要求6月1号以后所有的iOS应用都必须包含对IPV6-ONLY网络的支持. 这个对基于PJSIP开发的iOS应用来说可谓是当头一棒. 很多人呼吁要求PJSIP来快速支持IPV6, PJSIP的开发小组也迅速的将IPV6支持列入计划, 在7月份发布了版本 2.5.5, 宣布了对IPV6的支持. 这个新版本的发布声明如下:
PJSIP version 2.5.5 is released with the main focus on:
IPv6 support in PJNATH
IPv6 support in PJLIB-UTIL DNS SRV and DNS AAAA resolution
IPv6 support for hostname resolution in PJSIP and PJSUA-LIB
PJSIP 的这个版本刚发布, 我们就投入了极大地兴趣对其进行研究, 这次的更新确实解决了IPV6,以及IPVT NAT的一些BUG, 从其实现逻辑来分析, 它在纯IPV6网络应该可以正常工作(这里的纯IPV6网络是指从client到server, 其所有的路由节点都是IPV6设备). 但是这个却无法满足目前的Internet网络对其需求!
IPV6标准虽然已经推出多年, 但是由于众所周知的原因, 目前的Internet网络的主流还是IPV4, 现在我们能看到的IPV6网络, 大多是架设在IPV4网络上的一些子网, 通过IPV6 to IPV4的NAT跟外部的因特网进行通信. 所以目前应用要支