I guess it's because just about all other parameters have a value, so people 
wrote their parsers to expect ";some_parameter=some_value" and then when they 
came across ";lr", they thought, "my parser won't like this, so I'll just stick 
a value in there".

Of course, that's pure speculation.

But anyway, the practice of lr=anything is wrong.

Unfortunately, this incorrect behaviour has been so widely-implemented, SIP 
equipment now has to interpret ";lr=1", ";lr=on" and ";lr=true" (and 
;lr=anyvalue) to all mean ";lr" otherwise you get interop problems.

Regards,
Attila



-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Iñaki Baz 
Castillo
Sent: 26 November 2008 21:42
To: [email protected]
Subject: [Sip-implementors] Why so many implementations expect "; lr=on" or 
";lr=yes" instead of just "; lr"?

Hi, AFAIK loose routing is exclusively defined in RFC 3261, and it's clear and 
explained in *all* the examples and BNF section that "lr" has no value:

  lr-param          =  "lr"
  <sip:proxy1>,<sip:proxy2>,<sip:proxy3;lr>,<sip:proxy4>

So I wonder why there are various SIP devices that only do loose route if the 
Route/Record-Route header has a parameter like:
  ;lr=on
  ;lr=yes

Of course it's a vendor issue, but... why is this error so common? any historic 
reason I miss?

Thanks.

--
Iñaki Baz Castillo

_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to