--  **************************************************************************
--  CISCO_DMN_DSG_DPM.mib: Feature MIB file for Digital Program Mapping
--  
--  May 2012, Ming Yao
--
--  Copyright (c) Cisco Systems, Inc. 2011-2012. All rights reserved.
--  **************************************************************************

CISCO-DMN-DSG-DPM-MIB

DEFINITIONS ::= BEGIN

IMPORTS
    OBJECT-TYPE,
    MODULE-IDENTITY, Integer32
        FROM SNMPv2-SMI
    DisplayString, RowStatus
        FROM SNMPv2-TC
    OBJECT-GROUP, MODULE-COMPLIANCE
        FROM SNMPv2-CONF
    ciscoDSGUtilities
        FROM CISCO-DMN-DSG-ROOT-MIB;


ciscoDSGDPM MODULE-IDENTITY
    LAST-UPDATED    "201203121700Z"
    ORGANIZATION    "Cisco Systems, Inc."
    CONTACT-INFO
        "Cisco Systems, Inc.
        Customer Service
        Postal: 170 W Tasman Drive
        San Jose, CA 95134
        USA
        Tel: +1 800 553 NETS

        E-mail: cs-ipsla@cisco.com"
    DESCRIPTION     "Cisco generic DPM MIB."

    REVISION        "201203121700Z"
    DESCRIPTION     "V01.00.00 2012-03-12
                    Update for D9854 release R4."

    ::= { ciscoDSGUtilities 36 }

dpmInfo   OBJECT IDENTIFIER ::= { ciscoDSGDPM 1 }
dpmTable  OBJECT IDENTIFIER ::= { ciscoDSGDPM 2 }

--**************************************
-- DPM Configuration Info 
--**************************************

dpmRegenerate OBJECT-TYPE
     SYNTAX  INTEGER {
             always(1),
             asNeeded(2)
             }
     MAX-ACCESS  read-write
     STATUS  current
     DESCRIPTION
         "Select whether DPM(Digital Program Mapping)
          should always regenerate PSI tables, or only
          when their content has changed."
     ::= { dpmInfo 1 }

--**************************************
-- DPM Global Configuration Table
--**************************************
dpmGblCfgTable  OBJECT-TYPE
    SYNTAX  SEQUENCE OF DPMGblCfgEntry
    MAX-ACCESS not-accessible
    STATUS  current
    DESCRIPTION
        "DPM Configuration Table."
    ::= { dpmTable 1 }

dpmGblCfgEntry OBJECT-TYPE
    SYNTAX  DPMGblCfgEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "Entry for DPM global configuration table."
    INDEX   { dpmGblCfgInstanceID }
    ::= { dpmGblCfgTable 1 }

DPMGblCfgEntry ::=  SEQUENCE
{
    dpmGblCfgInstanceID               Integer32,
    dpmGblCfgInstanceName             DisplayString,
    dpmGblCfgMapMode                  INTEGER,
    dpmGblCfgDupMethod                INTEGER,
    dpmGblCfgRegenRate                INTEGER,
    dpmGblCfgUnrefContent             INTEGER,
    dpmGblCfgPSIOutput                INTEGER,
    dpmGblCfgSVCIDOutput              INTEGER,
--  dpmGblCfgIsModified               INTEGER,
--  dpmGblCfgActivate                 INTEGER,
    dpmGblCfgPSIPAT                   INTEGER,
    dpmGblCfgPSICAT                   INTEGER,
    dpmGblCfgPSIPMT                   INTEGER,
    dpmGblCfgPSITSDT                  INTEGER,
    dpmGblCfgPSINIT                   INTEGER,
    dpmGblCfgPSINITO                  INTEGER,
    dpmGblCfgPSISDT                   INTEGER,
    dpmGblCfgPSISDTO                  INTEGER,
    dpmGblCfgPSIBAT                   INTEGER,
    dpmGblCfgPSIEIT                   INTEGER,
    dpmGblCfgPSITDT                   INTEGER,
    dpmGblCfgPSIST                    INTEGER,
    dpmGblCfgPSIRST                   INTEGER,
    dpmGblCfgPSITOT                   INTEGER,
    dpmGblCfgPSIDIT                   INTEGER,
    dpmGblCfgPSISIT                   INTEGER,
    dpmGblCfgPSIECM                   INTEGER,
    dpmGblCfgPSIEMM                   INTEGER,
    dpmGblCfgPSIDRT                   INTEGER,
    dpmGblCfgPSICDT                   INTEGER,
    dpmGblCfgPATPMTOffset             INTEGER,
    dpmGblCfgNITOffset                INTEGER
}

dpmGblCfgInstanceID  OBJECT-TYPE
    SYNTAX  Integer32 (1..2)
    MAX-ACCESS read-only
    STATUS  current
    DESCRIPTION
        "DPM Output instance id."
    ::= { dpmGblCfgEntry 1 }

dpmGblCfgInstanceName  OBJECT-TYPE
    SYNTAX  DisplayString (SIZE(0..32))
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "DPM Output Instance Name."
    ::= { dpmGblCfgEntry 2 }

dpmGblCfgMapMode  OBJECT-TYPE
    SYNTAX  INTEGER {
                    svcID(1),
                    svcIDAndPID(2)
                }
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "DPM Mode selection."
    ::= { dpmGblCfgEntry 3 }

dpmGblCfgDupMethod  OBJECT-TYPE
    SYNTAX  INTEGER {
                    psiRemap(1),
                    packetCopy(2)
                }
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "DPM Program Duplication method selection."
    ::= { dpmGblCfgEntry 4 }

dpmGblCfgRegenRate  OBJECT-TYPE
    SYNTAX  INTEGER {
                    saStandard(1),
                    mpegMinimum(2),
                    auto(3)
                    }
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "DPM Regeneration rate option selection."
    ::= { dpmGblCfgEntry 5 }

dpmGblCfgUnrefContent  OBJECT-TYPE
    SYNTAX  INTEGER {
                    drop(1),
                    pass(2),
                    modeI(3)
                }
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "DPM unreferenced content action selection."
    ::= { dpmGblCfgEntry 6 }

dpmGblCfgPSIOutput  OBJECT-TYPE
    SYNTAX  INTEGER {
                    dropAll(1),
                    passAll(2),
                    ctlByTable(3)
                }
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "Program Specific Information table output selection ."
    ::= { dpmGblCfgEntry 7 }

dpmGblCfgSVCIDOutput  OBJECT-TYPE
    SYNTAX  INTEGER {
                    validChannel(1),
                    allChannel(2)
                }
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "Specify DPM to Regenerate the Output
        Only for Valid Service IDs."
    ::= { dpmGblCfgEntry 8 }

-- dpmGblCfgIsModified  OBJECT-TYPE
--    SYNTAX  INTEGER {
--                    no(1),
--                    yes(2)
--                }
--    MAX-ACCESS read-only
--    STATUS  current
--    DESCRIPTION
--        " Specify DPM to Regenerate the Output
--        Only for Valid Service IDs."
--    ::= { dpmGblCfgEntry 9 }

-- dpmGblCfgActivate  OBJECT-TYPE
--    SYNTAX  INTEGER {
--                    no(1),
--                    yes(2)
--                }
--    MAX-ACCESS read-only
--    STATUS  current
--    DESCRIPTION
--        "Specify DPM to Regenerate the Output
--        Only for Valid Service IDs."
--    ::= { dpmGblCfgEntry 10 }

dpmGblCfgPSIPAT  OBJECT-TYPE
    SYNTAX  INTEGER {
                    drop(1),
                    pass(2),
                    regeneration(3)
                }
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "Program Association Table Output selection."
    ::= { dpmGblCfgEntry 9 }

dpmGblCfgPSICAT  OBJECT-TYPE
    SYNTAX  INTEGER {
                    drop(1),
                    pass(2),
                    regeneration(3)
                }
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "Conditional Access Table Output selection."
    ::= { dpmGblCfgEntry 10 }

dpmGblCfgPSIPMT  OBJECT-TYPE
    SYNTAX  INTEGER {
                    drop(1),
                    pass(2),
                    regeneration(3)
                }
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "Program Map Table Output selection."
    ::= { dpmGblCfgEntry 11 }

dpmGblCfgPSITSDT  OBJECT-TYPE
    SYNTAX  INTEGER {
                    drop(1),
                    pass(2)
                }
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "Transport stream description table output selection."
    ::= { dpmGblCfgEntry 12 }

dpmGblCfgPSINIT  OBJECT-TYPE
    SYNTAX  INTEGER {
                    drop(1),
                    pass(2),
                    regeneration(3)
                }
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "Network Information table output selection."
    ::= { dpmGblCfgEntry 13 }

dpmGblCfgPSINITO  OBJECT-TYPE
    SYNTAX  INTEGER {
                    drop(1),
                    pass(2),
                    pwRC(4)
                }
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "NITO output selection."
    ::= { dpmGblCfgEntry 14 }

dpmGblCfgPSISDT  OBJECT-TYPE
    SYNTAX  INTEGER {
                    drop(1),
                    pass(2),
                    regeneration(3),
                    pwRC(4)
                }
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "Service description table selection."
    ::= { dpmGblCfgEntry 15 }

dpmGblCfgPSISDTO  OBJECT-TYPE
    SYNTAX  INTEGER {
                    drop(1),
                    pass(2),
                    pwRC(4)
                }
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "SDTO output selection."
    ::= { dpmGblCfgEntry 16 }

dpmGblCfgPSIBAT  OBJECT-TYPE
    SYNTAX  INTEGER {
                    drop(1),
                    pass(2),
                    pwRC(4)
                }
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "Bouquet Association Table output selection."
    ::= { dpmGblCfgEntry 17 }

dpmGblCfgPSIEIT  OBJECT-TYPE
    SYNTAX  INTEGER {
                    drop(1),
                    pass(2)
                }
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "Event Information Table output selection."
    ::= { dpmGblCfgEntry 18 }

dpmGblCfgPSITDT  OBJECT-TYPE
    SYNTAX  INTEGER {
                    drop(1),
                    pass(2)
                }
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "Time and Data Table output selection."
    ::= { dpmGblCfgEntry 19 }

dpmGblCfgPSIST  OBJECT-TYPE
    SYNTAX  INTEGER {
                    drop(1),
                    pass(2)
                }
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "Stuffing Table output selection."
    ::= { dpmGblCfgEntry 20 }

dpmGblCfgPSIRST  OBJECT-TYPE
    SYNTAX  INTEGER {
                    drop(1),
                    pass(2)
                }
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "Running status Table output selection."
    ::= { dpmGblCfgEntry 21 }

dpmGblCfgPSITOT  OBJECT-TYPE
    SYNTAX  INTEGER {
                    drop(1),
                    pass(2)
                }
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "Time Offset Table output selection."
    ::= { dpmGblCfgEntry 22 }

dpmGblCfgPSIDIT  OBJECT-TYPE
    SYNTAX  INTEGER {
                    drop(1),
                    pass(2)
                }
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "Discontinuity information Table output selection."
    ::= { dpmGblCfgEntry 23 }

dpmGblCfgPSISIT  OBJECT-TYPE
    SYNTAX  INTEGER {
                    drop(1),
                    pass(2)
                }
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "Selection information Table output selection."
    ::= { dpmGblCfgEntry 24 }

dpmGblCfgPSIECM  OBJECT-TYPE
    SYNTAX  INTEGER {
                    drop(1),
                    pass(2)
                }
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "Entitlement Control message output selection."
    ::= { dpmGblCfgEntry 25 }

dpmGblCfgPSIEMM  OBJECT-TYPE
    SYNTAX  INTEGER {
                    drop(1),
                    pass(2)
                }
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "Entitlement Management message output selection."
    ::= { dpmGblCfgEntry 26 }

dpmGblCfgPSIDRT  OBJECT-TYPE
    SYNTAX  INTEGER {
                    drop(1),
                    pass(2)
                }
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "Disaster Recovery Table output selection."
    ::= { dpmGblCfgEntry 27 }

dpmGblCfgPSICDT  OBJECT-TYPE
    SYNTAX  INTEGER {
                    drop(1),
                    pass(2)
                }
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "Code Download Table output selection."
    ::= { dpmGblCfgEntry 28 }

dpmGblCfgPATPMTOffset  OBJECT-TYPE
    SYNTAX  INTEGER (0..7500)
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "Mode-i PAT and PMT offset. Only applicable if
        Unreferenced Content is set to mode-i."
    ::= { dpmGblCfgEntry 29 }

dpmGblCfgNITOffset  OBJECT-TYPE
    SYNTAX  INTEGER (0..7500)
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "Mode-i NIT offset. Only applicable if
        Unreferenced Content is set to mode-i."
    ::= { dpmGblCfgEntry 30 }


--**************************************
-- DPM PE Mapping Table
--**************************************
dpmPeMappingTable  OBJECT-TYPE
    SYNTAX  SEQUENCE OF DPMPeMappingEntry
    MAX-ACCESS not-accessible
    STATUS  current
    DESCRIPTION
        "DPM Program Entry Table."
    ::= { dpmTable 2 }

dpmPeMappingEntry OBJECT-TYPE
    SYNTAX  DPMPeMappingEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "Entry for DPM PE Mapping Entry table."
    INDEX   { dpmPeMappingInstanceID , dpmPeMappingPEID }
    ::= { dpmPeMappingTable 1 }

DPMPeMappingEntry ::=  SEQUENCE
{
    dpmPeMappingInstanceID           Integer32,
    dpmPeMappingPEID                 Integer32,
    dpmPeMappingAction               INTEGER,
    dpmPeMappingPMTPID               Integer32,
    dpmPeMappingOpChannel            Integer32
}

dpmPeMappingInstanceID  OBJECT-TYPE
    SYNTAX  Integer32 (1..2)
    MAX-ACCESS read-only
    STATUS  current
    DESCRIPTION
        "DPM Output Instance id."
    ::= { dpmPeMappingEntry 1 }

dpmPeMappingPEID  OBJECT-TYPE
    SYNTAX  Integer32 (1..32)
    MAX-ACCESS read-only
    STATUS  current
    DESCRIPTION
        "DPM Program Entry id."
    ::= { dpmPeMappingEntry 2 }

dpmPeMappingAction  OBJECT-TYPE
    SYNTAX  INTEGER {
                    drop(1),
                    pass(2),
                    map(3),
                    xcode(4)
                }
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "DPM Program Entry Action Selection."
    ::= { dpmPeMappingEntry 3 }

dpmPeMappingPMTPID  OBJECT-TYPE
    SYNTAX  Integer32 (0..8191)
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "DPM Output Program Map Table PID."
    ::= { dpmPeMappingEntry 4 }

dpmPeMappingOpChannel  OBJECT-TYPE
    SYNTAX  Integer32 (0..65535)
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "DPM Output Service Id selection."
    ::= { dpmPeMappingEntry 5 }


--**************************************
-- DPM PID Map Table
--**************************************
dpmPIDMapTable  OBJECT-TYPE
    SYNTAX  SEQUENCE OF DPMPIDMapEntry
    MAX-ACCESS not-accessible
    STATUS  current
    DESCRIPTION
        "DPM PID Map Entry Table."
    ::= { dpmTable 3 }

dpmPIDMapEntry OBJECT-TYPE
    SYNTAX  DPMPIDMapEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "Entry for DPM PE Mapping Entry table.
        No of Entries for D9858  : 200
        No of Entries for D9854  : 200
        No of Entries for D9854-I: 768
        No of Entries for D9824  : 768
"
    INDEX   { dpmPIDMapIndex }
    ::= { dpmPIDMapTable 1 }

DPMPIDMapEntry ::=  SEQUENCE
{
    dpmPIDMapIndex             INTEGER,
    dpmPIDMapInstanceID        INTEGER,
    dpmPIDMapPEID              INTEGER,
    dpmPIDMapRow               INTEGER,
    dpmPIDMapStreamType        INTEGER,
    dpmPIDMapStreamCategory    INTEGER,
    dpmPIDMapStreamInstance    INTEGER,
    dpmPIDMapAction            INTEGER,
    dpmPIDMapOutputPID         INTEGER,
    dpmPIDMapInuse             RowStatus
}

dpmPIDMapIndex  OBJECT-TYPE
    SYNTAX  INTEGER (1..768)
    MAX-ACCESS read-only
    STATUS  current
    DESCRIPTION
        "Program ID Mapping Output Index."
    ::= { dpmPIDMapEntry 1 }

dpmPIDMapInstanceID  OBJECT-TYPE
    SYNTAX  INTEGER (1..2)
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "Program ID Mapping Output Instance Id selection."
    ::= { dpmPIDMapEntry 2 }

dpmPIDMapPEID  OBJECT-TYPE
    SYNTAX  INTEGER (1..32)
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "Program ID Mapping Program Entry ID selection."
    ::= { dpmPIDMapEntry 3 }

dpmPIDMapRow  OBJECT-TYPE
    SYNTAX  INTEGER (1..64)
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "Selection of Row in Program Map Table."
    ::= { dpmPIDMapEntry 4 }

dpmPIDMapStreamType  OBJECT-TYPE
    SYNTAX  INTEGER (0..255)
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "Selection of Raw Stream Type in Program Map Table
        Only used when dpmPIDMapStreamCategory is set to ukn()."
    ::= { dpmPIDMapEntry 5 }

dpmPIDMapStreamCategory  OBJECT-TYPE
    SYNTAX  INTEGER {
                    invl(1),
                    pcr(2),
                    vid(3),
                    aud(4),
                    subt(5),
                    vbi(6),
                    dpi(7),
                    mpe(8),
                    ttx(9),
                    data(10),
                    lsdt(11),
                    cdt(12),
                    etv(13),
                    ukn(14)
                }
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "Selection of stream category."
    ::= { dpmPIDMapEntry 6 }

dpmPIDMapStreamInstance  OBJECT-TYPE
    SYNTAX  INTEGER (0..64)
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "Selection of stream instance."
    ::= { dpmPIDMapEntry 7 }

dpmPIDMapAction  OBJECT-TYPE
    SYNTAX  INTEGER {
                drop(1),
                map(3)
            }
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        "Selection of Program ID Mapping selection."
    ::= { dpmPIDMapEntry 8 }

dpmPIDMapOutputPID  OBJECT-TYPE
    SYNTAX  INTEGER (0..8192)
    MAX-ACCESS read-write
    STATUS  current
    DESCRIPTION
        " Output PID."
    ::= { dpmPIDMapEntry 9 }
    
dpmPIDMapInuse  OBJECT-TYPE
    SYNTAX  RowStatus
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "PID Mapping in use."
    ::= { dpmPIDMapEntry 10 }
 

--**************************************
-- DPM Aligned PMT Table
--**************************************
dpmAlignedPMTTable  OBJECT-TYPE
    SYNTAX  SEQUENCE OF DPMAlignedPMTEntry
    MAX-ACCESS not-accessible
    STATUS  current
    DESCRIPTION
        "DPM Aligned PMT Table."
    ::= { dpmTable 4 }

dpmAlignedPMTEntry OBJECT-TYPE
    SYNTAX  DPMAlignedPMTEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "Entry for DPM Aligned PMT table."
    INDEX   { dpmAlignedPMTInstanceID,
              dpmAlignedPMTPEID,
              dpmAlignedPMTRow }
    ::= { dpmAlignedPMTTable 1 }

DPMAlignedPMTEntry ::=  SEQUENCE
{
    dpmAlignedPMTInstanceID          Integer32,
    dpmAlignedPMTPEID                Integer32,
    dpmAlignedPMTRow                 Integer32,
    dpmAlignedPMTStreamTypeTxt       DisplayString,
    dpmAlignedPMTInputPID            Integer32
}

dpmAlignedPMTInstanceID  OBJECT-TYPE
    SYNTAX  Integer32 (1..2)
    MAX-ACCESS read-only
    STATUS  current
    DESCRIPTION
        "Aligned Program Map Table Instance ID ."
    ::= { dpmAlignedPMTEntry 1 }

dpmAlignedPMTPEID  OBJECT-TYPE
    SYNTAX  Integer32 (1..32)
    MAX-ACCESS read-only
    STATUS  current
    DESCRIPTION
        "Aligned Program Map Table Program Entry ID ."
    ::= { dpmAlignedPMTEntry 2 }

dpmAlignedPMTRow  OBJECT-TYPE
    SYNTAX  Integer32 (1..64)
    MAX-ACCESS read-only
    STATUS  current
    DESCRIPTION
        "Aligned Program Map Table Row ."
    ::= { dpmAlignedPMTEntry 3 }

dpmAlignedPMTStreamTypeTxt  OBJECT-TYPE
    SYNTAX  DisplayString(SIZE(0..8))
    MAX-ACCESS read-only
    STATUS  current
    DESCRIPTION
        "  Type of Stream ."
    ::= { dpmAlignedPMTEntry 4 }

dpmAlignedPMTInputPID  OBJECT-TYPE
    SYNTAX  Integer32 (0..8192)
    MAX-ACCESS read-only
    STATUS  current
    DESCRIPTION
        "Input PID ."
    ::= { dpmAlignedPMTEntry 5 }

END

