Re: [martini] I-D Action:draft-ietf-martini-gin-04.txt

Adam Roach <adam@nostrum.com> Mon, 21 June 2010 21:47 UTC

Return-Path: <adam@nostrum.com>
X-Original-To: martini@core3.amsl.com
Delivered-To: martini@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id E86AA28C139 for <martini@core3.amsl.com>; Mon, 21 Jun 2010 14:47:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.94
X-Spam-Level:
X-Spam-Status: No, score=-1.94 tagged_above=-999 required=5 tests=[AWL=-0.540, BAYES_00=-2.599, HTML_MESSAGE=0.001, J_CHICKENPOX_42=0.6, J_CHICKENPOX_45=0.6, SPF_PASS=-0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ztD2Pui5KDdF for <martini@core3.amsl.com>; Mon, 21 Jun 2010 14:47:29 -0700 (PDT)
Received: from nostrum.com (nostrum-pt.tunnel.tserv2.fmt.ipv6.he.net [IPv6:2001:470:1f03:267::2]) by core3.amsl.com (Postfix) with ESMTP id B727A3A68E3 for <martini@ietf.org>; Mon, 21 Jun 2010 14:47:28 -0700 (PDT)
Received: from dn3-228.estacado.net (vicuna-alt.estacado.net [75.53.54.121]) (authenticated bits=0) by nostrum.com (8.14.3/8.14.3) with ESMTP id o5LLlV38047916 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 21 Jun 2010 16:47:31 -0500 (CDT) (envelope-from adam@nostrum.com)
Message-ID: <4C1FDDF3.8000902@nostrum.com>
Date: Mon, 21 Jun 2010 16:47:31 -0500
From: Adam Roach <adam@nostrum.com>
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.1.10) Gecko/20100512 Thunderbird/3.0.5
MIME-Version: 1.0
To: Christer Holmberg <christer.holmberg@ericsson.com>
References: <20100617230001.7BCAB3A6B2F@core3.amsl.com> <A444A0F8084434499206E78C106220CAE6057AB0@MCHP058A.global-ad.net> <4C1BF7EC.7000000@nostrum.com> <A444A0F8084434499206E78C106220CAE7C4C848@MCHP058A.global-ad.net> <FF84A09F50A6DC48ACB6714F4666CC7466CD37E118@ESESSCMS0354.eemea.ericsson.se>, <4C1F81D2.5080501@nostrum.com> <FF84A09F50A6DC48ACB6714F4666CC7466CD5175F1@ESESSCMS0354.eemea.ericsson.se>
In-Reply-To: <FF84A09F50A6DC48ACB6714F4666CC7466CD5175F1@ESESSCMS0354.eemea.ericsson.se>
Content-Type: multipart/alternative; boundary="------------030802080505020502050403"
Received-SPF: pass (nostrum.com: 75.53.54.121 is authenticated by a trusted mechanism)
Cc: "martini@ietf.org" <martini@ietf.org>
Subject: Re: [martini] I-D Action:draft-ietf-martini-gin-04.txt
X-BeenThere: martini@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Discussion of en-mass SIP PBX registration mechanisms <martini.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/martini>, <mailto:martini-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/martini>
List-Post: <mailto:martini@ietf.org>
List-Help: <mailto:martini-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/martini>, <mailto:martini-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 21 Jun 2010 21:47:31 -0000

Christer:

I think you've gotten really far off into the weeds here. Let's look at 
section 5.3 closely. The first paragraph talks gives you the proper scope:

    [T]o avoid any ambiguity in handling at the SIP-PBX, the following
    normative behavior is imposed on its interactions with the SSP.

So, what we're talking about here is the registration process between 
the SIP-PBX and the SSP.

Registration.

Only registration.

Nothing but registration.

Just registration.

Which is only coming from the PBX.

Now, let's look at the the next sentence:

     When a SIP-PBX registers with an SSP using a "bnc" contact, that 
contact MUST NOT include a "user" parameter.

That's a restriction on the PBX. During registration, the PBX is not 
allowed to send a "user" parameter on a Contact URI that also has a 
"bnc" parameter. Pretty straightforward stuff, really.

    An SSP registrar that receives such a URI...

(that is, a URI with both "bnc" and "user" parameters)

    ... MUST either discard the "user" parameter and process the request 
as if the
    parameter were not present or return a 400 (Bad Request) error in 
response.

Now, we're still in a sentence talking about getting both a "bnc" 
parameter (WHICH CAN ONLY HAPPEN IN A REGISTER MESSAGE FROM THE SIP-PBX) 
and a "user" parameter. So this restriction can only ever apply to a 
REGISTER message that an SSP gets from a PBX.

Does that clear things up for you?

/a


On 6/21/10 4:28 PM, Christer Holmberg wrote:
> Hi,
>
>>> Q1. As far as I remember, RFC 3261 defines an "ip" default value for 
>>> the user parameter, so I guess some parsers could include it by default.
>>
>>
>> And, if they're going to be used in a SIP-PBX that uses GIN for
>> registration, they need to be changed. (To reiterate the arguments that
>> started this thread in the first place: it would be questionable to
>> include a "user" parameter on a URI that has no user portion. And these
>> won't. So I doubt your theoretical case exists.)
>
> I am talking about the SSP procedure. Is there a spelling error in 
> section 5.3?
>
>
>>> Q3. 400 Bad Request is sent because of "malformed syntax". Is that 
>>> really the case here? I think we are talking about a service error, 
>>> or a unknown destination error, or something similar.
>>
>>
>> Pretty much, yes. Again, the objection that started this whole
>> bike-shed-painting exercise was an assertion that inclusion of a "user"
>> parameter on a SIP URI with no user portion was syntactically invalid.
>> So I think "400" is the right way to go.
>
> I agree that a SIP URI with no user portion, and user=phone, is invalid.
>
> But, I don't think user=ip is invalid. Can you show some text/ABNF 
> which shows that?
>
>
>>> Q4. I am a little concerned with the rejecting the message in the 
>>> first place. If the SSP does this, I believe it would reject at 
>>> least more or less every call coming from PSTN, because every MGC I 
>>> am aware of does insert user=phone in the Request-URI.
>>
>>
>> What?
>>
>> No.
>>
>> No, no, no, no, no, no, no, no, no.
>>
>> It's *not* getting requests with "bnc" on them from anywhere but SIP-PBX
>> registrations. This doesn't even slightly apply to the case you're
>> describing.
>
> Again, I am not talking about the SIP-PBX, but the SSP, which can get 
> the request from wherever.
>
>
>>> Q5. One could claim (and I think Cullen did) that +123 is the same 
>>> with or without user=phone. But, if the userpart contains some 
>>> tel-uri parameter the meaning is not the same. For example:
>>
>> +1234;param=blah with user=phone is *not* the same as 
>> +1234;param=blah without user=phone.
>>
>> It could be. That's a site-local decision to make. "user=phone" is 
>> just as ambiguous in both cases.
>
> user=phone means that the userpart shall be parsed as a tel URL. Of 
> course a site COULD decide to do that also in other cases.
>
> Regards,
>
> Christer
>
>
>
>>> -----Original Message-----
>>> From: martini-bounces@ietf.org
>>> [mailto:martini-bounces@ietf.org] On Behalf Of Elwell, John
>>> Sent: 21. kesäkuuta 2010 9:25
>>> To: Adam Roach
>>> Cc: martini@ietf.org
>>> Subject: Re: [martini] I-D Action:draft-ietf-martini-gin-04.txt
>>>
>>> Thanks, that's fine.
>>>
>>> John
>>>
>>>
>>>> -----Original Message-----
>>>> From: Adam Roach [mailto:adam@nostrum.com]
>>>> Sent: 18 June 2010 23:49
>>>> To: Elwell, John
>>>> Cc: martini@ietf.org
>>>> Subject: Re: [martini] I-D Action:draft-ietf-martini-gin-04.txt
>>>>
>>>> On 6/18/10 5:28 AM, Elwell, John wrote:
>>>>
>>>>> Changes look good in general. I noticed the following in 5.3:
>>>>>
>>>>> "An SSP registrar that
>>>>> receives such a URI MAY discard the "user" parameter
>>>>>
>>>> and process the
>>>>
>>>>> request as if the parameter were not present.
>>>>>
>>>> Alternately, it MAY
>>>>
>>>>> return a 400 (Bad Request) error in response.
>>>>>
>>>>> Note that this requirement is talking about the user
>>>>>
>>>> parameter of
>>>>
>>>>> a URI:"
>>>>>
>>>>> 1. Instead of two "MAY"s, would it be better to have a
>>>>>
>>>> "MUST do either ... or ..."? The present formulation allows other
>>>> behaviours - I don't know whether we intend that or not.
>>>>
>>>>>
>>>>>
>>>> I kind of did, but really only for one set of circumstances
>>>> -- I didn't
>>>> want to disallow other valid error codes (e.g., 5xx
>>>> codes) in this circumstance. But I can make that explicit:
>>>>
>>>> An SSP registrar that
>>>> receives a "bnc" URI with a "user" parameter MUST
>>>>
>>> either discard
>>>
>>>> the
>>>> "user" parameter and process the request as if the
>>>>
>>> parameter were
>>>
>>>> not
>>>> present or return a 400 (Bad Request) error in response (unless
>>>> some
>>>> other error code is more appropriate).
>>>>
>>>>
>>>>> 2. In the note, what exactly does "this requirement" apply
>>>>>
>>>> to? Presumably the "MUST" that came earlier, although if we do as I
>>>> suggest in 1, we would end up with a second MUST, so we
>>>>
>>> might need to
>>>
>>>> say "these requirements". Depending on the resolution of 1, I think
>>>> the note could do with some clarification.
>>>>
>>>>>
>>>>>
>>>> Yes, the note was written prior to some expansion of that
>>>>
>>> paragraph.
>>>
>>>> I've revised it to read:
>>>>
>>>> Note that the preceding paragraph is talking about the "user"
>>>> parameter of a URI:
>>>>
>>>> sip:+12145550100@example.com;user=phone
>>>> ^^^^^^^^^^
>>>>
>>>> There was some similar text in 5.2 (regarding user
>>>>
>>> portions) that I'm
>>>
>>>> updating in a congruent fashion.
>>>>
>>>> /a
>>>>
>>>>
>>> _______________________________________________
>>> martini mailing list
>>> martini@ietf.org
>>> https://www.ietf.org/mailman/listinfo/martini
>> >