SIP协议是一种分层的协议,换句话说,SIP的应用实现,可以划分为一组不同的,相互独立的处理阶段,每个阶段间只有一些松散的耦合关系。如上图所示,从架构上划分,我们一般可以抽象出四个层:语法/编码层、TP层、TR层和TU层。
-
语法/编码层。 RFC规范中,用增强BNF范式定义了SIP的语法,最底层的语法/编码层实现了SIP报文的基础解析/编码。
-
TP层,对应传输层,它定义了是Client是如何发送请求及接收应答的,同时也定义了Server端是如何接收请求及发送应答的。所有的SIP网元都必须实现传输层的定义,才能在网络中收发报文。
-
TR层,即事务层。SIP事务定义为一个请求消息及其对应的所有应答消息所组成的集合。并非所有的SIP网元都会有TR层,无状态的SIP代理,就没有TR的概念。
-
TU层,TR层之上的所有实现都属于层。除了无状态代理之外,其他的SIP网元,都可以视为一种TU。