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
