【发布时间】:2019-10-19 05:51:11
【问题描述】:
- 我正在测试一个 SIP 服务器(只是一个 PBX)与另一个 PBX 的集成。
- 来电进入 PBX 并发送到我的 SIP 服务器。
- 一旦呼叫到达我的 SIP 服务器,它就会再次发送回注册到我的 PBX 的用户。在这里,我们有 2 个呼叫支路——一个从呼叫者到 PBX,另一个从 Sip 服务器到被叫方。
- 通话设置正确,音频也没有问题。
- 当被叫方释放呼叫时,我的 SIP 服务器在同一个 TCP 数据包中向被叫方和主叫方发送 BYE 消息。
在运行 Wireshark 跟踪时,我发现来自我的 SIP 服务器的 BYE 消息到达被叫方但从未到达呼叫者。 我知道我的 SIP 服务器和 PBX 之间有防火墙。
问题: 是否有一个选项可以防止单个 TCP 数据包中出现多个 SIP 消息?除了使用UDP还是对抗FW?
>> BYE 从 SIP 服务器到被叫方,得到 200 OK:
11:39:03.163:发送 [31,TCP] 462 字节到 10.cc.dd.ddf:5060 >>>>>
BYE sip:+xxxxxxxxx@10.xx.cc.vv:1122;transport=tcp SIP/2.0
呼叫 ID:003BA5CE-58A9-1D9C-ACEB-886231C0AA77-57379@1xx.vv.vv.vvv
<.......>
>> BYE 从 SIP 服务器到呼叫者,它永远不会到达 PBX:
11:39:03.163: 发送 [31,TCP] 448 字节到 10.cc.dd.ddf:5060 >>>>>
再见 sip:+420702252645@10.cc.cc.bb:5060;transport=tcp SIP/2.0
呼叫 ID:acda8080-da917a0e-5a26b-8a61610a@10.xx.cc.vvb
【问题讨论】:
标签: sockets tcp sip sip-server