[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Sip] Outbound - a new STUN keealive proposal
Hi,
Rohan and I spent some time this afternoon trying to find a proposal
that makes more people happy than the other proposals mentioned about
STUN keepalive handling. We did this because some people expressed
concern or displeasure about one proposal or another, but keep in
mind that both of us are fine with the draft as is, in regards to
this topic.
What we are proposing is the following:
1) We already agreed to move the STUN keepalive definition to a
separate section. This makes it clear how to use STUN keepalives
even for implementations that do not use the rest of outbound. This
is agreed - we are doing it, just listing it here for completeness.
2) Following the basic principle of "do no harm", we propose adding
text to tell UAs that if an initial STUN request and its
retransmissions fail, the UA MUST stop sending STUN requests to this
destination. The details of how to specify this will be difficult to
articulate succinctly, but we'd like to get agreement to this idea in
principle. The difficulty is that if a flow fails completely, this
is not necessarily indicative that the server has forgotten how to do
STUN.
3) In the same vein, we propose adding text to make it clearer that a
UA MUST NOT send STUN requests unless it has an explicit indication
that the target SIP server supports STUN. We can further clarify that
UA implementations should not have an ambiguous manual configuration
option such as a "Work with NATs?" checkbox that would cause STUN
keepalives to be used blindly. Manual configuration of an outbound
URI that includes the ";keealive=stun" parameter is considered an
explicit indication.
Now on to the new part of the proposal...
4) In the STUN keepalive section of the document, define a "sip-stun"
option-tag and describe its semantics (this server can receive STUN
messages and SIP messages on the same port). Describe that an OPTIONS
message MAY be used to probe or verify if a specific server supports
sip-stun. Future specifications can define other uses of this option-
tag. This leaves our options open as a WG.
5) In the outbound portion of the draft, make it clear that the first-
hop proxy MUST support the "sip-stun" option-tag. (If the UA probes
the first-hop, the probe needs to succeed).
6) Also in the outbound section of the draft, explain that that it is
NOT RECOMMENDED for a UAC to include a Proxy-Require header field
with the sip-stun option-tag. This is because the request would fail
in some topologies where the first proxy supports sip-stun but
subsequent proxies do not. Remind implementors that RFC 3261 does not
allow proxies to remove option-tags from a Proxy-Require header field.
To summarize this proposal:
- It does no harm: It insures STUN is only used when explicitly
configured and provides supportive implementation guidance, and it
stops sending STUN if the server does not respond to initial STUN
traffic.
- It leaves our options open, while allowing outbound to progress:
It keeps the door open for future explicit discovery mechanisms, and
allows other potential uses of STUN keepalives.
- It works.
Please reply to the list or to (the chairs and authors) with one of
the following choices:
a) This is fine/good/OK
b) I can live with this proposal, but prefer omitting the "sip-stun"
option-tag
c) I object (please provide reasons)
d) I don't care, just please finish the document
Thanks, Cullen & Rohan
_______________________________________________
Sip mailing list https://www1.ietf.org/mailman/listinfo/sip
This list is for NEW development of the core SIP Protocol
Use sip-implementors at cs.columbia.edu for questions on current sip
Use sipping at ietf.org for new developments on the application of sip