CL-PKTC-EUE-TC-MIB DEFINITIONS ::= BEGIN
IMPORTS
    MODULE-IDENTITY,
    Unsigned32
                    FROM SNMPv2-SMI
    TEXTUAL-CONVENTION
                    FROM SNMPv2-TC
    pktcEUEMibs
                    FROM CLAB-DEF-MIB;
pktcEUETCMIB MODULE-IDENTITY
    LAST-UPDATED "200807100000Z" -- July 10, 2008
    ORGANIZATION "Cable Television Laboratories, Inc."
    CONTACT-INFO
            "Broadband Network Services
             Cable Television Laboratories, Inc.
             858 Coal Creek Circle,
             Louisville, CO 80027, USA
             Phone: +1 303-661-9100
             Email: mibs@cablelabs.com
             Acknowledgements:
             Thomas Clack, Broadcom - Primary author,
             Sumanth Channabasappa, CableLabs
             Eduardo Cardona, CableLabs
             and members of the PacketCable PACM Focus Team."
    DESCRIPTION
            "This MIB module specifies the TEXTUAL CONVENTIONs
             for use in the definition of PacketCable E-UE
             MIB Objects."
    REVISION "200807100000Z" -- July 10, 2008
    DESCRIPTION
            "Revised Version includes ECN EUE-DATA-N-08.0524-5
            and published as I02"
    REVISION "200711060000Z" -- Nov 6, 2007
    DESCRIPTION
            "Initial version, published as part of the CableLabs
            E-UE Provisioning Data Model Specification
            PKT-SP-EUE-DATA-I01-071106
            Copyright 1999-2008 Cable Television Laboratories, Inc.
            All rights reserved."
    ::= { pktcEUEMibs 2 }
-- Administrative assignments
pktcEUETCNotifications     OBJECT IDENTIFIER ::= { pktcEUETCMIB 0 }
pktcEUETCObjects           OBJECT IDENTIFIER ::= { pktcEUETCMIB 1 }
pktcEUETCConformance       OBJECT IDENTIFIER ::= { pktcEUETCMIB 2 }
pktcEUETCCompliances       OBJECT IDENTIFIER ::= { pktcEUETCConformance 1 }
pktcEUETCGroups            OBJECT IDENTIFIER ::= { pktcEUETCConformance 2 }
-- MIB Objects
pktcEUETCUsageObjs         OBJECT IDENTIFIER ::= { pktcEUETCObjects 1 }

--- ---------------------------------------------------------------------
-- TEXTUAL CONVENTION for defining EUE Identifiers
--- ---------------------------------------------------------------------
  PktcEUETCID ::= TEXTUAL-CONVENTION
      STATUS  current
      DESCRIPTION
          " This TEXTUAL CONVENTION is being defined
            to contain identities that can be used
            within the PacketCable eUE data models.
            It specifies a hex string that can be
            used to represent the various identities.
            The types of possible identities are
            specified by the TEXTUAL CONVENTION
            'PktcEUETCIDType'.
            The following rules apply:
              - All identities, except macaddress refer
                to either UEs or Users.
                Mac addresses are UE specific
              - When used as a pair, the public and
                private identities MUST be separated
                by a '#', with the private identity
                following the public identity."
      SYNTAX   OCTET STRING(SIZE(0..1023))

--- ---------------------------------------------------------------------
-- TEXTUAL CONVENTION for defining EUE Identifier type
--- ---------------------------------------------------------------------
  PktcEUETCIDType ::= TEXTUAL-CONVENTION
      STATUS  current
      DESCRIPTION
          " This TEXTUAL CONVENTION is being defined
            as a way of indicating an identity
            specified by MIB Objects utilizing the
            TEXTUAL CONVENTION 'PktcEUETCID'.
            The defined types include:
              - other(1)
                  for types not described by the options
                  provided below
              - gruu(2)
                  for Globally Routable User Agent (UA) URIs
              - publicIdentity(3)
                  for Public Identities as defined by PacketCable
              - privateIdentity(4)
                  for Private Identities as defined by PacketCable
              - publicPrivatePair(5)
                  for Public and Private Identity pairs
                  as defined by PacketCable
              - username(6)
                  for username and password as defined by PacketCable
              - macaddress(7)
                  for mac addresses
              - packetcableIdentity(8)
                  for PacketCable specific types
            UE implementations must ensure that
            PktcEUETCIDType objects and any dependent
            objects (e.g., PktcEUETCID objects) are
            consistent.
            In general, the UE MUST generate an
            'inconsistentValue' error if an attempt
            to change a PktcEUETCIDType object would,
            for example, lead to an undefined PktcEUETCID
            value.
            In particular, PktcEUETCIDType/PktcEUEID pairs
            MUST be changed together."
      SYNTAX   INTEGER {
                        other(1),
                        gruu(2),
                        publicIdentity(3),
                        privateIdentity(4),
                        publicPrivatePair(5),
                        username(6),
                        macaddress(7),
                        packetcableIdentity(8)
                       }

--- ---------------------------------------------------------------------
-- TEXTUAL CONVENTION for defining activation status
--- ---------------------------------------------------------------------
  PktcEUETCAdminStatus ::= TEXTUAL-CONVENTION
      STATUS  current
      DESCRIPTION
          " This TEXTUAL CONVENTION is being defined to
            indicate activation status as defined in
            PacketCable.
            A value of 'active' indicates a status
            of active.
            A value of 'inactive' indicates a status
            of inactive."
      SYNTAX   INTEGER {
                         active(1),
                         inactive(2)
                        }
  PktcEUETCOperStatus ::= TEXTUAL-CONVENTION
      STATUS  current
      DESCRIPTION
          " This TEXTUAL CONVENTION is being defined to
            indicate operational activation status as defined in
            PacketCable.
            A value of 'active' indicates a status
            of active.
            A value of 'inactive' indicates a status
            of inactive.
            A value of 'notPresent' indicates the particular
            activation status is not supported.
            A value of 'unknown' indicates the activation status
            could not be determine by the other values."
      SYNTAX   INTEGER {
                         active(1),
                         inactive(2),
                         notPresent(3),
                         unknown(4)
                        }
--- ---------------------------------------------------------------------
-- TEXTUAL CONVENTION for defining activation status info
--- ---------------------------------------------------------------------
  PktcEUETCStatusInfo ::= TEXTUAL-CONVENTION
      STATUS  current
      DESCRIPTION
          " This TEXTUAL CONVENTION is being defined to provide
            additional activation status information."
      SYNTAX   OCTET STRING (SIZE(0..31))
--- ---------------------------------------------------------------------
-- TEXTUAL CONVENTION for User Element Indices
--- ---------------------------------------------------------------------
  PktcEUETCUsrElementIndexType ::= TEXTUAL-CONVENTION
      STATUS  current
      DESCRIPTION
          " This TEXTUAL CONVENTION is being defined to
            indicate any indices related to users, such as IMPUs
            and IMPIs, as defined in PacketCable.
            Such an instance can be referenced across
            tables to indicate an association.
            The values assigned for objects of this type SHOULD
            be sequential starting with the value of 1 and
            incrementing by 1 for each User. A value of '0',
            if allowed MUST be specified in the DESCRIPTION of
            any MIB Object using this data type."
      SYNTAX   Unsigned32 (0..63)

--- ---------------------------------------------------------------------
-- TEXTUAL CONVENTION for defining App Org
--- ---------------------------------------------------------------------
  PktcEUETCAppOrgIdentifier ::= TEXTUAL-CONVENTION
      STATUS  current
      DESCRIPTION
          " This TEXTUAL CONVENTION is being defined to
            identify the organization specifying
            a particular application.
            Any MIB Object specified to be of this type
            MUST represent the IANA assigned Enterprise number.
            For CableLabs specified applications, it MUST be
            4491."
      REFERENCE "http://www.iana.org/assignments/enterprise-numbers"
      SYNTAX   Unsigned32
--- ---------------------------------------------------------------------
-- TEXTUAL CONVENTION for defining App Identifier
--- ---------------------------------------------------------------------
  PktcEUETCAppIdentifier ::= TEXTUAL-CONVENTION
      STATUS  current
      DESCRIPTION
          " This TEXTUAL CONVENTION is being defined to
            identify the application id assigned by an
            organization.
            Each organization planning to specify an application
            MUST publish a registry which identifies each application
            and the corresponding ID that can be referenced."
      SYNTAX   Unsigned32(1..127)
--- ---------------------------------------------------------------------
-- TEXTUAL CONVENTION for App Indices
--- ---------------------------------------------------------------------
  PktcEUETCUsrAppIndexType ::= TEXTUAL-CONVENTION
      STATUS  current
      DESCRIPTION
          " This TEXTUAL CONVENTION is being defined to
            indicate any indices related to PacketCable Applications.
            The values assigned for objects of this type SHOULD
            be sequential starting with the value of 1 and
            incrementing by 1 for each User. A value of '0',
            if allowed MUST be specified in the DESCRIPTION of
            any MIB Object using this data type."
      SYNTAX   Unsigned32 (0..31)

--- ---------------------------------------------------------------------
-- TEXTUAL CONVENTION for defining Credentials
--- ---------------------------------------------------------------------
  PktcEUETCCredsType ::= TEXTUAL-CONVENTION
      STATUS  current
      DESCRIPTION
          " This TEXTUAL CONVENTION represents credential
            types. Each definition of PktcEUETCCredsType MUST
            be accompanied by a definition of the textual
            convention PktcEUETCCreds.
            The specified types include:
              - other(1)
                  An unknown credentials type. It MAY be used to
                  indicate Credentials that are not in one of the
                  formats defined below such as a vendor-specific
                  format.
              - none(2)
                  A non-existent credentials type. This value MUST
                  be used if the value of the corresponding
                  PktcEUETCCreds object is a zero-length string.
                  It MAY be used when the credentials are no longer
                  valid.
              - password(3)
                  A password based credential. When this type is used
                  the credential value contained in PktcEUETCCreds MUST
                  be an ASCII string representing a user-readable
                  password.
              - presharedKey(4)
                  A pre-shared key based credential. When this type is
                  used the credential value contained in PktcEUETCCreds
                  MUST be interpreted as a pre-shared key represented
                  as an octet string.
              - X509certificate(5)
                  A certificate based credential. When this type is
                  used the credential value contained in PktcEUETCCreds
                  MUST be interpreted as a private key and an accompanying
                  X.509 certificate.
            Implementations must ensure that objects with
            SYNTAX of 'PktcEUETCCredsType' and dependent objects
            with SYNTAX of 'PktcEUETCCreds' are consistent.
            In general, the UE MUST generate an
            'inconsistentValue' error if an attempt
            to change an 'PktcEUETCCredsType' object would,
            for example, lead to an undefined 'PktcEUETCCreds'
            value."
      SYNTAX   INTEGER {
                        other(1),
                        none(2),
                        password(3),
                        preSharedKey(4),
                        certificate(5)
                       }
  PktcEUETCCreds ::= TEXTUAL-CONVENTION
      STATUS  current
      DESCRIPTION
          " This TEXTUAL CONVENTION allows for the definition
            of a credential.
            A PktcEUETCCreds value must always be associated with
            and interpreted within the context of a corresponding
            PktcEUETCCredsType.
            The value of a PktcEUETCCreds object must be consistent
            with the value of its associated PktcEUETCCredsType
            object. Any attempt to SET an object when these values
            are not consistent must fail with an inconsistentValue
            error.
            An object of this type MUST be interpreted as follows
            (in network byte order):
            Bytes 0-1:  Reserved. The application must define the
                        usage of these bytes.
            Bytes 2-3:  Indicate the length of the credential value.
            Bytes 4-8191: Contain the credential value."
      SYNTAX   OCTET STRING (SIZE (0..8192))
END
