As see in RFC3261 section 12.2.1.1: ... If the route set is not empty, and the first URI in the route set contains the lr parameter (see Section 19.1.1), the UAC MUST place the remote target URI into the Request-URI and MUST include a Route header field containing the route set values in order, including all parameters. ...
The ACK sent by ATA186 v3.1.1 is ok (record-route contain lr) so ATA186 place remote target URI (uri of U2) in the Request-URI. The problem at this moment is that ATA186 v3.1.1 place the remote target URI withouth the port information (as my opinion must take the URI of the Contact in previous 200 OK).
With this logic of loose-routing (fragment of section 12.2.1.1) what is suposed to do by SER when receiving a Route: with "lr" ??? SER dont perform loose_route if Route: have lr ?
----- Original Message ----- From: "Ezequiel Colombo" ecolombo@arcotel.net To: serusers@lists.iptel.org Sent: Thursday, July 15, 2004 1:12 PM Subject: [Serusers] ATA186 v3.1.1 LooseRoute logic
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.
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).
User-Agent: Cisco ATA 186 v3.1.0 atasip (040211A).
U 2004/07/15 12:25:12.056963 200.80.35.6:25263 -> 200.80.35.17:5060 ACK sip:9903@200.80.35.17 SIP/2.0. Route: sip:demo@200.80.35.6:26198. Via: SIP/2.0/UDP 10.10.0.19:5060. From: ATA186_1 sip:ecolombo@arcotel.net;tag=3551834793. To: sip:9903@arcotel.net;user=phone;tag=3517445666. Call-ID: 2858614495@10.10.0.19. CSeq: 2 ACK. User-Agent: Cisco ATA 186 v3.1.0 atasip (040211A). Proxy-Authorization: Digest
username="ecolombo",realm="arcotel.net",nonce="40f6a2fec75c5e94e41551df450c5
8d95c645346",uri="sip :9903@arcotel.net",response="15cb50684f467e0c3144cfa68c678372". Content-Length: 0.
User-Agent: Cisco ATA 186 v3.1.1 atasip (040629A).
U 2004/07/15 11:23:27.392577 200.80.35.6:25263 -> 200.80.35.17:5060 ACK sip:demo@200.80.35.6 SIP/2.0. Route: sip:9903@200.80.35.17;ftag=335027039;lr=on. Via: SIP/2.0/UDP 10.10.0.19:5060. From: ATA186_1 sip:ecolombo@arcotel.net;tag=335027039. To: sip:9903@arcotel.net;user=phone;tag=1196191453. Call-ID: 3372571447@10.10.0.19. CSeq: 2 ACK. User-Agent: Cisco ATA 186 v3.1.1 atasip (040629A). Proxy-Authorization: Digest
username="ecolombo",realm="arcotel.net",nonce="40f69484a8e0e9df8bcd477930f1b
6188e0d79ce",uri="sip :9903@arcotel.net",response="a4e2468e2d5984d6cc9cc8a5487e767c". Content-Length: 0.
---------------------------------------------------------------------------- ----
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers