SIP wrote:
setflag(3); if (!t_relay()) {
sl_reply_error(); };
}
But for some reason, it sends it to itself... and moments later, I end up with something
like:
U 63.64.65.66:5060 -> 63.64.65.66:5060ACK sip:201@63.64.65.66:5060
SIP/2.0.Record-Route:
Your ACK is going to the wrong port. If you say SEMS is on 5090 then
the remote end is not sending the ACK to the correct port. You will
need to take a look at the whole SIP message exchange to see if its your
fault or the other providers fault.
So what do you think? Any ideas on what might cause
different routing behaviour for locally-registered and non-locally-registered UAs? Would
taking the approach of tossing all the rewrites into a separate routing block and calling
it from the ACK, CANCEL, BYE, and INVITE blocks be just heading down the wrong path?
Yes, and again a complete comparison of SIP messages in both test cases
will reveal why. Look at the contact header throughout all messages to
see what happens. The non-locally-registered UAs are sending the ACK to
the wrong port.
Andres
http://www.telesip.net