Hello guys,
I have mikrotik and behind it some softphones. Sip setup and connection goes fine (TCP), but at disconnect, where the softphone sends the BYE, the router CHANGES the origin port.
i.e. The whole call is seen as coming from port 37563, but the BYE comes from port 48261. This is a problem as the server can’t map the BTE to the correct call.
Help is appreciated.
Thanks!
David
The BYE message should have a call-id header, that’s how the server would match the by with the call rather than by TCP connection.
When a packet is leaving the wan interface of a router, the router may choose to change the source port of a connection if an existing connection is already using that source port in it’s NAT table.
Source ports should not change per TCP connection. If it does, then either:
- The TCP Connection timed out in the router due to no traffic
- The softphone is sending the TCP disconnect packet before the packet with the BYE message. This can happen due to Nagle’s Algorithm.
Either way, do a packet capture that captures the entire SIP TCP connection of a short call and attach it on this thread.
It would be unusual for a SIP dialog to take over TCP, but not impossible. Do you have the SIP helper enabled? Can you draw a diagram of the network? and as per above, please attach a PCAP.
Thanks