Re: [Dime] RFC4006bis - Subscription-Id-Extension AVP

Misha Zaytsev <misha.zaytsev.rus@gmail.com> Tue, 31 January 2017 20:07 UTC

Return-Path: <misha.zaytsev.rus@gmail.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F28C5129A16 for <dime@ietfa.amsl.com>; Tue, 31 Jan 2017 12:07:17 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.699
X-Spam-Level:
X-Spam-Status: No, score=-2.699 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Wb5K0j9Fj5Lz for <dime@ietfa.amsl.com>; Tue, 31 Jan 2017 12:07:15 -0800 (PST)
Received: from mail-lf0-x22a.google.com (mail-lf0-x22a.google.com [IPv6:2a00:1450:4010:c07::22a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 85CB9129537 for <dime@ietf.org>; Tue, 31 Jan 2017 12:07:14 -0800 (PST)
Received: by mail-lf0-x22a.google.com with SMTP id v186so217514428lfa.1 for <dime@ietf.org>; Tue, 31 Jan 2017 12:07:14 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=YlLiQgCuG7EiIGH04n/8P+ZOhYTgEnd+TIp3vvUyUxQ=; b=OGFUlC4cRKCmsJUGAuVSLnnyY6ZdcMq2NGux+vcvr9iWOex2RB9IVhheX+e368zpAu Lfs80XTGd921et5Kca6oOUKg0J7zIAZznnfy2EsCkByg6UO6XZUzWqubwE6YW9tS9Wc2 k1Xm7BVM6zdtzv7jZ0WZclRqsCy9kExafUXjTg+RBLEj2yFzq8oy723IWIuUvOXNtdXm YlebfVv8ugWz0QBktWaVe4FxWB9cfckM0nnMFGv0DICvGFKw7NWJEypStoDnfgiGWg1r jcGjMqPw1UiKVjev7ZBIQMRBKkO1dGmvZKA0WsMvIpTg1UAPfFH8hmOLWOA5wfGlDnks sIIg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=YlLiQgCuG7EiIGH04n/8P+ZOhYTgEnd+TIp3vvUyUxQ=; b=c1p6a9FxZk9XeKisTZsBVB78gysMeDL34XTMWArD/7OVHUF7vVXka5fNwuhv7eBqIb 0padZmxAMTei/2DUPqPpmMV7v2OxxV58KET0D9Q2oekpixbnljO+Nm5oXF6CHoAeJycA eI2e4JiPEQkWw43HSAVZy4J35KmcKX9jcZlrMdWMdXtVR60vChhfA2QPh7T5B6V/bEsc 2a5Z6JsyAlYc1jZb5OhJDaObLxVA1lAT/yvwA0g6WMu1Y06Ry7jM6reuoLhJMkFWSzOy EUGFuXj1qFyz3yi+NU/NYRdq6nwLQWu0Olfhcc/vM7Irbliyvp3XbKrPzt0uhTbpoG/i BwRA==
X-Gm-Message-State: AIkVDXIZpIdt5ArmQLEOV8sx4X1VMXT/v9kD0fy+XKSxiFKsrSdgys6QJJalpy3/4EQSX82q2PSLp+TrQHLvLg==
X-Received: by 10.46.72.18 with SMTP id v18mr10183056lja.5.1485893232427; Tue, 31 Jan 2017 12:07:12 -0800 (PST)
MIME-Version: 1.0
Received: by 10.25.228.12 with HTTP; Tue, 31 Jan 2017 12:07:11 -0800 (PST)
In-Reply-To: <C43C255C7106314F8D13D03FA20CFE497002DB6B@wtl-exchp-1.sandvine.com>
References: <C43C255C7106314F8D13D03FA20CFE497000AF59@wtl-exchp-1.sandvine.com> <HE1PR0701MB28573F830861577D13DBC916FC750@HE1PR0701MB2857.eurprd07.prod.outlook.com> <C43C255C7106314F8D13D03FA20CFE497002AC18@wtl-exchp-1.sandvine.com> <CABPQr243oqJxrC52+FAJUaLv9K2aQEuO0sD8ouD49rr5kXR4xQ@mail.gmail.com> <C43C255C7106314F8D13D03FA20CFE497002D184@wtl-exchp-1.sandvine.com> <CABPQr24Y79vFg=ZW=xAPDi5NgBah2Mk2=ai0GzRg-zA5Z75-Gw@mail.gmail.com> <C43C255C7106314F8D13D03FA20CFE497002DB6B@wtl-exchp-1.sandvine.com>
From: Misha Zaytsev <misha.zaytsev.rus@gmail.com>
Date: Tue, 31 Jan 2017 23:07:11 +0300
Message-ID: <CABPQr25sj_G-PN6aowSrbGfeYs_Wa-tNtmzsndXA+=Ca4U4qxw@mail.gmail.com>
To: Yuval Lifshitz <ylifshitz@sandvine.com>
Content-Type: multipart/alternative; boundary="f403045ea2824b0c950547697a78"
Archived-At: <https://mailarchive.ietf.org/arch/msg/dime/kQH6998nQRkSbhuPo0uMR12I07k>
Cc: "dime@ietf.org" <dime@ietf.org>, "Gardella, Maryse (Nokia - FR)" <maryse.gardella@nokia.com>
Subject: Re: [Dime] RFC4006bis - Subscription-Id-Extension AVP
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 31 Jan 2017 20:07:18 -0000

Hi Yuval,

I almost agree with your explanations that you sent to Maryse, except one
bullet:

In a case of a new type of subscription, not covered in RFC4006, it may
send the new AVP with the M-bit set, causing any old server to reply with
DIAMETER_AVP_UNSUPPORTED (5001). It may also send the new AVP without the
M-bit set, here the server would just ignore the AVP, but would probably
reply DIAMETER_MISSING_AVP (5005) as it will not have any subscription ID

RFC4006 server should not reply with DIAMETER_MISSING_AVP (5005) result
code according to RFC6733, since Subscription-Id AVP is *not* marked as
required in CCR definition:

      A received command that is missing AVPs that are defined as
      required in the commands CCF; examples are AVPs indicated as
      *{AVP}*.  The receiver issues an answer with the Result-Code set to
      DIAMETER_MISSING_AVP and creates an AVP with the AVP Code and
      other fields set as expected in the missing AVP.  The created AVP
      is then added to the Failed-AVP AVP.


The remaining part is according to the RFC6733 from my point of view.


All in all, to set M-bit or not, depends on what reaction you want to
see from RFC4006 server.


/Misha



2017-01-30 11:29 GMT+03:00 Yuval Lifshitz <ylifshitz@sandvine.com>:

> Hi Misha,
>
> We didn’t consider the option of using a bitmap, but I’m open to this
> idea. IMO, it would be more difficult managing the addition of new values
> in the case of a bitmap than in the case of adding new AVPs.  OTOH, adding
> a bitmap will be less changes to the RFC.
>
> In our proposal the AVPs are marked as optional, and the M-bit **may** be
> set. I sent an explanation to Maryse on the M-bit – please see below, and
> let me know if you have comments on that.
>
> As ABNF cannot show the concept of “one and only one AVP” I will update
> the text to state that explicitly (added: https://github.com/lbertz02/
> rfc4006bis/issues/18)
>
>
>
> Yuval
>
>
>
> *From:* Misha Zaytsev [mailto:misha.zaytsev.rus@gmail.com]
> *Sent:* Sunday, January 29, 2017 8:21 PM
>
> *To:* Yuval Lifshitz
> *Cc:* Gardella, Maryse (Nokia - FR); dime@ietf.org
> *Subject:* Re: [Dime] RFC4006bis - Subscription-Id-Extension AVP
>
>
>
> Hi Yuval,
>
>
>
> Thanks a lot for your clarifications! Now it seems I see your concern.
>
>
>
> As I can see the problem is that there is no possibility to extend the
> defined AVPs of type Enumerated in a backward compatible way. For me it
> means that all enumerate AVPs defined in RFC4006 (listed in section 12) is
> a matter of your investigation. Not the grouped ones, but the ones that are
> used as indicators in these grouped AVPs.
>
>
>
> Following the recommendations in https://tools.ietf.org/
> html/rfc7423#section-5.6 that you pointed out, I think bitmask based AVPs
> may be a way out in the current situation. Such AVP will be marked as
> mandatory. While only one bit of this bitmask MUST be set.
>
>
>
>  Subscription-Id-Extension ::= < AVP Header: XXX >
>                              [ Subscription-Id-Type-Indicator ]
>                              [Subscrition-Id-Data]
>
>
> Have you considered this option? Or probably I'm missing something..
>
>
>
> However, if we follow the way you are proposing with several mutually
> exclusive AVPs, then these AVPs should be marked as not mandatory. While in
> the description of the appropriate grouped AVP it should be stated that
> only one of these AVPs MUST be present.
>
>
>
> /Misha
>
>
>
>
>
> 2017-01-29 11:29 GMT+03:00 Yuval Lifshitz <ylifshitz@sandvine.com>:
>
> Hi Misha,
> There is nothing “well known” in these issues and I’ll be happy to clarify!
>
> (1) During IETF96 a question came regarding the support of the IMEI user
> equipment type – currently not one of the enumerated types of the
> User-Equipment-Info-Type AVP (IMEISV is there but not IMEI). As a result of
> this discussion, and due to the enum extension limitations (see here:
> https://tools.ietf.org/html/rfc7423#section-5.6), we were asked to do an
> analysis on which enumerated AVPs requires extensibility. The results were
> captured in the following ticket: https://trac.ietf.org/trac/
> dime/ticket/95
> For better clarity I’m posting here the actual analysis of AVPs. Some of
> them didn’t need to be extensible (in our view), some of them were already
> extensible and the rest were added to the ticket:
>
>                      AVP  Section
>    Attribute Name    Code Defined Data Type
>    -----------------------------------------
>    CC-Money          413  8.22   Grouped    - not extensible, does not
> need to be
>    Cost-Information  423  8.7    Grouped    - not extensible, does not
> need to be
>    Final-Unit-       430  8.34   Grouped    - not extensible, will be
> replaced by QoS-Final-Unit-Indication that will be extensible
>      Indication
>    Granted-Service-  431  8.17   Grouped    - extensible
>      Unit
>    G-S-U-Pool-       457  8.30   Grouped    - not extensible, does not
> need to be
>      Reference
>    Multiple-Services 456  8.16   Grouped    - extensible
>     -Credit-Control
>    Redirect-Server   434  8.37   Grouped    - not extensible, has a
> problem similar to equipment type as it contains an enumerated type/value
> AVPs
>    Requested-Service 437  8.18   Grouped    - extensible
>      -Unit
>    Service-Parameter 440  8.43   Grouped    - not extensible, does not
> need to be
>      -Info
>    Subscription-Id   443  8.46   Grouped    - not extensible, has a
> problem similar to equipment type as it contains an enumerated type/value
> AVPs
>    Unit-Value        445  8.8    Grouped    - not extensible, does not
> need to be
>    Used-Service-Unit 446  8.19   Grouped    - extensible
>    User-Equipment    458  8.49   Grouped    - not extensible, will be
> replaced by an AVP that will be extensible
>      -Info
>
> Would appreciate your comments if you think differently about any of the
> AVPs above, or that we have missed other AVPs that needs to.
>
> (2) E.g adding new subscription ID.
>
> Unlike Subscription-Id-Type AVP which cannot be extended to a new type
> without a new application ID, a new AVP being proposed in RFC4006bis is:
>
>   Subscription-Id-Extension ::= < AVP Header: XXX >
>                              [ Subscription-Id-E164 ]
>                              [ Subscription-Id-IMSI ]
>                              [ Subscription-Id-SIP-URI ]
>                              [ Subscription-Id-NAI ]
>                              [ Subscription-Id-Private ]
>                            *[ AVP ]
>
> So, in order to add a new type (post RFC4006bis), you would need to submit
> draft with an AVP definition in it to could be added to the
> Subscription-Id-Extension as it is extensible.
> This new draft would be compliant with RFC4006bis and will therefore not
> require a new application ID.
>
> Best Regards,
>
> Yuval
>
>
> From: Misha Zaytsev [mailto:misha.zaytsev.rus@gmail.com]
> Sent: Saturday, January 28, 2017 11:07 PM
> To: Yuval Lifshitz
> Cc: Gardella, Maryse (Nokia - FR); dime@ietf.org
> Subject: Re: [Dime] RFC4006bis - Subscription-Id-Extension AVP
>
>
> Hi Yuval,
>
> May I ask you several questions to be able to understand the whole
> situation:
>
> 1. Why are you proposing to add new extendable AVPs only for some of the
> AVPs listed in section 12?
> I think the same concern is applicable for all these AVPs, isn't?
>
> 2. Could you clarify what official procedure to assign new available
> values is meant here?
> It is not working w/o defining new Application-ID as you mentioned above?
>
>
> 12.16.  Subscription-Id-Type AVP
>
>    As defined in Section 8.47, the Subscription-Id-Type AVP includes
>    Enumerated type values 0 - 4.  IANA has created and is maintaining a
>    namespace for this AVP.  All remaining values are available for
>    assignment by a Designated Expert [RFC2434].
>
> Excuse me in advance if what I'm asking about are well-known things.
> But still please clarify them at least for me...
>
> Thanks a lot in advance!
>
> /Misha
>
> 2017-01-25 11:29 GMT+03:00 Yuval Lifshitz <ylifshitz@sandvine.com>:
> Hi Maryse,
> The idea is the following:
> •         If the CC client want to work with RFC4006bis only CC server,
> and want to make sure that the subscription ID is understood by the server,
> it may set the M-bit. Any RFC4006 server will reply with
> DIAMETER_AVP_UNSUPPORTED (5001)
> •         If the CC client is not sure whether the CC servers are RFC4006
> or RFC4006bis, or have a mix of servers, and want to work with both, it may
> not set the M-bit
> o   In this case it would send both AVPs for the old types, so that the
> new AVP will be ignored by the RFC4006 servers
> o   In a case of a new type of subscription, not covered in RFC4006, it
> may send the new AVP with the M-bit set, causing any old server to reply
> with DIAMETER_AVP_UNSUPPORTED (5001). It may also send the new AVP without
> the M-bit set, here the server would just ignore the AVP, but would
> probably reply DIAMETER_MISSING_AVP (5005) as it will not have any
> subscription ID
>
> Yuval
>
> From: Gardella, Maryse (Nokia - FR) [mailto:maryse.gardella@nokia.com]
> Sent: Tuesday, January 24, 2017 5:25 PM
> To: Yuval Lifshitz; dime@ietf.org
> Subject: RE: RFC4006bis - Subscription-Id-Extension AVP
>
> Hi Yuval,
>
> Thanks for continuing on this.
> I am not sure to understand the difference between “may” and “must”, since
> with  “May” we can end having the M-bit set by the RFC4006bis CC client.
> I guess from the protocol’s perspective “may” and “must” makes no
> difference right?
>
> BR
> Maryse
>
> From: DiME [mailto:dime-bounces@ietf.org] On Behalf Of Yuval Lifshitz
> Sent: vendredi 13 janvier 2017 15:24
> To: dime@ietf.org
> Subject: [ALU] [Dime] RFC4006bis - Subscription-Id-Extension AVP
>
> Hi All,
> As part of the RFC4006bis work there are several AVPs that we plan on
> making future proof (See also: https://trac.ietf.org/trac/dime/ticket/95).
> For example, Subscription-Id AVP cannot be extended to new types without
> changing the enumeration in Subscription-Id-Type AVP, which in turn
> requires a new application ID (something we really want to avoid).
> To solve this issue we propose adding a new, extendable AVP. In this
> example:
>
> Subscription-Id-Extension ::= < AVP Header: XXX >
>                              [ Subscription-Id-E164 ]
>                              [ Subscription-Id-IMSI ]
>                              [ Subscription-Id-SIP-URI ]
>                              [ Subscription-Id-NAI ]
>                              [ Subscription-Id-Private ]
>                             *[ AVP ]
>
> When looking into Subscription-ID-Extension AVP  header flags I ran into a
> problem. The existing Subscription-ID AVP (and its sub-AVPs) are all marked
> with the M-bit as a “must”, probably because they hold the subscriber’s
> name which is critical information.
> However, in order for a RFC4006bis CC client to be able to communicate
> with an RFC4006 CC-server, they will have to be marked as “may”.
>
> Would appreciate your point of view on that topic?
>
> Best Regards,
>
> Yuval
>
>
> _______________________________________________
> DiME mailing list
> DiME@ietf.org
> https://www.ietf.org/mailman/listinfo/dime
>
>
>