Subject: [ipcdn] I-D ACTION:draft-ietf-ipcdn-pktc-signaling-13.txt

From: [email-masked]
Date: Tue, 06 Mar 2007 15:50:03 -0500

A New Internet-Draft is available from the on-line Internet-Drafts 
directories.
This draft is a work item of the IP over Cable Data Network Working Group of the IETF.

	Title		: Network-Based Call Signaling (NCS) MIB for PacketCable and IPCablecom Multimedia Terminal Adapters (MTAs)
	Author(s)	: G. Beacham, et al.
	Filename	: draft-ietf-ipcdn-pktc-signaling-13.txt
	Pages		: 74
	Date		: 2007-3-6
	
This memo defines a portion of the Management Information Base (MIB) 
   for use with network management protocols in the Internet community. 
   In particular, it provides a common data and format representation 
   for PacketCable and IPCablecom compliant Multimedia Terminal Adapter 
   devices.

A URL for this Internet-Draft is:
http://www.ietf.org/internet-drafts/draft-ietf-ipcdn-pktc-signaling-13.txt

To remove yourself from the I-D Announcement list, send a message to 
[email-masked] with the word unsubscribe in the body of 
the message. 
You can also visit https://www1.ietf.org/mailman/listinfo/I-D-announce 
to change your subscription settings.

Internet-Drafts are also available by anonymous FTP. Login with the 
username "anonymous" and a password of your e-mail address. After 
logging in, type "cd internet-drafts" and then 
"get draft-ietf-ipcdn-pktc-signaling-13.txt".

A list of Internet-Drafts directories can be found in
http://www.ietf.org/shadow.html 
or ftp://ftp.ietf.org/ietf/1shadow-sites.txt

Internet-Drafts can also be obtained by e-mail.

Send a message to:
	[email-masked].
In the body type:
	"FILE /internet-drafts/draft-ietf-ipcdn-pktc-signaling-13.txt".
	
NOTE:	The mail server at ietf.org can return the document in
	MIME-encoded form by using the "mpack" utility.  To use this
	feature, insert the command "ENCODING mime" before the "FILE"
	command.  To decode the response(s), you will need "munpack" or
	a MIME-compliant mail reader.  Different MIME-compliant mail readers
	exhibit different behavior, especially when dealing with
	"multipart" MIME messages (i.e. documents which have been split
	up into multiple messages), so check your local documentation on
	how to manipulate these messages.

Below is the data which will enable a MIME compliant mail reader
implementation to automatically retrieve the ASCII version of the
Internet-Draft.
_______________________________________________
IPCDN mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/ipcdn

---

From: "Jean-Francois Mule" <[email-masked]>
Date: Mon, 12 Mar 2007 04:04:35 -0600

Folks,

   Find below my comments on the IPCDN Signaling MIB module draft-12.
Sumanth and I discussed them and he did integrate them into draft-13
which he submitted before the March 5 cutoff deadline. Draft-13 is now
available in the I-D repository.

   Sorry for sending this late to the ipcdn reflector but it does
document the changes made in draft-13 based on my quick review (some
of Sumanth's interspersed notes are in there too starting with [S].

   I will now complete the proto write-up on draft-13. Rich and I will
then request publication.

Jean-Francois.

--- IDnits on draft-12

The ID boiler plate has changed. This is what ID-nits reports:
tmp/draft-ietf-ipcdn-pktc-signaling-12.txt:

  Checking boilerplate required by RFC 3978 and 3979, updated by RFC
4748:
  * This document has an original RFC 3978 Section 5.4 Copyright Line,
    instead of the newer IETF Trust Copyright according to RFC 4748.
  * This document has an original RFC 3978 Section 5.5 Disclaimer,
instead of
    the newer disclaimer which includes the IETF Trust according to RFC
4748.

  Checking nits according to
http://www.ietf.org/ietf/1id-guidelines.txt:
  - No 'Intended status' indicated for this document; assuming Proposed
    Standard
 => Intended Status = Proposed Standard.

  Checking nits according to http://www.ietf.org/ID-Checklist.html:
    Nothing found here.

  Miscellaneous warnings:
  - The copyright year in the RFC 3978 Section 5.4 Copyright Line does
not
    match the current year

  Checking references for intended status: Proposed Standard
  - Unused Reference: 'RFC2119' is defined on line 3356, but not
referenced
    '[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirem...'

 - in
 108 3.   Terminology
 110 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
 111 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in
this
 112 document are to be interpreted as described in RFC 2119.

                                                   ^^^^^^^^^ ^^
 => It is missing the reference [RFC2119] for some reasons.

  - Unused Reference: 'ETSI-TS-101-909-4' is defined on line 3419, but
not
    referenced
    '[ETSI-TS-101-909-4] ETSI TS 101 909-4:"Access and Terminals (AT);
Digi...'
 
  - Unused Reference: 'ETSI-EN-300-324-1' is defined on line 3438, but
not
    referenced
    '[ETSI-EN-300-324-1] ETSI EN 300 324-1 V2.1.1 (2000-04):"V
Interfaces a...'

 => for all these consider adding a paragraph in the mib front paper to
   insert proper citations, see other IPCDN RFCs for an example.

  - Possible downref: Non-RFC Normative Reference: ref. 'ITU-T-J169'
  - Possible downref: Non-RFC Normative Reference: ref. 'PKT-SP-CODEC'
  - Possible downref: Non-RFC Normative Reference: ref. 'PKT-SP-MGCP'
  - Possible downref: Non-RFC Normative Reference: ref. 'PKT-SP-PROV'

    Summary: 2 errors, 9 warnings

--- Reference updates
  Some references might require some updates.

--- Review comments of draft-12

 - consider removing (r) in CableLabs (R) on page 1 (you may add it
  later)

 - s/RFCXYZ/RFC4682

 - each time you cite a PKT reference, consider adding the name of the
   spec, it helps the reader understand what the reference is about
   since it is an external ref. 
   For e.g., see MTA MIB RFC for that:
   the PacketCable MTA Device Provisioning Specification
   [PKT-SP-PROV] and the PacketCable Codec Specification [PKT-SP-CODEC].

 - in:

 3.3    L Line Package 
   The L line package refers to the core signaling functionality as 
   defined by PacketCable and IPCablecom. An MTA provides all L package 
   elements, however the operator determines their application. 

 3.4    E Line Package 
   The E line package refers to extensions, over and above the core L 
   package, defined in support of international requirements. E line 
   package elements are optional, vary from country to country, and are 
   set by operator or regulatory requirements. 

Please indicate that these are MGCP packages, for example:
   L Line Package 
   The L line package refers to the MGCP package for the core
   signaling functionality...

 - in section 4
   s/Institute(ETSI)/Institute (ETSI)
                              ^ 
 - in section 4
  s/

This MIB module provides a set of objects required for Signaling 
   PacketCable, European Telecommunications Standards Institute(ETSI), 
   and International Telecommunication Union Telecommunication 
   Standardization Sector (ITU-T) IPCablecom compliant Multimedia 
   Terminal Adapter (MTA) devices.
/
This MIB module provides a set of objects required for Multimedia
Terminal Adapter (MTA) devices compliant with the PacketCable and
IPCablecom signaling specifications published by CableLabs, the
European Telecommunications Standards Institute(ETSI), and the
International Telecommunication Union Telecommunication
Standardization Sector (ITU-T).
 
 - s/ The SIG MIB module is/ The IETF MTA Signaling MIB module
   (PKTC-IETF-SIG-MIB) is
 
[S] Modified this to say 'The IETF NCS MIB module' (based on the title)
 
 - s/SIG MIB/ signaling MIB module 
  (the current text is not readable)
 
 - s/ the ifTable (IF-MIB)/ the ifTable (IF-MIB [RFCxxx])
 - spell out FSK and DTMF (Frequency Shift Keying (FSK) and Dual tone
   multi-frequency (DTMF) on first use
 - expand CID into Caller Identification or Caller ID on its first use
   as you re-use it later
 
 - in 4.2., expand the acronym RP-AS (== Ring Pulse Alert Signal
   (RP-AS)) on its first use
 
 - now, getting into section 5, MIB def
 
 - in
   PktcCodecType ::= TEXTUAL-CONVENTION  
The use of "PacketCable" as a noun is improper; always use PacketCable
as an adjective.
s/
             unknown         a codec not defined in PacketCable
/
             unknown         a codec not defined in the PacketCable
Codec Specification
 
 - check end of line formatting for:
         bv16            Broadcom BroadVoice16 
           . The list of codecs is consistent with the IETF 
    
 - in
   DtmfCode::=TEXTUAL-CONVENTION 
       STATUS       current 
       DESCRIPTION 
           "This textual convention represents the DTMF Character used  
            to indicate the start or end of the digit transition  
            sequence used for Caller ID or VMWI. 
   
  Spell out VMWI on its first use
 
 - in
 
             CodecComboIndex pktcSigDevCodecType pktcSigDevCodecMax 
            ^^^  
  You must use the proper name for that index. Suggest something like
             pktcSigDev
             CodecComboIndex pktcSigDevCodecType pktcSigDevCodecMax 
 
[S] I modified this as 
         pktcSigDev        pktcSigDev        pktcSigDev
       CodecComboIndex      CodecType         CodecMax

  if you want to make it fit, but please use the full object name
 
 - bug: in    pktcSigPowerRingFrequency, delete:
             Unless changed via configuration this MIB Object MUST 
             reflect a value of '2427'."  
        Which is a copy-paste from the previous mib object
 
 - in    pktcSigPulseSignalFrequency, add a space before the comma in
        initialRing,enableMeterPulse,
                    ^
 - in:    pktcSigPulseSignalDbLevel,
 An attempt to 
             set this object while the value of pktcSigPulseSignalType 
             is not enableMeterPulse, or meterPulseBurst will result in 
             an 'inconsistent value' error." 
                 ^^^^^^^^^^^^^^^^^^
s/'inconsistent value'/'inconsistentValue' 
same for pktcSigPulseSignalDuration (do a global search/replace on
this one please).
 
 - in pktcSigDevCidMode:
 s/method of Caller ID/method for representing and signaling Caller ID
 or something like that, indicating that this is the method by which 
 caller ID is sent to the terminal (format, signals?).
 Check space before commas.
 
 - in pktcSigDevCidAfterRing, you have:
   "         Value of 'pktcSigDevCidMode'     Default value 
    
             duringringingETS                 550 ms 
             dtAsETS                          0 (not used) 
             rpAsETS                          0 (not used) 
             lrAsETS                          0 (not used) 
             lrETS                            0 (not used) 
    
             An attempt to set this object while the value of 
             pktcSigDevCidMode is not duringringingETS will result in 
             an 'inconsistent value' error." 
  and then
       DEFVAL { 550 } 
  
  This may have been discussed in the past but is this appropriate? 
  If the default value of this object depends on
  another one, would it be better to not have a DEFVAL clause? this
  seems strange to me, but it may be ok. 
  At this late stage, just asking to make sure there is a some
  rationale on this.
  If you want to keep the DEFVAL because whenever it is applicable and
  used, its value is 550 by default, then I would rather see something
  like this in the description:
   "         Value of 'pktcSigDevCidMode'     Default value 
    
             duringringingETS                 550 ms 
             dtAsETS                          any value (not used) 
             rpAsETS                          any value (not used) 
             lrAsETS                          any value (not used) 
             lrETS                            any value (not used) 
   "
  Do you really need this object to be set to zero when not applicable?
  This means implementers have to build special code in the agent to
  update the value to zero on top of the DEFVAL at initialization.
 
  s/'inconsistent value'/'inconsistentValue' (here again and globally)
 
 - same comments as above apply to pktcSigDevCidAfterDTAS,
   pktcSigDevCidAfterRPAS, pktcSigDevRingAfterCID, etc.
 
[S] Changed and this also included ' pktcSigPulseSignalRepeatCount'
 
 - in pktcSigDevToneTable:
   consider changing the following sentence:
   s/
             Any definition of the tones callWaiting1-4 in this table 
             should just contain the audible tone itself and NOT 
             contain the delay between tones or the tone repeat count. 
    /
             The definition of the tones callWaiting1 through
             callWaiting-4 in this table should just contain the
             audible tone itself; the delay between tones or the value
             of the tone repeat count are not applicable for the call
             waiting tones.
   ==> I assume this is what is meant given the def of the table
       entry; the use of capital NOT seems to relate to a missing
       requirement verb and it may not be necessary here.
 
[S] I changed this to:
The definition of the tones callWaiting1 through callWaiting4 in this
table MUST only contain the audible tone itself; the delay between
tones or the value of the tone repeat count are not applicable for the
call waiting tones.

 - in pktcSigDevToneSteady:
   pktcSigDevToneWholeRepeatCount does not exist but is used in the
   description. 
   s/pktcSigDevToneWholeRepeatCount/pktcSigDevToneWholeToneRepeatCount
   ?
   You should consider going through all the object names referenced
   in the mib objects to verify that their naming is correct per
   draft-12?
 
   s/Device must play/Devices must play
 
 - in pktcSigDevToneFreqMode:
   s/firstModulatedBySecond (1)/'firstModulatedBySecond (1)'
   s/summation (2)/'summation (2)'
 
 - in pktcSigDevToneFreqAmpModePrtg:
   should this be Unsigned32?
   the single quotes should be removed for the mib object name (they
   are used for values): 
 
   [S] Repeated suggested change whatever I could find an occurance
 
s/'pktcSigDevToneFreqMode'/pktcSigDevToneFreqMode
   any defval?
[S] I don't think there is a specific DEFVAL that works for all tones
(its part of a table representing multiple values, check the
examples)
 
 - pktcSigDevToneDbLevel:
   same comment as above (please check throughout the mib module):
   s/'pktcSigDevMultiFreqToneTable'/pktcSigDevMultiFreqToneTable
 
 - pktcSigDevCidDelayAfterLR:
   see above comments: should 0 be changed to any value? 
   check syntax of InconsistentValue error
 
 - pktcSigDevCidDtmfStartCode:
   remove single quote for object names
 
 - pktcSigDevVmwiDelayAfterLR, and pktcSigDevrpAsDtsDuration:
   same comments as above for pktcSigDevCidDelayAfterLR

 - pktcNcsEndPntConfigTSMax: check identation
 
 - pktcNcsEndPntConfigStatus:
   s/active(1)/'active(1)'
 
--- Object naming consistent and tree dump
# PKTC-IETF-SIG-MIB registration tree (generated by smidump 0.4.5)
--pktcIetfSigMib(1.3.6.1.2.1.xxx)
  |
  +--pktcSigNotification(0)
  |
  +--pktcSigMibObjects(1)
  |  |
  |  +--pktcSigDevConfigObjects(1)
  |  |  |
  |  |  +--pktcSigDevCodecTable(1)
 
should all objects in the config group be named: pktcSigDevConfig___?
e.g., s/pktcSigDevCodecTable/pktcSigDevConfigCodecTable ?
 
[S] Since this would make some of the names exceed 32 characters, I
did it the other way around, i.e.,
 
s/pktcSigDevConfigObjects/pktcSigDevObjects
 
Is this OK?
 
  |  |  |  |
  |  |  |  +--pktcSigDevCodecEntry(1)
[pktcSigDevCodecComboIndex,pktcSigDevCodecType]
  |  |  |     |
  |  |  |     +-- --- Unsigned32    pktcSigDevCodecComboIndex(1)
  |  |  |     +-- --- PktcCodecType pktcSigDevCodecType(2)
  |  |  |     +-- r-n Unsigned32    pktcSigDevCodecMax(3)
  |  |  |
  |  |  +-- r-n TruthValue      pktcSigDevEchoCancellation(2)
e.g., s/pktcSigDevEchoCancellation/pktcSigDevConfigEchoCancellation ?
same for objects below
  |  |  +-- r-n TruthValue      pktcSigDevSilenceSuppression(3)
  |  |  +-- rwn Enumeration     pktcSigDevCidSigProtocol(4)
  |  |  +-- rwn PktcRingCadence pktcSigDevR0Cadence(5)
  |  |  +-- rwn PktcRingCadence pktcSigDevR1Cadence(6)
  |  |  +-- rwn PktcRingCadence pktcSigDevR2Cadence(7)
  |  |  +-- rwn PktcRingCadence pktcSigDevR3Cadence(8)
  |  |  +-- rwn PktcRingCadence pktcSigDevR4Cadence(9)
  |  |  +-- rwn PktcRingCadence pktcSigDevR5Cadence(10)
  |  |  +-- rwn PktcRingCadence pktcSigDevR6Cadence(11)
  |  |  +-- rwn PktcRingCadence pktcSigDevR7Cadence(12)
  |  |  +-- rwn PktcRingCadence pktcSigDevRgCadence(13)
  |  |  +-- rwn PktcRingCadence pktcSigDevRsCadence(14)
  |  |  +-- rwn Dscp            pktcSigDefCallSigDscp(15)
  |  |  +-- rwn Dscp            pktcSigDefMediaStreamDscp(16)
  |  |  |
  |  |  +--pktcSigCapabilityTable(17)
  |  |  |  |
  |  |  |  +--pktcSigCapabilityEntry(1) [pktcSignalingIndex]
  |  |  |     |
  |  |  |     +-- --- Unsigned32      pktcSignalingIndex(1)
This object naming lacks roots: 
s/pktcSignalingIndex/pktcSigCapabilityIndex
  |  |  |     +-- r-n PktcSigType     pktcSignalingType(2)
s/pktcSignalingType/pktcSigCapabilityType
etc.
  |  |  |     +-- r-n SnmpAdminString pktcSignalingVersion(3)
  |  |  |     +-- r-n SnmpAdminString pktcSignalingVendorExtension(4)
  |  |  |
  |  |  +-- r-n InetPortNumber  pktcSigDefNcsReceiveUdpPort(18)
  |  |  +-- r-n Enumeration     pktcSigPowerRingFrequency(19)
  |  |  |
  |  |  +--pktcSigPulseSignalTable(20)
  |  |  |  |
  |  |  |  +--pktcSigPulseSignalEntry(1) [pktcSigPulseSignalType]
  |  |  |     |
  |  |  |     +-- --- Enumeration pktcSigPulseSignalType(1)
  |  |  |     +-- rwn Enumeration pktcSigPulseSignalFrequency(2)
  |  |  |     +-- rwn TenthdBm    pktcSigPulseSignalDbLevel(3)
  |  |  |     +-- rwn Unsigned32  pktcSigPulseSignalDuration(4)
  |  |  |     +-- rwn Unsigned32  pktcSigPulseSignalPulseInterval(5)
  |  |  |     +-- rwn Unsigned32  pktcSigPulseSignalRepeatCount(6)
  |  |  |
  |  |  +-- rwn Enumeration     pktcSigDevCidMode(21)
same here
s/pktcSigDevCidMode/pktcSigDevConfigCidMode
same for objects below
  |  |  +-- rwn Unsigned32      pktcSigDevCidAfterRing(22)
  |  |  +-- rwn Unsigned32      pktcSigDevCidAfterDTAS(23)
  |  |  +-- rwn Unsigned32      pktcSigDevCidAfterRPAS(24)
  |  |  +-- rwn Unsigned32      pktcSigDevRingAfterCID(25)
  |  |  +-- rwn Unsigned32      pktcSigDevCidDTASAfterLR(26)
  |  |  +-- rwn Enumeration     pktcSigDevVmwiMode(27)
  |  |  +-- rwn Unsigned32      pktcSigDevVmwiAfterDTAS(28)
  |  |  +-- rwn Unsigned32      pktcSigDevVmwiAfterRPAS(29)
  |  |  +-- rwn Unsigned32      pktcSigDevVmwiDTASAfterLR(30)
  |  |  |
  |  |  +--pktcSigDevRingCadenceTable(31)
  |  |  |  |
  |  |  |  +--pktcSigDevRingCadenceEntry(1) [pktcSigDevRingCadenceIndex]
  |  |  |     |
  |  |  |     +-- --- Unsigned32      pktcSigDevRingCadenceIndex(1)
  |  |  |     +-- rwn PktcRingCadence pktcSigDevRingCadence(2)
  |  |  |
  |  |  +--pktcSigDevToneTable(32)
s/pktcSigDevToneTable/pktcSigDevConfigToneTable ?

  |  |  |  |
  |  |  |  +--pktcSigDevToneEntry(1)
[pktcSigDevToneType,pktcSigDevToneFreqGroup]
  |  |  |     |
  |  |  |     +-- --- Enumeration pktcSigDevToneType(1)
  |  |  |     +-- --- Unsigned32  pktcSigDevToneFreqGroup(2)
  |  |  |     +-- r-n Unsigned32  pktcSigDevToneFreqCounter(3)
  |  |  |     +-- r-n Unsigned32  pktcSigDevToneWholeToneRepeatCount(4)
  |  |  |     +-- r-n TruthValue  pktcSigDevToneSteady(5)
  |  |  |
  |  |  +--pktcSigDevMultiFreqToneTable(33)
  |  |  |  |
  |  |  |  +--pktcSigDevMultiFreqToneEntry(1)
[pktcSigDevToneType,pktcSigDevToneNumber]
  |  |  |     |
  |  |  |     +-- --- Unsigned32  pktcSigDevToneNumber(1)
  |  |  |     +-- r-n Unsigned32  pktcSigDevToneFirstFreqValue(2)
  |  |  |     +-- r-n Unsigned32  pktcSigDevToneSecondFreqValue(3)
  |  |  |     +-- r-n Unsigned32  pktcSigDevToneThirdFreqValue(4)
  |  |  |     +-- r-n Unsigned32  pktcSigDevToneFourthFreqValue(5)
  |  |  |     +-- r-n Enumeration pktcSigDevToneFreqMode(6)
  |  |  |     +-- r-n Integer32   pktcSigDevToneFreqAmpModePrtg(7)
  |  |  |     +-- r-n TenthdBm    pktcSigDevToneDbLevel(8)
  |  |  |     +-- r-n Unsigned32  pktcSigDevToneFreqOnDuration(9)
  |  |  |     +-- r-n Unsigned32  pktcSigDevToneFreqOffDuration(10)
  |  |  |     +-- r-n Unsigned32  pktcSigDevToneFreqRepeatCount(11)
  |  |  |
  |  |  +-- rwn Unsigned32      pktcSigDevCidDelayAfterLR(34)
  |  |  +-- rwn DtmfCode        pktcSigDevCidDtmfStartCode(35)
  |  |  +-- rwn DtmfCode        pktcSigDevCidDtmfEndCode(36)
  |  |  +-- rwn Enumeration     pktcSigDevVmwiSigProtocol(37)
  |  |  +-- rwn Unsigned32      pktcSigDevVmwiDelayAfterLR(38)
  |  |  +-- rwn DtmfCode        pktcSigDevVmwiDtmfStartCode(39)
  |  |  +-- rwn DtmfCode        pktcSigDevVmwiDtmfEndCode(40)
  |  |  +-- rwn Unsigned32      pktcSigDevrpAsDtsDuration(41)
  |  |
  |  +--pktcNcsEndPntConfigObjects(2)
  |     |
  |     +--pktcNcsEndPntConfigTable(1)
  |        |
  |        +--pktcNcsEndPntConfigEntry(1) [ifIndex]
  |           |
  |           +-- rwn SnmpAdminString pktcNcsEndPntConfigCallAgentId(1)
  |           +-- rwn InetPortNumber
pktcNcsEndPntConfigCallAgentUdpPort(2)
  |           +-- rwn Unsigned32
pktcNcsEndPntConfigPartialDialTO(3)
  |           +-- rwn Unsigned32
pktcNcsEndPntConfigCriticalDialTO(4)
  |           +-- rwn Unsigned32      pktcNcsEndPntConfigBusyToneTO(5)
  |           +-- rwn Unsigned32      pktcNcsEndPntConfigDialToneTO(6)
  |           +-- rwn Unsigned32
pktcNcsEndPntConfigMessageWaitingTO(7)
  |           +-- rwn Unsigned32
pktcNcsEndPntConfigOffHookWarnToneTO(8)
  |           +-- rwn Unsigned32      pktcNcsEndPntConfigRingingTO(9)
  |           +-- rwn Unsigned32      pktcNcsEndPntConfigRingBackTO(10)
  |           +-- rwn Unsigned32
pktcNcsEndPntConfigReorderToneTO(11)
  |           +-- rwn Unsigned32
pktcNcsEndPntConfigStutterDialToneTO(12)
  |           +-- rwn Unsigned32      pktcNcsEndPntConfigTSMax(13)
  |           +-- rwn Unsigned32      pktcNcsEndPntConfigMax1(14)
  |           +-- rwn Unsigned32      pktcNcsEndPntConfigMax2(15)
  |           +-- rwn TruthValue      pktcNcsEndPntConfigMax1QEnable(16)
  |           +-- rwn TruthValue      pktcNcsEndPntConfigMax2QEnable(17)
  |           +-- rwn Unsigned32      pktcNcsEndPntConfigMWD(18)
  |           +-- rwn Unsigned32      pktcNcsEndPntConfigTdinit(19)
  |           +-- rwn Unsigned32      pktcNcsEndPntConfigTdmin(20)
  |           +-- rwn Unsigned32      pktcNcsEndPntConfigTdmax(21)
  |           +-- rwn Unsigned32      pktcNcsEndPntConfigRtoMax(22)
  |           +-- rwn Unsigned32      pktcNcsEndPntConfigRtoInit(23)
  |           +-- rwn Unsigned32
pktcNcsEndPntConfigLongDurationKeepAlive(24)
  |           +-- rwn Unsigned32      pktcNcsEndPntConfigThist(25)
  |           +-- rwn RowStatus       pktcNcsEndPntConfigStatus(26)
  |           +-- rwn Unsigned32
pktcNcsEndPntConfigCallWaitingMaxRep(27)
  |           +-- rwn Unsigned32
pktcNcsEndPntConfigCallWaitingDelay(28)
  |           +-- r-n InetAddressType
pktcNcsEndPntStatusCallIpAddressType(29)
  |           +-- r-n InetAddress
pktcNcsEndPntStatusCallIpAddress(30)
  |           +-- r-n Enumeration     pktcNcsEndPntStatusError(31)
  |           +-- r-n Unsigned32
pktcNcsEndPntConfigMinHookFlash(32)
  |           +-- r-n Unsigned32
pktcNcsEndPntConfigMaxHookFlash(33)
  |           +-- r-n Unsigned32
pktcNcsEndPntConfigPulseDialInterdigitTime(34)
  |           +-- r-n Unsigned32
pktcNcsEndPntConfigPulseDialMinMakeTime(35)
  |           +-- r-n Unsigned32
pktcNcsEndPntConfigPulseDialMaxMakeTime(36)
  |           +-- r-n Unsigned32
pktcNcsEndPntConfigPulseDialMinBreakTime(37)
  |           +-- r-n Unsigned32
pktcNcsEndPntConfigPulseDialMaxBreakTime(38)
  |
  +--pktcSigConformance(2)
     |
     +--pktcSigCompliances(1)
     |  |
     |  +--pktcSigBasicCompliance(1)
     |
     +--pktcSigGroups(2)
        |
        +--pktcSigGroup(1)
        |
        +--pktcNcsGroup(2)
        |
        +--pktcInternationalGroup(3)