Hello Nicolas,
another mail from me, one more thing you should verify. Here you have ngrep from my proxy1 that is directly connected to the Cisco 7960. I stripped everything unimportant from this to enhance readability:
# U 2004/09/16 18:57:34.088150 proxy1:5060 -> cisco7960:5070 SIP/2.0 200 OK. Contact: sip:07154802860@gw1;user=phone. Record-Route: sip:+497154802860@proxy3:5070;lr, sip:+497154802860@proxy2:5070;lr, sip:07154802860@proxy1;lr.
The Cisco 7960 receives the OK message from proxy1. It contains the Contact field and the Record Route Fields for the proxy chain to the gateway. Note that all Record Route Fields contain the ;lr parameter (or ;lr=on in your case). The next step is the ACK from the Cisco 7960.
# U 2004/09/16 18:57:34.298054 cisco7960:5070 -> proxy1:5060 ACK sip:07154802860@proxy1:5060;lr SIP/2.0. Route: sip:+497154802860@proxy2:5070;lr, sip:+497154802860@proxy3:5070;lr, sip:07154802860@gw1:5060;user=phone. .
As you can see, it does not follow the Loose Route definitions. The ACK Request-URI does not equal the Contact from the preceeding 200 OK. Instead it contains the first hop (thus the last entry) of the Record Route Field from the 200 OK. As you can also see, it added the Contact Field from 200 OK at the End of the Route Field, without the ;lr parameter! This is absolutely fine behaviour. Now watch what happens when the proxy processes this message with loose_route():
# U 2004/09/16 18:57:34.301417 proxy1:5060 -> proxy2:5070 ACK sip:+497154802860@gw1:5060;user=phone SIP/2.0. Route: sip:+497154802860@proxy2:5070;lr, sip:+497154802860@proxy3:5070;lr. .
The proxy detects that the last entry of the Route Field does not contain the ;lr parameter, so it sets this last entry as Request-URI for the ACK message to the next proxy and removes this from the Route Field. From now on we have perfectly fine Loose Routing, even though the Cisco does not care about it. It should not matter for the further processing of the request in the proxy chain.
You have to debug your messaging chain at all devices to find out what is going wrong. I really can't see the Cause of the error. Maybe it's related to the NAT-traversal you are performing.
Regards, Martin
-----Original Message----- From: Nicolas RUIZ [mailto:nruiz@vivaction.com] Sent: Thursday, September 16, 2004 5:05 PM To: 'Martin Koenig' Cc: jan@iptel.org Subject: RE: [Serusers] Please help : how to disable losse routing ???
thanks for your help,
80.118.128.1 : GATEWAY CISCO AS5300 80.118.128.5 : SER IPTEL 192.168.254.7 : IP@ PRIVATE AUDICODES UA 192.168.254.12 : IP@ PRIVATE CISCO IPPHONE UA
-----Message d'origine----- De : Martin Koenig [mailto:martin.koenig@toplink-plannet.de] Envoyé : jeudi 16 septembre 2004 16:59 À : nruiz@vivaction.com Objet : RE: [Serusers] Please help : how to disable losse routing ???
Hi Nicolas,
Ah, please give me again the specs of which IP is which device.
Thanks, Martin
-----Original Message----- From: Nicolas RUIZ [mailto:nruiz@vivaction.com] Sent: Thursday, September 16, 2004 4:50 PM To: 'Martin Koenig' Cc: jan@iptel.org Subject: RE: [Serusers] Please help : how to disable losse
routing ???
No i dont think so. I join ETHEREAL DUMP, look at the line : 8, if is possible.
thanks a lot
-----Message d'origine----- De : Martin Koenig [mailto:martin.koenig@toplink-plannet.de] Envoyé : jeudi 16 septembre 2004 16:41 À : nruiz@vivaction.com Objet : RE: [Serusers] Please help : how to disable losse
routing ???
Are you doing any transformation of the userpart of the sip uri (the part in front of the @) at the proxy server? For me this was the problem. Right now, i really can't figure out the problem.
-----Original Message----- From: Nicolas RUIZ [mailto:nruiz@vivaction.com] Sent: Thursday, September 16, 2004 2:47 PM To: 'Jan Janak'; 'Martin Koenig' Cc: serusers@lists.iptel.org Subject: RE: [Serusers] Please help : how to disable losse
routing ???
If I have a Cisco Ip phone 7940 with the last code (Loose routing : RFC 3261), a proxy registar Linux IPTEL ser (RFC 3261) and a Gateway Cisco AS5300 (IOS Code 12.3(6a)). And I have see that the IOS code of my gateway AS5300 is not according to RFC3261.
And my problem, is :
My cisco IPPHONE with Loose routing mode, send the invite to the proxy, and the proxy send the invite to the gateway. But when the IPPHONE send the ACK, he send with this
request line :
REQUEST-LINE : ACK sip:0675313859@80.118.128.1:5060 SIP/2.0
And the IP@ is my gateway cisco, and i think, with my AS, i cannot USE SIP RFC 3261??? YES OR NOT???
And that, i want to set iptel to do only strict routing.
thanks a lot for your help.
Nicolas RUIZ
CONF IPTEL SER:
#modparam("rr", "enable_full_lr", 1)
# ------------------------- request routing logic
# main routing logic
route{ # initial sanity checks -- messages with # max_forwards==0, or excessively long requests if (!mf_process_maxfwd_header("10")) { sl_send_reply("483","Too Many Hops"); break; }; if ( msg:len > max_len ) { sl_send_reply("513", "Message too big"); break; };
# we record-route all messages -- to make sure that # subsequent messages will go through our proxy; that's # particularly good if upstream and downstream entities # use different transport protocol record_route(); # loose-route processing if (loose_route()) { t_relay(); break; };
-----Message d'origine----- De : Jan Janak [mailto:jan@iptel.org] Envoyé : jeudi 16 septembre 2004 11:03 A : Martin Koenig Cc : nruiz@vivaction.com; serusers@lists.iptel.org Objet : Re: [Serusers] Please help : how to disable losse
routing ???
I am using 7960 myself and do not have any problems, please
send ngrep
dumps.
Jan.
On 16-09 10:48, Martin Koenig wrote:
I'm seeing some strange loose routing behaviour with my
testing Cisco 7960
phone. I'm trying to put ngreps on the list as soon as i
have the time.
Maybe this is a cisco-specific problem?
Regards, Martin
-----Original Message----- From: Nicolas RUIZ [mailto:nruiz@vivaction.com] Sent: Tuesday, September 14, 2004 12:03 PM To: 'Jan Janak' Cc: 'Jiri Kuthan'; franz.edler@utanet.at; 'Martin Koenig [toplink-plannet GmbH]'; serusers@lists.iptel.org Subject: RE: [Serusers] Please help : how to disable
losse routing ???
OK,
Thanks a lot for your support
Best regards
Nicolas RUIZ VIVACTION FRANCE, PARIS
-----Message d'origine----- De : Jan Janak [mailto:jan@iptel.org] Envoyé : mardi 14 septembre 2004 11:44 A : Nicolas RUIZ Cc : 'Jiri Kuthan'; franz.edler@utanet.at; 'Martin Koenig [toplink-plannet GmbH]'; serusers@lists.iptel.org Objet : Re: [Serusers] Please help : how to disable losse
routing ???
On 13-09 16:41, Nicolas RUIZ wrote:
Thanks for your help,
That's right, My gateway cisco is not according to RFC
3261, and that's why
, I want to use only strict-routing.
Loose routing is backwards compatible, it should work
even if the
gateway does not support loose routing. The problem must be somewhere else, presumably one of the end-points is broken.
And if I want to use "record_route_strict", I have to
rebuild the module rr
or not?
Yes.
Jan.
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers