我是一名自动化开发人员,最近我开始自己控制办公桌上的 IP 电话(Cisco 7940)。
我有一个第三方应用程序可以使用 SCCP(Skinny)数据包控制 IP 电话。通过 Wireshark,我看到应用程序将发送 4 个唯一的 SCCP 数据包,然后收到一个 TCP ACK 消息。
SCCP 不是很为人所知,但它看起来像这样:
以太网(IP(TCP(SCCP())))
使用 Python 数据包生成器:Scapy,我已经能够将相同的 4 个数据包发送到 IP 电话,但是我从未收到 ACK。在我的数据包中,我已正确设置 TCP 标头中的序列、端口和确认值。IP 标头中的 ID 字段也是正确的。
我唯一能想象到的错误是 Python 发送四个数据包需要一整秒多一点的时间。而应用程序花费的时间要少得多。我试过提高 Python shell 的优先级,但没有运气。
有谁知道为什么我可能没有收到回复?