Its easy to treat "lr=X" the same as "lr" regardless of X. Its less easy to distinguish one unspecified set of values that mean TRUE from another unspecified set of values that mean FALSE.
Does anything known *ever* use "lr=X" for some value of X other than "on"?
PaulJiri Kuthan wrote:
Frankly Chris, this seems to be becoming a too academic discussion.
What matters is interoperability and running code. To achieve that,
robustness is a primary requirement and all BUTs are quite secondary.
(I'm now speaking more as an integrator rather than as a SIP spell-checker.) As a matter of fact, you will not be able to
deploy a working SIP network with many frequently used SIP devices
if you insist on empty lr today.
The only action item which can be drawn from this discussion is
an appeal for more robustness on all sides. Unfortunately, the incoveniently unforgiving stacks come from frequently deployed
products of large vendors with looooong code-fixing cycles.
A check-list for robust stacks would be:
- does a UAS return Record-Routes in replies as received in requests? - does a UA build Routes with URIs as in Record-Routes?
- is a UAS liberal and process all kinds of lr?
We are now launching an interop testing effort in SIP Forum, whose purpose will be to provide tools for assessment of SIP-compliance. That might help some vendors.
-jiri
At 05:35 PM 10/6/2003, Chris Boulton wrote:
I am all for robustness BUT a line has to be drawn in the ground at some
point. The BNF clearly states that if you want to use the lr-param then
it must be of the form
lr-param = "lr"
Anything, that falls outside of this must be consider an other-param. It is not reasonable for this to be interpreted as having the same meaning as the explicit expression in the BNF. Yes, it could mean something internally to your server BUT should not be expected to be interpreted correctly outside of this.
My server interprets lr=foo - I expect this to be treated the same as just 'lr', this just doesn't make sense to me.
Chris.
-----Original Message----- From: Jiri Kuthan [mailto:[EMAIL PROTECTED] Sent: 06 October 2003 16:00 To: Samir Srivastava; Salman Abdul Baset; Jan Janak Cc: [EMAIL PROTECTED] Subject: RE: [Sip-implementors] Is "lr=on" a correct syntax for the lr- param?
What is indeed clear is the robustness principle, stated in RFC0761: "be conservative in what you do, be liberal in what you accept from others". That's an immensly important practice which takes precedence over whatsoever.
As a matter of fact, there is a variety of UAs today failing to
implement
the principle. There are some prefering empty lr, some prefering lr=something. Particularly, a very popular softclient insists on non-empty lr's and discards empty lr's with 400. Also, a very popular PSTN gateway strips non-empty
lr
uri-parameters away, which is a clear spec violation.
We are liberal receivers with the server in question. As for the "what
you
other-paramdo" part -- we delegated the choice of empty versus non-empty lr to the operator as a config option. Alternatively, you can pick from a variety of hacks such as using a B2BUA which avoids forming record-routes by keeping session state.
Again, the root of problem is in stacks which violate the robustness priniciple.
-Jiri
At 02:23 AM 10/4/2003, Samir Srivastava wrote:
Hi,
If you see the BNF, it states clearly
lr-param = "lr"
So exactly "lr =On | Off" is incorrect syntax. You should not have looked into the defintion of other-param.
Also in the examples of RecordRoutes it states ";lr" only in section 16.12.1.1
Thx Samir
-----Original Message----- From: Salman Abdul Baset [mailto:[EMAIL PROTECTED] Sent: Friday, October 03, 2003 3:51 PM To: Jan Janak Cc: [EMAIL PROTECTED] Subject: Re: [Sip-implementors] Is "lr=on" a correct syntax for the lr-param?
See page 222 of rfc 3261 for definition of lr.
Only lr is required. This is correct since according to BNF it is not necessary to have a r-value
uri-parameters = *( ";" uri-parameter) uri-parameter = transport-param / user-param / method-param / ttl-param / maddr-param / lr-param /
parameterother-param = pname [ "=" pvalue ]
Salman
On Sat, 4 Oct 2003, Jan Janak wrote:
I disagree. This ";lr=on" thing has been implemented in the server
because
of other implementations that do not implement loose routing
correctly.
So it is not about older implementations, it is about new implementations.
Suprisingly many implementations cut off ;lr parameter (i.e.
only,without any value).
The specification says:
"If the route set is not empty, and the first URI in the route set
contains
the lr parameter"
It doesn't say anything about the value of the parameter, you just
need
to see if there is the lr parameter or not. And ;lr=on certainly is
the
lr parameter as well as ;lr
Some people complained that examples in the section contain ;lr
andbut examples are just examples...some older implementations have been known to use variations.
Jan.
On 02-10 13:47, Rob Phillips wrote:
No, it's not. The correct BNF position per 3261 is "lr", although
- rob
-----Original Message----- From: Franz Edler [mailto:[EMAIL PROTECTED] Sent: Thursday, October 02, 2003 1:45 PM To: [EMAIL PROTECTED] Subject: [Sip-implementors] Is "lr=on" a correct syntax for the lr-param?
Hi all,
I need the help of experts in identifying which side is correct
set.which
side has a bug: Microsoft Messenger 5.0 or Free World Dialup Server (0.8.11rc3)
The problem is the interpretation of the lr-param in the route
5bfollowingThis is the fact: When I connect with MS Messenger to [EMAIL PROTECTED] I get the
<sip:[EMAIL PROTECTED];ftag=acd8235d6b18416093ab224b18257dc7;lr=on>200 OK response:
SIP/2.0 200 OK Via: SIP/2.0/UDP 212.152.201.190:15448 Record-Route:
<sip:[EMAIL PROTECTED]>;tag=acd8235d6b18416093ab224b18257dc7;epid=From: "[EMAIL PROTECTED]"
Ibb18
e48e To: <sip:[EMAIL PROTECTED]>;tag=as75f23980 Call-ID: [EMAIL PROTECTED] CSeq: 2 INVITE User-Agent: Asterisk PBX Contact: <sip:[EMAIL PROTECTED]:5028> Content-Type: application/sdp Content-Length: 187
v=0 o=root 7610 7610 IN IP4 65.39.205.112 s=session c=IN IP4 65.39.205.112 t=0 0 m=audio 5438 RTP/AVP 3 101 a=rtpmap:3 GSM/8000 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-16
If you look at the Record-Route Header you can see "lr=on", which
URIassume
theshould mean the lr-param. But this is obviously not recognized as
target URIlr-param by MS messenger, because it does not place the remote
into the request URI of ACK. Instead it pushes the remote target
5binto
request URI,the Route header and uses the top URI from the route set as the
sip:[EMAIL PROTECTED];ftag=acd8235d6b18416093ab224b18257dc7;lr=onbecause it supposes the next proxy is a strict router:
ACK
<sip:[EMAIL PROTECTED]>;tag=acd8235d6b18416093ab224b18257dc7;epid=SIP/2.0 Via: SIP/2.0/UDP 212.152.201.190:15448 Max-Forwards: 70 From: "[EMAIL PROTECTED]"
bb18
e48e To: <sip:[EMAIL PROTECTED]>;tag=as75f23980 Call-ID: [EMAIL PROTECTED] CSeq: 2 ACK Route: <sip:[EMAIL PROTECTED]:5028> User-Agent: RTC/1.2 Content-Length: 0
I am not an expert in BNF, but the question is: Is "lr=on" a correct syntax for the lr-param?
Any help is appreciated.
Franz
_______________________________________________ Sip-implementors mailing list [EMAIL PROTECTED] http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors
_______________________________________________ Sip-implementors mailing list [EMAIL PROTECTED] http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors
_______________________________________________ Sip-implementors mailing list [EMAIL PROTECTED] http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors
_______________________________________________ Sip-implementors mailing list [EMAIL PROTECTED] http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors
_______________________________________________ Sip-implementors mailing list [EMAIL PROTECTED] http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors
_______________________________________________ Sip-implementors mailing list [EMAIL PROTECTED] http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors
_______________________________________________
Sip-implementors mailing list
[EMAIL PROTECTED]
http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors
_______________________________________________ Sip-implementors mailing list [EMAIL PROTECTED] http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors
_______________________________________________ Sip-implementors mailing list [EMAIL PROTECTED] http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors
