防火墙中SIP或SIP ALG中使用的编码是什么

时间:2018-01-27 08:00:43

标签: python encoding sip firewall sip-server

我编写了一个Python 3脚本来模拟SIP呼叫转移事件。在使用位于同一网络上的SIP服务器进行测试时,该脚本成功运行。当我使用位于防火墙的SIP服务器进行测试时,防火墙会阻止脚本发送到SIP服务器端口5060的所有数据。防火墙允许在5060以外的任何其他端口上发送的数据。这使我假设数据包被防火墙(Fortigate)的端口5060上运行的SIP ALG协议阻止。为了收集有关该场景的更多信息,我使用名为SIPp的命令行工具进行了测试。 SIPp用于通过防火墙将SIP邀请发送到SIP服务器到端口5060.此工具生成的邀请已成功通过防火墙发送。然后我确保SIPp和我的脚本生成的消息格式相同。即使这样,我的脚本生成的消息也不会通过防火墙。我的情况非常复杂,因为没有可用的防火墙日志。我在网上做了一些研究,在大多数路由器和防火墙上都实现了这个叫做SIP ALG的协议。我知道SIP ALG使用了SIP用户代理的正确私有/公共IP。但在我的情况下,除了SIP ALG阻止我的消息到端口5060之外,我没有合理的理由。如果SIP ALG是罪魁祸首并且它只阻止我的脚本生成的消息而不是SIPp,那么因为使用了不同的编码在邮件组成?如果是,那么用于SIP的标准编码是什么?我目前在Python 3上使用utf-8。任何见解都表示赞赏。

0 个答案:

没有答案