NAT使得SIP端到端的通信变得非常困难,文章分析了几种SIP穿越NAT方法及其不足,提出了一种基于最短路径的NAT穿越方法SPNT(Shortest Path for NAT Traversal).其基本思想是根据SIP终端和代理服务器之间的信令交互,判断终端所在网络的NAT类型,代理服务器对不同的NAT类型采用不同的方式实现SIP信令穿越,而媒体流的穿越则通过终端进行媒体地址的连通性检测,使终端之间能够动态的建立最短的媒体数据连接.该方法在不改变现有NAT的情况下,在应用层实现了对所有NAT的有效穿越,避免了单独使用某一方法而带来的缺陷.