unsubscrib > From: [EMAIL PROTECTED]> Date: Sat, 1 Dec 2007 12:20:11 -0800> To: 
[EMAIL PROTECTED]> CC: [email protected]; [EMAIL PROTECTED]; [EMAIL PROTECTED]> 
Subject: [Sip] Re: WGLC comments on sip-outbound-10> > Hi Derek,> > I think I 
have addressed all your comments except the CRLF backward > compatibility, 
which I have fixed in my working copy. See below for > specifics.> > > On Aug 
6, 2007, at 3:46 PM, Derek MacDonald wrote:> > > I've finished my review of 
outbound-10, mainly thinking about things> > from a client implementation & NAT 
traversal perspective.> >> > Major issues:> >> > The following issues are all 
one part of what I think is the core> > issue w/ outbound; the draft does not 
require normative behavior that> > will result in successful NAT traversal, 
although it does contain the> > necessary mechanisms for NAT traversal> > In 
4.2 and 4.3 it is stated that route-set creation is outside the> > scope of 
outbound. The behavior that is would work for NAT traversal> > in a simple 
deployment is described as an example in 4.2.> > I think this is greatly 
improved in -11 by the following changes:> > outbound-11 now states that the 
edge proxy is expected to record- > route with a flow-token if the client 
includes an 'ob' parameter in > its Contact. If the client is using gruu, it 
uses the gruu instead > in its contact. The UA now also uses rport in all 
requests.> > I think this should be sufficient to insure responses (rport), > 
incoming requests (from Path flow token in REGISTER), and in-dialog > requests 
(from Record-Route flow token, or from a GRUU) all get back > to the UA.> > >> 
From 4.2:> >> > "Forming the route set for the request is outside the scope of> 
> this document, but typically results in sending the REGISTER such> > that the 
topmost Route header field contains a loose route to the> > outbound proxy 
URI."> >> > Are we really anticipating that an element will be inserted 
between> > the UA and the outbound proxy(s). Do we want to allow this?> > no 
and no. The "typically results in sending the REGISTER..." text > is there to 
allow the traditional usage of an outbound proxy, which > is to resolve the IP 
address, port, and transport and send it there > without including a Route 
header at all.> > > If there> > is such an element in the route set, it will 
either have to:> >> > Support outbound, which causes a single point of failure 
if there> > isn't a 1-1 correspondence with the edge proxies. If there is a 
1-1> > correspondence with the edge proxies, it is an edge proxy, so is> > 
should have just been configured as the outbound proxy.> >> > OR> >> > 
Transparently relay outbound, which seems like a very bad idea.> >> > I think 
we should change the text to something like:> >> > "While forming the route set 
for the request is outside the scope of> > this specification, the first 
element in the route set for a> > registration MUST be from the 
outbound-proxy-set in order to use this> > specification."> > I think the 
current text already require that the first element > visited (whether in the 
route set or not) is in the outbound-proxy-set.> > > Section 4.3 Discusses how 
a UA would send a request, but does not> > describe the basic behavior that 
would establish a dialog through a> > NAT.> >> > " When a UA is about to send a 
request, it first performs normal> > processing to select the next hop URI. The 
UA can use a variety of> > techniques to compute the route set and accordingly 
the next hop > > URI.> > Discussion of these techniques is outside the scope of 
this > > document> > but could include mechanisms specified in RFC 3608 [22] 
(Service> > Route) and [21]."> >> > If the next hop does not support outbound, 
and isn't an existing flow,> > a dialog establishing request will likely result 
in a route set which> > does not work through a NAT. The rport mechanism only 
provides NAT> > traversal for a single SIP response.> > correct. there is now 
text setting the responsibility clearly:> > If the registrar did not support 
outbound, the UA may have > > unintentionally registered an unroutable contact. 
It is the > > responsiblity of the UA to remove any inappropriate Contacts.> > 
> > "The UA performs normal DNS resolution on the next hop URI (as> > described 
in RFC 3263 [4]) to find a protocol, IP address, and > > port."> >> > As there 
is no mechanism to determine outbound support in other> > administrative 
domains, this lookup is only relevant to outbound if> > the UA knows next hop 
supports outbound.> > yes.> > > Later in the same paragraph:> >> > "If the UA 
cannot use one of the existing flows,then it SHOULD > > form a new flow> > by 
sending a datagram or opening a new connection to the next > > hop, as> > 
appropriate for the transport protocol."> >> > I was under the impression that 
flows are only created with REGISTER> > requests...is this incorrect?> > this 
has been changed in -11 to allow flows to be formed for dialog- > creating 
requests.> > > The crux of the issue is that to accomplish NAT traversal using> 
> outbound w/out extensions, the UA MUST send dialog creating requests> > using 
an existing flow(selected by round-robin for appropriate> > transport/etc). 
Furthermore, in 5.3, edge proxies MUST record route> > dialog creating 
requests. We need to change the base-level behaviour> > of outbound so NAT 
traversal just works, is this is a core requirement> > of outbound.> >> > 
Also:> >> > Note that if the UA wants its flow to work through NATs or> > 
firewalls it still needs to put the 'rport' parameter [10] in > > its> > Via 
header field value, and send from the port it is prepared to> > receive on. 
More general information about NAT traversal in SIP> > is described in [23].> 
>> > should be removed. [23] is very out of date, and references> > 
outbound-01, and I believe some of the text is out of date. Rport is> > not 
relevant when flows are used, although it doesn't cause any harm.> > rport is 
still relevant when flows are used, because outbound does > not change the 
rules in 3261 for forwarding responses.> > > Questions/minor issues:> >> > 
4.1:> >> > "The value of this parameter MUST be a URN [8]. One case> > where a 
UA may not want to include the URN in the sip.instance> > media feature 
tag..."> >> > Does this mean that a sip.instance feature tag is still included? 
If> > so, what does it contain?> > no, the whole parameter should be omitted. i 
think i reworded this > to make it more clear.> > > "As a result, the UA 
instance SHOULD provide lexically equivalent URNs> > in each registration it> > 
generates. "> >> > Why not MUST instead of SHOULD?> fixed> > > Nits> >> > 
Explain why the CRLFCRLF & CRLF messages used for the PING/PONG don't> > break 
existing SIP implementations. I spent a lot of time looking> > through the 
grammar before I gave up and asked Rohan and pointed me to> > section 7.5 of 
3261. I would reference this section in 3.5.1 and/or> > 4.4.2.> > bummer. I 
forgot to include this in -11. I have added this in my > working copy to 
section 3.5.1 as follows:> > Sending a CRLF over a connection-oriented 
transport is> > backwards safe (because of requirements in Section 7.5 of > > 
RFC 3261),> > but only implementations which support the 'keep' > > parameter 
will> > respond to a "ping" with a "pong".> > > > 2.1> >> > "reg-id: This 
refers to the value of a new header field parameter> > value for the Contact 
header field. When a UA registers > > multiple> > times, each simultaneous 
registration gets a unique reg-id > > value."> >> > change simultaneous to 
concurrent:> >> > "reg-id: This refers to the value of a new header field 
parameter> > value for the Contact header field. When a UA registers > > 
multiple> > times, each concurrent registration gets a unique reg-id value."> 
fixed> > > 3.3> >> > "If a UA has multiple flows, and one of the servers fails, 
the UA> > delays the specified time before trying to form a new connection to> 
> replace the flow to the server that failed."> >> > This implies that if the 
UA only has one flow, it retries immediately> > which doesn't match the 
behaviour described in 4.5. Maybe:> >> > "When a server fails the UA will delay 
before attempting to> > re-establish a flow, using the delays specified in 
section 4.5."> > fixed> > > 3.5> >> > Change(awkward):> >> > "In this case, the 
server provides an indicator (the> > 'timed-keepalives' parameter) that the 
server requires the > > client to> > use the suggested timer values."> >> > to> 
>> > "In this case, the server indicates that the client must use the> > 
suggested timer values by including the timed-keepalives parameter."> > i think 
the original text (while uglier) is more clear.> > > 4.1> >> > "This means the 
value of the time component of the UUID can be> > arbitrarily selected to be 
any time less than the time when the> > device was manufactured. A time of 0 
(as shown in the > > example in> > Section 3.2) is perfectly legal as long as 
the device knows no> > other UUIDs were generated at this time."> >> > I found 
this extremely confusing; I think it is saying that the time> > component isn't 
necessary(but can't be in the future) if the device> > already has a unique mac 
address it includes in the UUID. Why not just> > say that a time of 0 can be 
used if the device is guaranteed to have a> > unique MAC address at 
construction time?> > The UA can't use time zero, if the UA generates multiple 
instance-ids > and uses time zero for all of them.> In the absence of better 
text, I left it as is.> > thanks,> -rohan> > > > > > 
_______________________________________________> Sip mailing list 
https://www1.ietf.org/mailman/listinfo/sip> This list is for NEW development of 
the core SIP Protocol> Use [EMAIL PROTECTED] for questions on current sip> Use 
[EMAIL PROTECTED] for new developments on the application of sip
_________________________________________________________________
Connect to the next generation of MSN Messenger 
http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline
_______________________________________________
Sip mailing list  https://www1.ietf.org/mailman/listinfo/sip
This list is for NEW development of the core SIP Protocol
Use [EMAIL PROTECTED] for questions on current sip
Use [EMAIL PROTECTED] for new developments on the application of sip

Reply via email to