三、Transaction(1)

2018-11-27  本文已影响21人  大风qixi

1. 概述

SIP是一种事务型协议,在两个端点之间通过transaction完成一系列的数据交互工作。一个transaction包括一个请求,以及这个请求对应的一个或者多个临时回复和一个或者多个最终回复。

2. Transaction的分类

2.1 CT和ST的分类

在SIP中,transaction使用两种分类方式共同作用的方法被分为四类,第一中分类方式通过请求的发起者来进行分类。
在发送请求构建transaction的时候,可以将请求的发送者称为client,回复的发送者称为server。因此对于transaction来说,在client端的被称为client transaction,在server端的被称为server transactionclient transaction负责发送请求,server transaction负责发送回复。
需要注意的client transactionsrever transaction的概念和UACUAS的概念并不相同的,二者的区分如下图所示:

图片.png

2.2 CT和ST的作用

client transaction 负责接收来自TU或者UA的请求,并且将这个请求可靠地传输到server transactionclient transaction还负责对不合理的响应和重传的响应进行过滤,然后回传给TU。如果对于INVITE请求的响应为2xx,那么client transaction将会生成对于该响应的ACK请求。

server transaction负责接收来自传输层的请求,并且将这个请求可靠地传输到TU,同时也负责过滤来自网络的任何重传的请求。server transaction也从TU接受响应,然后通过传输层进行发送。

2.3 NIT和IT

在transaction中还可以根据请求的类型来进行分类。由于INVITE请求和其他请求不同,需要通过2xx回复发送ACK请求,同时在会话发起过程中的特殊作用,可以将transaction分为Non-INVIRE-TransactionINVITE-Transaction两类。

2.4 两种分类方式同时使用

在SIP中,两种分类方式是同时使用的。所以transaction就被分成了四类:

  • (1) Non-INVITE client transaction
  • (2) Non-INVITE server transaction
  • (3) INVITE client transaction
  • (4) INVITE server transaction

这四种类型,在SIP协议中各自拥有一套状态机,从而完成一次完整的transaction传输。

3 ACK请求

ACK请求是在INVITE请求中一种附属请求,该请求不能脱离于INVITE请求独立存在。ACK请求和其他请求不同的情况在于:

上述关于ACK请求的独特性的原因在于:

上一篇 下一篇

猜你喜欢

热点阅读