RE: draft-ietf-sip-mib-11.txt [ was: [MIB-DOCTORS] FW: Agenda and Package for August 3, 2006 Telechat PRELIMINARY]

"Wijnen, Bert (Bert)" <bwijnen@lucent.com> Mon, 31 July 2006 22:00 UTC

Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1G7fo9-0000Hs-GY; Mon, 31 Jul 2006 18:00:17 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1G7fo8-0000DF-8R for mib-doctors@ietf.org; Mon, 31 Jul 2006 18:00:16 -0400
Received: from ihemail4.lucent.com ([135.245.0.39]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1G7fo6-0000RA-9F for mib-doctors@ietf.org; Mon, 31 Jul 2006 18:00:16 -0400
Received: from nl0006exch001h.wins.lucent.com (h135-85-76-62.lucent.com [135.85.76.62]) by ihemail4.lucent.com (8.13.6/IER-o) with ESMTP id k6VM0CB2014840; Mon, 31 Jul 2006 17:00:12 -0500 (CDT)
Received: by nl0006exch001h.nl.lucent.com with Internet Mail Service (5.5.2657.72) id <PYJ9PVXL>; Tue, 1 Aug 2006 00:00:11 +0200
Message-ID: <7D5D48D2CAA3D84C813F5B154F43B1550A7B0F57@nl0006exch001u.nl.lucent.com>
From: "Wijnen, Bert (Bert)" <bwijnen@lucent.com>
To: David Harrington <ietfdbh@comcast.net>
Subject: RE: draft-ietf-sip-mib-11.txt [ was: [MIB-DOCTORS] FW: Agenda and Package for August 3, 2006 Telechat PRELIMINARY]
Date: Tue, 01 Aug 2006 00:00:05 +0200
MIME-Version: 1.0
X-Mailer: Internet Mail Service (5.5.2657.72)
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 826b8da4948b827b02e4b599895c9e48
Cc: "'MIB Doctors (E-mail)'" <mib-doctors@ietf.org>
X-BeenThere: mib-doctors@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: MIB Doctors list <mib-doctors.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/mib-doctors>, <mailto:mib-doctors-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/mib-doctors>
List-Post: <mailto:mib-doctors@ietf.org>
List-Help: <mailto:mib-doctors-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/mib-doctors>, <mailto:mib-doctors-request@ietf.org?subject=subscribe>
Errors-To: mib-doctors-bounces@ietf.org

Well, we do so in a few of our STD62 MIB modules.

Examples (DESCRIPTION clauses of):
  vacmViewTreeFamilyTable
  usmUserCloneFrom
  usmUserAuthProtocol
  usmUserAuthKeyChange
  usmUserOwnAuthKeyChange
  usmUserPrivProtocol
  usmUserPrivKeyChange
  ... etc
  snmpTargetAddrRowStatus
  snmpTargetParamsSecurityModel
  snmpTargetParamsRowStatus
  
I guess you could claim/say that the above ARE SNMP specific to begin with.

I know that I have seen it in many places, and I know we have not been
consistent to push back on it.

For example:
   dot1dStpBridgeMaxAge even suggests a badValue error
   dot1dStpBridgeHelloTime ditto
   dot1dStpBridgeForwardDelay ditto
and you were WG co-chair for that. 
Oh well.... to be consistent with a team of reviewers is not easy.

Bert
> -----Original Message-----
> From: David Harrington [mailto:ietfdbh@comcast.net]
> Sent: Monday, July 31, 2006 23:15
> To: 'Wijnen, Bert (Bert)'
> Cc: 'MIB Doctors (E-mail)'
> Subject: RE: draft-ietf-sip-mib-11.txt [ was: [MIB-DOCTORS] FW: Agenda
> and Package for August 3, 2006 Telechat PRELIMINARY]
> 
> 
> Hi,
> 
> I must have missed the memo.  
> I was not aware we were advising MIB module designers to specify error
> codes in MIB descriptions.
> I think I have consistently objected to this when found in a MIB
> module I reviewed.
> I think it is a bad idea for the reasons stated.
> 
> dbh
> 
> > -----Original Message-----
> > From: Wijnen, Bert (Bert) [mailto:bwijnen@lucent.com] 
> > Sent: Monday, July 31, 2006 5:01 PM
> > To: David Harrington
> > Cc: MIB Doctors (E-mail)
> > Subject: RE: draft-ietf-sip-mib-11.txt [ was: [MIB-DOCTORS] 
> > FW: Agenda and Package for August 3, 2006 Telechat PRELIMINARY]
> > 
> > [dropped authors and non mib-doctors]
> > 
> > David, we have been promoting in the past to describe the kind of
> > error that one would return in certain failure cases where it was
> > not so clear as to what error to return.
> > 
> > Maybe in this specific case it is pretty clear, and maybe we could
> > indeed advise to leave it out completely.
> > 
> > Opinions?
> > 
> > In any event, I think we all agree that badValue is NOT correct
> > and not allowed according to our RFC3416 elements of procedure
> > on page 19/20.
> > 
> > Bert
> > 
> > 
> > > -----Original Message-----
> > > From: David Harrington [mailto:ietfdbh@comcast.net]
> > > Sent: Monday, July 31, 2006 22:50
> > > To: 'Wijnen, Bert (Bert)'; 'Romascanu, Dan (Dan)'; 
> > klingle@cisco.com;
> > > 'Jean-Francois Mule (E-mail)'; drwalker@rogers.com; 
> > > jmaeng@austin.rr.com
> > > Cc: 'Cullen Jennings (E-mail)'; mib-doctors@ietf.org; 'Dean Willis
> > > (E-mail)'
> > > Subject: RE: draft-ietf-sip-mib-11.txt [ was: [MIB-DOCTORS] 
> > FW: Agenda
> > > and Package for August 3, 2006 Telechat PRELIMINARY]
> > > 
> > > 
> > > Hi,
> > > 
> > > I especially want to mention the badValue usage. The 
> > Internet-Standard
> > > Management Framework [described in RFC3410] calls for a 
> > separation of
> > > the MIB from the protocol, so a MIB module should not specify the
> > > error codes, since that ties the MIB module to a specific protocol
> > > (and possibly version). Ideally, the MIB will be useable with
> other
> > > protocols, such as netconf, but netconf does not have the same
> error
> > > codes as SNMP.
> > > 
> > > David Harrington
> > > dharrington@huawei.com 
> > > dbharrington@comcast.net
> > > ietfdbh@comcast.net
> > > 
> > > 
> > > > -----Original Message-----
> > > > From: Wijnen, Bert (Bert) [mailto:bwijnen@lucent.com] 
> > > > Sent: Monday, July 31, 2006 4:10 PM
> > > > To: Romascanu, Dan (Dan); klingle@cisco.com; Jean-Francois 
> > > > Mule (E-mail); drwalker@rogers.com; jmaeng@austin.rr.com
> > > > Cc: Cullen Jennings (E-mail); mib-doctors@ietf.org; Dean 
> > > > Willis (E-mail)
> > > > Subject: draft-ietf-sip-mib-11.txt [ was: [MIB-DOCTORS] FW: 
> > > > Agenda and Package for August 3, 2006 Telechat PRELIMINARY]
> > > > 
> > > > Dan, w.r.t
> > > > > 2.1 WG Submissions
> > > > > 2.1.1 New Item
> > > > >   o draft-ietf-sip-mib-11.txt
> > > > >     Management Information Base for the Session Initiation 
> > > > Protocol (SIP) 
> > > > >     (Proposed Standard) - 1 of 3 
> > > > >     Note: PROTO Shepherd is Dean Willis 
> > > > >     Token: Cullen Jennings
> > > > 
> > > > In general, I do have some concerns/issues that I think BEST be
> > > fixed.
> > > > I have numerous editorial suggestions. Once could claim that
> such
> > > can
> > > > be ignored at this stage in the process, and I would have 
> > to agrre.
> > > > At the other hand, specifically the naming consistency
> > > bothers/worries
> > > > me a lot, even though it is not a fatal flaw. I understand that
> it
> > > > will be quite an effort to adopt to a consistent naming 
> > scheme, yet
> > > I 
> > > > personally think it would be very worthwhile. Not only for
> helping
> > > to
> > > > avoid future name clashes, but also to make the descriptors more
> > > > self-explanatory as to which MIB module and/or which table they
> > > > belong to.
> > > > 
> > > > Sorry for not having done a review earlier (like at IETF last 
> > > > call or so).
> > > > 
> > > > Bert
> > > > --- SIP-TC module
> > > > 
> > > > None of this is blocking or a fatal flaw. But pls DO consider my
> > > > well-intended comments to try and help make this MIB module
> better
> > > > and easier to understand by MIB implementers and NM application
> > > > developers.
> > > > 
> > > > When I see:
> > > >       SipTransportProtocol ::= TEXTUAL-CONVENTION
> > > >               STATUS current
> > > >               DESCRIPTION
> > > >                    "This convention is a bit map.  Each bit 
> > > > represents a
> > > >                     transport protocol.  If a bit has value 
> > > > 1, then that
> > > >                     selected transport protocol is in some 
> > > > way dependent
> > > >                     on the context of the object using this 
> > > > convention.
> > > >                     If a bit has value 0, then that transport
> > > protocol
> > > >                     is not selected.  Combinations of bits can
> be
> > > >                     set when multiple transport protocols are 
> > > > selected.
> > > > 
> > > >                     bit 0 : a protocol other than those 
> > defined here
> > > >                     bit 1 : User Datagram Protocol
> > > >                     bit 2 : Transmission Control Protocol
> > > >                     bit 3 : Stream Control Transmission Protocol
> > > >                     bit 4 : Transport Layer Security Protocol
> over
> > > TCP
> > > >                     bit 5 : Transport Layer Security Protocol 
> > > > over SCTP"
> > > >               SYNTAX     BITS {
> > > >                                other(0),  -- none of the
> following
> > > >                                udp(1),
> > > > 
> > > >                                tcp(2),
> > > >                                sctp(3),   -- RFC4168
> > > >                                tlsTcp(4),
> > > >                                tlsSctp(5) -- RFC 4168
> > > >               }
> > > >    --         REFERENCE "RFC 3261, Section 18"
> > > >    --         REFERENCE "RFC 4168"
> > > > 
> > > > Then I wonder why the REFERENCE is done with ASN.1 comments 
> > > > instead of 
> > > > using a real REFERENCE clause. The following would achive that:
> > > >       SipTransportProtocol ::= TEXTUAL-CONVENTION
> > > >               STATUS current
> > > >               DESCRIPTION
> > > >                    "This convention is a bit map.  Each bit 
> > > > represents a
> > > >                     transport protocol.  If a bit has value 
> > > > 1, then that
> > > >                     selected transport protocol is in some 
> > > > way dependent
> > > >                     on the context of the object using this 
> > > > convention.
> > > >                     If a bit has value 0, then that transport
> > > protocol
> > > >                     is not selected.  Combinations of bits can
> be
> > > >                     set when multiple transport protocols are 
> > > > selected.
> > > > 
> > > >                     bit 0 : a protocol other than those 
> > defined here
> > > >                     bit 1 : User Datagram Protocol
> > > >                     bit 2 : Transmission Control Protocol
> > > >                     bit 3 : Stream Control Transmission Protocol
> > > >                     bit 4 : Transport Layer Security Protocol
> over
> > > TCP
> > > >                     bit 5 : Transport Layer Security Protocol 
> > > > over SCTP"
> > > >               REFERENCE "RFC 3261, Section 18 and RFC 4168""
> > > >               SYNTAX     BITS {
> > > >                                other(0),  -- none of the
> following
> > > >                                udp(1),
> > > > 
> > > >                                tcp(2),
> > > >                                sctp(3),   -- RFC4168
> > > >                                tlsTcp(4),
> > > >                                tlsSctp(5) -- RFC 4168
> > > >               }
> > > > 
> > > > Similar comment for: SipOptionTagHeaders
> > > > 
> > > > Would be good to have a REFERENCE for the SipEntityRole and 
> > > > SipMethodName as well. 
> > > > 
> > > > It is interesting to see that the DESCRIPTION clause of the
> > > > MODULE-IDENTITY in the SIP-COMMON-MIB has all the details
> > > > about the different roles of SIP entities, while the SIP-TC
> > > > MIB module, not the specific SipEntityRole TC do NOT have 
> > > > such a nice/good description. I think that all that text
> > > > would be much better provided in the SipEntityRole TC.
> > > > 
> > > > Specifically for SipMethodName I seem unable to find what 
> > > > values exactly this SYNTAX (i.e. ASCII? UTF-8 ?? any octet
> > > > value?) can take and why its range is (1-128).
> > > > The 128 max length causes a warning from SMI SYNTAX checkers 
> > > > because it can cause OIDs with ore than 128 subIDs when used 
> > > > as an index (which is done in for example the SIP-COMMON-MIB).
> > > > I see the RFC-Editor notes suggesting to change it to max 119 
> > > > octets, but I see no base as to why that would be a reasonable
> > > > limit. In the SIP-COMMON-MIB I see sipMethodName for the
> ??same??
> > > > methodName, and the use of SnmpAdminString for that occurrence
> > > > seems to indicate it IS UTF-8 and max 32 octets !!??
> > > > 
> > > > 
> > > > ----- SIP-COMMON-MIB
> > > > 
> > > > First some comments that are flawed (item 3 below, the badValue
> > > > error code is (in my view) even fatally flawed in that it breaks
> > > > the SNMPv2 protocol operations of RFC3416).In any event, I think
> > > > these should be SERIOUSLY considerede for a fix/change
> > > > 
> > > > 1. SYNTAX checking:
> > > > 
> > > >   C:\bwijnen\smicng\work>smicstrict
> > > >   C:\bwijnen\smicng\work>smicng SIP-COMMON-MIB.inc
> > > >   W: f(rfc2788.mi2), (562,3) OBJECT-GROUP "applGroup" is not 
> > > >      used in a MODULE-COMPLIANCE in current module
> > > >   W: f(SIP-COMMON-MIB), (1026,7) Row "sipMethodStatsEntry" has 
> > > >      indexing that may create variables with more than 128
> sub-ids
> > > >   W: f(SIP-COMMON-MIB), (1098,7) Row "sipStatusCodesEntry" has
> > > >      indexing that may create variables with more than 128
> sub-ids
> > > >   W: f(SIP-COMMON-MIB), (1206,7) Row "sipStatusCodeNotifEntry"
> has
> > > >      indexing that may create variables with more than 128
> sub-ids
> > > >   W: f(SIP-COMMON-MIB), (1405,7) Row 
> > "sipCommonStatsRetryEntry" has
> > > >      indexing that may create variables with more than 128
> sub-ids
> > > > 
> > > >   *** 0 errors and 5 warnings in parsing
> > > > 
> > > >   The first warning is from another MIB-module, so we can 
> > ignore it.
> > > > 
> > > >   W.r.t. the last 4 warnings, I think it would be good (as
> > > recommended
> > > >   by RFC4381 sect 4.6.6.) to add some words in teh DESCRIPTION
> > > clauses
> > > >   about OID length limitations.
> > > > 
> > > > 2.sipServiceNotifEnable is a writable object, but I see 
> > not details
> > > >   about the expected persistenmce behaviour! I strongly 
> > recommend to
> > > >   add that.
> > > > 
> > > > 3.sipServiceNotifEnable DESCRIPTION clause suggests to return 
> > > > a badValue
> > > >   error. a badValue is NOT a value to be returned by 
> > > > SNMPv2c/v3. It is 
> > > >   only there for backward SNMPv1 compatibility. So suggesting
> that
> > > as
> > > >   an error value in an SMIv2 MIB module is not correct!
> > > > 
> > > >   Not sure I completely understand DESCRIPTION. It seems like 
> > > > a SIP entity can
> > > >   choose to support notifications or not. In the former case 
> > > > it must support
> > > >   all of them, in the latter case it would support none at 
> > > > all. So it seems
> > > >   one would not see an entity that supports only 2 uut of 3 
> > > > or some other
> > > >   mix?
> > > > 
> > > >   If my interpretation/understanding is correct (in any 
> > > > event, it would be
> > > >   good to make it clear in the DESCRIPTION clause) I think the
> > > correct
> > > >   approach would be that the object is allowed to be 
> > > > supported in read-only
> > > >   mode in case the entity does NOT support any notifications. 
> > > > This is done
> > > >   via a MIN-ACCESS in the MODULE-COMPLIANCE.
> > > >   Another approach (which also allows a mix of
> > > supported/non-supported
> > > >   noticifcations, and so is the prefered way in my view) 
> > would be to
> > > >   return a error of "inconsistentValue".
> > > >   It cannot return badValue (see Elements of Procedure pages
> 19/20
> > > of
> > > >   RFC3416). It could return inconsistentValue (step 10 on 
> > page 19/20
> > > >   of RFC3416) to achieve what you seem to want.
> > > > 
> > > >   So the simplest fix is to: s/badValue/inconsistentValue/
> > > >   and to clarify the DESCRIPTION clause as to what is exactly
> > > intended
> > > >   (no support for ALL notifications, or an option to support
> only 
> > > >    a subset)
> > > > 
> > > > 4.I see no mention of which discontinuity timer applies to 
> > > > the counters
> > > >   in sipSummaryStatsTable. Same for sipStatusCodesTable,
> > > >   sipCommonStatsRetryTable and sipOtherStatsTable.
> > > > 
> > > > 5.I see no persistency behaviour defined for created 
> > entries in the
> > > >   sipStatusCodesTable
> > > > 
> > > > 
> > > > None of the following is blocking and none of it causes a fatal
> > > flaw.
> > > > I think they would be good editorial changes though:
> > > > 
> > > > - I find the use of MAY in the DESCRIPTION clause of the 
> > > > MODULE-IDENTITY
> > > >   not correct. I would just use lowercase "may". It is not
> > > specifying 
> > > >   any compliance requirements here (or so I think/perceive).
> > > > 
> > > > - I personally would rename sipCommonMIBNotifs into 
> > > > sipCommonMIBNotifications
> > > >   Most other MIB modules use the longer "Notifications" 
> > > > instead of abbreviations
> > > >   so I think it helps in overall MIB-wide naming consistency.
> > > > 
> > > > - Simliarly I would rename sipCommonMIBConform into 
> > > > sipCommonMIBConformance
> > > >   as is done in most otehr MIB modules.
> > > > 
> > > > - it seems to me that sipServiceNotifEnable could have a 
> > > > DEFVAL clause as
> > > >   follows:
> > > >     DEFVAL { { sipServiceColdStart, sipServiceWarmStart } }
> > > >   At least, that is also what the DESCRIPTION clause 
> > tells me. Would
> > > >   be good to specify that in machine redable form, i.e. using 
> > > > a DEFVAL 
> > > >   clause.
> > > > 
> > > > - for sipPort, the DESCRIPTION clause should indicate what a 
> > > > value of zero 
> > > >   means. Probably a value of zero makes no sense here, and so
> the
> > > >   SYNTAX would probably best be specified as
> > > >          SYNTAX    InetPortNumber (1..65535)
> > > > 
> > > > - In terms of naming consistency, I would rename
> > > >       SipCommonCfgEntry ::=
> > > >           SEQUENCE {
> > > >                    sipProtocolVersion        SnmpAdminString,
> > > >                    sipServiceOperStatus      INTEGER,
> > > >                    sipServiceStartTime       TimeTicks,
> > > >                    sipServiceLastChange      TimeTicks,
> > > >                    sipOrganization           SnmpAdminString,
> > > >                    sipMaxTransactions        Unsigned32,
> > > >                    sipServiceNotifEnable     BITS,
> > > >                    sipEntityType             SipEntityRole
> > > >           }
> > > >   into:
> > > >       SipCommonCfgEntry ::=
> > > >           SEQUENCE {
> > > >                    sipCommonCfgProtocolVersion
> > > SnmpAdminString,
> > > >                    sipCommonCfgServiceOperStatus      INTEGER,
> > > >                    sipCommonCfgServiceStartTime       TimeTicks,
> > > >                    sipCommonCfgServiceLastChange      TimeTicks,
> > > >                    sipCommonCfgOrganization
> > > SnmpAdminString,
> > > >                    sipCommonCfgMaxTransactions
> Unsigned32,
> > > >                    sipCommonCfgServiceNotifEnable     BITS,
> > > >                    sipCommonCfgEntityType             
> > SipEntityRole
> > > >           }
> > > >    and I would also rename:
> > > >       SipPortEntry ::=
> > > >           SEQUENCE {
> > > >                    sipPort                 InetPortNumber,
> > > >                    sipTransportRcv         SipTransportProtocol
> > > >           }
> > > >    into something like:
> > > >       SipPortEntry ::=
> > > >           SEQUENCE {
> > > >                    sipPort                 InetPortNumber,
> > > >                    sipPortTransportRcv     SipTransportProtocol
> > > >           }
> > > >    maybe that while table should even have sipCommon as a
> prefix.
> > > > 
> > > >    That is, I would have all SIP-COMMON-MIB descriptors start 
> > > > with sipCommon
> > > >    It is easy to ensure that there are no naming conflicts 
> > > > today, but if
> > > >    changes/additions/extensions are made in the future, it 
> > > > becomes all 
> > > >    so much easier if one has started with a very clear naming
> > > scheme;
> > > >    specifically with using a consistent prefix for 
> > descriptor-names
> > > >    within the same MIB module. 
> > > > 
> > > >    So this also applies to several other tables. For example,
> > > >    I would rename sipOptionTagTable to sipCommonOptionTagTable
> and
> > > >    have all objects there also start with sipCommonOption
> prefix.
> > > > 
> > > > - NIT: sipOptionTagEntry
> > > >   in description clause: s/at reboot/over a reboot or restart/
> > > > 
> > > > - consider sipOptionTagEntry
> > > >     SHOULD be non-volatile
> > > >   So an NM application has to do a trial and error to figure ity
> > > out?
> > > >   Why could this not be made a: MUST be non-volatile
> > > >   But then checking further, I see that the whole table is
> > > read-only,
> > > >   so no need to talk about persistency of the entries.
> > > > 
> > > > - sipOptionTag
> > > >   I would recommend to add a REFERENCE clause to point to 
> > sect 27.1
> > > >   of RFC3261. That helps understand what the actual values can
> be.
> > > >   Because acording to the SYNTAX, it could contain chinese, 
> > > > but according
> > > >   to sect 27.1 of RFC3261 it cannot.
> > > > 
> > > >   I kind of like that you use SnmpAdminString (i.e. UTF-8 
> > > > based), so that
> > > >   you recognize that at some time there might be non US 
> > ASCII tags?
> > > >   But the SYNTAX does not represent the actual allowed content
> of
> > > the 
> > > >   TAG. If that content is fixed to ALPHA/DIGIT from US ASCII
> set,
> > > then
> > > >   maybe it would be better to define your own TC as 
> > ipposed to using
> > > >   a TC that is intened for internationalized human 
> > readable strings.
> > > >  
> > > >   It might also be helfull to add some text that explains 
> > what to do
> > > >   if the length of the sipOptionTag exceed the max length of
> > > >   SnmpAdminString which seems allowed (MAY text in 27.1 
> > of RFC3216).
> > > > 
> > > > - sipMethodSupportedTable
> > > >   Seems to have only read-only objects/columns, so I do not see
> > > >   a need or the usefullness to talk about persistyency
> > > (non-volatile)
> > > >   in the DESCRIPTION claise of sipMethodSupportedEntry
> > > > 
> > > > - sipMethodSupportedTable
> > > >   Maybe it is just me. But I am confused by the use of MAY (2
> > > times).
> > > >   It gives me the impression that you do not HAVE TO include
> > > anything.
> > > >   But I would think that one MUST include ALL METHODS that the
> > > >   represented SIP instance supports, no?
> > > > 
> > > > - sipMethodName
> > > >   I think I have already spoken about this better be named 
> > > >   sipCommonMethodSupportedMethodName. 
> > > >   But the SYNTAX is SnmpAdminString and I wonder why it would
> not
> > > >   be SipMethodName as from your own SIP-TC mib module.
> > > >   
> > > > - I would rename
> > > >       SipCommonCfgTimerEntry ::=
> > > >           SEQUENCE {
> > > >                    sipCfgTimerA               Unsigned32,
> > > >                    sipCfgTimerB               Unsigned32,
> > > >                    sipCfgTimerC               Unsigned32,
> > > >                    sipCfgTimerD               Unsigned32,
> > > >                    sipCfgTimerE               Unsigned32,
> > > >                    sipCfgTimerF               Unsigned32,
> > > >                    sipCfgTimerG               Unsigned32,
> > > >                    sipCfgTimerH               Unsigned32,
> > > >                    sipCfgTimerI               Unsigned32,
> > > >                    sipCfgTimerJ               Unsigned32,
> > > >                    sipCfgTimerK               Unsigned32,
> > > >                    sipCfgTimerT1              Unsigned32,
> > > >                    sipCfgTimerT2              Unsigned32,
> > > >                    sipCfgTimerT4              Unsigned32
> > > >           }
> > > >    into (for naming consistency):
> > > >       SipCommonCfgTimerEntry ::=
> > > >           SEQUENCE {
> > > >                    sipCommonCfgTimerA               Unsigned32,
> > > >                    sipCommonCfgTimerB               Unsigned32,
> > > >                    sipCommonCfgTimerC               Unsigned32,
> > > >                    sipCommonCfgTimerD               Unsigned32,
> > > >                    sipCommonCfgTimerE               Unsigned32,
> > > >                    sipCommonCfgTimerF               Unsigned32,
> > > >                    sipCommonCfgTimerG               Unsigned32,
> > > >                    sipCommonCfgTimerH               Unsigned32,
> > > >                    sipCommonCfgTimerI               Unsigned32,
> > > >                    sipCommonCfgTimerJ               Unsigned32,
> > > >                    sipCommonCfgTimerK               Unsigned32,
> > > >                    sipCommonCfgTimerT1              Unsigned32,
> > > >                    sipCommonCfgTimerT2              Unsigned32,
> > > >                    sipCommonCfgTimerT4              Unsigned32
> > > >           }
> > > > 
> > > >   Further, I cannot say that I find the naming of Timers with 
> > > > A, B, C,D etc
> > > >   verty intuitive or user friendly.
> > > > 
> > > > - In the sipCommonCfgTimerTable I find it strange to see 
> > DEFVALs for
> > > 
> > > >   read-only objects.   Specifically strange if I see for
> example:
> > > >       sipCfgTimerD OBJECT-TYPE
> > > >           SYNTAX      Unsigned32 (0..300000)
> > > >           UNITS       "milliseconds"
> > > >           MAX-ACCESS  read-only
> > > >           STATUS      current
> > > >           DESCRIPTION
> > > >                "This object reflects the amount of time that 
> > > > the server
> > > >                 transaction can remain in the 'Completed' 
> > state when
> > > >                 unreliable transports are used. The default
> value
> > > MUST
> > > >                 be greater than 32000 for UDP transport and its
> > > value
> > > > 
> > > >                 MUST be 0 for TCP/SCTP transport."
> > > >           REFERENCE
> > > >                 "RFC 3261, Section 17.1.1.2"
> > > >               DEFVAL { 32000 }
> > > >    where the DESCRIPTION clause suggests that the value might in
> > > fact
> > > >    be EITHER >32000 or 0. So how can there be a DEFVAL that 
> > > > covers both?
> > > > 
> > > > - I see:
> > > >       sipStatusCodeMethod OBJECT-TYPE
> > > >           SYNTAX      SipMethodName
> > > >           MAX-ACCESS  not-accessible
> > > >           STATUS      current
> > > >           DESCRIPTION
> > > >                "This object uniquely identifies a conceptual row
> > > >                 in the table and reflects an assigned number
> used
> > > >                 to identifier a specific SIP method."
> > > >    s/to identifier/to identify/ !!??
> > > > 
> > > > -    sipStatusCodeRowStatus OBJECT-TYPE
> > > >          SYNTAX      RowStatus
> > > >          MAX-ACCESS  read-create
> > > >          STATUS      current
> > > >          DESCRIPTION
> > > >               "The row augmentation in sipStatusCodeNotifTable
> > > >                will be governed by the value of this RowStatus.
> > > > 
> > > >                This object is REQUIRED to create or delete rows
> > > >                by a manager.
> > > > 
> > > >                The values 'createAndGo' and 'destroy' are the
> > > >                only valid values allowed for this object.
> > > >                If a row exists, it will reflect a status of
> > > >                'active' when queried."
> > > >          ::= { sipStatusCodesEntry 5 }
> > > > 
> > > >    You are missing a statement that explains if writable columns
> 
> > > >    (they would be columns in the augmenting 
> > sipStatusCodeNotifTable)
> > > >    can be changed if the value of this object is 
> > 'active'. I would 
> > > >    think the answer is YES< they can be modified, and RFC2579 
> > > >    in RowStatus TC DESCRIPTION clause mandates that you specify
> > > >    this in the DESCRIPTION clause of an object that uses the
> > > >    RowStatus TC as its SYNTAX.
> > > > 
> > > >    The 2nd para in the DESCRIPTION clause seems redundant. But
> is
> > > >    acceptable. I would remove it though.
> > > > 
> > > >    The last para seems material that needs to go into the
> > > >    MODULE-COMPLIANCE. you are basically stating that a 
> > createAndWait
> > > >    and notInService are not required. I find it strange that you
> > > >    would want to PROHIBIT support for those. If the latter, than
> > > >    you would normally do that by a SYNTAX of:
> > > >       sipStatusCodeRowStatus OBJECT-TYPE
> > > >           SYNTAX      RowStatus {
> > > >                         active(1),
> > > >                         createAndGo(4),
> > > >                         destroy(6)
> > > >                       }
> > > >    If the former (I think I would prefer the former), in 
> > which case
> > > >    you leave the SYNTAX as is, but in the 
> > MODULE-COMPLIANCE, you add
> > > >    an OBJECT clause, as follows. 
> > > >    I would replace (i.e. add):
> > > >       sipCommonCompliance MODULE-COMPLIANCE
> > > > 
> > > >           STATUS     current
> > > >           DESCRIPTION
> > > >                "The compliance statement for SIP entities."
> > > > 
> > > >           MODULE -- this module
> > > >                MANDATORY-GROUPS { sipCommonConfigGroup,
> > > >                                   sipCommonStatsGroup }
> > > >    with:
> > > >       sipCommonCompliance MODULE-COMPLIANCE
> > > > 
> > > >           STATUS     current
> > > >           DESCRIPTION
> > > >                "The compliance statement for SIP entities."
> > > > 
> > > >           MODULE -- this module
> > > >                MANDATORY-GROUPS { sipCommonConfigGroup,
> > > >                                   sipCommonStatsGroup }
> > > > 
> > > >           OBJECT sipStatusCodeRowStatus
> > > >           SYNTAX RowStatus { active(1) }
> > > >           WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) }
> > > >           DESCRIPTION
> > > >             "Support for createAndWait and notInService is 
> > > > not required."
> > > > 
> > > > - I would think that the DEFVAL for 
> > sipStatusCodeNotifEmitMode would
> > > >   better be oneShot so as to minimize network load. In any 
> > > > event, it seems
> > > >   wierd to me that the value would be "triggered" by default 
> > > > (I see that
> > > >   the DESCRIPTION clause says that this is also possibly the 
> > > > default value). 
> > > > 
> > > > 
> > > > - The way the MODULE-COMPLIANCE is defined means that IF 
> > you claim 
> > > >   compliance, then for all writable objects you DO support them
> in
> > > >   read-write or read-create (as the case may be). As long as the
> 
> > > >   WG and authors are aware of that and if that is what they
> want,
> > > >   then fine. I am assuming so, but did want to point it out
> during
> > > >   my review.
> > > > 
> > > > 
> > > > ------ SIP-UA-MIB
> > > > 
> > > > I see no blocking issues or fatal flwas. However, pls consider:
> > > > 
> > > > - I would rename sipUAMIBConform to sipUAMIBConformance for 
> > > > consistency
> > > >   with many otehr MIB modules.
> > > > 
> > > > - I see:
> > > >       sipUACfgServerEntry OBJECT-TYPE
> > > >           SYNTAX     SipUACfgServerEntry
> > > >           MAX-ACCESS not-accessible
> > > >           STATUS     current
> > > >           DESCRIPTION
> > > >                "A row of server configuration.
> > > > 
> > > >                 Each row represents those objects for a
> particular
> > > SIP
> > > >                 user agent present in this system.  applIndex 
> > > > is used to
> > > >                 uniquely identify these instances of SIP user 
> > > > agents and
> > > >                 correlate them through the common framework of
> the
> > > >                 NETWORK-SERVICES-MIB (RFC 2788). The same value
> of
> > > >                 applIndex used in the corresponding
> SIP-COMMON-MIB
> > > is
> > > >                 used here.
> > > >                 The objects in this table entry SHOULD be
> > > non-volatile
> > > >                 and their value SHOULD be kept at reboot."
> > > >    
> > > >    But the whole table is read-onlyu, so the last 2 lines seem
> > > useless
> > > >    and so not needed to me.
> > > > 
> > > > - I see:
> > > >      sipUACfgServerAddr OBJECT-TYPE
> > > >          SYNTAX     InetAddress
> > > >          MAX-ACCESS read-only
> > > >          STATUS     current
> > > >          DESCRIPTION
> > > >               "This object reflects the address of a SIP server
> > > >                this user agent will use to proxy/redirect
> calls."
> > > >          REFERENCE "INET-ADDRESS-MIB (RFC 4001)"
> > > >          ::= { sipUACfgServerEntry 3 }
> > > >   
> > > >    RFC4001, requires (MUST language) that every object with 
> > > > syntax InetAddress
> > > >    specifies WHICH object of SYNTAX InetAddressType controls 
> > > > the format of the
> > > >    InetAddress. It is simple. Add this text:
> > > > 
> > > >          The type of this address is determined by the 
> > value of the
> > > >          sipUACfgServerAddrType
> > > >          object.  Note that implementations must limit
> themselves
> > > > 
> > > > - real NIT.
> > > >   from a user-friendlyness/intuitiveness point of view, I 
> > > > think I would
> > > >   rename
> > > >   -  sipUACfgServerAddrType to sipUACfgServerAddressType
> > > >   -  sipUACfgServerAddr     to sipUACfgServerAddress
> > > >   -  sipUACfgServerFunction to sipUACfgServerRole.
> > > > 
> > > > 
> > > > ------- SIP-SERVER-MIB
> > > > 
> > > > maybe in need of a fi:
> > > > 1.sipNumProxyRequireFailures does not specify which (if any) 
> > > >   discontinuity timer applies.
> > > >   Same for: sipUserAuthenticationFailures 
> > > >   Same for counters in sipRegStatsTable
> > > > 
> > > > Editorial concerns (includes naming concern)
> > > > 
> > > > - I would rename sipServerMIBConform to 
> > sipServerMIBConformance for
> > > >   naming consistency with so many other MIB modules
> > > > 
> > > > - sipServerCfgEntry talks about "SHOULD be non-volatile"
> > > >   but the whole table is read-only, so I see no use/need for 
> > > > that text.
> > > > 
> > > > - In the DESCRIPTION clause of sipServerHostAddr, I see:
> > > >                   sipServerHostAddrType formalizes the type of
> > > address
> > > >                   given by this object.  It is the user's
> > > >                   responsibility to maintain consistency between
> > > this
> > > >                   object and the type specified by
> > > >                   sipServerHostAddrType."
> > > > 
> > > >   It does explain how the format is controlled (by value of
> > > >   sipServerHostAddrType). But it is unclear who the "user" is 
> > > > who is made
> > > >   responsible for consitency here. I think it is an
> implementation
> > > >   responsibility, since both objects are read-only.
> > > > 
> > > > - I would rename sipProxyCfg to sipServerProcyCfg (and all
> > > descriptors
> > > >   with same prefix too).
> > > >   I would rename sipProxyStats to sipServerProxyStats (and all 
> > > >   descriptors with same prefix as well).
> > > > 
> > > > - sipProxyCfgEntry talks about "SHOULD be non-volatile" while 
> > > > the whole
> > > >   table is read-only. So that text is meaningless/not-needed.
> > > > 
> > > > - I personally would rename sipProxyAuthRealm to 
> > > > sipProxyAuthDefaultRealm
> > > >   to make the descriptor better cover the content.
> > > > 
> > > > 
> > > > Bert
> > > > 
> > > > 
> > > > _______________________________________________
> > > > MIB-DOCTORS mailing list
> > > > MIB-DOCTORS@ietf.org
> > > > https://www1.ietf.org/mailman/listinfo/mib-doctors
> > > > 
> > > 
> > 
> 

_______________________________________________
MIB-DOCTORS mailing list
MIB-DOCTORS@ietf.org
https://www1.ietf.org/mailman/listinfo/mib-doctors