Cullen Jennings | 1 Aug 2005 01:12
Picon
Favicon
Gravatar

RE: comments on draft-ietf-sip-outbound


Many thanks for the comments - this I agree with you on this stuff. Will
bring up the major items as slides for tomorrow.

> -----Original Message-----
> From: sip-bounces <at> ietf.org [mailto:sip-bounces <at> ietf.org] On
> Behalf Of Jonathan Rosenberg
> Sent: Sunday, July 31, 2005 6:43 AM
> To: IETF SIP List
> Subject: [Sip] comments on draft-ietf-sip-outbound
>
> This draft is much improved from the previous version. Its an
> essential
> part of the SIP nat traversal story so I am glad to see that.
> Comments
> below, with big issues first.
>
>
> Bigger issues
>
> * I still like STUN even over TCP. It has the advantage of
> generating a
> response, and allowing the client to correlate the response to the
> request. See more below.

I had a long discussion with several TCP experts today and now fully
understand what is going on here. I agree and will recommend to the group
that we switch to STUN over TCP.

>
(Continue reading)

Tschofenig, Hannes | 1 Aug 2005 12:10
Picon

AW: tschofenig-sip-saml-04

hi cullen, 

thanks for your review. please find a few comments inline:

> Passing assertion and artifacts optimize different things. I 
> completely
> agree with the draft and we need to be able to do both. The 
> biggest problem
> seem to be how to bind this to the rest of the SIP message. 

exactly. this is the point. 

> Let me split
> this into three cases
> 
> 1) End to end
> 2) End to middle
> 3) middle to middle or end
> 
> In case 1, end to end, one way the binding can be done using 
> the Identity
> mechanism and putting the assertion or artifact in the body. 
> The Identity
> provides integrity binding to these rest of the message.

certainly true. 

> 
> Case 2 is like case 1 but you might want a header like the 
> end to middle
(Continue reading)

Paul Kyzivat | 1 Aug 2005 12:42
Picon
Favicon

Re: comments on draft-ietf-sip-refer-feature-param


Jonathan Rosenberg wrote:

> * The security considerations section talks about including only useful 
> feature parameters in the Refer-To; I think you need to spend some more 
> time in the body of the document describing what this means, and how you 
> figure out what is relevant

I would go further here. The absence of feature parameter doesn't mean 
the absence of the feature - it means only that no information is being 
stated about the feature. And its difficult to know what is relevant. So 
I think the best recommendation is that all known features SHOULD be 
specified.

	Paul

_______________________________________________
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

Paul Kyzivat | 1 Aug 2005 13:41
Picon
Favicon

Re: comments on draft-ietf-sip-outbound

Cullen,

Couple of points:

One thing I am struggling with relative to this draft is how to 
reconcile it with use of the config framework to bootstrap a device. 
This outbound stuff requires registering. But the config framework 
required doing some subscribes first, in order to discover where and how 
to register. But if this endpoint may be trapped behind a firewall, and 
needs the mechanisms of *outbound to get anywhere, how do we resolve that?

The endpoint can perhaps discover that it must use a particular proxy, 
and TCP or TLS to connect to it. Based on that it can establish a 
connection and do an initial SUBSCRIBE. But how do the NOTIFY messages 
get out to it?

The other issue has to do with avalance restart after a power failure 
that affects many UAs. Currently you specify that each UA should make an 
initial attempt to register as soon as it powers up. I think there needs 
to be some jitter applied to this initial startup. If a user is 
manipulating the UA and actively trying to do something that requires a 
connection then an immediate attempt is justified. If not, then some 
amount of time should be tolerable before trying to connect. That time 
is probably the same as the polling interval for determining if a 
connection has been lost. (Whatever is agreed to for that.)

	Paul

	Paul

(Continue reading)

Dean Willis | 1 Aug 2005 14:16
Favicon

Rough notes from SIP meeting session 1 at in IETF

My rough notes from today's SIP meeting are posted at:

http://www.softarmor.com/sipwg/meets/ietf63/notes/notes-dwillis-sip1- 
ietf63.html

Dean

_______________________________________________
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

Jean-Francois Mule | 1 Aug 2005 15:59
Favicon

RE: The security-flows document -- use it

Cullen, Kumiko,

   I believe this document is helpful: it looks at TLS implementation with the eyes of a sip developer (kind of
similar to the early RFC2818 for http folks).

   In the light of today's working group discussion, and per our brief chat with Cullen, here are a couple of
comments for your consideration on draft-jennings-sip-sec-flows-03.txt:

--- 1. Requirement section?
The document currently reads just like the sip call flow examples right now and may not lead folks to get the
main implementation gotchas you are seeing at sipit. Jonathan made a similar point at the mike.
If - as you pointed out at the mike - the intent of the document is to help implementers put the right attention
to some potentially obscure areas of tls/s-mime implementations, it would help abstracting those key
requirements in a separate, high-level sections with pointers to the relevant ietf rfcs & section. 
Another question I have is whether there might be some other "obvious" requirements that could be added,
similar to RFC2818 section 2.2 on error cases (if TLS error, at the SIP app level, how could/should it be handled?)

In short, consider moving section 6 on "testing notes" as the first section, and consider changing some of
the notes to actual requirements:
For e.g., replace
<  A common problem in interoperability is that some SIP clients do not
<  support TLS and only do SSLv3.  Check that the client does use TLS.
With something like
> SIP clients SHOULD/MUST support TLS [RFC2246] as defined in SIP []
>  section x.y. Note that TLS 1.0 and SSL 3.0 do not interoperate 
> (see RFC2246 for more details and section E on TLS' Backward
> Compatibility With SSL). 

----> you could potentially borrow more or less text but my preference would be to state a simple
requirement, then give the pointers. Would it be useful to also point to "HTTP Over TLS" RFC2818 and AES
(Continue reading)

Paul Kyzivat | 1 Aug 2005 18:14
Picon
Favicon

Re: comments on draft-ietf-sip-outbound

Another thing,

In sections 5.2 and 6.2 you make requirements for forwarding the request 
over the flow. If there is an edge proxy, then the registrar proxy will 
be routing using the Path or Route header, not according to the rules in 
this section. I'm sure that is what is intended, but I can't find any 
words to support it.

	Paul

Paul Kyzivat wrote:
> Cullen,
> 
> Couple of points:
> 
> One thing I am struggling with relative to this draft is how to 
> reconcile it with use of the config framework to bootstrap a device. 
> This outbound stuff requires registering. But the config framework 
> required doing some subscribes first, in order to discover where and how 
> to register. But if this endpoint may be trapped behind a firewall, and 
> needs the mechanisms of *outbound to get anywhere, how do we resolve that?
> 
> The endpoint can perhaps discover that it must use a particular proxy, 
> and TCP or TLS to connect to it. Based on that it can establish a 
> connection and do an initial SUBSCRIBE. But how do the NOTIFY messages 
> get out to it?
> 
> The other issue has to do with avalance restart after a power failure 
> that affects many UAs. Currently you specify that each UA should make an 
> initial attempt to register as soon as it powers up. I think there needs 
(Continue reading)

Kelley Sean-Q12059 | 1 Aug 2005 18:21

Comment on willis-sip-answeralert-00

Regarding the UAS procedures for handling the Answer-Mode value of "ManualReq", the draft indicates that the UAS SHOULD answer in manual mode, and the UAS SHOULD reject the request if it is unwilling or incapable of answering in manual mode.
 
However, there is a use case for Push to Talk (as it is being specified in OMA) that might justify changing these SHOULDs to SHALLs (similar to how the UAS procedures for handling AutoReq are currently defined).  The requesting user may not want their initial talk burst to be automatically played out from the called UA's speaker phone, due to privacy concerns of the calling user.  The common example is a mistress who does not want the call to be auto answered, for fear that the wife is present.  Another example is when the requesting user is concerned that he/she might be interupting the called user (i.e. calling user suspects that the called user is having lunch with a customer, or is in a meeting) and therefore wants to "politely" alert the user prior to the initial talk burst being played out, in order to giving the called user an opportunity to reject the call.  In each of these cases, the calling user's behavior is based upon a "guarantee" from the PoC service that their initial talk burst will only be played out if the called user manually accepts the call.
 
It also would seem more logical to have the semantics of "ManualReq" be truly "manual mode required", rather than the current "manual mode strongly recommended".
_______________________________________________
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
Chadha Retesh-A19894 | 2 Aug 2005 12:26

question rgding call hold

I have a query regarding call hold. I am not really sure if this is already discussed, but wanted an advice from the experts here.
 
Is the following call flow acceptable??
 
Make Call
    Invite -->
    200 ok <--
    ACK -->
Hold --->
    INVITE(sendonly) -->
    200 ok(recvonly) <---
    ACK -->
INVITE(sendrecv) <--- ??????
 
What should be the response to this INVITE request - 200ok with sendonly or 400 bad request?
Wont this INVITE mean, that the remote is trying to release local hold, which is unacceptable?
 
Also, i have not seen any rules regarding this in RFC 3261 or the sipping examples draft. Please redirect me to any other references, which talk about attribute modes in subsequent requests after call hold.
 
Thanks in advance
Retesh
_______________________________________________
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
Jonathan Rosenberg | 2 Aug 2005 12:34
Picon
Favicon

comments on willis-sip-answeralert

I've only followed some of the threads on this, so my apologies if some 
of this is redundant. I did a detailed read of the doc, here are my 
comments:

>   The syntax for the header fields defined in this document is:
>       Answer-Mode = "Answer-Mode" HCOLON answer-mode
>       answer-mode = "Manual" / "ManualReq" / "Auto" / "AutoReq"
>       Alert-Mode = "Alert-Mode" HCOLON alert-mode
>       alert-mode = "Normal" / "Null"

these are not extensible. I think you should make the list extensible.

>  A UAC supporting this specification indicates its support for this
>    extension by including an option tag of "answermode" in the Supported
>    header field of all requests it sends.

having a tag called "answermode" which indicates support for an 
extension that defines BOTH an answer mode and an alert mode seems 
confusing. Unless you plan on also defining an "alertmode" option tag, 
you should come up with a different name.

>  UA includes a SIP extension feature tag of "answermode" in the
>    Contact: header field of its REGISTER requests.  This usage of
>    feature tags is described in [5].

I don't understand why a new media feature tag is needed. It seems that 
you could do this with the existing "extensions" feature tag.

>  To require that the UAS either support this extension or reject the
>    request, the UAC includes a Required: header field having the value
>    "answermode".  Note that this does not actually force the UAS to

s/Required/Require

>  To request that retargeting proxies in the path preferentially select
>    targets that have indicated support for this extension in their
>    registration, a UAC includes an Accept-Contact header field having a
>    parameter of "answermode".  This usage of Accept-Contact is described
>    in [6].

I'd suggest better guidance on usage of caller prefs here. You list all 
of the combinations of require and explicit. I think its easier; if the 
request has a Require header field for answermode, you would use the 
"require" parameter. If not, then nothing.

>    existing header field in accord with local policy.  Note that this
>    may result in behavior that is inconsistent with user expectations,
>    such as having a call that was intended to be a diagnostic loopback
>    answered by a human, and consequently must be done very carefully.

why are we allowing this? as you say it seems like a recipe for trouble.

>  For a request having an Answer-Mode value of "Manual", the UAS SHOULD
>    defer accepting the request until the user of the UAS has confirmed
>    willingness to accept the request.  This behavior MAY be altered as
>    needed for unattended UAS or other local characteristics or policy.
>    For example, an auto-attendant system that always answers
>    automatically would go ahead and answer, despite the presence of the
>    "Manual" Answer-Mode header field value.

what about a pstn gateway?

>  unwilling to do so, it SHOULD reject the request with a "403
>    Forbidden" response and MAY include a Reason [7] header field value
>    of:
> 
>    Reason: SIP ;cause=403 ;text="manual answer forbidden"

well, folks know my opinion on this. See RFC3326:

2. The Reason Header Field

    The Reason header field MAY appear in any request within a dialog, in
    any CANCEL request and in any response whose status code explicitly
    allows the presence of this header field.

>  For a request having an Answer-Mode value of "Auto", the UAS SHOULD,
>    if the calling party is authenticated and authorized for automatic
>    answering, accept the request without further user input.  The UAS
>    MAY, according to local policy or user preferences, treat this
>    request as it would treat a request having a Answer-Mode with a value
>    of "Manual" or having no Answer-Mode header field.  If the calling

I am very uncomfortable with this wording. I think authorization is a 
MUST, and the text here doesnt make that clear.

>   this aspect into consideration.  In general, auto-answer is probably
>    NOT RECOMMENDED in environments that include forking.

What?? I disagree. I think it makes a ton of sense. The typical 
walkkie-talkie experience would result in a conference - thats the 
desired behavior we should specify.

>   Another alternative would be to use dynamic conferencing instead of
>    forking.  In this approach, instead of forking the request, a
>    conference would be initiated and all UAs invited into that
>    conference.  The mixer attached to the conference would then mediate
>    traffic flows appropriately.

These are not mutually exclusive; if a request forks, and you get 
multiple 200 OK - thats fine. The UAC would create a conference 
immediately, either through endpoint mixing or pushing everyone into a 
conference server.

>  Normal: The UAS is asked to treat the request as it normally would in
>       the absence of this specification and exercise whatever alerting
>       mechanism it might have and be configured to use.
>    Null: The UAS is asked to not alert its user to the request.

I think its worthwhile documenting somewhere the interactions of alert 
and answer modes - in particular, what combinations make sense?

 >  If the conclusion is to alert the user, the UAS invokes its preferred
 >    alerting mechanism.  If the conclusion is to not alert the user, the
 >    UAS proceeds to process the request.  Note that the decision of
 >    whether to accept the request is independent of the alerting
 >    decision, but one can generally not expect the user to make this
 >    decision unless the user has been alerted to the request.

I think you need more discussion of what a UAS does if it doesnt alert 
the user; how can it proceed with the call? Answermode is one thing, 
diagnostics are another, etc.

>    A UAS supporting this specification inserts a Answer-Mode header
>    field into the 200 OK response to an INVITE request when it wishes to
>    inform the UAC as to whether the request was answered manually or
>    automatically.  The full rationale for including or not including
>    this header field in a response is outside of the scope of this
>    specification.

I think you need to discuss it.

> Consequently, the UAS generally or its supporting proxy MUST
>    authenticate the sender of such requests, using mechanisms such as

If you are allowing proxies to do the authorization, you need a way to 
securely inform the UAS that it has been done. Otherwise, 
misconfiguration (proxy thinks UAS is authorizing, UAS thinks proxy is 
authorizing) can introduce attacks. I think we should strive for safety 
here; misconfiguration cannot easily cause an attack.

As you know, these attacks have been a MAJOR issue in bluetooth - let us 
be extremely cautious here.

Furthermore, the behavior of the UAS and proxy for authentication and 
authorization cannot only be documented in the security considerations 
section.

 From the IANA considerations:

>  The following rows shall be added to the "Option Tags" section of the
>    SIP Parameters registry:
> 
>    +----------------------+----------------------+---------------------+
>    | Name                 | Description          | Reference           |
>    +----------------------+----------------------+---------------------+
>    | answermode           | This option tag is   | [RFCXXXX]           |
>    |                      | used in a Requires   |                     |
>    |                      | header field to      |                     |
>    |                      | indicate that the    |                     |
>    |                      | UAS must support     |                     |
>    |                      | negotiation of       |                     |
>    |                      | answer mode.         |                     |
>    | alertmode            | This option tag is   | [RFCXXXX]           |
>    |                      | used in a Requires   |                     |

ok - so you have two option tags here. The doc only talks about one. 
Maybe a typo?

Also, no IANA registration for media feature tags, though I dont think 
you need them anyway.

minor things

>  SDP usage for this sort of flow is described in [11].  In this sort
>    of application, it may not be needful that the human using the node

may not be necessary

>   Req-5: It MUST be possible for UAC to indicate at least two different
>       priority levels for the desired answer mode.  We refer to these as
>       "normal" and "override" priorities.  In normal usage, we expect
>       that "normal" priority would be used in a user-to-user fashion,
>       whereas "override" priorities would be used for diagnostic
>       procedures or some sorts of emergency session establishment. 

this requirement says how priorities get used, but doesnt define what 
their semantics are.

> Req-8: It MUST be possible for the UAC to construct the request in
>       such a way that the routing proxy infrastructure, if present, will
>       select only contacts supporting the selection of answer modes.

This is clearly alluding to caller prefs. Its important to note that 
caller prefs genreally prefers to try a contact, even if you are unusure 
it supports a capability, rather than reject one you're not sure about. 
In this particular case, avoiding ringing these devices is an 
optimization. Thus, I think the requirement here is better worded as:

"...will prefer contacts supporting the selection of answer modes."

> Req-19: UAS SHOULD accurately represent the answering mode that was
>       applied, but MAY either not include this information or MAY
>       misinform UAC in order to maintain the privacy expectations of
>       UAS-user.  Consequently, applications MUST NOT rely on the
>       veracity of this information.

this seems like a requirement in the protocol itself, rather than a 
requirement for building a protocol.

-Jonathan R.

--

-- 
Jonathan D. Rosenberg, Ph.D.                   600 Lanidex Plaza
Director, Service Provider VoIP Architecture   Parsippany, NJ 07054-2711
Cisco Systems
jdrosen <at> cisco.com                              FAX:   (973) 952-5050
http://www.jdrosen.net                         PHONE: (973) 952-5000
http://www.cisco.com

_______________________________________________
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


Gmane