Hadriel Kaplan writes:

 > > openser takes care of udp UAs behind NATs, so to openser UAs stun
 > > provides no added value.  it just complicates the UA implementation.
 > 
 > But there is a reason.  As the proxy, you can't currently know
 > whether a UA will send CRLF or not automatically.  The proxy can send
 > stuff down that TCP connection to try to keep it open from the
 > outside, but that has failure issues, not the least of which is the
 > UA is the only one that can re-open the TCP connection and so really
 > the UA has to be smart enough to (1) detect the failure, and (2)
 > trigger itself to re-open it if it failed. 

you didn't read carefully enough what i wrote in above.  i wrote "udp
UAs", not "tcp UAs".  for tcp UAs, as you point out, openser cannot do
anything to solve their nat problem.  they have to do it themselves by
using CRLF keepalives, which they can start sending without permission
from the proxy.

 > The most common way I know of to do that today is by making the UA
 > send Registers frequently, because that accomplishes both (1) and
 > (2), in all cases and on all transports.  A double-CRLF or STUN is
 > theoretically more efficient to process than a Register, so in theory
 > it should scale better.  So what the proxy needs is a way to know
 > that the UA will do one of those keepalive methods, to do (1) and
 > (2), and can avoid making the UA send Registers as frequently.  Ergo,
 > this keep param is good for a proxy.

as i have told, udp UAs are handled by the proxy without any kind of
keepalive or outbound support in the UAs.  sending registers at 20 sec
frequency is not a possible solution.

if UA is behind tcp, it can keep its nat hole open by sending CRLFs with
or without getting CRLFs back from the proxy.  if a UA is not able to
send CRLFs, the best solution is to not use such UAs.  if that is not
acceptable, then the UA may choose to send registers at such a frequency
that is enough to keep UAs tcp hole open, e.g., at 20 minutes.

in either case, the proxy does not need to know anything about UAs
keepalive capability and can completely ignore the keep draft.

 > Obviously the proxy could instead guess, by seeing a CRLF from a UA
 > and thus backing off the Register frequency, but that assumes the UA
 > will send the CRLF even though it's doing frequent Registers (which
 > not all do).  So that's a chicken/egg problem we can avoid with this
 > simple param.

see above.

 > Then of course there's a proxy-proxy connection, which this draft
 > will also enable keepalives for.

you mean one proxy is behind nat and the other one is not?

-- juha
_______________________________________________
Sip mailing list  https://www.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