TCP 上的注册消息
Registration message over TCP
我已经通过 TCP 实现了 SIP 呼叫。
现在我打算将其推断为通过 TCP 注册。
我有一个参考 PCAP,流程如下:
初始注册的序列号和确认号逻辑:
A------------------------------------B Seq - Ack - Size
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
当前腿的序号=(上一条同方向的序号+window上一条同方向的条数。)
当前航段的Ack编号=(前一航段的Ack编号){如果当前航段与前一航段方向相同}
=(前一回合序号)+(window前一回合大小){else}
我正在尝试了解以下内容:
- 刷新实例应该是同一 TCP 流的一部分吗?
即刷新实例的Src和Dest IP地址以及Src和Dest Port地址是否应该与初始注册相同?
- 应该对 Seq 和 Ack 编号应用什么逻辑?
它们应该延续先前的消息(初始注册尝试)还是这些值应该就像在给定设备之间生成新实例一样?
PS: 我正在做一个设备间调用的工具,所以src和dest消息代码在我的范围内。
SIP 注册与使用的传输协议无关。如果您想更新通过 TCP 连接建立的现有 SIP 注册,您可以通过同一 TCP 连接、另一个 TCP 连接甚至通过 UDP 发送注册更新请求。只要请求发送到同一注册商,更新请求就会被这样处理。
更多关于使用 seq 号码和 SIP 注册(更新)的信息在 Registration section of RFC 3261。
更多信息 SIP 注册路径和 RFC 5626 中(不同的)传输协议的使用。
我已经通过 TCP 实现了 SIP 呼叫。 现在我打算将其推断为通过 TCP 注册。
我有一个参考 PCAP,流程如下:
初始注册的序列号和确认号逻辑:
A------------------------------------B Seq - Ack - Size
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
当前腿的序号=(上一条同方向的序号+window上一条同方向的条数。)
当前航段的Ack编号=(前一航段的Ack编号){如果当前航段与前一航段方向相同}
=(前一回合序号)+(window前一回合大小){else}
我正在尝试了解以下内容:
- 刷新实例应该是同一 TCP 流的一部分吗? 即刷新实例的Src和Dest IP地址以及Src和Dest Port地址是否应该与初始注册相同?
- 应该对 Seq 和 Ack 编号应用什么逻辑? 它们应该延续先前的消息(初始注册尝试)还是这些值应该就像在给定设备之间生成新实例一样?
PS: 我正在做一个设备间调用的工具,所以src和dest消息代码在我的范围内。
SIP 注册与使用的传输协议无关。如果您想更新通过 TCP 连接建立的现有 SIP 注册,您可以通过同一 TCP 连接、另一个 TCP 连接甚至通过 UDP 发送注册更新请求。只要请求发送到同一注册商,更新请求就会被这样处理。
更多关于使用 seq 号码和 SIP 注册(更新)的信息在 Registration section of RFC 3261。 更多信息 SIP 注册路径和 RFC 5626 中(不同的)传输协议的使用。