TCP上的注册消息



我已经通过TCP实现了SIP呼叫。现在我打算把它外推到TCP上的注册。

我有一个参考PCAP,流程如下:

初始注册的序列号和确认号逻辑:

A-------------------------------B序列确认大小

REGISTER

----------------------------------→1-1-709

100 Giving a Try

<------------------------------1-710-358

401 Unauthorized

<------------------------------359-710-459

REGISTER

----------------------------------→710-818-931

100 Giving a Try

<------------------------------818-1641-358

200OK

<------------------------------1176-1641-450

当前支路的序列号=(同一方向上的前一支路的序列编号+同一方向下的前一个支路的窗口大小。(

当前支路的确认数=(上一支路的确认号({如果当前支路与上一支路方向相同}

=(上一个分支的序列号(+(上一分支的窗口大小({else}

我正在努力理解以下内容:

  1. 刷新实例是否应该是同一TCP流的一部分?这意味着刷新实例的Src和dest IP地址以及Src和dest端口地址应该与初始注册相同吗
  2. 序列号和确认号应采用什么逻辑?它们是应该延续以前的消息(初始注册尝试(,还是应该像在给定设备之间生成新实例一样

PS:我正在开发一个在设备之间生成调用的工具,所以src和dest消息代码在我的领域内。

SIP注册独立于所使用的传输协议。如果要更新通过TCP连接建立的现有SIP注册,可以通过同一TCP连接、另一TCP连接甚至通过UDP发送注册更新请求。只要请求被发送到同一注册器,更新请求就会被视为这样。

关于seq号码的使用和SIP注册(更新(的更多信息,请参阅RFC 3261的注册部分。更多信息SIP注册路径和RFC 5626中(不同(传输协议的使用。

最新更新