On Jul 15, 2004 at 13:12, Ezequiel Colombo <ecolombo(a)arcotel.net> wrote:
I are testing the last (v3.1.1) version of SIP
firmware for Cisco ATA186 and
see some
bug or misimplementation of loose routing logic. I want known if my
interpretation of
the loose routing are correct.
The test scenario is:
U1(ATA186) -- callto -- U2(X-Lite)
U1 = 200.80.35.6:25263
SER= 200.80.35.17:5060
U2 = 200.80.35.6:26198
After the answer (200 OK) from X-Lite the Cisco ATA 186 send a different
ACK message with version 3.1.0 and 3.1.0 firmware. The ACK sent by version
3.1.1 never reack X-Lite causing it to re-send the 200 OK message.
In version v3.1.0 the ACK to a 200OK is sent by ATA with URI equal to the
proxy address
as indicated by Record-Route in the previously received 200OK, and with a
Route: header
equal to the URI of the remote party (U2). With this SER perform
loose-routing, take the
URI in the Route: hf and sent the message to U2.
This is actually strict routing.
In version v3.1.1 the ACK to a 200OK is sent by ATA with URI equal to the U2
address
(without port information) and a Route: header indicating the URI of the
proxy. So is
expected that SER perform loose-routing taking the URI in the Route: header
and send
the message to itself in this case (Route contain address of proxy instead
of U2) but
not, the loose-routing is not performed for unknown reason (may be ftag or
lr ?) and
the message is sent to the original uri (U2 ip without port) and never
arrive because
the U2 endpoint are listen in other port (26198 instead of 5060).
This is "normal" loose routing (you don't touch the uri, but you send
the message to the route address). It seems they use loose routing in
this version.
However you are right about the port bug. The uri must contain the same
uri as in the 200 Ok Contact, including the port.
Andrei