APEX-MIB DEFINITIONS ::= BEGIN


IMPORTS
        MODULE-IDENTITY,
        IpAddress,
        TimeTicks,
        OBJECT-TYPE,
        NOTIFICATION-TYPE,
        Counter32,
        Unsigned32,
        Integer32
                                                 FROM SNMPv2-SMI

        DisplayString                            FROM SNMPv2-TC

        giproducts                               FROM BCS-IDENT-MIB

        trapIdentifier,
        trapSequenceId,
        trapNetworkElemModelNumber,
        trapNetworkElemSerialNum,
        trapPerceivedSeverity,
        trapNetworkElemOperState,
        trapNetworkElemAlarmStatus,
        trapNetworkElemAdminState,
        trapNetworkElemAvailStatus,
        trapText,
        trapNETrapLastTrapTimeStamp,
        trapChangedObjectId,
        trapAdditionalInfoInteger1,
        trapAdditionalInfoInteger2,
        trapAdditionalInfoInteger3,
        trapChangedValueDisplayString,
        trapChangedValueOID,
        trapChangedValueIpAddress,
        trapChangedValueInteger
                                                 FROM BCS-TRAPS-MIB;

-- ------------------------------------------------------------------------------

apex    MODULE-IDENTITY
        LAST-UPDATED "201410220000Z"

        ORGANIZATION "ARRIS Enterprises, Inc."
        CONTACT-INFO "The Technical Assistance Center (TAC) provides assistance 24 hours a day, 7 days a week.
                      To open a case, use one of these contact methods:
                      
                      Customers in North America should call the TAC at     : 1-888-944-HELP (1-888-944-4357)
                      Customers outside North America should call the TAC at: 1-215-323-2345
                      For Spanish language support, call the TAC at         : 1-215-323-2346
                      Contact the TAC by e-mail at                          : Tac.Helpdesk@arrisi.com"

        DESCRIPTION  "The MIB module for the APEX."

        REVISION     "201410220000Z"
        DESCRIPTION
                     "Version 2.10:

                      Nov 18, 2014
                      - Updated description of apexAlarmQamModuleRemovalFault 
                      
                      Oct 22, 2014
                      - Added fileSet4 to apexQrmDownloadFileSet.
                      
                      Oct 17, 2014
                      - Added apexGbeStatInTsCurPacketDropCount to apexGbeStatusInputTsEntry
                        in apexGbeStatusInputTsTable.
                      - Changed apexGbeStatInTsPacketDropCount to apexGbeStatInTsTotPacketDropCount.
                      
                      Oct 13, 2014
                      - Added apexMcSimConfig
                      - Added apexOutputProgramMcSimAccessCriteriaString.
                      
                      Sep 26, 2014
                      - Added apexGbeStatInTsPacketDropCount to apexGbeStatusInputTsEntry
                        in apexGbeStatusInputTsTable.
                      - Added apexEnableGbeInputStreamPacketDrop to apexConfigAlarms.
                      - Added apexAlarmGbeInputStreamPacketDrop to apexAlarms.
                      - Added apexGbeStatInTsPacketDropError to apexGbeStatusInputTsErrorEntry
                        in apexGbeStatusInputTsErrorTable.
                      - Added apexGbeStatusInputTsDropCounter.
                      - Added trapGbeInputStreamPacketDrop.
                      - Added apexGbeConfigInputDataTsMaxRate to apexGbeConfigInputDataTsEntry
                        in apexGbeConfigInputDataTsTable.
                      
                      Sep 24, 2014
                      - Updated the version
                      - Added new Alarm configuration parameter apexEnableQamModuleRemovalFault
                        in apexConfAlarmEnable.
                      - Added new Fault Alarm apexAlarmQamModuleRemovalFault in apexAlarms.
                      - Added new Fault Trigger apexChassisRedundancyFailOverQamModuleRemoval
                        in apexChassisRedundancyConfigGeneral.
                      - Added new Trap trapQamModuleRemovalFault in apexTraps.
                     
                      Sep 18, 2014
                      - Updated the version.
                      - Added new status parameter apexOutputProgramCurrentCSN to the
                        apexOutputProgramTable.
                      - Added apexOutputTsConfAutoSDTEnable.
                     "
        
        REVISION     "201408040000Z"
        DESCRIPTION
                     "Version 2.9:
                     
                     July 30, 2014
                     - Updated the version.
                     - Updated valid range of apexEcmEmmFirstPid to (2..7591)

                     "

        REVISION     "201406270000Z"
        DESCRIPTION

                     "Version 2.8:
                     
                     June 27, 2014
                     - Updated the description of apexSimulcryptExternalEisSetting,
                       apexOutputTsConfEncryptionType.
                     
                     June 27, 2014
                     - Updated the description of apexOutputTsConfSimulcryptMode.
                     
                     Jun 17, 2014
                      - Changed the name of apexOutputProgramRdsSimAC to 
                        apexOutputProgramMcSimAccessCriteria.
                      - Changed the name of to apexOutputProgramSimAcStatus
                        apexOutputProgramMcSimAccessCriteriaStatus
                     
                     Jun 05, 2014
                     - Updated the description of apexOutputTsConfOperatingMode.

                     Jun 04, 2014
                     - Added two new status values for apexRdsConnectionStatus.
                     
                     Jun 02,2014
                     - Added apexPsPowerFaultFilter
 
                      May 28, 2014
                      - Updated valid range of apexEcmEmmFirstPid to (2..7590)
                      
                      May 21, 2014
                      - Renamed apexChassisRedundancyMCSimEntitlementMismatchStatus
                        to apexChassisRedundancyMCSimEntitlementStatus
                      - Renamed apexChassisRedundancyAppliedEncAlgorithmMismatchStatus
                        to apexChassisRedundancyAppliedEncAlgorithmStatus
                        
                      May 14, 2014
                      - Added apexChassisRedundancyMCSimEntitlementMismatchStatus,
                        apexChassisRedundancyAppliedEncAlgorithmMismatchStatus.

                      May 12, 2014
                      - Added the following MIB objects.
                        apexEncryptionConfApplyChange
                        apexEncryptionConfInvalidApplyText
                      
                      
                     May 8,2014
                     - Added (fixed/missing MediaCipher Simulcrypt mib objects)
                     
                      Mar 13, 2014
                      - Added apexSimulcryptEcmgStatusTable.

                     March 07, 2014
                     - Added apexUls for support of MediaCipher Simulcrypt
                     
                      Oct 22, 2013
                      - Added the following objects
                        apexOutputProgramRdsSimAC
                        apexOutputProgramSimAcStatus
                        apexRdsDeviceId

                      - Updated the following MIB objects
                        apexEncryptionConfAlgorithm  - Added new Algorithms for Sierra Mode
                        apexEncryptionStatAlgorithm  - Added new Algorithms for Sierra Mode

                      - Updated the description for the following object                       
                        apexOutputTsConfOperatingMode

                     "

        REVISION     "201301250000Z"
        DESCRIPTION
                     "Version 2.7:
                      Jan 25, 2013
                      - Updated the description for the following object                       
                        apexPsiCcErrorDetectionEnabled - changed the default value to enable

                      Jan 04, 2013
                      - Updated the description for the following objects
                        apexPsiCcErrorDetectionTimeout
                        apexPsiCcErrorDetectionEnabled		     
                     
                      December 28, 2012
                      - Added the following objects under the group apexPsiConfigGeneral
                        apexPsiCcErrorDetectionTimeout
                        apexPsiCcErrorDetectionEnabled

                      "
   
        REVISION     "201208270000Z"
        DESCRIPTION
                     "Version 2.6:
                     
                      August 27, 2012
                      - Added apexEventLossOfInputAncillaryPid and trapLossOfInputAncillaryPidEvent
                     
                      August 21, 2012
                      - Moved the SNMP community string change MIB parameters to private mib
                     
                      July 20, 2012
                      - Added trap trapSnmpCommunityStringChanged and the apex event
                        apexEventSnmpCommunityStringChanged
                        Changed the OID (and moved) the trap trapEasMessageNotReceived
                        and the apex event apexEventEasMessageNotReceived.
                        
                      July 17, 2012
                      - Added the below MIB objects to detect and notify the 
                        loss of input ancillary PID.
                        apexPidMapInputAncillaryPidDetection, 
                        apexPidMapInputAncillaryPidDetectionTimeout,
                        apexAlarmLossOfInputAncillaryPid, 
                        apexEnableLossOfInputAncillaryPid,
                        trapLossOfInputAncillaryPid
                        
                      - Added the apexOutputAncillaryPid to report the 
                        average bitrate of each ancillary PID
                        
                      July 12, 2012
                      - Added apexEventEasMessageNotReceived and updated the description of 
                        trapEasMessageNotReceived
                        
                      July 04, 2012
                      - Updated the description of apexPidMapConfigApplyChange parameter
                      - Renamed apexPidMapConfigApplyChange as apexBulkPidMapInvalidApplyText
                        and moved under apexPidMapStatus
                      
                      June 21, 2012
                      - Added the below new objects to support autonegotiation
                        configuration.
                          apexOampNetworkDuplexMode, apexOampNetworkSpeed,
                          apexDataIpNetworkDuplexMode, apexDataIpNetworkSpeed
                      - Added the below new objects to get the current autonegotiation
                        enable/disbale status.                       
                        apexOampCurrentAutoNegotiateState,
                        apexDataIpCurrentAutoNegotiateState 
                      - Removed the text 'disabled is not supported' from the
                        description for the following objects as disabling of
                        autonogotiation is supported.
                          apexOampAutoNegotiate, apexDataIpAutoNegotiate                   
                      - Added the following new objects to support EAS message not 
                        received event.
                          apexEasMessageReceiveTimeoutDuration, 
                          apexEasMessageReceiveTimeoutEventEnable,
                          apexEasLastReceivedMessageStatusTable,
                          trapEasMessageNotReceived
                      - Modified apexDtaGeneralConfigCatEmmPidInterface to support 
                        GIGE input.
                      - Added apexManualRoutingServiceStatus to support maping
                        of error status for the services in apexManualRouteTable.
                      - Added apexBulkPidMapApplyTable,apexBulkPidMapTable and 
                        apexPidMapConfigGeneral to support ancillary PID routing for 
                        all QAM's.
                      "

        REVISION     "201102150000Z"
        DESCRIPTION
                     "Version 2.5:
                     
                      February 15, 2011
                      - Updated the description for apexDtaConfigApplyChange
                      - Corrected the range of values for apexQamRfPortChannelInfoChanA.
                     
                      January 27, 2011
                      - Updated the description for apexDtaGeneralConfigInvalidApplyText. 
                                          
                      January 10, 2011
                      - Added apexChassisRedundancyRedundantApexSecIp, 
                        apexChassisRedundancyRedundantHBEnable,
                        apexChassisRedundancyCurrHBIntfIPStatus
                     
                      December 20, 2010                   
                      - apexQamConfigApplyTable does not set apply change for apexQamChannelConfigTable

                      - Added channel apply table apexQamChannelConfigApplyTable

                      - Added status MIB variables for 4x4 apexQamModuleStatBoardTemperature, 
                        apexQamModuleStatBoardTemperatureFault, apexQamModuleStat5VdcSupplym, 
                        apexQamModuleStat5VdcFault, apexQamModuleStat3dot3VdcSupply, 
                        apexQamModuleStat3dot3VdcFault, apexQamModuleStatCommError, 
                        apexQamModuleStatCodeInitError

                      - Added QAM versions MIB variable apexQamQrmRevFpga2

                      - Added QAM version status MIB variable apexQamQrmRevStatFpga2

                      - Added QAM file revision information MIB variables apexQrmFileRevFpga2 
                        and apexQrmFileRevDateTime

                      - Added EM support MIB tables apexQamRfPortChannelInfoTable and 
                        apexQamChannelIdTable

                      - Added 4x4 error codes dc5VoltError,dc3-3VoltError,commLost,codeVersions,
                        codeDownload,codeDownloadError

                      - Number of RF ports increased to 12 for apexQamConfigApplyRfPortNum
                      - Number of RF ports increased to 12 for apexQamRfPortStatRfPortNum
                      - Number of RF ports increased to 12 for apexQamRfPortMuteStatusRfPortNum
                      - Number of File Revisisons increased to 3 for apexQrmFileRevFileSetNum
                      - Number of RF ports increased to 12 for apexRpcRfPortNum
                      - Number of RF ports increased to 12 for apexEasServerNum

                      - Added qam4x4Channel for apexQamModuleStatInstalled
                      - Added any4x4 for apexQamRfRedundStatusMismatch MIB parameter
                      - Added fileSet3 for apexQrmDownloadFileSet MIB parameter
                      
                      December 10, 2010                   
                      - Updated RF Port and OTS numbers mapping in the description for apexDtaConfigApplyChange.
                      
                      December 6, 2010                   
                      - Changed the range of apexDtaConfigApplyIndex and apexDtaRfPortConfigIndex 
                        from '1 to 6' to '1 to 12' to support 4x4 QAM also.
                      
                      December 3, 2010
                      - Added apexOutputTsStatusServicesMuxed new OutputStream stats field

                      November 23, 2010
                      - Added new pid-remapping mode 'unrestricted'
                      
                      November 18, 2010
                      - Added new configuration parameter apexProgramBasedPmtOffset
                      - Added new pid remapping mode remapProgramBased2                      
                      
                      November 11, 2010
                      - Obsoleted apexEventChassisRedunPrimaryForceFailover,
                        apexEventChassisRedunSecondaryForceFailover.
                      - Added apexChassisRedundancyGigEMismatchStatus, apexChassisRedundancyQamMismatchStatus, 
                        apexChassisRedundancyFirmwareMismatchStatus.
                      - Added apexChassisRedundancyGigE12LinkStatus, apexChassisRedundancyGigE34LinkStatus.
                     "

        REVISION     "201008170000Z"
        DESCRIPTION
                     "Version 2.3:
                      August 17, 2010
                      - Added new values for apexRtspConfMhaSbeApsLevel.

                      July 23, 2010
                      - Added apexChassisRedundancyPrimaryStandbyOverride which
                        will force the primary apex to go active
                     "

        REVISION     "201006300000Z"
        DESCRIPTION
                     "Version 2.2:
                     
                      June 30, 2010
                      - Renamed apexManRteGbeInRedConfigStatMapTable to apexManRteGbeInRedStatusMapTable, 
                        and moved the table to apexManualRoutingStatus Group.

                      June 29, 2010
                      - Added apexManRteGbeInRedConfigStatMapTable to provide the mapping 
                        between apexManRteGbeInRedTable and apexInputTsStatTable.
                      - Corrected parent node for apexManRteGbeInRedApplyEntry to
                        apexManRteGbeInRedApplyTable.

                      June 25, 2010
                      - Obsoleted apexEasApplyChange, apexEasPhysInType, 
                        apexEasPhysInPort, apexEasRcvUdpPort, apexEasMulticastIpAddress, 
                        apexEasSourceIpAddress.
                      - Added apexEasServerTable containing apexEasServerNum,
                        apexEasServerPhysInType, apexEasServerPhysInPort, apexEasServerRcvUdpPort, 
                        apexEasServerMulticastIpAddress, apexEasServerSourceIpAddress.
                      - Added apexEasServerApplyTable which includes 
                        apexEasServerApplyChange.

                      June 24, 2010
                      - Added enumeration to apexQamRfPortStatCodeInitError.

                      June 22, 2010
                      - Changed range of apexQamRfPortStatNumChannelsActive to 0..8.
                      - Changed descriptions of apexQamModuleStatTemperature,
                        apexQamModuleStatPowerFault, apexQamQrmRevFpga,
                        apexQamRfPortStatTemperature, and apexQamQrmRevBootLoaderFw.
                      - Moved apexRpcRfPortTable and apexRpcRfChannelTable to the
                        apexRpcConfig group and renumbered apexRpcAvgBandwidthEnable,
                        and apexRpcApplyChange in apexRpcConfigGeneral.

                      June 16, 2010
                      - Added apexRpcDeviceName, apexRpcDeviceType, apexRpcControlInterface, 
                        apexRpcNumShellSessions, apexRpcRfPortTable, apexRpcRfChannelTable, 
                        apexRpcAvgBandwidthEnable, apexRpcApplyChange.

                      June 14, 2010
                      - Added apexOutputTsStatusScgsProvisioned.

                      June 10, 2010
                      - Moved apexRdsEventTable to apexRdsStatus group from
                        apexManualRoutingStatus group.

                      June 04, 2010
                      - Removed apexDtaEventTable.
                      - Renamed apexIppvEventTable to apexRdsEventTable and renamed
                        all the members from apexIPPVEvent*** to apexRdsEvent***.
                      - Added apexRdsEventPrkmWkemAvailable and apexRdsEventCcmAvailable
                        members in the table apexRdsEventTable.

                      June 03, 2010
                      - Modified the scalar apexOutputProgramDtaServiceEncryptionMode
                        to apexOutputProgramDtaEncryptionMode.
                      - Updated the description of apexRdsSetDefault.

                      May 28, 2010
                      - Added the following MIB variables
                        apexDtaEventTable, apexOutputProgramDtaServiceEncryptionMode
                        apexOutputProgramDtaServiceEncryptionMode.
                    
                      May 27, 2010
                      - Added apexChassisRedundancyEventTable.
 
                      May 25, 2010
                      - Added apexOutputTsStatusMessageGenerationNum.
 
                      May 18, 2010
                      - Changed apexPidMapIndex and apexPidMapApplyIndex size.

                      May 10, 2010
                      - Added the static routing configuration table apexFastEnetRoutingTable.

                      May 5, 2010
                      - Added Follow DTCP support variables, apexSesContConfFollowDtcp and
                        apexUdpMapFollowDtcp.
                       
                      April 13, 2010
                      - Updated the resource descriptions for MIB variables after review.
                     
                      April 7, 2010
                      - Changed description of apexDepiSessionConfigUdpPort to reflect
                        new range.

                      March 25, 2010
                      - Added the following configuration parameters:
                        apexIppvEventTable, apexOutputProgramProgramType,
                        apexRdsConfigRds2Enable, apexRdsConfigServerUrl,
                        apexRdsStatusServerIp, apexRdsStatusServerPort,
                        apexRdsStatusServerRootDirPath, and apexRdsStatusValidation.

                      March 10, 2010
                      - Changed the apexDepiSessionConfigUdpPort field possible range.

                      March 8, 2010
                      - Added apexDepiSessionStatusSessionID new Depi Session Status field.
                     "

        REVISION     "201003050000Z"
        DESCRIPTION
                     "Version 2.1:

                     March 5, 2010
                     - Changed comment in apexSesContConfRedundType description field.
                      
                     February 19, 2010
                     - Change range for MHA and RTSP Manager ports.
                     "

        REVISION     "201001190000Z"
        DESCRIPTION
                     "Version 2.0:
                      
                     January 19, 2010                   
                     - Added comments in apexPsipStatusInputMessageType description field.
                     - Added comments in apexPsipStatusOutputMessageType description field.
 
                     January 13, 2010
                     - Added apexRtspConfMhaSbe, apexRtspConfMhaSbeEncryptionMode,
                       apexRtspConfMhaSbeCciLevel, apexRtspConfMhaSbeApsLevel,
                       apexRtspConfMhaSbeCitSetting, apexRtspConfMhaSbeApplyChange,
                       apexRtspConfMhaGeneral, and apexRtspConfMhaUdpMapEnable.
                     - Added 'Not supported' to apexDepiControlConfigType.
                     
                     December 28, 2009
                     - Added apexGbeIpFragmentedPkts and apexGbeTotalIpFragmentedPkts.

                     December 22, 2009
                     - Changed SYNTAX of apexPsipConfigApplyChange and
                       apexPsipConfigTimeApplyChange to ApplyDataToDeviceTYPE.

                     December 18, 2009
                     - Changed apexPsipApplyChange to apexPsipConfigApplyChange
                       in descriptions for apexPsipConfigGeneral entries. 
                     - Changed apexPsipApplyTimeChange to
                       apexPsipConfigTimeApplyChange in descriptions for
                       apexPsipConfigTime entries. 
                     - Changed SDM file annotation to config.ini for 
                       apexGbeConfInputUnicastTimeout,
                       apexGbeConfInputMulticastTimeout, and
                       apexGbeConfLossOfInputTsType.
                     
                     December 17, 2009
                     - Deleted duplicate header comment and removed extraneous line
                       termination characters.
                     
                     December 14, 2009
                     - Added SDM Commit annotations and additional text to the descriptions
                       of apexMcEmmInsertionMode, apexMcEmmInsertionPid1Enable,
                       apexMcEmmInsertionPid1, apexMcEmmInsertionPid2Enable, and
                       apexMcEmmInsertionPid2.
                     
                     December 3, 2009
                     - Removed 'Not supported' from apexOutputTsConfPsipEnable
                       description.
                     
                     November 17, 2009
                     - Added apexGbeStatusInterfaceRedundFaultCondition.
                     
                     November 12, 2009
                     - Added zero as valid integer and updated description for
                       apexGbeStatusInterfaceRedundActiveIf. 
                     
                     November 6, 2009
                     - Corrected index in apexGbeStatusInterfaceRedundEntry.
                     
                     November 5, 2009
                     - Changed description for apexGbeConfIfRedundForceFailover.
                     
                     November 4, 2009
                     - Added apexGbeStatusInterfaceRedund and apexGbeConfigInterfaceRedundancy.
                     - Corrected range on apexChassisRedundancyUdpPort
                     
                     November 2, 2009
                     - Added trapGigeToHostCommFault
                     
                     October 30, 2009
                     - Added apexQamRfPortStatCodeInitError, apexQamQrmRevisionStatusTable,
                       apexQrmDownloadConfigTable, apexQrmDownloadSupported, apexQrmDownloadRequired,
                       apexQrmDownloadFileSet, and apexQrmFileRevisionTable.

                     October 29, 2009
                     - Made apexSesContConfRedundThreshold obsolete.

                     October 29, 2009
                     - Added apexPsipStatusServiceTable.
                     - Added apexPsipStatusOutputTable.
                     - Added apexPsipStatusInputTable.

                     October 29, 2009
                     - Added apexAlarmGigeToHostCommFault

                     October 26, 2009
                     - Added apexGbeConfInRedundManualRouteRedundType and
                       apexSesContConfRedundType.

                     October 19, 2009
                     - Merged 2.3.x MIB (version 1.9).
                     - Brought in version 1.9 Revision Description.

                     October 7, 2009
                     - Added apexRtspStatQamMptsModeTable.

                     October 2, 2009
                     - Added apexRtspConfMhaTable.

                     September 30, 2009
                     - Added apexPsip group.

                     September 17, 2009
                     - Added apexGbeRxDocsisFrames, apexGbeRxMpegDocsisFrames,
                       and apexGbeTotalRxDocsisFrames.

                     September 9, 2009
                     - Added apexGbeConfInputUnicastTimeout,
                       apexGbeConfInputMulticastTimeout,
                       and apexGbeConfLossOfInputTsType.

                     June 2, 2009
                     - Merged 2.1.1E MIB (version 1.7).
                     - Brought in version 1.7 Revision Description.
                     "

        REVISION     "200910160000Z"
        DESCRIPTION
                     "Version 1.10:

                     October 16, 2009
                     - Added apexSysConfigMcEmmInsertion.
                     "

        REVISION     "200909140000Z"
        DESCRIPTION
                     "Version 1.9:

                     October 8, 2009
                     - Added enumeration for Watchdog Reboot Reason.

                     September 14, 2009
                     - Corrected @Commit annotation in Chassis redundancy and DTA
                       CAT configuration params.

                     September 07, 2009
                     - Added apexChassisRedundancyGeneralConfigSyncStatusText.

                     August 31, 2009
                     - Changed enumeration values of
                       apexChassisRedundancyMulticastRedundancyMode.

                     August 26, 2009
                     - Added apexQamRfPortMuteStatusTable.

                     August 19, 2009
                     - Removed DTA Network pid params from apexQamRfConfigTable,
                       DTA Enable from apexQamChannelConfigTable,
                       and apexQamStatusInvalidApplyText.
                     - Added apexDtaConfigApplyTable, apexDtaRfPortConfigTable and
                       apexDtaOtsConfigTable.

                     August 17, 2009
                     - Added apexChassisRedundancyUdpPort,
                       apexChassisRedundancyRedundantApexIp,
                       apexChassisRedundancyFailOverEnet2LinkLoss,
                       apexChassisRedundancyStatusInvalidApplyText,
                       apexEventChassisRedunPrimaryForceFailover,
                       apexEventChassisRedunSecondaryForceFailover,
                       apexEventChassisRedunFirmwareVersionMismatch, and
                       apexEventChassisRedunQAMVersionMismatch.

                     August 13, 2009
                     - Added apexDtaGeneralConfigInvalidApplyText, apexQamStatusInvalidApplyText
                       to know DTA CAT, NET and EMM pid number validation status from host.

                     August 06, 2009
                     - Removed apexEventChassisRedundancySecondaryFailOver.
                     - Added apexAlarmChassisRedundancySecondaryFailover and
                       apexEnableChassisRedundancySecondaryFailover.

                     August 5, 2009
                     - DTA NET and CAT/EMM pid ranges and default values are changed.

                     August 3, 2009
                     - Added apexDtaConfigApplyChange parameter.
                     - Added/Merged Chassis level DTA parameters, RF Port level DTA
                       parameters and DTA enable status for each OTS/QAM Channel.

                     July 31, 2009
                     - Added apexChassisRedundancyConfigApplyChange and
                       apexChassisRedundancyConfigEnable.

                     June 26, 2009
                     - Removed apexChassisRedundancyFailOverHwFault.

                     June 25, 2009
                     - Added Suspend and Config Sync states to primary and
                       secondary apex status params.

                     June 9, 2009
                     - Added apexOampLinkActive and apexDataIpLinkActive.

                     May 27, 2009
                     - Added Chassis Redundancy groups apexChassisRedundancyConfig
                       and apexChassisRedundancyStatus.
                     - Added Chassis Redundancy alarms, events, and traps.
                     "

        REVISION     "200906090000Z"
        DESCRIPTION
                     "Version 1.8:

                     June 9, 2009
                     - Added apexOampLinkActive and apexDataIpLinkActive.
                     "

        REVISION     "200904200000Z"
        DESCRIPTION
                     "Version 1.7:

                     Based on 2.1.0 and it does not contain MIB changes from
                     MIB version 1.5 and 1.6.
                     [Apex 2.2 release and Apex 2.1.4 release.]

                     April 20, 2009
                     - Removed @Config(config=yes, reboot=no)
                               @Commit(param=apexDepiControlConfigApplyChange, value=2)
                               @Save(apexSaveConfig, value=2)
                               @File(config.ini, type='ini')
                       from table objects and put into apexDepiControlConfigTable.
                     - Did the same for apexDepiSessionConfigTable.

                     April 08, 2009
                     - Put back apexDepiSessionStatusInSequenceDiscards back in.

                     April 02, 2009
                     - Removed apexDepiSessionStatusInSequenceDiscards
                     - Changed enums of Control and Session status

                     March 19, 2009
                     - Updated the DEPI Statistics and status related MIBs.
                     - Removed Mcmts from the DEPI related MIB groups
                     - Renamed mcmtsDocsis operating mode to Depi
                     - Renamed apexMcmtsDepiControlConfigDynamic to
                       apexDepiControlConfigType
                     - Added the DtiSyncLoss Trap

                     February 9, 2009
                     - Added M-CMTS support group apexDepiControl.
                     - Added mcmtsDocsis to apexOutputTsConfOperatingMode
                     "

        REVISION     "200904080000Z"
        DESCRIPTION
                     "Version 1.6:

                     [Note: Version 1.6 was for APEX Release 2.1.5.  Changes in this
                            version are also in Version 1.5.  This description is
                            added to the merged Version 2.0 for completeness.]

                     April 8, 2009
                     - Added apexUdpMapMulticastTable, apexUdpMapMulticastApplyTable,
                       apexUdpMapStatusGeneral, apexUdpMapMulticastInvalidApplyText.
                     "

        REVISION     "200904140000Z"
        DESCRIPTION
                     "Version 1.5:

                     April 14, 2009
                     - Added apexUdpMapStatusGeneral, apexUdpMapMulticastInvalidApplyText.

                     April 13, 2009
                     - Added apexUdpMapMulticastTable, apexUdpMapMulticastApplyTable.

                     March 31, 2009
                     - Added dvb-csa-simulcrypt to list for Encryption algorithm

                     March 24, 2009
                     - Added apexGbeInputDataTsSmoothingPeriod, apexGbeInputDataTsBufferDepth
                       apexGbeConfigInputDataTsApplyText, apexGbeConfigInputDataTsTable,
                       apexGbeConfigInputDataTsApplyTable.
                     "

        REVISION     "200903230000Z"
        DESCRIPTION
                     "Version 1.4:

                     March 24, 2009
                     - Added remapProgramBased to apexOutputTsConfPidRemappingMode.

                     March 23, 2009
                     - Added 3, 5, and 7 to range of apexQamRfConfigNumChannelsEnabled.

                     March 20, 2009
                     - Added apexEcmEmmFirstPid, apexEcmEmmNumberPids,
                       apexSimulcryptExternalEisSetting, apexSimulcryptEmEnable
                     - Changed range of apexUdpMapNumberProgs.

                     February 12, 2009
                     - Added apexSimulcryptEmEnable.

                     February 6, 2009
                     - Added apexGbeSfp.

                     January 8, 2009
                     - Added apexOutputTsConfApplyTable  and
                       apexOutputTsStatusInvalidApplyText.
                     - Fixed header comment group numbers for apexOutputTsConfig.
                     "

        REVISION     "200903100000Z"
        DESCRIPTION
                     "Version 1.3:

                     March 10, 2009
                     - Added apexGbeNominalBufferLevel.
                     - Made apexGbeJitterAbsorption obsolete.

                     February 18, 2009
                     - Added RF Redundancy and REM alarm codes to apexHwEventAlarmCode
                       description.

                     February 5, 2009
                     - Added 'warning' severity to apexAlarmRemFault description.

                     January 21, 2009
                     - Changed apexQamRfConfigRfLevelAttenuation range and
                       description.
                     - Changed apexQamChanStatActive description to reflect
                       QAM RF Redundancy.

                     December 5, 2008
                     - Added apexQamRfRedundStatusInvalidApplyText and
                       apexQamRfRedundConfigRemDirectIpOctet1.
                     - Changed apexQamRfRedundConfigRemIpAddr to
                       apexQamRfRedundConfigRemCommonIpAddr.

                     November 25, 2008
                     - Added apexOutputTsStatusServicesInError.

                     October 31, 2008
                     - Added apexDpmVersion.

                     October 27, 2008
                     - Changed apexQamRfRedundConfigApplyChange Syntax to ApplyDataToDeviceTYPE.

                     October 16, 2008
                     - Added apexQamRfRedundancyConfig.
                     - Added apexQamRfRedundancyStatus.
                     - Added apexOampInputTsAssignedCount to apexOampStatusGeneral.
                     - Added apexDataIpInputTsAssignedCount, apexDataIpAddrInUse,
                       apexDataIpSubnetMaskInUse, and apexDataIpInUseReason to
                       apexDataIpStatusGeneral.
                     - Added apexAlarmQamRfRedundFailOver, apexAlarmQamRfRedundMismatch,
                       apexAlarmRemCommFault, apexAlarmRemFault, apexEnableQamRfRedundFailOver,
                       apexEnableQamRfRedundMismatch, apexEnableRemCommFault, apexEnableRemFault,
                       trapQamRfRedundFailOver, trapQamRfRedundMismatch, trapRemCommFault,
                       trapRemFault.
                     "

        REVISION     "200807240000Z"
        DESCRIPTION
                     "Version 1.2:

                      July 24, 2008
                      - Added apexEncryptionEmmGoodDeliveryTimeMs, apexEncryptionEmmMaxDeliveryTimeMs
                        apexEncryptionEmmMinDeliveryTimeMs, and apexEncryptionMcDiagTable
                        to apexEncryptionCwgStatus section.

                      July 15, 2008
                      - Added range to syntax of apexSntpUtcOffset.

                      July 09, 2008
                      - Added 'annexC-Asia-Pacific' enumeration to
                        apexQamConfigTransmissionMode.
                      - Added enumerations to apexQamRfPortStatError and changed
                        the description.
                      - Added apexEncryptionCwgStatus variables for debug of cwg manager
                        processing in the field.

                      June 26, 2008
                      - Increased range of apexPsiStatusIndex from 768 to 784.

                      June 25, 2008
                      - Added apexQrmDownload group.
                      - Added apexOutputProgramSourceId and apexOutputProgramProviderId.
                      - Changed descriptions of apexManualRouteInputType,
                        apexManualRouteSourceId, apexManualRouteProviderId,
                        apexManRtePassThroughInputType, and apexPidMapInputType.
                      - Added enumerations to apexRtspStatControllerDiscovery
                        and apexRtspStatControllerConnection.

                      June 23, 2008
                      - Added to apexAcpStatusTable: apexAcpUnitAttribute.

                      June 20, 2008
                      - Added to apexAcpStatusTable: apexAcpEvenCsn and apexAcpOddCsn.

                      June 6, 2008
                      - Added apexFastEnetInsertRateTable, apexFastEnetStatusPacketsTable,
                        and apexFastEnetInsertPacketsTable.

                      June 3, 2008
                      - Added udpMapping enumeration to apexInputTsStatRoutingType.
                      - Added encryption status to apexOutputProgramTable:
                        apexOutputProgramError, apexOutputProgramEncryptionMode,
                        apexOutputProgramEncryptionStatus, apexOutputProgramEcmServiceId,
                        apexOutputProgramCciLevel, apexOutputProgramApsLevel,
                        apexOutputProgramCitSetting, apexOutputProgramNumberTiers, and
                        apexOutputProgramTierData.

                      June 2, 2008
                      - Added apexManualRouteRmdClear.

                      May 12, 2008
                      - Added apexEncryption group and apexOutputTsConfEncryptionType.

                      May 8, 2008
                      - Added apexRds group.
                      - Added apexAlarmRdsCommFault and trapRdsCommFault.

                      April 4, 2008
                      - Added apexUdpPortMapping group.
                      - Added udpMapping enumeration to apexOutputTsConfOperatingMode.
                     "

        REVISION     "200807080000Z"
        DESCRIPTION
                     "Version 1.1:

                      July 8, 2008
                      - Added enumerations to apexQamRfPortStatError and changed
                        the description.

                      July 1, 2008
                      Changes to support ITU-T J.83 Annex A and C QAM:
                      - Added 'annexC-Asia-Pacific' enumeration to
                        apexQamStatusTransmissionMode.
                      - Changed descriptions of: apexQamRfConfigNumChannelsEnabled,
                        apexQamRfConfigSymbolRate, apexQamRfConfigEiaFrequencyPlan,
                        apexQamRfConfigEiaChanNumChannelA, apexQamRfConfigRfCenterFreqChannelA,
                        apexQamRfConfigRfChanSpacing, apexQamRfConfigInterleaverDepth1,
                        and apexQamRfConfigInterleaverDepth2.
                     "

        REVISION     "200802181400Z"
        DESCRIPTION
                     "Version 1.0:

                      February 18, 2008
                      - Initial Revision."

         ::= {giproducts 31}

-- ------------------------------------------------------------------------------
-- REUSABLE TYPE DEFINITIONS
--

NetworkDuplexModeTYPE ::=  INTEGER
   {
    halfDuplex (1),
    fullDuplex (2)
   }

NetworkSpeedTYPE ::=  INTEGER
   {
    speed10Mbps (1),
    speed100Mbps (2)
   }
   
EnableDisableTYPE ::=  INTEGER
   {
    disabled (1),
    enabled  (2)
   }

ActiveTYPE ::=  INTEGER
   {
    notApplicable (0),
    notActive (1),
    active    (2)
   }

ApplyDataToDeviceTYPE ::= INTEGER
   {
    applyNotInProgress            (1),
    apply                         (2),
    applyNotInProgressValidData   (3),
    applyNotInProgressInvalidData (4)
   }

ResetStatisticsTYPE ::= INTEGER
   {
    resetNotInProgress (1),
    reset              (2)
   }

ClearAlarmTYPE ::= INTEGER
   {
    clearAlarmNotInProgress (1),
    clearAlarm              (2)
   }

RateComparisonTYPE ::=  INTEGER
   {
    dataRate            (1),
    transportStreamRate (2)
   }

InputTsStateTYPE ::=  INTEGER
   {
    closed              (0),
    openedInUse         (1),
    openedBackup        (2),
    openedTransToBackup (3),
    openedTransToInUse  (4)
   }

EthernetInterfaceTYPE ::=  INTEGER
   {
    enet1 (1),
    enet2 (2)
   }

InputInterfaceTYPE ::=  INTEGER
   {
    enet1 (1),
    enet2 (2),
    gige1 (3),
    gige2 (4),
    gige3 (5),
    gige4 (6)
   }

ClearCountersTYPE ::= INTEGER
   {
    clearNotInProgress (1),
    clear              (2)
   }

--
-- APEX MIB STRUCTURE
--
-- The following duplicates the structure and entries in the APEX MIB.
-- Object identifiers for groups are defined here.
--
   apexSys                                                OBJECT IDENTIFIER ::= {apex 1}
      apexSysConfig                                       OBJECT IDENTIFIER ::= {apexSys 1}
         apexSysConfigGeneral                             OBJECT IDENTIFIER ::= {apexSysConfig 1}
--          apexSaveConfig                                                      {apexSysConfigGeneral 1}
--          apexProductName                                                     {apexSysConfigGeneral 2}
--          apexBootMethod                                                      {apexSysConfigGeneral 3}
--          apexAutoRebootEnable                                                {apexSysConfigGeneral 4}
         apexSysConfigMcEmmInsertion                      OBJECT IDENTIFIER ::= {apexSysConfig 2}
--          apexMcEmmInsertionMode                                              {apexSysConfigMcEmmInsertion 1}
--          apexMcEmmInsertionPid1Enable                                        {apexSysConfigMcEmmInsertion 2}
--          apexMcEmmInsertionPid1                                              {apexSysConfigMcEmmInsertion 3}
--          apexMcEmmInsertionPid2Enable                                        {apexSysConfigMcEmmInsertion 4}
--          apexMcEmmInsertionPid2                                              {apexSysConfigMcEmmInsertion 5}
--          apexMcEmmInsertionApplyChange                                       {apexSysConfigMcEmmInsertion 6}
      apexSysStatus                                       OBJECT IDENTIFIER ::= {apexSys 2}
         apexSysStatusGeneral                             OBJECT IDENTIFIER ::= {apexSysStatus 1}
--          apexBootReason                                                      {apexSysStatusGeneral 1}
--          apexMaxServiceMappings                                              {apexSysStatsgGeneral 2}
         apexSysStatusVersions                            OBJECT IDENTIFIER ::= {apexSysStatus 2}
--          apexHostProcessorBootCodeVersion                                    {apexSysStatusVersions 1}
--          apexMuxFpgaVersion                                                  {apexSysStatusVersions 2}
--          apexMuxFpgaEncryption                                               {apexSysStatusVersions 3}
--          apexMainBoardVersion                                                {apexSysStatusVersions 4}
--          apexHostApplicationDate                                             {apexSysStatusVersions 5}
--          apexProductType                                                     {apexSysStatusVersions 6}
--          apexMainBoardType                                                   {apexSysStatusVersions 7}
--          apexGlueFpgaVersion                                                 {apexSysStatusVersions 8}
--          apexGlueCpldVersion                                                 {apexSysStatusVersions 9}
--          apexDtiFpgaVersion                                                  {apexSysStatusVersions 10}
--          apexMpc2FpgaVersion                                                 {apexSysStatusVersions 11}
--          apexDpmVersion                                                      {apexSysStatusVersions 12}
   apexTime                                               OBJECT IDENTIFIER ::= {apex 2}
      apexTimeConfig                                      OBJECT IDENTIFIER ::= {apexTime 1}
         apexTimeConfigGeneral                            OBJECT IDENTIFIER ::= {apexTimeConfig 1}
--          apexTimeSource                                                      {apexTimeConfigGeneral 1}
--          apexSntpUtcOffset                                                   {apexTimeConfigGeneral 2}
--          apexSntpServerSpecified                                             {apexTimeConfigGeneral 3}
--          apexSntpServerIpAddr                                                {apexTimeConfigGeneral 4}
--          apexUserSuppliedTime                                                {apexTimeConfigGeneral 5}
      apexTimeStatus                                      OBJECT IDENTIFIER ::= {apexTime 2}
         apexTimeStatusGeneral                            OBJECT IDENTIFIER ::= {apexTimeStatus 1}
--          apexSystemTime                                                      {apexTimeStatusGeneral 1}
--          apexOperationalTime                                                 {apexTimeStatusGeneral 2}
   apexTemperature                                        OBJECT IDENTIFIER ::= {apex 3}
      apexTemperatureConfig                               OBJECT IDENTIFIER ::= {apexTemperature 1}
         apexTemperatureConfigGeneral                     OBJECT IDENTIFIER ::= {apexTemperatureConfig 1}
      apexTemperatureStatus                               OBJECT IDENTIFIER ::= {apexTemperature 2}
         apexTemperatureStatusGeneral                     OBJECT IDENTIFIER ::= {apexTemperatureStatus 1}
         apexMainBoardTemperature                         OBJECT IDENTIFIER ::= {apexTemperatureStatus 2}
--          apexMainBoardTempFrontIntake                                        {apexMainBoardTemperature 1}
--          apexMainBoardTempMuxFpga                                            {apexMainBoardTemperature 2}
--          apexMainBoardTempAcpModule                                          {apexMainBoardTemperature 3}
--          apexMainBoardTempHostProcessor                                      {apexMainBoardTemperature 4}
         apexMainBoardTemperatureFault                    OBJECT IDENTIFIER ::= {apexTemperatureStatus 3}
--          apexMainBoardTempFrontIntakeFault                                   {apexMainBoardTemperatureFault 1}
--          apexMainBoardTempMuxFpgaFault                                       {apexMainBoardTemperatureFault 2}
--          apexMainBoardTempAcpModuleFault                                     {apexMainBoardTemperatureFault 3}
--          apexMainBoardTempHostProcessorFault                                 {apexMainBoardTemperatureFault 4}
   apexPowerSupply                                        OBJECT IDENTIFIER ::= {apex 4}
      apexPsConfig                                        OBJECT IDENTIFIER ::= {apexPowerSupply 1}
         apexPsConfigGeneral                              OBJECT IDENTIFIER ::= {apexPsConfig 1}
--        apexPsPowerFaultFilter                                                {apexPsConfigGeneral 1}
      apexPsStatus                                        OBJECT IDENTIFIER ::= {apexPowerSupply 2}
         apexPsStatusGeneral                              OBJECT IDENTIFIER ::= {apexPsStatus 1}
--       apexPsStatusTable                                                      {apexPsStatus 2}
--          apexPsStatusEntry                                                   {apexPsStatusTable 1}
--             apexPsStatusPsNum                                                {apexPsStatusEntry 1}
--             apexPsStatusInstalled                                            {apexPsStatusEntry 2}
--             apexPsStatusOutputVoltage                                        {apexPsStatusEntry 3}
--             apexPsStatusOutputCurrent                                        {apexPsStatusEntry 4}
--             apexPsStatusFanSpeed                                             {apexPsStatusEntry 5}
--             apexPsStatusFanStatus                                            {apexPsStatusEntry 6}
--             apexPsStatusTemperatureStatus                                    {apexPsStatusEntry 7}
--             apexPsStatusInputPowerStatus                                     {apexPsStatusEntry 8}
--             apexPsStatusOutputPowerStatus                                    {apexPsStatusEntry 9}
--             apexPsStatusErrorStatus                                          {apexPsStatusEntry 10}
--             apexPsStatusFaultCondition                                       {apexPsStatusEntry 11}
--             apexPsStatusDiagnosticData1                                      {apexPsStatusEntry 12}
--             apexPsStatusDiagnosticData2                                      {apexPsStatusEntry 13}
--             apexPsStatusCommError                                            {apexPsStatusEntry 14}
--       apexPsStatusVersionsTable                                              {apexPsStatus 3}
--          apexPsStatusVersionsEntry                                           {apexPsStatusVersionsTable 1}
--             apexPsStatusVersionsPsNum                                        {apexPsStatusVersionsEntry 1}
--             apexPsStatusVersionsModel                                        {apexPsStatusVersionsEntry 3}
--             apexPsStatusVersionsSerialNumber                                 {apexPsStatusVersionsEntry 4}
   apexAsi                                                OBJECT IDENTIFIER ::= {apex 5}
      apexAsiConfig                                       OBJECT IDENTIFIER ::= {apexAsi 1}
         apexAsiMonitorPortConfig                         OBJECT IDENTIFIER ::= {apexAsiConfig 2}
--          apexAsiMonitorPortOutputTsNum                                       {apexAsiMonitorPortConfig 1}
--          apexAsiMonitorPortEncryption                                        {apexAsiMonitorPortConfig 3}
   apexFastEnet                                           OBJECT IDENTIFIER ::= {apex 6}
      apexFastEnetConfig                                  OBJECT IDENTIFIER ::= {apexFastEnet 1}
         apexFastEnetConfigGeneral                        OBJECT IDENTIFIER ::= {apexFastEnetConfig 1}
--          apexFastEnetDefaultGateway                                          {apexFastEnetConfigGeneral 1}
--          apexFastEnetInsertRateTable                                         {apexFastEnetConfigGeneral 2}
--          apexFastEnetInsertRateEntry                                         {apexFastEnetInsertRateTable 1}
--             apexFastEnetInsertRateOutputTsNum                                {apexFastEnetInsertRateEntry 1}
--             apexFastEnetInsertRate                                           {apexFastEnetInsertRateEntry 2}
--          apexFastEnetRoutingApplyChange                                      {apexFastEnetConfigGeneral 3}
--       apexFastEnetRoutingTable                                               {apexFastEnetConfig 2}
--          apexFastEnetRoutingEntry                                            {apexFastEnetRoutingTable 1}
--             apexFastEnetRoutingIndex                                         {apexFastEnetRoutingEntry 1}
--             apexFastEnetRoutingDestinIp                                      {apexFastEnetRoutingEntry 2}
--             apexFastEnetRoutingGatewayIp                                     {apexFastEnetRoutingEntry 3}
--             apexFastEnetRoutingSubnetMask                                    {apexFastEnetRoutingEntry 4}
      apexFastEnetStatus                                  OBJECT IDENTIFIER ::= {apexFastEnet 2}
         apexFastEnetStatusGeneral                        OBJECT IDENTIFIER ::= {apexFastEnetStatus 1}
--          apexFastEnetMaxInputUdpPorts                                        {apexFastEnetStatusGeneral 1}
--       apexFastEnetStatusPacketsTable                                         {apexFastEnetStatus 2}
--          apexFastEnetStatusPacketsEntry                                      {apexFastEnetStatusPacketsTable 1}
--             apexFastEnetPacketsPortNum                                       {apexFastEnetStatusPacketsEntry 1}
--             apexFastEnetPacketsNumPkts                                       {apexFastEnetStatusPacketsEntry 2}
--             apexFastEnetPacketsTotPkts                                       {apexFastEnetStatusPacketsEntry 3}
--             apexFastEnetPacketsNumDiscarded                                  {apexFastEnetStatusPacketsEntry 4}
--             apexFastEnetPacketsTotDiscarded                                  {apexFastEnetStatusPacketsEntry 5}
--       apexFastEnetInsertPacketsTable                                         {apexFastEnetStatus 3}
--          apexFastEnetInsertPacketsEntry                                      {apexFastEnetInsertPacketsTable 1}
--             apexFastEnetInsPacketsOutputTsNum                                {apexFastEnetInsertPacketsEntry 1}
--             apexFastEnetInsPacketsNumPkts                                    {apexFastEnetInsertPacketsEntry 2}
--             apexFastEnetInsPacketsTotPkts                                    {apexFastEnetInsertPacketsEntry 3}
--             apexFastEnetInsPacketsNumDiscarded                               {apexFastEnetInsertPacketsEntry 4}
--             apexFastEnetInsPacketsTotDiscarded                               {apexFastEnetInsertPacketsEntry 5}
      apexOamp                                            OBJECT IDENTIFIER ::= {apexFastEnet 3}
         apexOampConfig                                   OBJECT IDENTIFIER ::= {apexOamp 1}
            apexOampConfigGeneral                         OBJECT IDENTIFIER ::= {apexOampConfig 1}
--             apexOampIpAddr                                                   {apexOampConfigGeneral 1}
--             apexOampSubnetMask                                               {apexOampConfigGeneral 2}
--             apexOampAutoNegotiate                                            {apexOampConfigGeneral 3}
--             apexOampNetworkDuplexMode                                        {apexOampConfigGeneral 4}
--             apexOampNetworkSpeed                                             {apexOampConfigGeneral 5}
         apexOampStatus                                   OBJECT IDENTIFIER ::= {apexOamp 2}
            apexOampStatusGeneral                         OBJECT IDENTIFIER ::= {apexOampStatus 1}
--             apexOampMacAddr                                                  {apexOampStatusGeneral 1}
--             apexOampSpeed                                                    {apexOampStatusGeneral 2}
--             apexOampDuplexMode                                               {apexOampStatusGeneral 3}
--             apexOampInputTsAssignedCount                                     {apexOampStatusGeneral 4}
--             apexOampLinkActive                                               {apexOampStatusGeneral 5}
--             apexOampCurrentAutoNegotiateState                                {apexOampStatusGeneral 6}
      apexDataIp                                          OBJECT IDENTIFIER ::= {apexFastEnet 4}
         apexDataIpConfig                                 OBJECT IDENTIFIER ::= {apexDataIp 1}
            apexDataIpConfigGeneral                       OBJECT IDENTIFIER ::= {apexDataIpConfig 1}
--             apexDataIpAddr                                                   {apexDataIpConfigGeneral 1}
--             apexDataIpSubnetMask                                             {apexDataIpConfigGeneral 2}
--             apexDataIpAutoNegotiate                                          {apexDataIpConfigGeneral 3}
--             apexDataIpNetworkDuplexMode                                      {apexDataIpConfigGeneral 4}
--             apexDataIpNetworkSpeed                                           {apexDataIpConfigGeneral 5}
         apexDataIpStatus                                 OBJECT IDENTIFIER ::= {apexDataIp 2}
            apexDataIpStatusGeneral                       OBJECT IDENTIFIER ::= {apexDataIpStatus 1}
--             apexDataIpMacAddr                                                {apexDataIpStatusGeneral 1}
--             apexDataIpSpeed                                                  {apexDataIpStatusGeneral 2}
--             apexDataIpDuplexMode                                             {apexDataIpStatusGeneral 3}
--             apexDataIpInputTsAssignedCount                                   {apexDataIpStatusGeneral 4}
--             apexDataIpAddrInUse                                              {apexDataIpStatusGeneral 5}
--             apexDataIpSubnetMaskInUse                                        {apexDataIpStatusGeneral 6}
--             apexDataIpInUseReason                                            {apexDataIpStatusGeneral 7}
--             apexDataIpLinkActive                                             {apexDataIpStatusGeneral 8}
--             apexDataIpCurrentAutoNegotiateState                              {apexDataIpStatusGeneral 9}
   apexGbe                                                OBJECT IDENTIFIER ::= {apex 7}
      apexGbeConfig                                       OBJECT IDENTIFIER ::= {apexGbe 1}
         apexGbeConfigGeneral                             OBJECT IDENTIFIER ::= {apexGbeConfig 1}
--          apexGbeDefaultGateway1                                              {apexGbeConfigGeneral 1}
--          apexGbeDefaultGateway2                                              {apexGbeConfigGeneral 2}
--          apexGbeJitterAbsorption         [obsolete]                          {apexGbeConfigGeneral 3}
--          apexGbeGarpPeriodicity                                              {apexGbeConfigGeneral 4}
--          apexGbeConfigTableApplyChange                                       {apexGbeConfigGeneral 5}
--          apexGbeNominalBufferLevel                                           {apexGbeConfigGeneral 6}
--          apexGbeInputDataTsSmoothingPeriod                                   {apexGbeConfigGeneral 7}
--          apexGbeInputDataTsBufferDepth                                       {apexGbeConfigGeneral 8}
--          apexGbeConfigInputDataTsApplyText                                   {apexGbeConfigGeneral 9}
--          apexGbeConfInputUnicastTimeout                                      {apexGbeConfigGeneral 10}
--          apexGbeConfInputMulticastTimeout                                    {apexGbeConfigGeneral 11}
--          apexGbeConfLossOfInputTsType                                        {apexGbeConfigGeneral 12}
--       apexGbeConfigTable                                                     {apexGbeConfig 2}
--          apexGbeConfigEntry                                                  {apexGbeConfigTable 1}
--             apexGbeConfigInterfaceNum                                        {apexGbeConfigEntry 1}
--             apexGbeConfigEnable                                              {apexGbeConfigEntry 2}
--             apexGbeConfigIpAddr                                              {apexGbeConfigEntry 3}
--             apexGbeConfigIpSubnetMask                                        {apexGbeConfigEntry 4}
--             apexGbeConfigAutoNegotiate                                       {apexGbeConfigEntry 5}
--       apexGbeConfigFrameBufferTable                                          {apexGbeConfig 3}
--          apexGbeConfigFrameBufferEntry                                       {apexGbeConfigFrameBufferTable 1}
--             apexGbeConfigFrameBufferProcessorNum                             {apexGbeConfigFrameBufferEntry 1}
--             apexGbeConfigFrameBufferMaxInDataRate                            {apexGbeConfigFrameBufferEntry 2}
--             apexGbeConfigFrameBufferAlarmThreshold                           {apexGbeConfigFrameBufferEntry 3}
         apexGbeConfigInputRedundancy                     OBJECT IDENTIFIER ::= {apexGbeConfig 4}
            apexGbeConfigInputRedundancyGeneral           OBJECT IDENTIFIER ::= {apexGbeConfigInputRedundancy 1}
--             apexGbeConfInRedundMonitorPeriod                                 {apexGbeConfigInputRedundancyGeneral 1}
--             apexGbeConfInRedundSwitchTime                                    {apexGbeConfigInputRedundancyGeneral 2}
--             apexGbeConfInRedundAutoSwitchBack                                {apexGbeConfigInputRedundancyGeneral 3}
--             apexGbeConfInRedundForceToSecondary                              {apexGbeConfigInputRedundancyGeneral 4}
--             apexGbeConfInRedundForceToPrimary                                {apexGbeConfigInputRedundancyGeneral 5}
--             apexGbeConfInRedundManualRouteRedundType                         {apexGbeConfigInputRedundancyGeneral 6}
--       apexGbeConfigInputDataTsTable                                          {apexGbeConfig 5}
--          apexGbeConfigInputDataTsEntry                                       {apexGbeConfigInputDataTsTable 1}
--             apexGbeConfigInputDataTsIndex                                    {apexGbeConfigInputDataTsEntry 1}
--             apexGbeConfigInputDataTsEnable                                   {apexGbeConfigInputDataTsEntry 2}
--             apexGbeConfigInputDataTsInterface                                {apexGbeConfigInputDataTsEntry 3}
--             apexGbeConfigInputDataTsUdp                                      {apexGbeConfigInputDataTsEntry 4}
--             apexGbeConfigInputDataTsMulticastIp                              {apexGbeConfigInputDataTsEntry 5}
--             apexGbeConfigInputDataTsSourceIp                                 {apexGbeConfigInputDataTsEntry 6}
--             apexGbeConfigInputDataTsMaxRate                                  {apexGbeConfigInputDataTsEntry 7}
--       apexGbeConfigInputDataTsApplyTable                                     {apexGbeConfig 6}
--          apexGbeConfigInputDataTsApplyEntry                                  {apexGbeConfigInputDataTsApplyTable 1}
--             apexGbeConfigInputDataTsApplyIndex                               {apexGbeConfigInputDataTsApplyEntry 1}
--             apexGbeConfigInputDataTsApplyChange                              {apexGbeConfigInputDataTsApplyEntry 2}
         apexGbeConfigInterfaceRedundancy                 OBJECT IDENTIFIER ::= {apexGbeConfig 7}
            apexGbeConfigInterfaceRedundancyGeneral       OBJECT IDENTIFIER ::= {apexGbeConfigInterfaceRedundancy 1}
--             apexGbeConfIfRedundAutoSwitchBackEnable                          {apexGbeConfigInterfaceRedundancyGeneral 1}
--             apexGbeConfIfRedundAutoSwitchBackPeriod                          {apexGbeConfigInterfaceRedundancyGeneral 2}
--          apexGbeConfigInterfaceRedundancyTable                               {apexGbeConfigInterfaceRedundancy 2}
--             apexGbeConfigInterfaceRedundancyEntry                            {apexGbeConfigInterfaceRedundancyTable 1}
--                apexGbeConfIfRedundIndex                                      {apexGbeConfigInterfaceRedundancyEntry 1}
--                apexGbeConfIfRedundEnable                                     {apexGbeConfigInterfaceRedundancyEntry 2}
--                apexGbeConfIfRedundForceFailover                              {apexGbeConfigInterfaceRedundancyEntry 3}
--                apexGbeConfIfRedundSuspendFailover                            {apexGbeConfigInterfaceRedundancyEntry 4}
--          apexGbeConfigInterfaceRedundancyApplyTable                          {apexGbeConfigInterfaceRedundancy 3}
--             apexGbeConfigInterfaceRedundancyApplyEntry                       {apexGbeConfigInterfaceRedundancyApplyTable 1}
--                apexGbeConfIfRedundApplyIndex                                 {apexGbeConfigInterfaceRedundancyApplyEntry 1}
--                apexGbeConfIfRedundApplyChange                                {apexGbeConfigInterfaceRedundancyApplyEntry 2}
      apexGbeStatus                                       OBJECT IDENTIFIER ::= {apexGbe 2}
         apexGbeStatusGeneral                             OBJECT IDENTIFIER ::= {apexGbeStatus 1}
--          apexGbeBootCodeVersion                                              {apexGbeStatusGeneral 1}
--          apexGbeApplicationCodeVersion                                       {apexGbeStatusGeneral 2}
--          apexGbeMaxInputTs                                                   {apexGbeStatusGeneral 3}
--          apexGbeRoutedPacketUpdateInterval                                   {apexGbeStatusGeneral 4}
--       apexGbeStatusTable                                                     {apexGbeStatus 2}
--          apexGbeStatusEntry                                                  {apexGbeStatusTable 1}
--             apexGbeStatusGbeInterfaceNum                                     {apexGbeStatusEntry 1}
--             apexGbeStatusMacAddr                                             {apexGbeStatusEntry 2}
--             apexGbeStatusLinkActive                                          {apexGbeStatusEntry 3}
--             apexGbeStatusIgmpVersion                                         {apexGbeStatusEntry 4}
--             apexGbeStatusLossOfPhysicalInput                                 {apexGbeStatusEntry 5}
--       apexGbeInputTsAssignedTable                                            {apexGbeStatus 3}
--          apexGbeInputTsAssignedEntry                                         {apexGbeInputTsAssignedTable 1}
--             apexGbeInputTsAssignedGbeInterfaceNum                            {apexGbeInputTsAssignedEntry 1}
--             apexGbeInputTsAssignedCount                                      {apexGbeInputTsAssignedEntry 2}
--       apexGbeOpenInputUdpPortTable                                           {apexGbeStatus 4}
--          apexGbeOpenInputUdpPortEntry                                        {apexGbeOpenInputUdpPortTable 1}
--             apexGbeOpenInputUdpPortGbeInterfaceNum                           {apexGbeOpenInputUdpPortEntry 1}
--             apexGbeOpenInputUdpPortCount                                     {apexGbeOpenInputUdpPortEntry 2}
--       apexGbeStatusRoutedPacketTable                                         {apexGbeStatus 5}
--          apexGbeStatusRoutedPacketEntry                                      {apexGbeStatusRoutedPacketTable 1}
--             apexGbeStatusRoutedPacketOutputTsNum                             {apexGbeStatusRoutedPacketEntry 1}
--             apexGbeStatusTotRoutedPackets                                    {apexGbeStatusRoutedPacketEntry 2}
--             apexGbeStatusNumRoutedPackets                                    {apexGbeStatusRoutedPacketEntry 3}
         apexGbeStatusFrameCounter                        OBJECT IDENTIFIER ::= {apexGbeStatus 6}
            apexGbeStatusFrameCounterGeneral              OBJECT IDENTIFIER ::= {apexGbeStatusFrameCounter 1}
--             apexGbeStatusFrameCounterTableResetAll                           {apexGbeStatusFrameCounterGeneral 1}
--             apexGbeFrameCounterUpdateInterval                                {apexGbeStatusFrameCounterGeneral 2}
--          apexGbeStatusFrameCounterTable                                      {apexGbeStatusFrameCounter 2}
--             apexGbeStatusFrameCounterEntry                                   {apexGbeStatusFrameCounterTable 1}
--                apexGbeFrameCounterGbeInterfaceNum                            {apexGbeStatusFrameCounterEntry 1}
--                apexGbeFrameCounterReset                                      {apexGbeStatusFrameCounterEntry 2}
--                apexGbeTotalRxSinglecastFrames                                {apexGbeStatusFrameCounterEntry 3}
--                apexGbeTotalRxMulticastFrames                                 {apexGbeStatusFrameCounterEntry 4}
--                apexGbeTotalRxBroadcastFrames                                 {apexGbeStatusFrameCounterEntry 5}
--                apexGbeTotalRxErrorFrames                                     {apexGbeStatusFrameCounterEntry 6}
--                apexGbeTotalRxFrames                                          {apexGbeStatusFrameCounterEntry 7}
--                apexGbeRxSinglecastFrames                                     {apexGbeStatusFrameCounterEntry 8}
--                apexGbeRxMulticastFrames                                      {apexGbeStatusFrameCounterEntry 9}
--                apexGbeRxBroadcastFrames                                      {apexGbeStatusFrameCounterEntry 10}
--                apexGbeRxErrorFrames                                          {apexGbeStatusFrameCounterEntry 11}
--                apexGbeRxFrames                                               {apexGbeStatusFrameCounterEntry 12}
--                apexGbeTotalTxGoodFrames                                      {apexGbeStatusFrameCounterEntry 13}
--                apexGbeTotalTxErrorFrames                                     {apexGbeStatusFrameCounterEntry 14}
--                apexGbeTxGoodFrames                                           {apexGbeStatusFrameCounterEntry 15}
--                apexGbeTxErrorFrames                                          {apexGbeStatusFrameCounterEntry 16}
--                apexGbeRxDocsisFrames                                         {apexGbeStatusFrameCounterEntry 17}
--                apexGbeRxMpegDocsisFrames                                     {apexGbeStatusFrameCounterEntry 18}
--                apexGbeTotalRxDocsisFrames                                    {apexGbeStatusFrameCounterEntry 19}
--                apexGbeIpFragmentedPkts                                       {apexGbeStatusFrameCounterEntry 20}
--                apexGbeTotalIpFragmentedPkts                                  {apexGbeStatusFrameCounterEntry 21}
         apexGbeFrameBufferStats                          OBJECT IDENTIFIER ::= {apexGbeStatus 7}
            apexGbeFrameBufferStatsGeneral                OBJECT IDENTIFIER ::= {apexGbeFrameBufferStats 1}
--          apexGbeFrameBufferStatsTable                                        {apexGbeFrameBufferStats 2}
--             apexGbeFrameBufferStatsEntry                                     {apexGbeFrameBufferStatsTable 1}
--                apexGbeFrameBufferProcessorNum                                {apexGbeFrameBufferStatsEntry 1}
--                apexGbeFrameBufferResetLevelLimit                             {apexGbeFrameBufferStatsEntry 2}
--                apexGbeFrameBufferCurrMsLevel                                 {apexGbeFrameBufferStatsEntry 3}
--                apexGbeFrameBufferCurrPercentFull                             {apexGbeFrameBufferStatsEntry 4}
--                apexGbeFrameBufferUnderflowLevel                              {apexGbeFrameBufferStatsEntry 5}
--                apexGbeFrameBufferOverflowLevel                               {apexGbeFrameBufferStatsEntry 6}
--                apexGbeFrameBufferAlarmStatus                                 {apexGbeFrameBufferStatsEntry 7}
--          apexGbeFrameBufferHourlyTable                                       {apexGbeFrameBufferStats 3}
--             apexGbeFrameBufferHourlyEntry                                    {apexGbeFrameBufferHourlyTable 1}
--                apexGbeFrameBufferHourlyProcessorNum                          {apexGbeFrameBufferHourlyEntry 1}
--                apexGbeFrameBufferHourlyIndex                                 {apexGbeFrameBufferHourlyEntry 2}
--                apexGbeFrameBufferHourlyInInterface                           {apexGbeFrameBufferHourlyEntry 3}
--                apexGbeFrameBufferHourlyInUdp                                 {apexGbeFrameBufferHourlyEntry 4}
--                apexGbeFrameBufferHourlyInMulticastIp                         {apexGbeFrameBufferHourlyEntry 5}
--                apexGbeFrameBufferHourlyInSourceIp                            {apexGbeFrameBufferHourlyEntry 6}
--                apexGbeFrameBufferHourlyMaxMsLevel                            {apexGbeFrameBufferHourlyEntry 7}
--                apexGbeFrameBufferHourlyMaxPercentFull                        {apexGbeFrameBufferHourlyEntry 8}
--                apexGbeFrameBufferHourlyGpsTime                               {apexGbeFrameBufferHourlyEntry 9}
--                apexGbeFrameBufferHourlyOverflows                             {apexGbeFrameBufferHourlyEntry 10}
--                apexGbeFrameBufferHourlyResets                                {apexGbeFrameBufferHourlyEntry 11}
         apexGbeStatusInputTransportStream                OBJECT IDENTIFIER ::= {apexGbeStatus 8}
            apexGbeStatusInputTsGeneral                   OBJECT IDENTIFIER ::= {apexGbeStatusInputTransportStream 1}
--             apexGbeStatusInputTsUpdateInterval                               {apexGbeStatusInputTsGeneral 1}
--          apexGbeStatusInputTsTable                                           {apexGbeStatusInputTransportStream 2}
--             apexGbeStatusInputTsEntry                                        {apexGbeStatusInputTsTable 1}
--                apexGbeStatInTsInputTsNum                                     {apexGbeStatusInputTsEntry 1}
--                apexGbeStatInTsSamplingPeriod                                 {apexGbeStatusInputTsEntry 2}
--                apexGbeStatInTsPriCurDataCount                                {apexGbeStatusInputTsEntry 3}
--                apexGbeStatInTsPriAvgDataCount                                {apexGbeStatusInputTsEntry 4}
--                apexGbeStatInTsPriMinDataCount                                {apexGbeStatusInputTsEntry 5}
--                apexGbeStatInTsPriPeakDataCount                               {apexGbeStatusInputTsEntry 6}
--                apexGbeStatInTsPriCurStreamCount                              {apexGbeStatusInputTsEntry 7}
--                apexGbeStatInTsPriAvgStreamCount                              {apexGbeStatusInputTsEntry 8}
--                apexGbeStatInTsPriMinStreamCount                              {apexGbeStatusInputTsEntry 9}
--                apexGbeStatInTsPriPeakStreamCount                             {apexGbeStatusInputTsEntry 10}
--                apexGbeStatInTsSecCurDataCount                                {apexGbeStatusInputTsEntry 11}
--                apexGbeStatInTsSecAvgDataCount                                {apexGbeStatusInputTsEntry 12}
--                apexGbeStatInTsSecMinDataCount                                {apexGbeStatusInputTsEntry 13}
--                apexGbeStatInTsSecPeakDataCount                               {apexGbeStatusInputTsEntry 14}
--                apexGbeStatInTsSecCurStreamCount                              {apexGbeStatusInputTsEntry 15}
--                apexGbeStatInTsSecAvgStreamCount                              {apexGbeStatusInputTsEntry 16}
--                apexGbeStatInTsSecMinStreamCount                              {apexGbeStatusInputTsEntry 17}
--                apexGbeStatInTsSecPeakStreamCount                             {apexGbeStatusInputTsEntry 18}
--                apexGbeStatInTsTotPacketDropCount                             {apexGbeStatusInputTsEntry 19}
--                apexGbeStatInTsCurPacketDropCount                             {apexGbeStatusInputTsEntry 20}
--          apexGbeStatusInputTsErrorTable                                      {apexGbeStatusInputTransportStream 3}
--             apexGbeStatusInputTsErrorEntry                                   {apexGbeStatusInputTsErrorTable 1}
--                apexGbeStatInTsErrorInputTsNum                                {apexGbeStatusInputTsErrorEntry 1}
--                apexGbeStatInTsPriErrorSummary                                {apexGbeStatusInputTsErrorEntry 2}
--                apexGbeStatInTsPriLowBitRateError                             {apexGbeStatusInputTsErrorEntry 3}
--                apexGbeStatInTsPriHighBitRateError                            {apexGbeStatusInputTsErrorEntry 4}
--                apexGbeStatInTsMptsRedundPriError                             {apexGbeStatusInputTsErrorEntry 5}
--                apexGbeStatInTsMptsRedundFailError                            {apexGbeStatusInputTsErrorEntry 6}
--                apexGbeStatInTsSecErrorSummary                                {apexGbeStatusInputTsErrorEntry 7}
--                apexGbeStatInTsSecLowBitRateError                             {apexGbeStatusInputTsErrorEntry 8}
--                apexGbeStatInTsSecHighBitRateError                            {apexGbeStatusInputTsErrorEntry 9}
--                apexGbeStatInTsPriLossInputError                              {apexGbeStatusInputTsErrorEntry 10}
--                apexGbeStatInTsSecLossInputError                              {apexGbeStatusInputTsErrorEntry 11}
--                apexGbeStatInTsPacketDropError                                {apexGbeStatusInputTsErrorEntry 12}
      apexGbeStatusInterfaceRedund                        OBJECT IDENTIFIER ::= {apexGbeStatus 9}
--       apexGbeStatusInterfaceRedundTable                                      {apexGbeStatusInterfaceRedund 1}
--          apexGbeStatusInterfaceRedundEntry                                   {apexGbeStatusInterfaceRedundTable 1}
--             apexGbeStatusInterfaceRedundIndex                                {apexGbeStatusInterfaceRedundEntry 1}
--             apexGbeStatusInterfaceRedundActiveIf                             {apexGbeStatusInterfaceRedundEntry 2}
--             apexGbeStatusInterfaceRedundInvalidApplyText                     {apexGbeStatusInterfaceRedundEntry 3}
--             apexGbeStatusInterfaceRedundFaultCondition                       {apexGbeStatusInterfaceRedundEntry 4}
         apexGbeStatusInputTsDropCounter                  OBJECT IDENTIFIER ::= {apexGbeStatus 10}
            apexGbeStatusInputTsDropCounterGeneral        OBJECT IDENTIFIER ::= {apexGbeStatusInputTsDropCounter 1}
--             apexGbeStatusInputTsDropCounterClearAll                          {apexGbeStatusInputTsDropCounterGeneral 1}
      apexGbeSfp                                          OBJECT IDENTIFIER ::= {apexGbe 3}
         apexGbeSfpConfig                                 OBJECT IDENTIFIER ::= {apexGbeSfp 1}
            apexGbeSfpConfigGeneral                       OBJECT IDENTIFIER ::= {apexGbeSfpConfig 1}
--             apexGbeSfpUpdateStatus                                           {apexGbeSfpConfigGeneral 1}
         apexGbeSfpStatus                                 OBJECT IDENTIFIER ::= {apexGbeSfp 2}
            apexGbeSfpStatusGeneral                       OBJECT IDENTIFIER ::= {apexGbeSfpStatus 1}
--          apexGbeSfpStatusTable                                               {apexGbeSfpStatus 2}
--             apexGbeSfpStatusEntry                                            {apexGbeSfpStatusTable 1}
--                apexGbeSfpStatusGbeIfNum                                      {apexGbeSfpStatusEntry 1}
--                apexGbeSfpStatusVendorId                                      {apexGbeSfpStatusEntry 2}
--                apexGbeSfpStatusDiagInfo                                      {apexGbeSfpStatusEntry 3}
   apexQam                                                OBJECT IDENTIFIER ::= {apex 8}
      apexQamConfig                                       OBJECT IDENTIFIER ::= {apexQam 1}
         apexQamConfigGeneral                             OBJECT IDENTIFIER ::= {apexQamConfig 1}
--          apexQamConfigTransmissionMode                                       {apexQamConfigGeneral 1}
         apexQamModuleUpgrade                             OBJECT IDENTIFIER ::= {apexQamConfig 2}
--          apexQamModuleUpgradeSlot                                            {apexQamModuleUpgrade 1}
--          apexQamModuleUpgradeCode                                            {apexQamModuleUpgrade 2}
--          apexQamModuleUpgradeApplyChange                                     {apexQamModuleUpgrade 3}
--       apexQamConfigApplyTable                                                {apexQamConfig 3}
--          apexQamConfigApplyEntry                                             {apexQamConfigApplyTable 1}
--             apexQamConfigApplyRfPortNum                                      {apexQamConfigApplyEntry 1}
--             apexQamConfigApplyChange                                         {apexQamConfigApplyEntry 2}
--       apexQamRfConfigTable                                                   {apexQamConfig 4}
--          apexQamRfConfigEntry                                                {apexQamRfConfigTable 1}
--             apexQamRfConfigRfPortNum                                         {apexQamRfConfigEntry 1}
--             apexQamRfConfigNumChannelsEnabled                                {apexQamRfConfigEntry 2}
--             apexQamRfConfigModulationMode                                    {apexQamRfConfigEntry 3}
--             apexQamRfConfigSymbolRate                                        {apexQamRfConfigEntry 4}
--             apexQamRfConfigSpectrumInvert                                    {apexQamRfConfigEntry 5}
--             apexQamRfConfigTuningMode                                        {apexQamRfConfigEntry 6}
--             apexQamRfConfigEiaFrequencyPlan                                  {apexQamRfConfigEntry 7}
--             apexQamRfConfigEiaChanNumChannelA                                {apexQamRfConfigEntry 8}
--             apexQamRfConfigRfCenterFreqChannelA                              {apexQamRfConfigEntry 9}
--             apexQamRfConfigRfChanSpacing                                     {apexQamRfConfigEntry 10}
--             apexQamRfConfigRfLevelAttenuation                                {apexQamRfConfigEntry 11}
--             apexQamRfConfigRfLevelLowThreshold                               {apexQamRfConfigEntry 12}
--             apexQamRfConfigRfLevelHighThreshold                              {apexQamRfConfigEntry 13}
--             apexQamRfConfigMute                                              {apexQamRfConfigEntry 14}
--             apexQamRfConfigInterleaverDepth1                                 {apexQamRfConfigEntry 15}
--             apexQamRfConfigInterleaverDepth2                                 {apexQamRfConfigEntry 16}
--       apexQamChannelConfigTable                                              {apexQamConfig 5}
--          apexQamChannelConfigEntry                                           {apexQamChannelConfigTable 1}
--             apexQamChanConfigChannelNum                                      {apexQamChannelConfigEntry 1}
--             apexQamChanConfigInterleaverSelect                               {apexQamChannelConfigEntry 2}
--             apexQamChanConfigTestMode                                        {apexQamChannelConfigEntry 3}
         apexQamRfRedundancyConfig                        OBJECT IDENTIFIER ::= {apexQamConfig 6}
            apexQamRfRedundancyConfigGeneral              OBJECT IDENTIFIER ::= {apexQamRfRedundancyConfig 1}
--             apexQamRfRedundConfigApplyChange                                 {apexQamRfRedundancyConfigGeneral 1}
--             apexQamRfRedundConfigEnable                                      {apexQamRfRedundancyConfigGeneral 2}
--             apexQamRfRedundConfigRemConnection                               {apexQamRfRedundancyConfigGeneral 3}
--             apexQamRfRedundConfigApexId                                      {apexQamRfRedundancyConfigGeneral 4}
--             apexQamRfRedundConfigRemCommonIpAddr                             {apexQamRfRedundancyConfigGeneral 5}
--             apexQamRfRedundConfigAutoSwitchBack                              {apexQamRfRedundancyConfigGeneral 6}
--             apexQamRfRedundConfigSuspendFailover                             {apexQamRfRedundancyConfigGeneral 7}
--             apexQamRfRedundConfigForceSwitch                                 {apexQamRfRedundancyConfigGeneral 8}
--             apexQamRfRedundConfigRemDirectIpOctet1                           {apexQamRfRedundancyConfigGeneral 9}
--       apexQamChannelConfigApplyTable                                         {apexQamConfig 7}
--          apexQamChannelConfigApplyEntry                                      {apexQamChannelConfigApplyTable 1}
--             apexQamChannelConfigApplyChannelNum                              {apexQamChannelConfigApplyEntry 1}
--             apexQamChannelConfigApplyChange                                  {apexQamChannelConfigApplyEntry 2}
      apexQamStatus                                       OBJECT IDENTIFIER ::= {apexQam 2}
         apexQamStatusGeneral                             OBJECT IDENTIFIER ::= {apexQamStatus 1}
--          apexQamStatusTransmissionMode                                       {apexQamStatusGeneral 1}
--          apexQamModuleInstalledCount                                         {apexQamStatusGeneral 2}
--          apexFanModuleInstalledCount                                         {apexQamStatusGeneral 3}
--          apexQamChannelsActiveCount                                          {apexQamStatusGeneral 4}
--       apexQamModuleStatusTable                                               {apexQamStatus 2}
--          apexQamModuleStatusEntry                                            {apexQamModuleStatusTable 1}
--             apexQamModuleStatQamModuleNum                                    {apexQamModuleStatusEntry 1}
--             apexQamModuleStatInstalled                                       {apexQamModuleStatusEntry 2}
--             apexQamModuleStatFanSpeed                                        {apexQamModuleStatusEntry 3}
--             apexQamModuleStatFanFault                                        {apexQamModuleStatusEntry 4}
--             apexQamModuleStatTemperature                                     {apexQamModuleStatusEntry 5}
--             apexQamModuleStatTemperatureFault                                {apexQamModuleStatusEntry 6}
--             apexQamModuleStatError                                           {apexQamModuleStatusEntry 7}
--             apexQamModuleStatFaultCondition                                  {apexQamModuleStatusEntry 8}
--             apexQamModuleStatFaultSumm                                       {apexQamModuleStatusEntry 9}
--             apexQamModuleStatPowerFault                                      {apexQamModuleStatusEntry 10}
--             apexQamModuleStatBoardTemperature                                {apexQamModuleStatusEntry 11}
--             apexQamModuleStatBoardTemperatureFault                           {apexQamModuleStatusEntry 12}
--             apexQamModuleStat5VdcSupply                                      {apexQamModuleStatusEntry 13}
--             apexQamModuleStat5VdcFault                                       {apexQamModuleStatusEntry 14}
--             apexQamModuleStat3dot3VdcSupply                                  {apexQamModuleStatusEntry 15}
--             apexQamModuleStat3dot3VdcFault                                   {apexQamModuleStatusEntry 16}
--             apexQamModuleStatCommError                                       {apexQamModuleStatusEntry 17}
--             apexQamModuleStatCodeInitError                                   {apexQamModuleStatusEntry 18}
--       apexQamModuleSerialNumTable                                            {apexQamStatus 3}
--          apexQamModuleSerialNumEntry                                         {apexQamModuleSerialNumTable 1}
--             apexQamModuleSerialNumQamModuleNum                               {apexQamModuleSerialNumEntry 1}
--             apexQamModuleSerialNumber                                        {apexQamModuleSerialNumEntry 2}
--       apexQamQrmRevisionTable                                                {apexQamStatus 4}
--          apexQamQrmRevisionEntry                                             {apexQamQrmRevisionTable 1}
--             apexQamQrmRevRfPortNum                                           {apexQamQrmRevisionEntry 1}
--             apexQamQrmRevBoardId                                             {apexQamQrmRevisionEntry 2}
--             apexQamQrmRevAppFw                                               {apexQamQrmRevisionEntry 3}
--             apexQamQrmRevBootLoaderFw                                        {apexQamQrmRevisionEntry 4}
--             apexQamQrmRevFpga                                                {apexQamQrmRevisionEntry 5}
--             apexQamQrmRevHw                                                  {apexQamQrmRevisionEntry 6}
--             apexQamQrmRevSerialNumber                                        {apexQamQrmRevisionEntry 7}
--             apexQamQrmRevFpga2                                               {apexQamQrmRevisionEntry 8}
--       apexQamRfPortStatusTable                                               {apexQamStatus 5}
--          apexQamRfPortStatusEntry                                            {apexQamRfPortStatusTable 1}
--             apexQamRfPortStatRfPortNum                                       {apexQamRfPortStatusEntry 1}
--             apexQamRfPortStatInfoRate                                        {apexQamRfPortStatusEntry 2}
--             apexQamRfPortStatNumChannelsActive                               {apexQamRfPortStatusEntry 3}
--             apexQamRfPortStatOutputLevel                                     {apexQamRfPortStatusEntry 4}
--             apexQamRfPortStatOutputLevelFault                                {apexQamRfPortStatusEntry 5}
--             apexQamRfPortStatTemperature                                     {apexQamRfPortStatusEntry 6}
--             apexQamRfPortStatTemperatureFault                                {apexQamRfPortStatusEntry 7}
--             apexQamRfPortStat5VdcSupply                                      {apexQamRfPortStatusEntry 8}
--             apexQamRfPortStat5VdcFault                                       {apexQamRfPortStatusEntry 9}
--             apexQamRfPortStat3dot3VdcSupply                                  {apexQamRfPortStatusEntry 10}
--             apexQamRfPortStat3dot3VdcFault                                   {apexQamRfPortStatusEntry 11}
--             apexQamRfPortStatFreqPllLock                                     {apexQamRfPortStatusEntry 12}
--             apexQamRfPortStatRefClockPresent                                 {apexQamRfPortStatusEntry 13}
--             apexQamRfPortStatRefClockLock                                    {apexQamRfPortStatusEntry 14}
--             apexQamRfPortStatDataClockPresent                                {apexQamRfPortStatusEntry 15}
--             apexQamRfPortStatDataSyncFault                                   {apexQamRfPortStatusEntry 16}
--             apexQamRfPortStatCommError                                       {apexQamRfPortStatusEntry 17}
--             apexQamRfPortStatError                                           {apexQamRfPortStatusEntry 18}
--             apexQamRfPortStatFaultCondition                                  {apexQamRfPortStatusEntry 19}
--             apexQamRfPortStatChanFaultSumm                                   {apexQamRfPortStatusEntry 20}
--             apexQamRfPortStatCodeInitError                                   {apexQamRfPortStatusEntry 21}
--       apexQamChannelStatusTable                                              {apexQamStatus 6}
--          apexQamChannelStatusEntry                                           {apexQamChannelStatusTable 1}
--             apexQamChanStatChannelNum                                        {apexQamChannelStatusEntry 1}
--             apexQamChanStatActive                                            {apexQamChannelStatusEntry 2}
--             apexQamChanStatRfFreq                                            {apexQamChannelStatusEntry 3}
--             apexQamChanStatEiaChanNum                                        {apexQamChannelStatusEntry 4}
--             apexQamChanStatDataPresent                                       {apexQamChannelStatusEntry 5}
--             apexQamChanStatError                                             {apexQamChannelStatusEntry 6}
--             apexQamChanStatFaultCondition                                    {apexQamChannelStatusEntry 7}
         apexQamRfRedundancyStatus                        OBJECT IDENTIFIER ::= {apexQamStatus 7}
            apexQamRfRedundancyStatusGeneral              OBJECT IDENTIFIER ::= {apexQamRfRedundancyStatus 1}
--             apexQamRfRedundStatusBackupPort                                  {apexQamRfRedundancyStatusGeneral 1}
--             apexQamRfRedundStatusFailedPort                                  {apexQamRfRedundancyStatusGeneral 2}
--             apexQamRfRedundStatusMismatch                                    {apexQamRfRedundancyStatusGeneral 3}
--             apexQamRfRedundStatusUdpPort                                     {apexQamRfRedundancyStatusGeneral 4}
--             apexQamRfRedundStatusRemConnection                               {apexQamRfRedundancyStatusGeneral 5}
--             apexQamRfRedundStatusRemError                                    {apexQamRfRedundancyStatusGeneral 6}
--             apexQamRfRedundStatusRemSwitch                                   {apexQamRfRedundancyStatusGeneral 7}
--             apexQamRfRedundStatusInvalidApplyText                            {apexQamRfRedundancyStatusGeneral 8}
--       apexQamRfPortMuteStatusTable                     OBJECT IDENTIFIER ::= {apexQamStatus 8}
--          apexQamRfPortMuteStatusEntry                  OBJECT IDENTIFIER ::= {apexQamRfPortMuteStatusTable 1}
--             apexQamRfPortMuteStatusRfPortNum                                 {apexQamRfPortMuteStatusEntry 1}
--             apexQamRfPortMuteStatus                                          {apexQamRfPortMuteStatusEntry 2}
--       apexQamQrmRevisionStatusTable                                          {apexQamStatus 9}
--          apexQamQrmRevisionStatusEntry                                       {apexQamQrmRevisionTable 1}
--             apexQamQrmRevStatQrmNum                                          {apexQamQrmRevisionStatusEntry 1}
--             apexQamQrmRevStatBoardId                                         {apexQamQrmRevisionStatusEntry 2}
--             apexQamQrmRevStatAppFw                                           {apexQamQrmRevisionStatusEntry 3}
--             apexQamQrmRevStatBootLoaderFw                                    {apexQamQrmRevisionStatusEntry 4}
--             apexQamQrmRevStatFpga                                            {apexQamQrmRevisionStatusEntry 5}
--             apexQamQrmRevStatHw                                              {apexQamQrmRevisionStatusEntry 6}
--             apexQamQrmRevStatQrmSupported                                    {apexQamQrmRevisionStatusEntry 7}
--             apexQamQrmRevStatFpga2                                           {apexQamQrmRevisionStatusEntry 8}
--       apexQamRfPortChannelInfoTable                                          {apexQamStatus 10}
--          apexQamRfPortChannelInfoEntry                                       {apexQamRfPortChannelInfoTable 1}
--             apexQamRfPortChannelInfoRfPortNum                                {apexQamRfPortChannelInfoEntry 1}
--             apexQamRfPortChannelInfoChanA                                    {apexQamRfPortChannelInfoEntry 2}
--             apexQamRfPortChannelInfoChanCount                                {apexQamRfPortChannelInfoEntry 3}
--       apexQamChannelIdTable                                                  {apexQamStatus 11}
--          apexQamChannelIdEntry                                               {apexQamChannelIdTable 1}
--             apexQamChannelIdChannelNum                                       {apexQamChannelIdEntry 1}
--             apexQamChannelIdSlotNum                                          {apexQamChannelIdEntry 2}
--             apexQamChannelIdRfPortNum                                        {apexQamChannelIdEntry 3}
--             apexQamChannelIdModuleRfPortNum                                  {apexQamChannelIdEntry 4}
--             apexQamChannelIdChannelLetter                                    {apexQamChannelIdEntry 5}
--             apexQamChannelIdChannelDescription                               {apexQamChannelIdEntry 6}
      apexQrmDownload                                     OBJECT IDENTIFIER ::= {apexQam 3}
         apexQrmDownloadConfig                            OBJECT IDENTIFIER ::= {apexQrmDownload 1}
            apexQrmDownloadConfigGeneral                  OBJECT IDENTIFIER ::= {apexQrmDownloadConfig 1}
--          apexQrmDownloadConfigTable                                          {apexQrmDownloadConfig 2}
--             apexQrmDownloadConfigEntry                                       {apexQrmDownloadConfigTable 1}
--                apexQrmDownloadConfigQrmNum                                   {apexQrmDownloadConfigEntry 1}
--                apexQrmDownloadConfigRequest                                  {apexQrmDownloadConfigEntry 2}
         apexQrmDownloadStatus                            OBJECT IDENTIFIER ::= {apexQrmDownload 2}
            apexQrmDownloadStatusGeneral                  OBJECT IDENTIFIER ::= {apexQrmDownloadStatus 1}
--          apexQrmDownloadStatusTable                                          {apexQrmDownloadStatus 2}
--             apexQrmDownloadStatusEntry                                       {apexQrmDownloadStatusTable 1}
--                apexQrmDownloadStatusRfPortNum                                {apexQrmDownloadStatusEntry 1}
--                apexQrmDownloadStatusDescription                              {apexQrmDownloadStatusEntry 2}
--                apexQrmDownloadProgress                                       {apexQrmDownloadStatusEntry 3}
--                apexQrmDownloadSupported                                      {apexQrmDownloadStatusEntry 4}
--                apexQrmDownloadRequired                                       {apexQrmDownloadStatusEntry 5}
--                apexQrmDownloadFileSet                                        {apexQrmDownloadStatusEntry 6}
--          apexQrmFileRevisionTable                                            {apexQrmDownloadStatus 3}
--             apexQrmFileRevisionEntry                                         {apexQrmFileRevisionTable 1}
--                apexQrmFileRevFileSetNum                                      {apexQrmFileRevisionEntry 1}
--                apexQrmFileRevFirmware                                        {apexQrmFileRevisionEntry 2}
--                apexQrmFileRevCalibration                                     {apexQrmFileRevisionEntry 3}
--                apexQrmFileRevFpga                                            {apexQrmFileRevisionEntry 4}
--                apexQrmFileRevFpga2                                           {apexQrmFileRevisionEntry 5}
--                apexQrmFileRevDateTime                                        {apexQrmFileRevisionEntry 6}
   apexSessionControl                                     OBJECT IDENTIFIER ::= {apex 9}
      apexSessionControlConfig                            OBJECT IDENTIFIER ::= {apexSessionControl 1}
         apexSessionControlConfigGeneral                  OBJECT IDENTIFIER ::= {apexSessionControlConfig 1}
--          apexSesContConfProtocol                                             {apexSessionControlConfigGeneral 1}
--          apexSesContConfTableApplyChange                                     {apexSessionControlConfigGeneral 2}
--          apexSesContConfRateCompareType                                      {apexSessionControlConfigGeneral 3}
--          apexSesContConfRedundThreshold         [obsolete]                   {apexSessionControlConfigGeneral 4}
--          apexSesContConfInputPreEncryptCheck                                 {apexSessionControlConfigGeneral 5}
--          apexSesContConfRedundType                                           {apexSessionControlConfigGeneral 6}
--          apexSesContConfFollowDtcp                                           {apexSessionControlConfigGeneral 7}
--       apexSesContConfTable                                                   {apexSessionControlConfig 2}
--          apexSesContConfEntry                                                {apexSesContConfTable 1}
--          apexSesContConfOutputTsNum                                          {apexSesContConfEntry 1}
--          apexSesContConfGbePrimaryInterface                                  {apexSesContConfEntry 2}
--          apexSesContConfGbeSecondaryInterface                                {apexSesContConfEntry 3}
      apexSessionControlStatus                            OBJECT IDENTIFIER ::= {apexSessionControl 2}
         apexSessionControlStatusGeneral                  OBJECT IDENTIFIER ::= {apexSessionControlStatus 1}
--          apexSesContStatProtocol                                             {apexSessionControlStatusGeneral 1}
      apexRpc                                             OBJECT IDENTIFIER ::= {apexSessionControl 3}
         apexRpcConfig                                    OBJECT IDENTIFIER ::= {apexRpc 1}
            apexRpcConfigGeneral                          OBJECT IDENTIFIER ::= {apexRpcConfig 1}
--             apexRpcDataCarouselProgram                                       {apexRpcConfigGeneral 1}
--             apexRpcReportAllSessions                                         {apexRpcConfigGeneral 2}
--             apexRpcDeviceName                                                {apexRpcConfigGeneral 3}
--             apexRpcDeviceType                                                {apexRpcConfigGeneral 4}
--             apexRpcControlInterface                                          {apexRpcConfigGeneral 5}
--             apexRpcNumShellSessions                                          {apexRpcConfigGeneral 6}
--             apexRpcAvgBandwidthEnable                                        {apexRpcConfigGeneral 7}
--             apexRpcApplyChange                                               {apexRpcConfigGeneral 8}
--          apexRpcRfPortTable                                                  {apexRpcConfig 2}
--             apexRpcRfPortEntry                                               {apexRpcRfPortTable 1}
--                apexRpcRfPortNum                                              {apexRpcRfPortEntry 1}
--                apexRpcRfPortName                                             {apexRpcRfPortEntry 2}
--                apexRpcRfPortServiceGroup                                     {apexRpcRfPortEntry 3}
--          apexRpcRfChannelTable                                               {apexRpcConfig 3}
--             apexRpcRfChannelEntry                                            {apexRpcRfChannelTable 1}
--                apexRpcRfChannelNum                                           {apexRpcRfChannelEntry 1}
--                apexRpcRfChannelName                                          {apexRpcRfChannelEntry 2}
         apexRpcStatus                                    OBJECT IDENTIFIER ::= {apexRpc 2}
            apexRpcStatusGeneral                          OBJECT IDENTIFIER ::= {apexRpcStatus 1}
--          apexRpcSessionStatTable                                             {apexRpcStatus 2}
--             apexRpcSessionStatEntry                                          {apexRpcSessionStatTable 1}
--                apexRpcSessionStatIndex                                       {apexRpcSessionStatEntry 1}
--                apexRpcSessionStatInputTsIndex                                {apexRpcSessionStatEntry 2}
--                apexRpcSessionStatInputProgramNum                             {apexRpcSessionStatEntry 3}
--                apexRpcSessionStatSourceIpAddr3                               {apexRpcSessionStatEntry 4}
--                apexRpcSessionStatOutputQamChannel                            {apexRpcSessionStatEntry 5}
--                apexRpcSessionStatOutputProgramNum                            {apexRpcSessionStatEntry 6}
--                apexRpcSessionStatProgramBandwidth                            {apexRpcSessionStatEntry 7}
--                apexRpcSessionStatSessionType                                 {apexRpcSessionStatEntry 8}
--                apexRpcSessionStatSessionIdWord1                              {apexRpcSessionStatEntry 9}
--                apexRpcSessionStatSessionIdWord2                              {apexRpcSessionStatEntry 10}
--                apexRpcSessionStatSessionIdWord3                              {apexRpcSessionStatEntry 11}
--                apexRpcSessionStatManagerIpAddr                               {apexRpcSessionStatEntry 12}
--          apexRpcQamStatTable                                                 {apexRpcStatus 3}
--             apexRpcQamStatEntry                                              {apexRpcQamStatTable 1}
--                apexRpcQamStatQamChannelNum                                   {apexRpcQamStatEntry 1}
--                apexRpcQamStatNumSdvSessions                                  {apexRpcQamStatEntry 2}
--                apexRpcQamStatNumVodBcSessions                                {apexRpcQamStatEntry 3}
--                apexRpcQamStatSdvGroupBandwidth                               {apexRpcQamStatEntry 4}
      apexRtsp                                            OBJECT IDENTIFIER ::= {apexSessionControl 4}
         apexRtspConfig                                   OBJECT IDENTIFIER ::= {apexRtsp 1}
            apexRtspConfigGeneral                         OBJECT IDENTIFIER ::= {apexRtspConfig 1}
--             apexRtspReportGbeInterfaces                                      {apexRtspConfigGeneral 1}
--          apexRtspConfControllerApplyTable                                    {apexRtspConfig 2}
--             apexRtspConfControllerApplyEntry                                 {apexRtspConfControllerApplyTable 1}
--                apexRtspConfControllerApplyNum                                {apexRtspConfControllerApplyEntry 1}
--                apexRtspConfControllerApplyChange                             {apexRtspConfControllerApplyEntry 2}
--          apexRtspConfControllerTable                                         {apexRtspConfig 3}
--             apexRtspConfControllerEntry                                      {apexRtspConfControllerTable 1}
--                apexRtspConfControllerNum                                     {apexRtspConfControllerEntry 1}
--                apexRtspConfControllerIp                                      {apexRtspConfControllerEntry 2}
--                apexRtspConfControllerPort                                    {apexRtspConfControllerEntry 3}
--                apexRtspConfControllerHoldTime                                {apexRtspConfControllerEntry 4}
--                apexRtspConfControllerBandwidthDelta                          {apexRtspConfControllerEntry 5}
--          apexRtspConfControlNamesTable                                       {apexRtspConfig 4}
--             apexRtspConfControlNamesEntry                                    {apexRtspConfControlNamesTable 1}
--                apexRtspConfControlNamesNum                                   {apexRtspConfControlNamesEntry 1}
--                apexRtspConfControlNamesStreamingZone                         {apexRtspConfControlNamesEntry 5}
--                apexRtspConfControlNamesDeviceName                            {apexRtspConfControlNamesEntry 6}
--          apexRtspConfQamChannelApplyTable                                    {apexRtspConfig 5}
--             apexRtspConfQamChannelApplyEntry                                 {apexRtspConfQamChannelApplyTable 1}
--                apexRtspConfQamChannelApplyNum                                {apexRtspConfQamChannelApplyEntry 1}
--                apexRtspConfQamChannelApplyChange                             {apexRtspConfQamChannelApplyEntry 2}
--          apexRtspConfQamChannelTable                                         {apexRtspConfig 6}
--             apexRtspConfQamChannelEntry                                      {apexRtspConfQamChannelTable 1}
--                apexRtspConfQamChannelNum                                     {apexRtspConfQamChannelEntry 1}
--                apexRtspConfQamChannelGroupName                               {apexRtspConfQamChannelEntry 2}
--          apexRtspConfGbeEdgeGroupTable                                       {apexRtspConfig 7}
--             apexRtspConfGbeEdgeGroupEntry                                    {apexRtspConfGbeEdgeGroupTable 1}
--                apexRtspConfGbeEdgeGroupNum                                   {apexRtspConfGbeEdgeGroupEntry 1}
--                apexRtspConfGbeEdgeGroupName                                  {apexRtspConfGbeEdgeGroupEntry 2}
--          apexRtspConfMhaTable                                                {apexRtspConfig 8}
--             apexRtspConfMhaEntry                                             {apexRtspConfMhaTable 1}
--                apexRtspConfMhaNum                                            {apexRtspConfMhaEntry 1}
--                apexRtspConfMhaAddressDomain                                  {apexRtspConfMhaEntry 2}
--                apexRtspConfMhaPort                                           {apexRtspConfMhaEntry 3}
            apexRtspConfMhaGeneral                        OBJECT IDENTIFIER ::= {apexRtspConfig 9} 
--             apexRtspConfMhaUdpMapEnable                                      {apexRtspConfMhaGeneral 1}
            apexRtspConfMhaSbe                            OBJECT IDENTIFIER ::= {apexRtspConfig 10}
--             apexRtspConfMhaSbeEncryptionMode                                 {apexRtspConfMhaSbe 1}
--             apexRtspConfMhaSbeCciLevel                                       {apexRtspConfMhaSbe 2}
--             apexRtspConfMhaSbeApsLevel                                       {apexRtspConfMhaSbe 3}
--             apexRtspConfMhaSbeCitSetting                                     {apexRtspConfMhaSbe 4}
--             apexRtspConfMhaSbeApplyChange                                    {apexRtspConfMhaSbe 5}
         apexRtspStatus                                   OBJECT IDENTIFIER ::= {apexRtsp 2}
            apexRtspStatusGeneral                         OBJECT IDENTIFIER ::= {apexRtspStatus 1}
--          apexRtspSessionStatTable                                            {apexRtspStatus 2}
--             apexRtspSessionStatEntry                                         {apexRtspSessionStatTable 1}
--                apexRtspSessionStatIndex                                      {apexRtspSessionStatEntry 1}
--                apexRtspSessionStatInputTsIndex                               {apexRtspSessionStatEntry 2}
--                apexRtspSessionStatInputProgramNum                            {apexRtspSessionStatEntry 3}
--                apexRtspSessionStatOutputQamChannel                           {apexRtspSessionStatEntry 4}
--                apexRtspSessionStatOutputProgramNum                           {apexRtspSessionStatEntry 5}
--                apexRtspSessionStatProgramBandwidth                           {apexRtspSessionStatEntry 6}
--                apexRtspSessionStatManagerIpAddr                              {apexRtspSessionStatEntry 7}
--          apexRtspSessionIdTable                                              {apexRtspStatus 3}
--             apexRtspSessionIdEntry                                           {apexRtspSessionIdTable 1}
--                apexRtspSessionIdIndex                                        {apexRtspSessionIdEntry 1}
--                apexRtspSessionId                                             {apexRtspSessionIdEntry 2}
--          apexRtspQamStatTable                                                {apexRtspStatus 4}
--             apexRtspQamStatEntry                                             {apexRtspQamStatTable 1}
--                apexRtspQamStatQamChannelNum                                  {apexRtspQamStatEntry 1}
--                apexRtspQamStatNumSessions                                    {apexRtspQamStatEntry 2}
--                apexRtspQamStatAllocatedBandwidth                             {apexRtspQamStatEntry 3}
--          apexRtspStatControllerTable                                         {apexRtspStatus 5}
--             apexRtspStatControllerEntry                                      {apexRtspStatControllerTable 1}
--                apexRtspStatControllerNum                                     {apexRtspStatControllerEntry 1}
--                apexRtspStatControllerDiscovery                               {apexRtspStatControllerEntry 2}
--                apexRtspStatControllerConnection                              {apexRtspStatControllerEntry 3}
--                apexRtspStatControllerCommFault                               {apexRtspStatControllerEntry 4}
--          apexRtspStatQamChannelTable                                         {apexRtspStatus 6}
--             apexRtspStatQamChannelEntry                                      {apexRtspStatQamChannelTable 1}
--                apexRtspStatQamChannelNum                                     {apexRtspStatQamChannelEntry 1}
--                apexRtspStatQamChannelName                                    {apexRtspStatQamChannelEntry 2}
--          apexRtspStatQamMptsModeTable                                        {apexRtspStatus 7}
--             apexRtspStatQamMptsModeEntry                                     {apexRtspStatQamMptsModeTable 1}
--                apexRtspStatQamMptsModeQamChannelNum                          {apexRtspStatQamMptsModeEntry 1}
--                apexRtspStatQamMptsModeQamChannelMode                         {apexRtspStatQamMptsModeEntry 2}
   apexManualRouting                                      OBJECT IDENTIFIER ::= {apex 10}
      apexManualRoutingConfig                             OBJECT IDENTIFIER ::= {apexManualRouting 1}
         apexManualRoutingConfigGeneral                   OBJECT IDENTIFIER ::= {apexManualRoutingConfig 1}
--          apexManualRouteRmdClear                                             {apexManualRoutingConfigGeneral 1}
--       apexManualRouteApplyTable                                              {apexManualRoutingConfig 2}
--          apexManualRouteApplyEntry                                           {apexManualRouteApplyTable 1}
--             apexManualRouteApplyIndex                                        {apexManualRouteApplyEntry 1}
--             apexManualRouteApplyChange                                       {apexManualRouteApplyEntry 2}
--       apexManualRouteTable                                                   {apexManualRoutingConfig 3}
--          apexManualRouteEntry                                                {apexManualRouteTable 1}
--             apexManualRouteIndex                                             {apexManualRouteEntry 1}
--             apexManualRouteEnable                                            {apexManualRouteEntry 2}
--             apexManualRouteInputType                                         {apexManualRouteEntry 3}
--             apexManualRouteInputInterface                                    {apexManualRouteEntry 4}
--             apexManualRouteInputUdp                                          {apexManualRouteEntry 5}
--             apexManualRouteInputMulticastIp                                  {apexManualRouteEntry 6}
--             apexManualRouteInputSourceIp                                     {apexManualRouteEntry 7}
--             apexManualRouteInputProgNum                                      {apexManualRouteEntry 8}
--             apexManualRouteInputPreEncryptCheck                              {apexManualRouteEntry 9}
--             apexManualRouteOutputTsNum                                       {apexManualRouteEntry 10}
--             apexManualRouteOutputProgNum                                     {apexManualRouteEntry 11}
--             apexManualRouteOutputEncryptMode                                 {apexManualRouteEntry 12}
--             apexManualRouteOutputCopyProtectSource                           {apexManualRouteEntry 13}
--             apexManualRouteSourceId                                          {apexManualRouteEntry 14}
--             apexManualRouteProviderId                                        {apexManualRouteEntry 15}
--       apexManRtePassThroughApplyTable                                        {apexManualRoutingConfig 4}
--          apexManRtePassThroughApplyEntry                                     {apexManRtePassThroughApplyTable 1}
--             apexManRtePassThroughApplyOutputTsNum                            {apexManRtePassThroughApplyEntry 1}
--             apexManRtePassThroughApplyChange                                 {apexManRtePassThroughApplyEntry 2}
--       apexManRtePassThroughTable                                             {apexManualRoutingConfig 5}
--          apexManRtePassThroughEntry                                          {apexManRtePassThroughTable 1}
--             apexManRtePassThroughOutputTsNum                                 {apexManRtePassThroughEntry 1}
--             apexManRtePassThroughEnable                                      {apexManRtePassThroughEntry 2}
--             apexManRtePassThroughInputType                                   {apexManRtePassThroughEntry 3}
--             apexManRtePassThroughInputInterface                              {apexManRtePassThroughEntry 4}
--             apexManRtePassThroughInputUdp                                    {apexManRtePassThroughEntry 5}
--             apexManRtePassThroughInputMulticastIp                            {apexManRtePassThroughEntry 6}
--             apexManRtePassThroughInputSourceIp                               {apexManRtePassThroughEntry 7}
         apexManualRouteGbeInputRedundConfig              OBJECT IDENTIFIER ::= {apexManualRoutingConfig 6}
            apexManRteGbeInRedConfigGeneral               OBJECT IDENTIFIER ::= {apexManualRouteGbeInputRedundConfig 1}
--          apexManRteGbeInRedApplyTable                                        {apexManualRouteGbeInputRedundConfig 2}
--             apexManRteGbeInRedApplyEntry                                     {apexManRteGbeInRedApplyTable 1}
--                apexManRteGbeInRedApplyIndex                                  {apexManRteGbeInRedApplyEntry 1}
--                apexManRteGbeInRedApplyChange                                 {apexManRteGbeInRedApplyEntry 1}
--          apexManRteGbeInRedTable                                             {apexManualRouteGbeInputRedundConfig 3}
--             apexManRteGbeInRedEntry                                          {apexManRteGbeInRedTable 1}
--                apexManRteGbeInRedIndex                                       {apexManRteGbeInRedEntry 1}
--                apexManRteGbeInRedPriInterface                                {apexManRteGbeInRedEntry 2}
--                apexManRteGbeInRedPriUdp                                      {apexManRteGbeInRedEntry 3}
--                apexManRteGbeInRedPriMulticastIp                              {apexManRteGbeInRedEntry 4}
--                apexManRteGbeInRedPriSourceIp                                 {apexManRteGbeInRedEntry 5}
--                apexManRteGbeInRedPriLowAlarmBitRate                          {apexManRteGbeInRedEntry 6}
--                apexManRteGbeInRedPriHighAlarmBitRate                         {apexManRteGbeInRedEntry 7}
--                apexManRteGbeInRedRateCompareType                             {apexManRteGbeInRedEntry 8}
--                apexManRteGbeInRedEnable                                      {apexManRteGbeInRedEntry 9}
--                apexManRteGbeInRedThreshold                                   {apexManRteGbeInRedEntry 10}
--                apexManRteGbeInRedSuspend                                     {apexManRteGbeInRedEntry 11}
--                apexManRteGbeInRedSecInterface                                {apexManRteGbeInRedEntry 12}
--                apexManRteGbeInRedSecUdp                                      {apexManRteGbeInRedEntry 13}
--                apexManRteGbeInRedSecMulticastIp                              {apexManRteGbeInRedEntry 14}
--                apexManRteGbeInRedSecSourceIp                                 {apexManRteGbeInRedEntry 15}
--                apexManRteGbeInRedSecLowAlarmBitRate                          {apexManRteGbeInRedEntry 16}
--                apexManRteGbeInRedSecHighAlarmBitRate                         {apexManRteGbeInRedEntry 17}
--                apexManRteGbeInRedSecRedundMcJoin                             {apexManRteGbeInRedEntry 18}
--          apexManRteGbeInRedForceSwitchTable                                  {apexManualRouteGbeInputRedundConfig 4}
--             apexManRteGbeInRedForceSwitchEntry                               {apexManRteGbeInRedForceSwitchTable 1}
--                apexManRteGbeInRedForceSwitchIndex                            {apexManRteGbeInRedForceSwitchEntry 1}
--                apexManRteGbeInRedForceSwitch                                 {apexManRteGbeInRedForceSwitchEntry 2}
      apexManualRoutingStatus                             OBJECT IDENTIFIER ::= {apexManualRouting 2}
         apexManualRoutingStatusGeneral                   OBJECT IDENTIFIER ::= {apexManualRoutingStatus 1}
--          apexManualRouteInvalidApplyText                                     {apexManualRoutingStatusGeneral 1}
--          apexManRtePassThroughInvalidApplyText                               {apexManualRoutingStatusGeneral 2}
--          apexManRteGbeInRedInvalidApplyText                                  {apexManualRoutingStatusGeneral 3}
         apexManualRouteGbeInputRedundStatus              OBJECT IDENTIFIER ::= {apexManualRoutingStatus 2}
            apexManRteGbeInRedStatusGeneral               OBJECT IDENTIFIER ::= {apexManualRouteGbeInputRedundStatus 1}
--          apexManRteGbeInRedStatusMapTable                                    {apexManualRouteGbeInputRedundStatus 2}
--             apexManRteGbeInRedStatusMapEntry                                 {apexManRteGbeInRedStatusMapTable 1}
--                apexManRteGbeInRedStatusMapIndex                              {apexManRteGbeInRedStatusMapEntry 1}
--                apexManRteGbeInRedStatusMapInputTsStatRow                     {apexManRteGbeInRedStatusMapEntry 2}
         apexManualRoutingServiceStatus                   OBJECT IDENTIFIER ::= {apexManualRoutingStatus 3}
            apexManualRoutingServiceStatusGeneral         OBJECT IDENTIFIER ::= {apexManualRoutingServiceStatus 1}
--          apexManualRoutingServiceStatusTable                                 {apexManualRoutingServiceStatus 2}
--             apexManualRoutingServiceStatusEntry                              {apexManualRoutingServiceStatusTable 1}
--                apexManualRoutingServiceStatusIndex                           {apexManualRoutingServiceStatusEntry 1}
--                apexManualRoutingServiceErrorStatus                           {apexManualRoutingServiceStatusEntry 2}
   apexAncillaryPidMapping                                OBJECT IDENTIFIER ::= {apex 11}
      apexPidMapConfig                                    OBJECT IDENTIFIER ::= {apexAncillaryPidMapping 1}
--       apexPidMapTable                                                        {apexPidMapConfig 1}
--          apexPidMapEntry                                                     {apexPidMapTable 1}
--             apexPidMapIndex                                                  {apexPidMapEntry 1}
--             apexPidMapEnable                                                 {apexPidMapEntry 2}
--             apexPidMapInputType                                              {apexPidMapEntry 3}
--             apexPidMapInputInterface                                         {apexPidMapEntry 4}
--             apexPidMapInputUdp                                               {apexPidMapEntry 5}
--             apexPidMapInputMulticastIp                                       {apexPidMapEntry 6}
--             apexPidMapInputSourceIp                                          {apexPidMapEntry 7}
--             apexPidMapInputPid                                               {apexPidMapEntry 8}
--             apexPidMapOutputTsNum                                            {apexPidMapEntry 9}
--             apexPidMapOutputPid                                              {apexPidMapEntry 10}
--       apexPidMapApplyTable                                                   {apexPidMapConfig 2}
--          apexPidMapApplyEntry                                                {apexPidMapApplyTable 1}
--             apexPidMapApplyIndex                                             {apexPidMapApplyEntry 1}
--             apexPidMapApplyChange                                            {apexPidMapApplyEntry 2}
--       apexBulkPidMapTable                                                    {apexPidMapConfig 3}
--          apexBulkPidMapEntry                                                 {apexBulkPidMapTable 1}
--             apexBulkPidMapIndex                                              {apexBulkPidMapEntry 1}
--             apexBulkPidMapEnable                                             {apexBulkPidMapEntry 2}
--             apexBulkPidMapInputType                                          {apexBulkPidMapEntry 3}
--             apexBulkPidMapInputInterface                                     {apexBulkPidMapEntry 4}
--             apexBulkPidMapInputUdp                                           {apexBulkPidMapEntry 5}
--             apexBulkPidMapInputMulticastIp                                   {apexBulkPidMapEntry 6}
--             apexBulkPidMapInputSourceIp                                      {apexBulkPidMapEntry 7}
--             apexBulkPidMapInputPid                                           {apexBulkPidMapEntry 8}
--             apexBulkPidMapOutputTsNum01to32                                  {apexBulkPidMapEntry 9}
--             apexBulkPidMapOutputTsNum33to48                                  {apexBulkPidMapEntry 10}
--             apexBulkPidMapOutputPid                                          {apexBulkPidMapEntry 11}
--       apexBulkPidMapApplyTable                                               {apexPidMapConfig 4}
--          apexBulkPidMapApplyEntry                                            {apexBulkPidMapApplyTable 1}
--             apexBulkPidMapApplyIndex                                         {apexBulkPidMapApplyEntry 1}
--             apexBulkPidMapApplyChange                                        {apexBulkPidMapApplyEntry 2}
         apexPidMapConfigGeneral                          OBJECT IDENTIFIER ::= {apexPidMapConfig 5}
--          apexPidMapConfigApplyChange                                         {apexPidMapConfigGeneral 1}
--          apexPidMapConfigBulkPidEnable                                       {apexPidMapConfigGeneral 2}
         apexPidMapInputAncillaryPidDetection             OBJECT IDENTIFIER ::= {apexPidMapConfig 6}
--          apexPidMapInputAncillaryPidDetectionTimeout                         {apexPidMapInputAncillaryPidDetection 1}
      apexPidMapStatus                                    OBJECT IDENTIFIER ::= {apexAncillaryPidMapping 2}
         apexPidMapStatusGeneral                          OBJECT IDENTIFIER ::= {apexPidMapStatus 1}
--          apexPidMapMaxPidMappings                                            {apexPidMapStatusGeneral 1}
--          apexPidMapInvalidApplyText                                          {apexPidMapStatusGeneral 3}
         apexBulkPidMapStatusGeneral                      OBJECT IDENTIFIER ::= {apexPidMapStatus 2}
--          apexBulkPidMapInvalidApplyText                                      {apexBulkPidMapStatusGeneral 1}
   apexInsertion                                          OBJECT IDENTIFIER ::= {apex 12}
      apexInsertionConfig                                 OBJECT IDENTIFIER ::= {apexInsertion 1}
         apexInsertionConfigGeneral                       OBJECT IDENTIFIER ::= {apexInsertionConfig 1}
--          apexInsertionMode                                                   {apexInsertionConfigGeneral 1}
      apexInsertionStatus                                 OBJECT IDENTIFIER ::= {apexInsertion 2}
         apexInsertionStatusGeneral                       OBJECT IDENTIFIER ::= {apexInsertionStatus 1}
--       apexInsertPacketStatisticsTable                                        {apexInsertionStatus 2}
--          apexInsertPacketStatisticsEntry                                     {apexInsertPacketStatisticsTable 1}
--             apexInsertPacketStatOutputTsNum                                  {apexInsertPacketStatisticsEntry 1}
--             apexInsertPacketStatTotPkts                                      {apexInsertPacketStatisticsEntry 2}
--             apexInsertPacketStatNumPkts                                      {apexInsertPacketStatisticsEntry 3}
   apexInputTransport                                     OBJECT IDENTIFIER ::= {apex 13}
      apexInputTsConfig                                   OBJECT IDENTIFIER ::= {apexInputTransport 1}
         apexInputTsConfigGeneral                         OBJECT IDENTIFIER ::= {apexInputTsConfig 1}
      apexInputTsStatus                                   OBJECT IDENTIFIER ::= {apexInputTransport 2}
         apexInputTsStatusGeneral                         OBJECT IDENTIFIER ::= {apexInputTsStatus 1}
--       apexInputTsStatTable                                                   {apexInputTsStatus 2}
--          apexInputTsStatEntry                                                {apexInputTsStatusTable 1}
--             apexInputTsStatIndex                                             {apexInputTsStatEntry 1}
--             apexInputTsStatStreamInUse                                       {apexInputTsStatEntry 2}
--             apexInputTsStatInputType                                         {apexInputTsStatEntry 3}
--             apexInputTsStatRoutingType                                       {apexInputTsStatEntry 4}
--             apexInputTsStatPriState                                          {apexInputTsStatEntry 5}
--             apexInputTsStatPriInputInterface                                 {apexInputTsStatEntry 6}
--             apexInputTsStatPriInputUdp                                       {apexInputTsStatEntry 7}
--             apexInputTsStatPriInputMulticastIp                               {apexInputTsStatEntry 8}
--             apexInputTsStatPriInputSourceIp                                  {apexInputTsStatEntry 9}
--             apexInputTsStatSecState                                          {apexInputTsStatEntry 10}
--             apexInputTsStatSecInputInterface                                 {apexInputTsStatEntry 11}
--             apexInputTsStatSecInputUdp                                       {apexInputTsStatEntry 12}
--             apexInputTsStatSecInputMulticastIp                               {apexInputTsStatEntry 13}
--             apexInputTsStatSecInputSourceIp                                  {apexInputTsStatEntry 14}
--             apexInputTsStatRateCompareType                                   {apexInputTsStatEntry 15}
   apexOutputTransport                                    OBJECT IDENTIFIER ::= {apex 14}
      apexOutputTsConfig                                  OBJECT IDENTIFIER ::= {apexOutputTransport 1}
         apexOutputTsConfigGeneral                        OBJECT IDENTIFIER ::= {apexOutputTsConfig 1}
         apexOutputTsUtilizationMonitoring                OBJECT IDENTIFIER ::= {apexOutputTsConfig 4}
            apexOutputTsUtilizationMonitorGeneral         OBJECT IDENTIFIER ::= {apexOutputTsUtilizationMonitoring 1}
--             apexOutputTsUtilMonAlarmThreshold                                {apexOutputTsUtilizationMonitorGeneral 1}
--             apexOutputTsUtilMonSetAlarmDelay                                 {apexOutputTsUtilizationMonitorGeneral 2}
--             apexOutputTsUtilMonClearAlarmDelay                               {apexOutputTsUtilizationMonitorGeneral 3}
--          apexOutputTsUtilizationMonitorTable                                 {apexOutputTsUtilizationMonitoring 2}
--             apexOutputTsUtilizationMonitorEntry                              {apexOutputTsUtilizationMonitorTable 1}
--                apexOutputTsUtilMonOutputTsNum                                {apexOutputTsUtilizationMonitorEntry 1}
--                apexOutputTsUtilMonResetTotDropPacket                         {apexOutputTsUtilizationMonitorEntry 2}
--       apexOutputTsConfApplyTable                                             {apexOutputTsConfig 5}
--          apexOutputTsConfApplyEntry                                          {apexOutputTsConfApplyTable 1}
--             apexOutputTsConfApplyIndex                                       {apexOutputTsConfApplyEntry 1}
--             apexOutputTsConfApplyChange                                      {apexOutputTsConfApplyEntry 2}
--       apexOutputTsConfigTable                                                {apexOutputTsConfig 6}
--          apexOutputTsConfigEntry                                             {apexOutputTsConfigTable 1}
--             apexOutputTsConfOutputTsNum                                      {apexOutputTsConfigEntry 1}
--             apexOutputTsConfPidRemappingMode                                 {apexOutputTsConfigEntry 2}
--             apexOutputTsConfOperatingMode                                    {apexOutputTsConfigEntry 3}
--             apexOutputTsConfOutPatTsId                                       {apexOutputTsConfigEntry 4}
--             apexOutputTsConfPsipEnable                                       {apexOutputTsConfigEntry 5}
--             apexOutputTsConfEncryptionType                                   {apexOutputTsConfigEntry 6}
--             apexOutputTsConfSimulcryptMode                                   {apexOutputTsConfigEntry 7}
--             apexOutputTsConfPcrLess                                          {apexOutputTsConfigEntry 8}
--             apexOutputTsConfAutoSDTEnable                                    {apexOutputTsConfigEntry 9}
      apexOutputTsStatus                                  OBJECT IDENTIFIER ::= {apexOutputTransport 2}
         apexOutputTsStatusGeneral                        OBJECT IDENTIFIER ::= {apexOutputTsStatus 1}
         apexOutputTsUtilization                          OBJECT IDENTIFIER ::= {apexOutputTsStatus 2}
            apexOutputTsUtilizationGeneral                OBJECT IDENTIFIER ::= {apexOutputTsUtilization 1}
--             apexOutputTsUtilizationSamplePeriod                              {apexOutputTsUtilizationGeneral 1}
--          apexOutputTsUtilizationTable                                        {apexOutputTsUtilization 2}
--             apexOutputTsUtilizationEntry                                     {apexOutputTsUtilizationTable 1}
--                apexOutputTsUtilizOutpuTsNum                                  {apexOutputTsUtilizationEntry 1}
--                apexOutputTsUtilizDataFlag                                    {apexOutputTsUtilizationEntry 2}
--                apexOutputTsUtilizNumSamples                                  {apexOutputTsUtilizationEntry 3}
--                apexOutputTsUtilizThreshold                                   {apexOutputTsUtilizationEntry 4}
--                apexOutputTsUtilizTime                                        {apexOutputTsUtilizationEntry 5}
--                apexOutputTsUtilizCurPercent                                  {apexOutputTsUtilizationEntry 6}
--                apexOutputTsUtilizAvgPercent                                  {apexOutputTsUtilizationEntry 7}
--                apexOutputTsUtilizMinPercent                                  {apexOutputTsUtilizationEntry 8}
--                apexOutputTsUtilizPeakPercent                                 {apexOutputTsUtilizationEntry 9}
--                apexOutputTsUtilizCurRate                                     {apexOutputTsUtilizationEntry 10}
--                apexOutputTsUtilizAvgRate                                     {apexOutputTsUtilizationEntry 11}
--                apexOutputTsUtilizMinRate                                     {apexOutputTsUtilizationEntry 12}
--                apexOutputTsUtilizPeakRate                                    {apexOutputTsUtilizationEntry 13}
--                apexOutputTsUtilizOverflow                                    {apexOutputTsUtilizationEntry 14}
--                apexOutputTsUtilizCurDropPackets                              {apexOutputTsUtilizationEntry 15}
--                apexOutputTsUtilizPeakDropPackets                             {apexOutputTsUtilizationEntry 16}
--                apexOutputTsUtilizRollingDropPackets                          {apexOutputTsUtilizationEntry 17}
--                apexOutputTsUtilizTotalDropPackets                            {apexOutputTsUtilizationEntry 18}
--                apexOutputTsUtilizThresholdAlarm                              {apexOutputTsUtilizationEntry 19}
--                apexOutputTsUtilizOverflowAlarm                               {apexOutputTsUtilizationEntry 20}
--       apexOutputTsStatusTable                                                {apexOutputTsStatus 3}
--          apexOutputTsStatusEntry                                             {apexOutputTsStatusTable 1}
--             apexOutputTsStatusOutputTsNum                                    {apexOutputTsStatusEntry 1}
--             apexOutputTsStatusProgramsPerTs                                  {apexOutputTsStatusEntry 2}
--             apexOutputTsStatusServicesMapped                                 {apexOutputTsStatusEntry 3}
--             apexOutputTsStatusAncillaryPidsMapped                            {apexOutputTsStatusEntry 4}
--             apexOutputTsStatusInputStreamsMapped                             {apexOutputTsStatusEntry 5}
--             apexOutputTsStatusFault                                          {apexOutputTsStatusEntry 6}
--             apexOutputTsStatusServicesInError                                {apexOutputTsStatusEntry 7}
--             apexOutputTsStatusDepiSessionsMapped                             {apexOutputTsStatusEntry 8}
--             apexOutputTsStatusMessageGenerationNum                           {apexOutputTsStatusEntry 9}
--             apexOutputTsStatusScgsProvisioned                                {apexOutputTsStatusEntry 10}
--             apexOutputTsStatusServicesMuxed                                  {apexOutputTsStatusEntry 11}
   apexPsi                                                OBJECT IDENTIFIER ::= {apex 15}
      apexPsiConfig                                       OBJECT IDENTIFIER ::= {apexPsi 1}
         apexPsiConfigGeneral                             OBJECT IDENTIFIER ::= {apexPsiConfig 1}
--          apexPsiDetectionEnabled                                             {apexPsiConfigGeneral 1}
--          apexPsiDetectionTimeout                                             {apexPsiConfigGeneral 2}
--          apexPsiRangeStart                                                   {apexPsiConfigGeneral 3}
--          apexPsiRangeStop                                                    {apexPsiConfigGeneral 4}
--          apexPatVersionIncrement                                             {apexPsiConfigGeneral 5}
--          apexPmtVersionIncrement                                             {apexPsiConfigGeneral 6}
--          apexEcmEmmFirstPid                                                  {apexPsiConfigGeneral 7}
--          apexEcmEmmNumberPids                                                {apexPsiConfigGeneral 8}
--          apexProgramBasedPmtOffset                                           {apexPsiConfigGeneral 9}
--          apexPsiCcErrorDetectionTimeout                                      {apexPsiConfigGeneral 10}
--          apexPsiCcErrorDetectionEnabled                                      {apexPsiConfigGeneral 11}
      apexPsiStatus                                       OBJECT IDENTIFIER ::= {apexPsi 2}
         apexPsiStatusGeneral                             OBJECT IDENTIFIER ::= {apexPsiStatus 1}
--       apexPsiStatusTable                                                     {apexPsiStatus 2}
--          apexPsiStatusEntry                                                  {apexPsiStatusTable 1}
--             apexPsiStatusTableType                                           {apexPsiStatusEntry 1}
--             apexPsiStatusIndex                                               {apexPsiStatusEntry 2}
--             apexPsiStatusPid                                                 {apexPsiStatusEntry 3}
--             apexPsiStatusMessageType                                         {apexPsiStatusEntry 4}
--             apexPsiStatusProgramNumber                                       {apexPsiStatusEntry 5}
--             apexPsiStatusSegment                                             {apexPsiStatusEntry 6}
--             apexPsiStatusPart                                                {apexPsiStatusEntry 7}
--             apexPsiStatusBody                                                {apexPsiStatusEntry 8}
--             apexPsiStatusGpsTime                                             {apexPsiStatusEntry 9}
   apexOutputProgram                                      OBJECT IDENTIFIER ::= {apex 16}
      apexOutputProgramConfig                             OBJECT IDENTIFIER ::= {apexOutputProgram 1}
         apexOutputProgramConfigGeneral                   OBJECT IDENTIFIER ::= {apexOutputProgramConfig 1}
      apexOutputProgramStatus                             OBJECT IDENTIFIER ::= {apexOutputProgram 2}
         apexOutputProgramStatusGeneral                   OBJECT IDENTIFIER ::= {apexOutputProgramStatus 1}
--       apexOutputProgramTable                                                 {apexOutputProgramStatus 2}
--          apexOutputProgramEntry                                              {apexOutputProgramTable 1}
--             apexOutputProgramIndex                                           {apexOutputProgramEntry 1}
--             apexOutputProgramInputTsIndex                                    {apexOutputProgramEntry 2}
--             apexOutputProgramInputProgNum                                    {apexOutputProgramEntry 3}
--             apexOutputProgramOutputProgNum                                   {apexOutputProgramEntry 4}
--             apexOutputProgramRoutingStatus                                   {apexOutputProgramEntry 5}
--             apexOutputProgramInputPreEncrypted                               {apexOutputProgramEntry 6}
--             apexOutputProgramOutputTsNum                                     {apexOutputProgramEntry 7}
--             apexOutputProgramError                                           {apexOutputProgramEntry 8}
--             apexOutputProgramEncryptionMode                                  {apexOutputProgramEntry 9}
--             apexOutputProgramEncryptionStatus                                {apexOutputProgramEntry 10}
--             apexOutputProgramEcmServiceId                                    {apexOutputProgramEntry 11}
--             apexOutputProgramCciLevel                                        {apexOutputProgramEntry 12}
--             apexOutputProgramApsLevel                                        {apexOutputProgramEntry 13}
--             apexOutputProgramCitSetting                                      {apexOutputProgramEntry 14}
--             apexOutputProgramNumberTiers                                     {apexOutputProgramEntry 15}
--             apexOutputProgramTierData                                        {apexOutputProgramEntry 16}
--             apexOutputProgramSourceId                                        {apexOutputProgramEntry 17}
--             apexOutputProgramProviderId                                      {apexOutputProgramEntry 18}
--             apexOutputProgramProgramType                                     {apexOutputProgramEntry 19}
--             apexOutputProgramDtaEncryptionMode                               {apexOutputProgramEntry 20}
--             apexOutputProgramMcSimAccessCriteria                             {apexOutputProgramEntry 21}
--             apexOutputProgramMcSimAccessCriteriaStatus                       {apexOutputProgramEntry 22}
--             apexOutputProgramCurrentCSN                                      {apexOutputProgramEntry 23}
--             apexOutputProgramMcSimAccessCriteriaString                       {apexOutputProgramEntry 24}
   apexAcp                                                OBJECT IDENTIFIER ::= {apex 17}
      apexAcpConfig                                       OBJECT IDENTIFIER ::= {apexAcp 1}
         apexAcpConfigGeneral                             OBJECT IDENTIFIER ::= {apexAcpConfig 1}
      apexAcpStatus                                       OBJECT IDENTIFIER ::= {apexAcp 2}
         apexAcpStatusGeneral                             OBJECT IDENTIFIER ::= {apexAcpStatus 1}
--       apexAcpStatusTable                                                     {apexAcpStatus 2}
--          apexAcpStatusEntry                                                  {apexAcpStatusTable 1}
--             apexAcpStatusIndex                                               {apexAcpStatusEntry 1}
--             apexAcpUnitAddress                                               {apexAcpStatusEntry 2}
--             apexAcpHealthByte                                                {apexAcpStatusEntry 3}
--             apexAcpEvenCsn                                                   {apexAcpStatusEntry 4}
--             apexAcpOddCsn                                                    {apexAcpStatusEntry 5}
--             apexAcpUnitAttribute                                             {apexAcpStatusEntry 6}
   apexUdpPortMapping                                     OBJECT IDENTIFIER ::= {apex 18}
      apexUdpMapConfig                                    OBJECT IDENTIFIER ::= {apexUdpPortMapping 1}
         apexUdpMapConfigGeneral                          OBJECT IDENTIFIER ::= {apexUdpMapConfig 1}
--          apexUdpMapPreEncryptCheck                                           {apexUdpMapConfigGeneral 1}
--          apexUdpMapModeBits                                                  {apexUdpMapConfigGeneral 2}
--          apexUdpMapTsOffset                                                  {apexUdpMapConfigGeneral 3}
--          apexUdpMapFollowDtcp                                                {apexUdpMapConfigGeneral 4}
--       apexUdpMapApplyTable                                                   {apexUdpMapConfig 2}
--          apexUdpMapApplyEntry                                                {apexUdpMapApplyTable 1}
--          apexUdpMapApplyOutputTsNum                                          {apexUdpMapApplyEntry 1}
--          apexUdpMapApplyChange                                               {apexUdpMapApplyEntry 2}
--       apexUdpMapTable                                                        {apexUdpMapConfig 3}
--          apexUdpMapEntry                                                     {apexUdpMapTable 1}
--             apexUdpMapOutputTsNum                                            {apexUdpMapEntry 1}
--             apexUdpMapInputInterface                                         {apexUdpMapEntry 2}
--             apexUdpMapStartProgNum                                           {apexUdpMapEntry 3}
--             apexUdpMapNumberProgs                                            {apexUdpMapEntry 4}
--       apexUdpMapMulticastTable                                               {apexUdpMapConfig 4}
--          apexUdpMapMulticastEntry                                            {apexUdpMapMulticastTable 1}
--             apexUdpMapMulticastIndex                                         {apexUdpMapMulticastEntry 1}
--             apexUdpMapMulticastEnable                                        {apexUdpMapMulticastEntry 2}
--             apexUdpMapMulticastInterface                                     {apexUdpMapMulticastEntry 3}
--             apexUdpMapMulticastUdp                                           {apexUdpMapMulticastEntry 4}
--             apexUdpMapMulticastMcastIp                                       {apexUdpMapMulticastEntry 5}
--             apexUdpMapMulticastSourceIp                                      {apexUdpMapMulticastEntry 6}
--       apexUdpMapMulticastApplyTable                                          {apexUdpMapConfig 5}
--          apexUdpMapMulticastApplyEntry                                       {apexUdpMapMulticastApplyTable 1}
--             apexUdpMapMulticastApplyIndex                                    {apexUdpMapMulticastApplyEntry 1}
--             apexUdpMapMulticastApplyChange                                   {apexUdpMapMulticastApplyEntry 2}
      apexUdpMapStatus                                    OBJECT IDENTIFIER ::= {apexUdpPortMapping 2}
         apexUdpMapStatusGeneral                          OBJECT IDENTIFIER ::= {apexUdpMapStatus 1}
--          apexUdpMapMulticastInvalidApplyText                                 {apexUdpMapStatusGeneral 1}
--       apexUdpMapStatusTable                                                  {apexUdpMapStatus 2}
--          apexUdpMapStatusEntry                                               {apexUdpMapStatusTable 1}
--             apexUdpMapStatusOutputTsNum                                      {apexUdpMapStatusEntry 1}
--             apexUdpMapInvalidApplyText                                       {apexUdpMapStatusEntry 2}
   apexRds                                                OBJECT IDENTIFIER ::= {apex 19}
      apexRdsConfig                                       OBJECT IDENTIFIER ::= {apexRds 1}
         apexRdsConfigGeneral                             OBJECT IDENTIFIER ::= {apexRdsConfig 1}
--          apexRdsIpAddr                                                       {apexRdsConfigGeneral 1}
--          apexRdsTcpPort                                                      {apexRdsConfigGeneral 2}
--          apexRdsProgramEpochDuration                                         {apexRdsConfigGeneral 3}
--          apexRdsCetPollInterval                                              {apexRdsConfigGeneral 4}
--          apexRdsCetRefresh                                                   {apexRdsConfigGeneral 5}
--          apexRdsRmdPollInterval                                              {apexRdsConfigGeneral 6}
--          apexRdsRmdRefresh                                                   {apexRdsConfigGeneral 7}
--          apexRdsPollRandomization                                            {apexRdsConfigGeneral 8}
--          apexRdsSetDefault                                                   {apexRdsConfigGeneral 9}
--          apexRdsErrorCountReset                                              {apexRdsConfigGeneral 10}
--          apexRdsConfigApplyChange                                            {apexRdsConfigGeneral 11}
--          apexRdsConfigRds2Enable                                             {apexRdsConfigGeneral 12}
--          apexRdsConfigServerUrl                                              {apexRdsConfigGeneral 13}
--          apexRdsInitialEcmRetryInterval                                      {apexRdsConfigGeneral 14}
--          apexRdsDeviceId                                                     {apexRdsConfigGeneral 15}
      apexRdsStatus                                       OBJECT IDENTIFIER ::= {apexRds 2}
         apexRdsStatusGeneral                             OBJECT IDENTIFIER ::= {apexRdsStatus 1}
--          apexRdsConnectionStatus                                             {apexRdsStatusGeneral 1}
--          apexRdsCurrentCsn                                                   {apexRdsStatusGeneral 2}
--          apexRdsCetNextPollTime                                              {apexRdsStatusGeneral 3}
--          apexRdsRmdNextPollTime                                              {apexRdsStatusGeneral 4}
--          apexRdsEmmStatusTableSize                                           {apexRdsStatusGeneral 5}
--          apexRdsProgramMessagesReceived                                      {apexRdsStatusGeneral 6}
--          apexRdsProgramMessagesFailed                                        {apexRdsStatusGeneral 7}
--          apexRdsCommErrorCount                                               {apexRdsStatusGeneral 8}
--          apexRdsCommStatus                                                   {apexRdsStatusGeneral 9}
--          apexRdsFlashWriteCount                                              {apexRdsStatusGeneral 10}
--          apexRdsMcast16                                                      {apexRdsStatusGeneral 11}
--          apexRdsStatusServerIp                                               {apexRdsStatusGeneral 12}
--          apexRdsStatusServerPort                                             {apexRdsStatusGeneral 13}
--          apexRdsStatusServerRootDirPath                                      {apexRdsStatusGeneral 14}
--          apexRdsStatusValidation                                             {apexRdsStatusGeneral 15}
--       apexRdsEmmStatusTable                                                  {apexRdsStatus 2}
--          apexRdsEmmStatusEntry                                               {apexRdsEmmStatusTable 1}
--             apexRdsEmmStatusIndex                                            {apexRdsEmmStatusEntry 1}
--             apexRdsEmmStatusCsn                                              {apexRdsEmmStatusEntry 2}
--             apexRdsEmmStatusState                                            {apexRdsEmmStatusEntry 3}
--             apexRdsEmmStatusGpsTime                                          {apexRdsEmmStatusEntry 4}
--             apexRdsEmmStatusServerError                                      {apexRdsEmmStatusEntry 5}
--             apexRdsEmmStatusUnitAddress                                      {apexRdsEmmStatusEntry 6}
--       apexRdsSourceLookupTable                                               {apexRdsStatus 3}
--          apexRdsSourceLookupEntry                                            {apexRdsSourceLookupTable 1}
--             apexRdsSourceLookupIndex                                         {apexRdsSourceLookupEntry 1}
--             apexRdsSourceLookupDescription                                   {apexRdsSourceLookupEntry 2}
--             apexRdsSourceLookupSourceId                                      {apexRdsSourceLookupEntry 3}
--             apexRdsSourceLookupProviderId                                    {apexRdsSourceLookupEntry 4}
--       apexRdsEventTable                                                      {apexRdsStatus 4}
--          apexRdsEventEntry                                                   {apexRdsEventTable 1}
--             apexRdsEventProgramIndex                                         {apexRdsEventEntry 1}
--             apexRdsEventEventIndex                                           {apexRdsEventEntry 2}
--             apexRdsEventEpochNumber                                          {apexRdsEventEntry 3}
--             apexRdsEventEpochStart                                           {apexRdsEventEntry 4}
--             apexRdsEventEpochEnd                                             {apexRdsEventEntry 5}
--             apexRdsEventInterstitialDuration                                 {apexRdsEventEntry 6}
--             apexRdsEventPreviewDuration                                      {apexRdsEventEntry 7}
--             apexRdsEventPurchaseDuration                                     {apexRdsEventEntry 8}
--             apexRdsEventNumberTiers                                          {apexRdsEventEntry 9}
--             apexRdsEventTierData                                             {apexRdsEventEntry 10}
--             apexRdsEventProgramCost                                          {apexRdsEventEntry 11}
--             apexRdsEventRatingRegion                                         {apexRdsEventEntry 12}
--             apexRdsEventRatingData                                           {apexRdsEventEntry 13}
--             apexRdsEventRatingText                                           {apexRdsEventEntry 14
--             apexRdsEventControlByte                                          {apexRdsEventEntry 15}
--             apexRdsEventPrkmWkemAvailable                                    {apexRdsEventEntry 16}
--             apexRdsEventCcmAvailable                                         {apexRdsEventEntry 17}
   apexEncryption                                         OBJECT IDENTIFIER ::= {apex 20}
      apexEncryptionConfig                                OBJECT IDENTIFIER ::= {apexEncryption 1}
         apexEncryptionConfigGeneral                      OBJECT IDENTIFIER ::= {apexEncryptionConfig 1}
--          apexEncryptionConfAlgorithm                                         {apexEncryptionConfigGeneral 1}
--          apexSimulcryptExternalEisSetting                                    {apexEncryptionConfigGeneral 2}
--          apexSimulcryptEmEnable                                              {apexEncryptionConfigGeneral 3}
--          apexEncryptionConfApplyChange                                       {apexEncryptionConfigGeneral 4}
--          apexEncryptionConfInvalidApplyText                                  {apexEncryptionConfigGeneral 5}
         apexCteConfig                                    OBJECT IDENTIFIER ::= {apexEncryptionConfig 2}
--          apexCteEncryptionMode                                               {apexCteConfig 1}
--          apexCteCciLevel                                                     {apexCteConfig 2}
--          apexCteApsLevel                                                     {apexCteConfig 3}
--          apexCteCitEnable                                                    {apexCteConfig 4}
--          apexCteCommonTier                                                   {apexCteConfig 5}
--          apexCteApplyChange                                                  {apexCteConfig 6}
      apexEncryptionStatus                                OBJECT IDENTIFIER ::= {apexEncryption 2}
         apexEncryptionStatusGeneral                      OBJECT IDENTIFIER ::= {apexEncryptionStatus 1}
--          apexEncryptionStatAlgorithm                                         {apexEncryptionStatusGeneral 1}
            apexEncryptionCwgStatus                       OBJECT IDENTIFIER ::= {apexEncryptionStatusGeneral 2}
--             apexEncryptionCwgPerSecond                                       {apexEncryptionCwgStatus 1}
--             apexEncryptionMux1CollisionCount                                 {apexEncryptionCwgStatus 2}
--             apexEncryptionMux2CollisionCount                                 {apexEncryptionCwgStatus 3}
--             apexEncryptionMux1RolloverCount                                  {apexEncryptionCwgStatus 4}
--             apexEncryptionMux2RolloverCount                                  {apexEncryptionCwgStatus 5}
--             apexEncryptionEmmRequestsSent                                    {apexEncryptionCwgStatus 6}
--             apexEncryptionEmmGoodRepliesRecvd                                {apexEncryptionCwgStatus 7}
--             apexEncryptionEmmBadRepliesRecvd                                 {apexEncryptionCwgStatus 8}
--             apexEncryptionEmmGoodDeliveryTimeMs                              {apexEncryptionCwgStatus 9}
--             apexEncryptionEmmMaxDeliveryTimeMs                               {apexEncryptionCwgStatus 10}
--             apexEncryptionEmmMinDeliveryTimeMs                               {apexEncryptionCwgStatus 11}
--             apexEncryptionMcDiagTable                                        {apexEncryptionCwgStatus 12}
--                apexEncryptionMcDiagEntry                                     {apexEncryptionMcDiagTable 1}
--                   apexEncryptionMcDiagDeviceIndex                            {apexEncryptionMcDiagEntry 1}
--                   apexEncryptionCwCountsPerSecond                            {apexEncryptionMcDiagEntry 2}
   apexEas                                                OBJECT IDENTIFIER ::= {apex 21}
      apexEasConfig                                       OBJECT IDENTIFIER ::= {apexEas 1}
         apexEasConfigGeneral                             OBJECT IDENTIFIER ::= {apexEasConfig 1}
--          apexEasApplyChange           [obsolete]                             {apexEasConfigGeneral 1}
--          apexEasPhysInType            [obsolete]                             {apexEasConfigGeneral 2}
--          apexEasPhysInPort            [obsolete]                             {apexEasConfigGeneral 3}
--          apexEasRcvUdpPort            [obsolete]                             {apexEasConfigGeneral 4}
--          apexEasMulticastIpAddress    [obsolete]                             {apexEasConfigGeneral 5}
--          apexEasSourceIpAddress       [obsolete]                             {apexEasConfigGeneral 6}
--          apexEasMessageReceiveTimeoutDuration                                {apexEasConfigGeneral 7}
--          apexEasMessageReceiveTimeoutEventEnable                             {apexEasConfigGeneral 8}
--       apexEasOutputTable                                                     {apexEasConfig 2}
--          apexEasOutputEntry                                                  {apexEasOutputTable 1}
--             apexEasOutputStreamNum                                           {apexEasOutputEntry 1}
--             apexEasOutputEnable                                              {apexEasOutputEntry 2}
--       apexEasServerApplyTable                                                {apexEasConfig 3}
--          apexEasServerApplyEntry                                             {apexEasServerApplyTable 1}
--             apexEasServerApplyNum                                            {apexEasServerApplyEntry 1}
--             apexEasServerApplyChange                                         {apexEasServerApplyEntry 2}
--       apexEasServerTable                                                     {apexEasConfig 4}
--          apexEasServerEntry                                                  {apexEasServerTable 1}
--             apexEasServerNum                                                 {apexEasServerEntry 1}
--             apexEasServerPhysInType                                          {apexEasServerEntry 2}
--             apexEasServerPhysInPort                                          {apexEasServerEntry 3}
--             apexEasServerRcvUdpPort                                          {apexEasServerEntry 4}
--             apexEasServerMulticastIpAddress                                  {apexEasServerEntry 5}
--             apexEasServerSourceIpAddress                                     {apexEasServerEntry 6}
      apexEasStatus                                       OBJECT IDENTIFIER ::= {apexEas 2}
         apexEasStatusGeneral                             OBJECT IDENTIFIER ::= {apexEasStatus 1}
--          apexEasNumRcvMsgs                                                   {apexEasStatusGeneral 1}
--          apexEasNumInvalRcvMsgs                                              {apexEasStatusGeneral 2}
--       apexEasLastReceivedMessageStatusTable                                  {apexEasStatus 2}
--          apexEasLastReceivedMessageStatusEntry                               {apexEasLastReceivedMessageStatusTable 1}
--             apexEasLastReceivedMessageServerNum                              {apexEasLastReceivedMessageStatusEntry 1}
--             apexEasLastReceivedMessageTime                                   {apexEasLastReceivedMessageStatusEntry 2}      

   apexChassisRedundancy                                  OBJECT IDENTIFIER ::= {apex 22}
      apexChassisRedundancyConfig                         OBJECT IDENTIFIER ::= {apexChassisRedundancy 1}
         apexChassisRedundancyConfigGeneral               OBJECT IDENTIFIER ::= {apexChassisRedundancyConfig 1}
--          apexChassisRedundancyConfigEnable                                   {apexChassisRedundancyConfigGeneral 1}
--          apexChassisRedundancyMode                                           {apexChassisRedundancyConfigGeneral 2}
--          apexChassisRedundancyMulticastRedundancyMode                        {apexChassisRedundancyConfigGeneral 3}
--          apexChassisRedundancyUdpPort                                        {apexChassisRedundancyConfigGeneral 4}
--          apexChassisRedundancyRedundantApexIp                                {apexChassisRedundancyConfigGeneral 5}
--          apexChassisRedundancySuspend                                        {apexChassisRedundancyConfigGeneral 6}
--          apexChassisRedundancyForceFailOver                                  {apexChassisRedundancyConfigGeneral 7}
--          apexChassisRedundancyFailOverGigE12LinkLoss                         {apexChassisRedundancyConfigGeneral 8}
--          apexChassisRedundancyFailOverGigE34LinkLoss                         {apexChassisRedundancyConfigGeneral 9}
--          apexChassisRedundancyFailOverEnet1LinkLoss                          {apexChassisRedundancyConfigGeneral 10}
--          apexChassisRedundancyFailOverEnet2LinkLoss                          {apexChassisRedundancyConfigGeneral 11}
--          apexChassisRedundancyFailOverTemperatureFault                       {apexChassisRedundancyConfigGeneral 12}
--          apexChassisRedundancyFailOverQamModuleFault                         {apexChassisRedundancyConfigGeneral 13}
--          apexChassisRedundancyFailOverQamRfPortFault                         {apexChassisRedundancyConfigGeneral 14}
--          apexChassisRedundancyFailOverQamChannelFault                        {apexChassisRedundancyConfigGeneral 15}
--          apexChassisRedundancyConfigApplyChange                              {apexChassisRedundancyConfigGeneral 16}
--          apexChassisRedundancyPrimaryStandbyOverride                         {apexChassisRedundancyConfigGeneral 17}
--          apexChassisRedundancyRedundantApexSecIp                             {apexChassisRedundancyConfigGeneral 18}
--          apexChassisRedundancyRedundantHBEnable                              {apexChassisRedundancyConfigGeneral 19}
--          apexChassisRedundancyFailOverQamModuleRemoval                       {apexChassisRedundancyConfigGeneral 20}
      apexChassisRedundancyStatus                         OBJECT IDENTIFIER ::= {apexChassisRedundancy 2}
         apexChassisRedundancyStatusGeneral               OBJECT IDENTIFIER ::= {apexChassisRedundancyStatus 1}
--          apexChassisRedundancyPrimaryApexStatus                              {apexChassisRedundancyStatusGeneral 1}
--          apexChassisRedundancySecondaryApexStatus                            {apexChassisRedundancyStatusGeneral 2}
--          apexChassisRedundancyState                                          {apexChassisRedundancyStatusGeneral 3}
--          apexChassisRedundancyCommunicationStatus                            {apexChassisRedundancyStatusGeneral 4}
--          apexChassisRedundancyConfigurationStatus                            {apexChassisRedundancyStatusGeneral 5}
--          apexChassisRedundancyStatusInvalidApplyText                         {apexChassisRedundancyStatusGeneral 6}
--          apexChassisRedundancyGeneralConfigSyncStatusText                    {apexChassisRedundancyStatusGeneral 7}
--          apexChassisRedundancyGigEMismatchStatus                             {apexChassisRedundancyStatusGeneral 8}
--          apexChassisRedundancyQamMismatchStatus                              {apexChassisRedundancyStatusGeneral 9}
--          apexChassisRedundancyFirmwareMismatchStatus                         {apexChassisRedundancyStatusGeneral 10}
--          apexChassisRedundancyGigE12LinkStatus                               {apexChassisRedundancyStatusGeneral 11}
--          apexChassisRedundancyGigE34LinkStatus                               {apexChassisRedundancyStatusGeneral 12}
--          apexChassisRedundancyCurrHBIntfIPStatus                             {apexChassisRedundancyStatusGeneral 13}
--          apexChassisRedundancyAppliedEncAlgorithmStatus                      {apexChassisRedundancyStatusGeneral 14}
--          apexChassisRedundancyMCSimEntitlementStatus                         {apexChassisRedundancyStatusGeneral 15}
   apexDta                                                OBJECT IDENTIFIER ::= {apex 23}
      apexDtaConfig                                       OBJECT IDENTIFIER ::= {apexDta 1}
         apexDtaGeneralConfig                             OBJECT IDENTIFIER ::= {apexDtaConfig 1}
--          apexDtaGeneralConfigCatSourceType                                   {apexDtaGeneralConfig 1}
--          apexDtaGeneralConfigCatEmmPidMulticastIP                            {apexDtaGeneralConfig 2}
--          apexDtaGeneralConfigCatEmmPidSourceIP                               {apexDtaGeneralConfig 3}
--          apexDtaGeneralConfigCatEmmPidUdpPort                                {apexDtaGeneralConfig 4}
--          apexDtaGeneralConfigCatEmmPidInterface                              {apexDtaGeneralConfig 5}
--          apexDtaGeneralConfigEmmPidNum                                       {apexDtaGeneralConfig 6}
--          apexDtaGeneralConfigApplyChange                                     {apexDtaGeneralConfig 7}
--          apexDtaGeneralConfigInvalidApplyText                                {apexDtaGeneralConfig 8}
--       apexDtaConfigApplyTable                                                {apexDtaConfig 2}
--          apexDtaConfigApplyEntry                                             {apexDtaConfigApplyTable 1}
--             apexDtaConfigApplyIndex                                          {apexDtaConfigApplyEntry 1}
--             apexDtaConfigApplyChange                                         {apexDtaConfigApplyEntry 2}
--       apexDtaRfPortConfigTable                                               {apexDtaConfig 3}
--          apexDtaRfPortConfigEntry                                            {apexDtaRfPortConfigTable 1}
--             apexDtaRfPortConfigIndex                                         {apexDtaRfPortConfigEntry 1}
--             apexDtaRfPortConfigNetPidMulticastIP                             {apexDtaRfPortConfigEntry 2}
--             apexDtaRfPortConfigNetPidSourceIP                                {apexDtaRfPortConfigEntry 3}
--             apexDtaRfPortConfigNetPidUdpPort                                 {apexDtaRfPortConfigEntry 4}
--             apexDtaRfPortConfigNetPidInterface                               {apexDtaRfPortConfigEntry 5}
--             apexDtaRfPortConfigNetPidNum                                     {apexDtaRfPortConfigEntry 6}
--       apexDtaOtsConfigTable                                                  {apexDtaConfig 4}
--          apexDtaOtsConfigEntry                                               {apexDtaOtsConfigTable 1}
--             apexDtaOtsConfigIndex                                            {apexDtaOtsConfigEntry 1}
--             apexDtaOtsConfigEnable                                           {apexDtaOtsConfigEntry 2}
   apexDepi                                               OBJECT IDENTIFIER ::= {apex 24}
      apexDepiConfig                                      OBJECT IDENTIFIER ::= {apexDepi 1}
         apexDepiConfigGeneral                            OBJECT IDENTIFIER ::= {apexDepiConfig 1}
--          apexDepiConfigHostname                                              {apexDepiConfigGeneral 1}
      apexDepiStatus                                      OBJECT IDENTIFIER ::= {apexDepi 2}
         apexDepiStatusGeneral                            OBJECT IDENTIFIER ::= {apexDepiStatus 1}
--          apexDepiStatusGeneralDtiPort1LinkActive                             {apexDepiStatusGeneral 1}
--          apexDepiStatusGeneralDtiPort2LinkActive                             {apexDepiStatusGeneral 2}
--          apexDepiStatusGeneralDtiClientStatusMode                            {apexDepiStatusGeneral 3}
--          apexDepiStatusGeneralDtiClientPhaseError                            {apexDepiStatusGeneral 4}
--          apexDepiStatusGeneralDtiCurrentTimestamp                            {apexDepiStatusGeneral 5}
--          apexDepiStatusGeneralDtiPort1CableAdvanceValue                      {apexDepiStatusGeneral 6}
--          apexDepiStatusGeneralDtiPort2CableAdvanceValue                      {apexDepiStatusGeneral 7}
      apexDepiControl                                     OBJECT IDENTIFIER ::= {apexDepi 3}
         apexDepiControlConfig                            OBJECT IDENTIFIER ::= {apexDepiControl 1}
            apexDepiControlConfigGeneral                  OBJECT IDENTIFIER ::= {apexDepiControlConfig 1}
--             apexDepiControlConfigGeneralKeepaliveTimeout                     {apexDepiControlConfigGeneral 1}
--          apexDepiControlConfigApplyTable                                     {apexDepiControlConfig 2}
--             apexDepiControlConfigApplyEntry                                  {apexDepiControlConfigApplyTable 1}
--                apexDepiControlConfigApplyIndex                               {apexDepiControlConfigApplyEntry 1}
--                apexDepiControlConfigApplyChange                              {apexDepiControlConfigApplyEntry 2}
--          apexDepiControlConfigTable                                          {apexDepiControlConfig 3}
--             apexDepiControlConfigEntry                                       {apexDepiControlConfigTable 1}
--                apexDepiControlConfigIndex                                    {apexDepiControlConfigEntry 1}
--                apexDepiControlConfigEnable                                   {apexDepiControlConfigEntry 2}
--                apexDepiControlConfigInterfaceNumber                          {apexDepiControlConfigEntry 3}
--                apexDepiControlConfigSrcIpAddr                                {apexDepiControlConfigEntry 4}
--                apexDepiControlConfigOverUdp                                  {apexDepiControlConfigEntry 5}
--                apexDepiControlConfigType                                     {apexDepiControlConfigEntry 6}
         apexDepiControlStatus                            OBJECT IDENTIFIER ::= {apexDepiControl 2}
            apexDepiControlStatusGeneral                  OBJECT IDENTIFIER ::= {apexDepiControlStatus 1}
--             apexDepiControlStatusGeneralTotalConnections                     {apexDepiControlStatusGeneral 1}
--             apexDepiControlStatusGeneralCurrentConnections                   {apexDepiControlStatusGeneral 2}
--             apexDepiControlStatusGeneralRejectedConnections                  {apexDepiControlStatusGeneral 3}
--             apexDepiControlStatusGeneralUnknownConnectionMessages            {apexDepiControlStatusGeneral 4}
--             apexDepiControlStatusGeneralUnknownSessionMessages               {apexDepiControlStatusGeneral 5}
--             apexDepiControlStatusGeneralInvalidApplyText                     {apexDepiControlStatusGeneral 6}
--          apexDepiControlStatusTable                                          {apexDepiControlStatus 2}
--             apexDepiControlStatusEntry                                       {apexDepiControlStatusTable 1}
--                apexDepiControlStatusIndex                                    {apexDepiControlStatusEntry 1}
--                apexDepiControlStatusLocalUdp                                 {apexDepiControlStatusEntry 2}
--                apexDepiControlStatusRemoteUdp                                {apexDepiControlStatusEntry 3}
--                apexDepiControlStatusConnectionStatus                         {apexDepiControlStatusEntry 4}
--                apexDepiControlStatusUnknownCtl                               {apexDepiControlStatusEntry 5}
--                apexDepiControlStatusMalformedCtl                             {apexDepiControlStatusEntry 6}
--                apexDepiControlStatusUnknownAvp                               {apexDepiControlStatusEntry 7}
--                apexDepiControlStatusMalformedAvp                             {apexDepiControlStatusEntry 8}
--                apexDepiControlStatusInvalidVendorId                          {apexDepiControlStatusEntry 9}
--                apexDepiControlStatusHbitSet                                  {apexDepiControlStatusEntry 10}
--                apexDepiControlStatusTotalSessions                            {apexDepiControlStatusEntry 11}
--                apexDepiControlStatusCurrentSessions                          {apexDepiControlStatusEntry 12}
--                apexDepiControlStatusRejectedSessions                         {apexDepiControlStatusEntry 13}
      apexDepiSession                                     OBJECT IDENTIFIER ::= {apexDepi 4}
         apexDepiSessionConfig                            OBJECT IDENTIFIER ::= {apexDepiSession 1}
--          apexDepiSessionConfigApplyTable                                     {apexDepiSessionConfig 1}
--             apexDepiSessionConfigApplyEntry                                  {apexDepiSessionConfigApplyTable 1}
--                apexDepiSessionConfigApplyOutputTsNum                         {apexDepiSessionConfigApplyEntry 1}
--                apexDepiSessionConfigApplyChange                              {apexDepiSessionConfigApplyEntry 2}
--          apexDepiSessionConfigTable                                          {apexDepiSessionConfig 2}
--             apexDepiSessionConfigEntry                                       {apexDepiSessionConfigApplyTable 1}
--                apexDepiSessionConfigOutputTsNum                              {apexDepiSessionConfigApplyEntry 1}
--                apexDepiSessionConfigEnable                                   {apexDepiSessionConfigApplyEntry 2}
--                apexDepiSessionConfigControlId                                {apexDepiSessionConfigApplyEntry 3}
--                apexDepiSessionConfigDocsisTsid                               {apexDepiSessionConfigApplyEntry 4}
--                apexDepiSessionConfigUdpPort                                  {apexDepiSessionConfigApplyEntry 5}
--                apexDepiSessionConfigSyncCorrection                           {apexDepiSessionConfigApplyEntry 6}
         apexDepiSessionStatus                            OBJECT IDENTIFIER ::= {apexDepiSession 2}
            apexDepiSessionStatusGeneral                  OBJECT IDENTIFIER ::= {apexDepiSessionStatus 1}
--             apexDepiSessionStatusGeneralInvalidApplyText                     {apexDepiSessionStatusGeneral 1}
--          apexDepiSessionStatusTable                                          {apexDepiSessionStatus 2}
--             apexDepiSessionStatusEntry                                       {apexDepiSessionStatusTable 1}
--                apexDepiSessionStatusIndex                                    {apexDepiSessionStatusEntry 1}
--                apexDepiSessionStatusControlId                                {apexDepiSessionStatusEntry 2}
--                apexDepiSessionStatusOutputQAMChannel                         {apexDepiSessionStatusEntry 3}
--                apexDepiSessionStatusLocalUdp                                 {apexDepiSessionStatusEntry 4}
--                apexDepiSessionStatusRemoteUdp                                {apexDepiSessionStatusEntry 5}
--                apexDepiSessionStatusStatus                                   {apexDepiSessionStatusEntry 6}
--                apexDepiSessionStatusPerHopBehavior                           {apexDepiSessionStatusEntry 7}
--                apexDepiSessionStatusUnknownCtl                               {apexDepiSessionStatusEntry 8}
--                apexDepiSessionStatusMalformedCtl                             {apexDepiSessionStatusEntry 9}
--                apexDepiSessionStatusUnknownAvp                               {apexDepiSessionStatusEntry 10}
--                apexDepiSessionStatusMalformedAvp                             {apexDepiSessionStatusEntry 11}
--                apexDepiSessionStatusInvalidVendorId                          {apexDepiSessionStatusEntry 12}
--                apexDepiSessionStatusHbitSet                                  {apexDepiSessionStatusEntry 13}
--                apexDepiSessionStatusInSLIMsgs                                {apexDepiSessionStatusEntry 14}
--                apexDepiSessionStatusOutSLIMsgs                               {apexDepiSessionStatusEntry 15}
--                apexDepiSessionStatusIngressDlmMsgs                           {apexDepiSessionStatusEntry 16}
--                apexDepiSessionStatusEgressDlmMsgs                            {apexDepiSessionStatusEntry 17}
--                apexDepiSessionStatusLatencyStart                             {apexDepiSessionStatusEntry 18}
--                apexDepiSessionStatusLatencyEnd                               {apexDepiSessionStatusEntry 19}
--                apexDepiSessionStatusInDataPackets                            {apexDepiSessionStatusEntry 20}
--                apexDepiSessionStatusInSequenceDiscards                       {apexDepiSessionStatusEntry 21}
--                apexDepiSessionStatusInDataPacketDiscards                     {apexDepiSessionStatusEntry 22}
--                apexDepiSessionStatusSessionID                                {apexDepiSessionStatusEntry 23}
   apexPsip                                               OBJECT IDENTIFIER ::= {apex 25}
      apexPsipConfig                                      OBJECT IDENTIFIER ::= {apexPsip 1}
         apexPsipConfigGeneral                            OBJECT IDENTIFIER ::= {apexPsipConfig 1}
--          apexPsipConfigApplyChange                                           {apexPsipConfigGeneral 1}
--          apexPsipConfigMgtMsgInsertionPeriod                                 {apexPsipConfigGeneral 2}
--          apexPsipConfigSttMsgInsertionPeriod                                 {apexPsipConfigGeneral 3}
--          apexPsipConfigCvctMsgInsertionPeriod                                {apexPsipConfigGeneral 4}
--          apexPsipConfigRrtMsgInsertionPeriod                                 {apexPsipConfigGeneral 5}
--          apexPsipConfigEit0InsertionPeriod                                   {apexPsipConfigGeneral 6}
--          apexPsipConfigEit1InsertionPeriod                                   {apexPsipConfigGeneral 7}
--          apexPsipConfigEit2InsertionPeriod                                   {apexPsipConfigGeneral 8}
--          apexPsipConfigEit3InsertionPeriod                                   {apexPsipConfigGeneral 9}
         apexPsipConfigTime                               OBJECT IDENTIFIER ::= {apexPsipConfig 2}
--          apexPsipConfigTimeApplyChange                                       {apexPsipConfigTime    1}
--          apexPsipConfigTimeDsMonthIn                                         {apexPsipConfigTime    2}
--          apexPsipConfigTimeDsDayIn                                           {apexPsipConfigTime    3}
--          apexPsipConfigTimeDsHourIn                                          {apexPsipConfigTime    4}
--          apexPsipConfigTimeDsMonthOut                                        {apexPsipConfigTime    5}
--          apexPsipConfigTimeDsDayOut                                          {apexPsipConfigTime    6}
--          apexPsipConfigTimeDsHourOut                                         {apexPsipConfigTime    7}
      apexPsipStatus                                      OBJECT IDENTIFIER ::= {apexPsip 2}
         apexPsipStatusGeneral                            OBJECT IDENTIFIER ::= {apexPsipStatus 1}
--        apexPsipStatusInputTable                                              {apexPsipStatus 2}
--          apexPsipStatusInputEntry                                            {apexPsipStatusInputTable 1}
--             apexPsipStatusInputIndex                                         {apexPsipStatusInputEntry 1}
--             apexPsipStatusInputPid                                           {apexPsipStatusInputEntry 2}
--             apexPsipStatusInputMessageType                                   {apexPsipStatusInputEntry 3}
--             apexPsipStatusInputSourceId                                      {apexPsipStatusInputEntry 4}
--             apexPsipStatusInputSegment                                       {apexPsipStatusInputEntry 5}
--             apexPsipStatusInputPart                                          {apexPsipStatusInputEntry 6}
--             apexPsipStatusInputBody                                          {apexPsipStatusInputEntry 7}
--             apexPsipStatusInputGpsTime                                       {apexPsipStatusInputEntry 8}
--             apexPsipStatusInputInfo                                          {apexPsipStatusInputEntry 9}
--        apexPsipStatusOutputTable                                             {apexPsipStatus 3}
--          apexPsipStatusOutputEntry                                           {apexPsipStatusOutputTable 1}
--             apexPsipStatusOutputIndex                                        {apexPsipStatusOutputEntry 1}
--             apexPsipStatusOutputPid                                          {apexPsipStatusOutputEntry 2}
--             apexPsipStatusOutputMessageType                                  {apexPsipStatusOutputEntry 3}
--             apexPsipStatusOutputSourceId                                     {apexPsipStatusOutputEntry 4}
--             apexPsipStatusOutputSegment                                      {apexPsipStatusOutputEntry 5}
--             apexPsipStatusOutputPart                                         {apexPsipStatusOutputEntry 6}
--             apexPsipStatusOutputBody                                         {apexPsipStatusOutputEntry 7}
--             apexPsipStatusOutputGpsTime                                      {apexPsipStatusOutputEntry 8}
--        apexPsipStatusServiceTable                                            {apexPsipStatus 4}
--          apexPsipStatusServiceEntry                                          {apexPsipStatusServiceTable 1}
--             apexPsipStatusServiceIndex                                       {apexPsipStatusServiceEntry 1}
--             apexPsipStatusServiceNum                                         {apexPsipStatusServiceEntry 2}
--             apexPsipStatusServiceOutputTs                                    {apexPsipStatusServiceEntry 3}
--             apexPsipStatusServiceState                                       {apexPsipStatusServiceEntry 4}
--             apexPsipStatusServiceSourceId                                    {apexPsipStatusServiceEntry 5}
   apexPreencryption                                      OBJECT IDENTIFIER ::= {apex 26}
      apexPreencryptionConfig                             OBJECT IDENTIFIER ::= {apexPreencryption 1}
         apexPreencryptionConfigGeneral                   OBJECT IDENTIFIER ::= {apexPreencryptionConfig 1}
--          apexSupportPreencryptedSimulcrypt                                   {apexPreencryptionConfigGeneral 1}
   apexOutputAncillaryPid                                 OBJECT IDENTIFIER ::= {apex 27}
      apexOutputAncillaryPidConfig                        OBJECT IDENTIFIER ::= {apexOutputAncillaryPid 1}
         apexOutputAncillaryPidConfigGeneral              OBJECT IDENTIFIER ::= {apexOutputAncillaryPidConfig 1}
      apexOutputAncillaryPidStatus                        OBJECT IDENTIFIER ::= {apexOutputAncillaryPid 2}
         apexOutputAncillaryPidStatusGeneral              OBJECT IDENTIFIER ::= {apexOutputAncillaryPidStatus 1}
--          apexOutputAncillaryPidBitrateSamplePeriod                           {apexOutputAncillaryPidStatusGeneral 1}
--       apexOutputAncillaryPidStatusTable                                      {apexOutputAncillaryPidStatus 2}
--          apexOutputAncillaryPidStatusEntry                                   {apexOutputAncillaryPidStatusTable 1}
--             apexOutputAncillaryPidIndex                                      {apexOutputAncillaryPidStatusEntry 1}
--             apexOutputAncillaryPidInputTsNum                                 {apexOutputAncillaryPidStatusEntry 2}
--             apexOutputAncillaryPidInputPid                                   {apexOutputAncillaryPidStatusEntry 3}
--             apexOutputAncillaryPidOutputTsNum                                {apexOutputAncillaryPidStatusEntry 4}
--             apexOutputAncillaryPidOutputPid                                  {apexOutputAncillaryPidStatusEntry 5}
--             apexOutputAncillaryPidRoutingStatus                              {apexOutputAncillaryPidStatusEntry 6}
--             apexOutputAncillaryPidAverageBitrate                             {apexOutputAncillaryPidStatusEntry 7}
   apexUls                                                OBJECT IDENTIFIER ::= {apex 28}
      apexUlsConfig                                       OBJECT IDENTIFIER ::= {apexUls 1}
         apexUlsConfigGeneral                             OBJECT IDENTIFIER ::= {apexUlsConfig 1}          
--          apexUlsConfigGenerateRequest                                        {apexUlsConfigGeneral 1}
--          apexUlsConfigValidateResponse                                       {apexUlsConfigGeneral 2}
--          apexUlsConfigCommitNewFeatures                                      {apexUlsConfigGeneral 3}
         apexUlsConfigMcSimFeatures                       OBJECT IDENTIFIER ::= {apexUlsConfig 2}
--          apexUlsConfigMcSimChannelsRequest                                   {apexUlsConfigMcSimFeatures 1}
      apexUlsStatus                                       OBJECT IDENTIFIER ::= {apexUls 2}
         apexUlsStatusGeneral                             OBJECT IDENTIFIER ::= {apexUlsStatus 1}          
--          apexUlsStatusGenerateRequestText                                    {apexUlsStatusGeneral 1}
--          apexUlsStatusValidateResponseText                                   {apexUlsStatusGeneral 2}
--          apexUlsStatusCommitNewFeaturesText                                  {apexUlsStatusGeneral 3}
         apexUlsStatusMcSimFeatures                       OBJECT IDENTIFIER ::= {apexUlsStatus 2}          
--          apexUlsStatusMcSimChannelsCurrent                  					  {apexUlsStatusMcSimFeatures 1}
--          apexUlsStatusMcSimChannelsInUse                     					  {apexUlsStatusMcSimFeatures 2}
--          apexUlsStatusMcSimChannelsMax                       					  {apexUlsStatusMcSimFeatures 3}
   apexSimulcryptEcmgInfo                                 OBJECT IDENTIFIER ::= {apex 29}
      apexSimulcryptEcmgStatus                            OBJECT IDENTIFIER ::= {apexSimulcryptEcmgInfo 1}
--       apexSimulcryptEcmgStatusTable                                          {apexSimulcryptEcmgStatus 1}
--          apexSimulcryptEcmgStatusEntry                                       {apexSimulcryptEcmgStatusTable 1}
--             apexSimulcryptEcmgProgramIndex                                   {apexSimulcryptEcmgStatusEntry 1}
--             apexOutputProgramCAS1EcmgChannel                                 {apexSimulcryptEcmgStatusEntry 2}
--             apexOutputProgramCAS1EcmgStream                                  {apexSimulcryptEcmgStatusEntry 3}
--             apexOutputProgramCAS2EcmgChannel                                 {apexSimulcryptEcmgStatusEntry 4}
--             apexOutputProgramCAS2EcmgStream                                  {apexSimulcryptEcmgStatusEntry 5}
--             apexOutputProgramCAS3EcmgChannel                                 {apexSimulcryptEcmgStatusEntry 6}
--             apexOutputProgramCAS3EcmgStream                                  {apexSimulcryptEcmgStatusEntry 7}
--             apexOutputProgramCAS4EcmgChannel                                 {apexSimulcryptEcmgStatusEntry 8}
--             apexOutputProgramCAS4EcmgStream                                  {apexSimulcryptEcmgStatusEntry 9}
--             apexOutputProgramCAS5EcmgChannel                                 {apexSimulcryptEcmgStatusEntry 10}
--             apexOutputProgramCAS5EcmgStream                                  {apexSimulcryptEcmgStatusEntry 11}
--             apexOutputProgramCAS6EcmgChannel                                 {apexSimulcryptEcmgStatusEntry 12}
--             apexOutputProgramCAS6EcmgStream                                  {apexSimulcryptEcmgStatusEntry 13}
--             apexOutputProgramCAS7EcmgChannel                                 {apexSimulcryptEcmgStatusEntry 14}
--             apexOutputProgramCAS7EcmgStream                                  {apexSimulcryptEcmgStatusEntry 15}
--             apexOutputProgramCAS8EcmgChannel                                 {apexSimulcryptEcmgStatusEntry 16}
--             apexOutputProgramCAS8EcmgStream                                  {apexSimulcryptEcmgStatusEntry 17}
   apexMcSim                                              OBJECT IDENTIFIER ::= {apex 30}
      apexMcSimConfig                                     OBJECT IDENTIFIER ::= {apexMcSim 1}
         apexMcSimConfigGeneral                           OBJECT IDENTIFIER ::= {apexMcSimConfig 1}
--          apexMcSimEnableDacId                                                {apexMcSimConfigGeneral 1}
--          apexMcSimDacId                                                      {apexMcSimConfigGeneral 2}
--          apexMcSimConfigApplyChange                                          {apexMcSimConfigGeneral 3}
--          apexMcSimConfigInvalidApplyText                                     {apexMcSimConfigGeneral 4}

   apexAlarms                                             OBJECT IDENTIFIER ::= {apex 100}
--    apexAlarmHardwareFault                                                    {apexAlarms 8000}
--    apexAlarmInvalidInitData                                                  {apexAlarms 8001}
--    apexAlarmTemperatureFault                                                 {apexAlarms 8002}
--    apexAlarmFanFault                                                         {apexAlarms 8003}
--    apexAlarmPowerFault                                                       {apexAlarms 8004}
--
--    apexAlarmGbeLossOfPhysicalInput                                           {apexAlarms 8020}
--    apexAlarmGbeBufferFullness                                                {apexAlarms 8021}
--    apexAlarmGbeInputStreamLowBitRate                                         {apexAlarms 8022}
--    apexAlarmGbeInputStreamHighBitRate                                        {apexAlarms 8023}
--    apexAlarmGbeMptsRedundPrimaryThreshold                                    {apexAlarms 8024}
--    apexAlarmGbeMptsRedundFailOver                                            {apexAlarms 8025}
--    apexAlarmServiceInError                                                   {apexAlarms 8026}
--    apexAlarmGbeLossOfInputStream                                             {apexAlarms 8027}
--    apexAlarmGigeToHostCommFault                                              {apexAlarms 8028}
--    apexAlarmGbeInterfaceRedundFailOver                                       {apexAlarms 8029}
--    apexAlarmLossOfInputAncillaryPid                                          {apexAlarms 8030}
--    apexAlarmGbeInputStreamPacketDrop                                         {apexAlarms 8031}
--
--    apexAlarmOutputUtilizationFault                                           {apexAlarms 8040}
--    apexAlarmOutputOverflow                                                   {apexAlarms 8041}
--    apexAlarmQamModuleFault                                                   {apexAlarms 8042}
--    apexAlarmQamRfPortFault                                                   {apexAlarms 8043}
--    apexAlarmQamChannelFault                                                  {apexAlarms 8044}
--    apexAlarmQamRfRedundFailOver                                              {apexAlarms 8045}
--    apexAlarmQamRfRedundMismatch                                              {apexAlarms 8046}
--    apexAlarmQamModuleRemovalFault                                            {apexAlarms 8047}
--
--    apexAlarmRtspControllerCommFault                                          {apexAlarms 8050}
--
--    apexAlarmRdsCommFault                                                     {apexAlarms 8060}
--
--    apexAlarmRemCommFault                                                     {apexAlarms 8070}
--    apexAlarmRemFault                                                         {apexAlarms 8071}
--    apexAlarmDepiControlConnectionFault                                       {apexAlarms 8080}
--    apexAlarmDepiSessionSetupFault                                            {apexAlarms 8081}
--    apexAlarmDtiSyncLossFault                                                 {apexAlarms 8082}
--
--    apexAlarmChassisRedundancyPrimaryFailover                                 {apexAlarms 8090}
--    apexAlarmChassisRedundancySecondaryFailover                               {apexAlarms 8091}
--    apexAlarmChassisRedundancyAvailabilityFault                               {apexAlarms 8092}
--    apexAlarmChassisRedundancyLinkFault                                       {apexAlarms 8093}
--    apexAlarmChassisRedundancyConfigurationFault                              {apexAlarms 8094}
--
   apexEvents                                             OBJECT IDENTIFIER ::= {apex 101}
--    apexEventEmUserLoginFailed                                                {apexEvents 8100}
--    apexEventQamModuleUpgraded                                                {apexEvents 8101}
--    apexEventSnmpCommunityStringChanged                                       {apexEvents 8102}
--    apexEventEasMessageNotReceived                                            {apexEvents 8103}
--    apexEventLossOfInputAncillaryPid                                          {apexEvents 8104}
--    apexEventChassisRedunPrimaryForceFailover          [obsolete]             {apexEvents 8110}
--    apexEventChassisRedunSecondaryForceFailover        [obsolete]             {apexEvents 8111}
--    apexEventChassisRedunFirmwareVersionMismatch                              {apexEvents 8112}
--    apexEventChassisRedunQAMVersionMismatch                                   {apexEvents 8113}
--
   apexConfigAlarms                                       OBJECT IDENTIFIER ::= {apex 102}
      apexConfAlarmEnable                                 OBJECT IDENTIFIER ::= {apexConfigAlarms 1}
--       apexEnableInvalidInitData                                              {apexConfAlarmEnable 8001}
--       apexEnableGbeLossOfPhysicalInput                                       {apexConfAlarmEnable 8020}
--       apexEnableGbeBufferFullness                                            {apexConfAlarmEnable 8021}
--       apexEnableGbeInputStreamLowBitRate                                     {apexConfAlarmEnable 8022}
--       apexEnableGbeInputStreamHighBitRate                                    {apexConfAlarmEnable 8023}
--       apexEnableGbeMptsRedundPrimaryThreshold                                {apexConfAlarmEnable 8024}
--       apexEnableGbeMptsRedundFailOver                                        {apexConfAlarmEnable 8025}
--       apexEnableServiceInError                                               {apexConfAlarmEnable 8026}
--       apexEnableGbeLossOfInputTsFault                                        {apexConfAlarmEnable 8027}
--       apexEnableGbeInterfaceRedundFailOver                                   {apexConfAlarmEnable 8029}
--       apexEnableLossOfInputAncillaryPid                                      {apexConfAlarmEnable 8030}
--       apexEnableGbeInputStreamPacketDrop                                     {apexConfAlarmEnable 8031}
--       apexEnableOutputUtilizationFault                                       {apexConfAlarmEnable 8040}
--       apexEnableOutputOverflow                                               {apexConfAlarmEnable 8041}
--       apexEnableQamModuleFault                                               {apexConfAlarmEnable 8042}
--       apexEnableQamRfPortFault                                               {apexConfAlarmEnable 8043}
--       apexEnableQamChannelFault                                              {apexConfAlarmEnable 8044}
--       apexEnableQamRfRedundFailOver                                          {apexConfAlarmEnable 8045}
--       apexEnableQamRfRedundMismatch                                          {apexConfAlarmEnable 8046}
--       apexEnableQamModuleRemovalFault                                        {apexConfAlarmEnable 8047}
--       apexEnableRtspControllerCommFault                                      {apexConfAlarmEnable 8050}
--       apexEnableRdsCommAlarmFault                                            {apexConfAlarmEnable 8060}
--       apexEnableRemCommFault                                                 {apexConfAlarmEnable 8070}
--       apexEnableRemFault                                                     {apexConfAlarmEnable 8071}
--       apexEnableDepiControlConnectionFault                                   {apexConfAlarmEnable 8080}
--       apexEnableDepiSessionSetupFault                                        {apexConfAlarmEnable 8081}
--       apexEnableDtiSyncLossFault                                             {apexConfAlarmEnable 8082}
--
--       apexEnableChassisRedundancyPrimaryFailover                             {apexConfAlarmEnable 8090}
--       apexEnableChassisRedundancySecondaryFailover                           {apexConfAlarmEnable 8091}
--       apexEnableChassisRedundancyAvailabilityFault                           {apexConfAlarmEnable 8092}
--       apexEnableChassisRedundancyLinkFault                                   {apexConfAlarmEnable 8093}
--       apexEnableChassisRedundancyConfigurationFault                          {apexConfAlarmEnable 8094}
--
      apexConfAlarmClear                                  OBJECT IDENTIFIER ::= {apexConfigAlarms 2}
--       apexClearInvalidInitData                                               {apexConfAlarmClear 8001}
   apexLogs                                               OBJECT IDENTIFIER ::= {apex 200}
--    apexHwEventTable                                                          {apexLogs 1}
--       apexHwEventEntry                                                       {apexHwEventTable 1}
--          apexHwEventIndex                                                    {apexHwEventEntry 1}
--          apexHwEventTimeLogged                                               {apexHwEventEntry 2}
--          apexHwEventAlarmCode                                                {apexHwEventEntry 3}
--          apexHwEventAlarmSeverity                                            {apexHwEventEntry 4}
--          apexHwEventData                                                     {apexHwEventEntry 5}
--          apexHwEventDescription                                              {apexHwEventEntry 6}
--    apexInvalidInitDataTable                                                  {apexLogs 2}
--       apexInvalidInitDataEntry                                               {apexInvalidInitDataTable 1}
--          apexInvalidInitDataIndex                                            {apexInvalidInitDataEntry 1}
--          apexInvalidInitDataTimeLogged                                       {apexInvalidInitDataEntry 2}
--          apexInvalidInitDataDescription                                      {apexInvalidInitDataEntry 3}
--    apexOutputTsEventTable                                                    {apexLogs 3}
--       apexOutputTsEventEntry                                                 {apexOutputTsEventTable 1}
--          apexOutputTsEventIndex                                              {apexOutputTsEventEntry 1}
--          apexOutputTsEventTimeLogged                                         {apexOutputTsEventEntry 2}
--          apexOutputTsEventAlarmCode                                          {apexOutputTsEventEntry 3}
--          apexOutputTsEventAlarmSeverity                                      {apexOutputTsEventEntry 4}
--          apexOutputTsEventOutputTsNum                                        {apexOutputTsEventEntry 5}
--          apexOutputTsEventCurRate                                            {apexOutputTsEventEntry 6}
--          apexOutputTsEventAvgRate                                            {apexOutputTsEventEntry 7}
--          apexOutputTsEventMinRate                                            {apexOutputTsEventEntry 8}
--          apexOutputTsEventPeakRate                                           {apexOutputTsEventEntry 9}
--          apexOutputTsEventCurDropPackets                                     {apexOutputTsEventEntry 10}
--          apexOutputTsEventPeakDropPackets                                    {apexOutputTsEventEntry 11}
--          apexOutputTsEventRollingDropPackets                                 {apexOutputTsEventEntry 12}
--          apexOutputTsEventTotalDropPackets                                   {apexOutputTsEventEntry 13}
--          apexOutputTsEventDescription                                        {apexOutputTsEventEntry 14}
--    apexGbeInputTsEventTable                                                  {apexLogs 4}
--       apexGbeInputTsEventEntry                                               {apexGbeInputTsEventTable 1}
--          apexGbeInputTsEventIndex                                            {apexGbeInputTsEventEntry 1}
--          apexGbeInputTsEventTimeLogged                                       {apexGbeInputTsEventEntry 2}
--          apexGbeInputTsEventAlarmCode                                        {apexGbeInputTsEventEntry 3}
--          apexGbeInputTsEventAlarmSeverity                                    {apexGbeInputTsEventEntry 4}
--          apexGbeInputTsEventRedundantConfig                                  {apexGbeInputTsEventEntry 5}
--          apexGbeInputTsEventGbeInterface                                     {apexGbeInputTsEventEntry 6}
--          apexGbeInputTsEventUdpPort                                          {apexGbeInputTsEventEntry 7}
--          apexGbeInputTsEventMulticastIp                                      {apexGbeInputTsEventEntry 8}
--          apexGbeInputTsEventSourceIp                                         {apexGbeInputTsEventEntry 9}
--          apexGbeInputTsEventInputTsState                                     {apexGbeInputTsEventEntry 10}
--          apexGbeInputTsEventRateCompareType                                  {apexGbeInputTsEventEntry 11}
--          apexGbeInputTsEventSamplingPeriod                                   {apexGbeInputTsEventEntry 12}
--          apexGbeInputTsEventPriCurStreamCount                                {apexGbeInputTsEventEntry 13}
--          apexGbeInputTsEventPriCurDataCount                                  {apexGbeInputTsEventEntry 14}
--          apexGbeInputTsEventSecCurStreamCount                                {apexGbeInputTsEventEntry 15}
--          apexGbeInputTsEventSecCurDataCount                                  {apexGbeInputTsEventEntry 16}
--          apexGbeInputTsEventDescription                                      {apexGbeInputTsEventEntry 17}
--    apexRtspEventTable                                                        {apexLogs 5}
--       apexRtspEventEntry                                                     {apexRtspEventTable 1}
--          apexRtspEventIndex                                                  {apexRtspEventEntry 1}
--          apexRtspEventTimeLogged                                             {apexRtspEventEntry 2}
--          apexRtspEventControllerIp                                           {apexRtspEventEntry 3}
--          apexRtspEventSessionCount                                           {apexRtspEventEntry 4}
--          apexRtspEventSourceDescription                                      {apexRtspEventEntry 5}
--          apexRtspEventDescription                                            {apexRtspEventEntry 6}
--    apexMappingErrorTable                                                     {apexLogs 6}
--       apexMappingErrorEntry                                                  {apexMappingErrorTable 1}
--          apexMappingErrorIndex                                               {apexMappingErrorEntry 1}
--          apexMappingErrorTimeLogged                                          {apexMappingErrorEntry 2}
--          apexMappingErrorCode                                                {apexMappingErrorEntry 3}
--          apexMappingErrorMappingType                                         {apexMappingErrorEntry 4}
--          apexMappingErrorInputType                                           {apexMappingErrorEntry 5}
--          apexMappingErrorInputInterface                                      {apexMappingErrorEntry 6}
--          apexMappingErrorUdpPort                                             {apexMappingErrorEntry 7}
--          apexMappingErrorMulticastIp                                         {apexMappingErrorEntry 8}
--          apexMappingErrorSourceIp                                            {apexMappingErrorEntry 9}
--          apexMappingErrorInputProgramPid                                     {apexMappingErrorEntry 10}
--          apexMappingErrorOutputProgramPid                                    {apexMappingErrorEntry 11}
--          apexMappingErrorOutputOpMode                                        {apexMappingErrorEntry 12}
--          apexMappingErrorOutputTsNum                                         {apexMappingErrorEntry 13}
--          apexMappingErrorSecInputInterface                                   {apexMappingErrorEntry 14}
--          apexMappingErrorSecUdpPort                                          {apexMappingErrorEntry 15}
--          apexMappingErrorSecMulticastIp                                      {apexMappingErrorEntry 16}
--          apexMappingErrorSecSourceIp                                         {apexMappingErrorEntry 17}
--    apexChassisRedundancyEventTable                                           {apexLogs 7}
--       apexChassisRedundancyEventEntry                                        {apexChassisRedundancyEventTable 1}
--          apexChassisRedundancyEventIndex                                     {apexChassisRedundancyEventEntry 1}
--          apexChassisRedundancyEventTimeLogged                                {apexChassisRedundancyEventEntry 2}
--          apexChassisRedundancyEventDescription                               {apexChassisRedundancyEventEntry 3}
   apexTraps                                              OBJECT IDENTIFIER ::= {apex 0}
--    not used for APEX                                                         {apexTraps    1}
--    not used for APEX                                                         {apexTraps    2}
--    trapConfigurationChangeInteger                                            {apexTraps    3}
--    trapConfigurationChangeDisplayString                                      {apexTraps    4}
--    trapConfigurationChangeOID                                                {apexTraps    5}
--    trapConfigurationChangeIpAddress                                          {apexTraps    6}
--    trapConditionNotInList                                                    {apexTraps   20}
--    trapConditionAlreadyInList                                                {apexTraps   21}
--    trapConditionListFull                                                     {apexTraps   22}
--    trapInvalidCaseInSwitch                                                   {apexTraps   23}
--    trapCannotCreateSemaphore                                                 {apexTraps   24}
--    trapCannotOpenSocket                                                      {apexTraps   25}
--    trapUnknownMessageReceived                                                {apexTraps   26}
--    trapInvalidMessageReceived                                                {apexTraps   27}
--
--    trapHardwareFault                                                         {apexTraps 8000}
--    trapInvalidInitData                                                       {apexTraps 8001}
--    trapTemperatureFault                                                      {apexTraps 8002}
--    trapFanFault                                                              {apexTraps 8003}
--    trapPowerFault                                                            {apexTraps 8004}
--    trapGbeLossOfPhysicalInput                                                {apexTraps 8020}
--    trapGbeBufferFullness                                                     {apexTraps 8021}
--    trapGbeInputStreamLowBitRate                                              {apexTraps 8022}
--    trapGbeInputStreamHighBitRate                                             {apexTraps 8023}
--    trapGbeMptsRedundPrimaryThreshold                                         {apexTraps 8024}
--    trapGbeMptsRedundFailOver                                                 {apexTraps 8025}
--    trapServiceInError                                                        {apexTraps 8026}
--    trapGbeLossOfInputStream                                                  {apexTraps 8027}
--    trapGigeToHostCommFault                                                   {apexTraps 8028}
--    trapGbeInterfaceRedundFailOver                                            {apexTraps 8029}
--    trapLossOfInputAncillaryPid                                               {apexTraps 8030}
--    trapGbeInputStreamPacketDrop                                              {apexTraps 8031}
--    trapOutputUtilizationFault                                                {apexTraps 8040}
--    trapOutputOverflow                                                        {apexTraps 8041}
--    trapQamModuleFault                                                        {apexTraps 8042}
--    trapQamRfPortFault                                                        {apexTraps 8043}
--    trapQamChannelFault                                                       {apexTraps 8044}
--    trapQamRfRedundFailOver                                                   {apexTraps 8045}
--    trapQamRfRedundMismatch                                                   {apexTraps 8046}
--    trapQamModuleRemovalFault                                                 {apexTraps 8047}
--    trapRtspControllerCommFault                                               {apexTraps 8050}
--    trapRdsCommFault                                                          {apexTraps 8060}
--    trapRemCommFault                                                          {apexTraps 8070}
--    trapRemFault                                                              {apexTraps 8071}
--    trapDepiControlConnectionFault                                            {apexTraps 8080}
--    trapDepiSessionSetupFault                                                 {apexTraps 8081}
--    trapDtiSyncLossFault                                                      {apexTraps 8082}
--
--    trapChassisRedundancyPrimaryFailover                                      {apexTraps 8090}
--    trapChassisRedundancySecondaryFailover                                    {apexTraps 8091}
--    trapChassisRedundancyAvailabilityFault                                    {apexTraps 8092}
--    trapChassisRedundancyLinkFault                                            {apexTraps 8093}
--    trapChassisRedundancyConfigurationFault                                   {apexTraps 8094}
--
--    trapEmUserLoginFailed                                                     {apexTraps 8100}
--    trapQamModuleUpgraded                                                     {apexTraps 8101}
--    trapSnmpCommunityStringChanged                                            {apexTraps 8102}
--    trapEasMessageNotReceived                                                 {apexTraps 8103}
--    trapLossOfInputAncillaryPidEvent                                          {apexTraps 8104}
--    trapChassisRedundancyPrimaryForceFailover                                 {apexTraps 8110}
--    trapChassisRedundancySecondaryForceFailover                               {apexTraps 8111}
--    trapChassisRedundancyFirmwareVersionMismatch                              {apexTraps 8112}
--    trapChassisRedundancyQAMVersionMismatch                                   {apexTraps 8113}
   apexDebug                                              OBJECT IDENTIFIER ::= {apex 5000}


-- ------------------------------------------------------------------------------
--
-- APEX MIB
--
-- ------------------------------------------------------------------------------


-- ------------------------------------------------------------------------------
--
-- apexSys
--
-- apexSysConfig
--
-- apexSysConfigGeneral
--

apexSaveConfig OBJECT-TYPE
    SYNTAX INTEGER
        {
         saveNotInProgress   (1),
         startSaveToFlash    (2),
         savingConfigToFlash (3)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Writing this object will commit the current
         configuration to Flash.  While a read returns the
         value savingConfigToFlash, the flash is being saved;
         the save may not have been initiated by an SNMP set.

         Once written, the change to this parameter will take immediate effect.

         @Config(config=no, reboot=no)
        "
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" dbc_fmt="1"></DbHint>
::= { apexSysConfigGeneral 1 }

apexProductName OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..31))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This is the Product Name of the APEX loaded at initialization from
         the config.ini file.  Specific configurations of the APEX have
         specific purposes and are identified by their product name.

         Once written, the change to this parameter will take immediate effect.
         However, in order for the change to persist through subsequent reboots
         or power cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2, default=yes)
         @File(config.ini, type='ini')
        "
::= { apexSysConfigGeneral 2 }

apexBootMethod OBJECT-TYPE
    SYNTAX INTEGER
        {
         noDhcpOrBootp (1),
         bootpOnly     (3)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This parameter is used to set the boot method for the APEX.
         Selection of noDhcpOrBootp means the APEX will not use DHCP or BOOTP
         - this will result in about a 10 second savings in boot time.

         Once written, the change to this parameter will take immediate effect.
         However, in order for the change to persist through subsequent reboots
         or power cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexSysConfigGeneral 3 }

apexAutoRebootEnable OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Setting to 'enabled' allows the APEX to automatically reboot when
         specific APEX hardware errors occur. Setting this to Enabled will
         cause the APEX to automatically reboot upon specific HW faults, such
         as a GigE processor crash, or upon a Host processor watchdog event.
         When disabled, HW faults and watchdog events will not cause an automatic
         reboot. This is useful when it is necessary to debug the event (to allow
         time to gather status prior to manually rebooting).

         Once written, the change to this parameter will take immediate effect.
         However, in order for the change to persist through subsequent reboots
         or power cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexSysConfigGeneral 4 }


-- ------------------------------------------------------------------------------
--
-- apexSysConfigMcEmmInsertion
--

apexMcEmmInsertionMode OBJECT-TYPE
    SYNTAX INTEGER
        {
         outOfBand(1),
         fullInBand(2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Specify the mode in which MediaCipher EMMs are inserted, out of band 
         or full in band.

         Once written, the change to this parameter will only take immediate
         effect after apexMcEmmInsertionApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexMcEmmInsertionApplyChange , value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexSysConfigMcEmmInsertion 1 }

apexMcEmmInsertionPid1Enable OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Enable/disable first EMM PID to include in the CAT for MediaCipher Full In Band mode.
         Default value is enabled.

         Once written, the change to this parameter will only take immediate
         effect after apexMcEmmInsertionApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexMcEmmInsertionApplyChange , value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexSysConfigMcEmmInsertion 2 }

apexMcEmmInsertionPid1 OBJECT-TYPE
    SYNTAX Unsigned32(7168..8190)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "First EMM PID to include in the CAT for MediaCipher Full In Band mode.
         Allowed values: from 0x1C00 to 0x1FFE.
         Default value is 0x1C02.

         Once written, the change to this parameter will only take immediate
         effect after apexMcEmmInsertionApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexMcEmmInsertionApplyChange , value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexSysConfigMcEmmInsertion 3 }

apexMcEmmInsertionPid2Enable OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Enable/disable first EMM PID to include in the CAT for MediaCipher Full In Band mode.
         Default value is disabled.

         Once written, the change to this parameter will only take immediate
         effect after apexMcEmmInsertionApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexMcEmmInsertionApplyChange , value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexSysConfigMcEmmInsertion 4 }

apexMcEmmInsertionPid2 OBJECT-TYPE
    SYNTAX Unsigned32(7168..8190)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Second EMM PID to include in the CAT for MediaCipher Full In Band mode.
         Allowed values: from 0x1C00 to 0x1FFE.
         Default value is 0x1C03.

         Once written, the change to this parameter will only take immediate
         effect after apexMcEmmInsertionApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexMcEmmInsertionApplyChange , value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexSysConfigMcEmmInsertion 5 }

apexMcEmmInsertionApplyChange OBJECT-TYPE
    SYNTAX ApplyDataToDeviceTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Apply for the MediaCipher EMM Insertion group.

         This parameter MUST be set to 'apply' in order for any of the data
         in the MC EMM Insertion group to take effect in the device.  This
         parameter MUST be set LAST after all other data in the MC Emm Insertion
         group has been configured.

         @Config(config=no, reboot=no)
        "
::= { apexSysConfigMcEmmInsertion 6 }

-- ------------------------------------------------------------------------------
--
-- apexSysStatus
--
-- apexSysStatusGeneral
--

apexBootReason OBJECT-TYPE
    SYNTAX INTEGER
        {
         powerCycle       (0),
         operatorReboot   (1),
         hwFault          (2),
         wdFault          (3)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates reason for APEX boot:
            'powerCycle'       - Power-up or power cycled.
            'operatorReboot'   - Operator commanded reboot (refer to manual).
            'hwFault'          - Automatic reboot occurred as per apexAutoRebootEnable.
            'wdFault'          - Automatic Watchdog reboot as per apexAutoRebootEnable.
        "
::= { apexSysStatusGeneral 1 }

apexMaxServiceMappings OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Maximum number of service mappings supported by the APEX.
        "
::= { apexSysStatusGeneral 2 }


-- ------------------------------------------------------------------------------
--
-- apexSysStatusVersions
--

apexHostProcessorBootCodeVersion OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..31))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "APEX Host Processor Boot Code Version."
::= { apexSysStatusVersions 1 }

apexMuxFpgaVersion OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..31))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "APEX MUX FPGA Version."
::= { apexSysStatusVersions 2 }

apexMuxFpgaEncryption OBJECT-TYPE
    SYNTAX INTEGER
        {
         noEncryption (0),
         des          (1),
         csa          (2),
         aes          (3)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "APEX MUX FPGA Encryption type currently loaded."
::= { apexSysStatusVersions 3 }

apexMainBoardVersion OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..31))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "APEX Main Board Version.  This is the revision of the
         apexMainBoardType."
::= { apexSysStatusVersions 4 }

apexHostApplicationDate OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..31))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "APEX Host Processor Application Creation Date."
::= { apexSysStatusVersions 5 }

apexProductType OBJECT-TYPE
    SYNTAX INTEGER
        {
         invalid         (0),
         apex1000        (1)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "APEX Product Type.  The corresponding product name
         text setting can be found in identUnitModel."
::= { apexSysStatusVersions 6 }

apexMainBoardType OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "APEX Main Board Type.  The revision is found in apexMainBoardVersion."
::= { apexSysStatusVersions 7 }

apexGlueFpgaVersion OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..31))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "APEX Glue FPGA Version."
::= { apexSysStatusVersions 8 }

apexGlueCpldVersion OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..31))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "APEX Glue CPLD Version."
::= { apexSysStatusVersions 9 }

apexDtiFpgaVersion OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..31))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "APEX DTI FPGA Version."
::= { apexSysStatusVersions 10 }

apexMpc2FpgaVersion OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..31))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "APEX MPC2 FPGA Version."
::= { apexSysStatusVersions 11 }

apexDpmVersion OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..31))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "APEX DPM Version."
::= { apexSysStatusVersions 12 }


-- ------------------------------------------------------------------------------
--
-- apexTime
--
-- apexTimeConfig
--
-- apexTimeConfigGeneral
--

apexTimeSource OBJECT-TYPE
    SYNTAX INTEGER
        {
         sntp     (1),
         internal (2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The source for system time.
         The time source can be configured to come from
         an SNTP time source, or be generated internally.

         When configured as internal:
            - The APEX will internally keep time starting at GPS time 0.
              A user can set the time to a valid GPS time in this mode.
            - The system time and UTC offset in internal mode are
              not updated and therefore are not valid.

         When configured to receive time via SNTP the
         SntpServerSpecified object and SntpServiceIP objects
         can be used to optionally define the SNTP server.

         Once written, the change to this parameter will take immediate effect.
         However, in order for the change to persist through subsequent reboots
         or power cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexTimeConfigGeneral 1 }

apexSntpUtcOffset OBJECT-TYPE
    SYNTAX Integer32(0..1000)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value of this object is the Universal Time
         Coordinated (UTC) offset from GPS time.  Subtract
         this from GPS time to convert from GPS to UTC.
         Units are seconds.

         When time source is SNTP, this object can be set
         to specify the UTC offset that the APEX will use
         in calculating GPS time.

         Once written, the change to this parameter will take immediate effect.
         However, in order for the change to persist through subsequent reboots
         or power cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexTimeConfigGeneral 2 }

apexSntpServerSpecified OBJECT-TYPE
    SYNTAX INTEGER
        {
         notSpecified  (1),
         specified     (2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "When the TimeSource is SNTP, this object specifies whether
         the APEX will only accept time for a single SNTP server or
         from any server that broadcasts time.
         When notSpecified, the APEX will accept time from any SNTP
         server.

         When specified, the APEX will poll for time from the address
         of the SNTP server specified by the SntpServerIP address object.

         Once written, the change to this parameter will take immediate effect.
         However, in order for the change to persist through subsequent reboots
         or power cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexTimeConfigGeneral 3 }

apexSntpServerIpAddr OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This contains the IP address of the specified SNTP server.
         If apexTimeSource is SNTP and apexSntpServerSpecified
         is set to specified, then the apex will poll for time from
         this IP address.

         Once written, the change to this parameter will take immediate effect.
         However, in order for the change to persist through subsequent reboots
         or power cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexTimeConfigGeneral 4 }

apexUserSuppliedTime OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value of this object is the GPS Time the APEX is given
         via user entry.  The time is reported in GPS seconds.
         This time is ONLY used when the APEX is set to Internal time mode.

         Once written, the change to this parameter will take immediate effect.

         @Config(config=no, reboot=no)
        "
::= { apexTimeConfigGeneral 5 }


-- ------------------------------------------------------------------------------
--
-- apexTimeStatus
--
-- apexTimeStatusGeneral
--

apexSystemTime OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The value of this object is the current System Time of the APEX.
         The system time is reported in GPS seconds.  To determine the
         APEXs system time in UTC the apexSntpUtcOffset object must also
         be read and used in the calculation."
::= { apexTimeStatusGeneral 1 }

apexOperationalTime OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Operational Time is the time in seconds since the APEX completed
         the boot sequence.  It is the time that the APEX has been operational."
::= { apexTimeStatusGeneral 8 }


-- ------------------------------------------------------------------------------
--
-- apexTemperature
--
-- apexTemperatureConfig
--
-- apexTemperatureConfigGeneral
--

-- none


-- ------------------------------------------------------------------------------
--
-- apexTemperatureStatus
--
-- apexTemperatureStatusGeneral
--

-- none


-- ------------------------------------------------------------------------------
--
-- apexMainBoardTemperature
--

apexMainBoardTempFrontIntake OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Ambient temperature at the intake vent at the front of the unit.
         Measured in whole number degrees Celsius."
::= { apexMainBoardTemperature 1 }

apexMainBoardTempMuxFpga OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Ambient temperature at the MUX FPGAs.
         Measured in whole number degrees Celsius."
::= { apexMainBoardTemperature 2 }

apexMainBoardTempAcpModule OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Ambient temperature at the ACP Module location.  This reading
         is valid for all models whether an ACP Module is standard on
         the model.
         Measured in whole number degrees Celsius."
::= { apexMainBoardTemperature 3 }

apexMainBoardTempHostProcessor OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Ambient temperature at the Host Processor.
         Measured in whole number degrees Celsius."
::= { apexMainBoardTemperature 4 }


-- ------------------------------------------------------------------------------
--
-- apexMainBoardTemperatureFault
--

apexMainBoardTempFrontIntakeFault OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         ok       (1),
         overTemp (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Fault status of ambient temperature at the intake vent at
         the front of the unit."
::= { apexMainBoardTemperatureFault 1 }

apexMainBoardTempMuxFpgaFault OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         ok       (1),
         overTemp (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Fault status of ambient temperature at the MUX FPGAs."
::= { apexMainBoardTemperatureFault 2 }

apexMainBoardTempAcpModuleFault OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         ok       (1),
         overTemp (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Fault status of ambient temperature at the ACP Module location."
::= { apexMainBoardTemperatureFault 3 }

apexMainBoardTempHostProcessorFault OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         ok       (1),
         overTemp (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Fault status of ambient temperature at the Host Processor."
::= { apexMainBoardTemperatureFault 4 }


-- ------------------------------------------------------------------------------
--
-- apexPowerSupply
--
-- apexPsConfig
--
-- apexPsConfigGeneral
--
apexPsPowerFaultFilter	 OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "This setting enables or disables apexPsPowerFaultFilter.
             When set to 'enabled', the device ignore the power fault alarm
             for two consecutive positive samples of an AC power interruption.

             When set to 'disabled' the alarm(apexAlarmPowerFault) will operate as described.
             
             Once written, the change to this parameter will take immediate
             effect.  However, in order for the change to persist through
             subsequent reboots or power cycles, the change must be saved via
             the apexSaveConfig parameter.

             @Config(config=yes, reboot=no)
             @Save(apexSaveConfig, value=2)
             @File(config.ini, type='ini')
        "
::= { apexPsConfigGeneral 1 }


-- ------------------------------------------------------------------------------
--
-- apexPsStatus
--
-- apexPsStatusGeneral
--

-- none


-- ------------------------------------------------------------------------------
--
-- apexPsStatusTable
--

apexPsStatusTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexPsStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This is a table of status parameters for the two Power Supplies."
::= { apexPsStatus 2 }

apexPsStatusEntry OBJECT-TYPE
    SYNTAX ApexPsStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Power Supply Status Table Entry."
    INDEX { apexPsStatusPsNum }
::= { apexPsStatusTable 1 }

ApexPsStatusEntry ::= SEQUENCE
    {
     apexPsStatusPsNum             Integer32,
     apexPsStatusInstalled         INTEGER,
     apexPsStatusOutputVoltage     Integer32,
     apexPsStatusOutputCurrent     Integer32,
     apexPsStatusFanSpeed          Unsigned32,
     apexPsStatusFanStatus         INTEGER,
     apexPsStatusTemperatureStatus INTEGER,
     apexPsStatusInputPowerStatus  INTEGER,
     apexPsStatusOutputPowerStatus INTEGER,
     apexPsStatusErrorStatus       INTEGER,
     apexPsStatusFaultCondition    INTEGER,
     apexPsStatusDiagnosticData1   Integer32,
     apexPsStatusDiagnosticData2   Integer32,
     apexPsStatusCommError         INTEGER
    }

apexPsStatusPsNum OBJECT-TYPE
    SYNTAX Integer32(1..2)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "PS Number."
::= { apexPsStatusEntry 1 }

apexPsStatusInstalled OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable      (0),
         notInstalled       (1),
         installedAcInput   (2),
         installedDcInput   (3),
         fanModuleInstalled (4),
         unsupported        (5)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This parameter indicates installed status of the PS."
::= { apexPsStatusEntry 2 }

apexPsStatusOutputVoltage OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "PS measured output voltage in milli-Volts."
::= { apexPsStatusEntry 3 }

apexPsStatusOutputCurrent OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "PS measured output current in milli-Amps."
::= { apexPsStatusEntry 4 }

apexPsStatusFanSpeed OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The fan speed in RPM an installed Power Supply or Fan Module.

         Zero if not installed."
::= { apexPsStatusEntry 5 }

apexPsStatusFanStatus OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         ok    (1),
         error (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "PS Fan Status."
::= { apexPsStatusEntry 6 }

apexPsStatusTemperatureStatus OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         ok    (1),
         error (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the power supply is in protection mode due to
         an over temperature condition.  The PS is shut down while in
         'overTemp' and will recover when the temperature returns to normal
         operating range.  A power cycle is not required for recovery.
         Note that Output Power Status will be 'error' when Temperature
         status is 'overTemp'."
::= { apexPsStatusEntry 7 }

apexPsStatusInputPowerStatus OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         ok    (1),
         error (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether AC Input is within specification.  Note that Output
         Power Status will be 'error' when Input Power status is 'error'"
::= { apexPsStatusEntry 8 }

apexPsStatusOutputPowerStatus OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         ok    (1),
         error (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the +12V and +3.3V output power are within
         specification.  If the output power error occurs with an Input
         Power error, apply input power to recover.  If the output power
         error occurs with an Over Temperature error, a power cycle is not
         required for recovery.  Otherwise, a power cycle is required for
         recovery.  If the problem persists after the power cycle, the PS
         must be replaced for recovery."
::= { apexPsStatusEntry 9 }

apexPsStatusErrorStatus OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok             (1),
         psNotInstalled (2),
         psUnsupported  (3),
         inputPower     (4),
         fanFault       (5),
         overTemp       (6),
         outputPower    (7),
         commLost       (8)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Summary of errors reported on a power supply basis.
         The reported error will be the most severe."
::= { apexPsStatusEntry 10 }

apexPsStatusFaultCondition OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Current fault condition of the power supply errors."
::= { apexPsStatusEntry 11 }

apexPsStatusDiagnosticData1 OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Diagnostic data word 1 (HP) - Contents for Arris
         diagnostic purposes."
::= { apexPsStatusEntry 12 }

apexPsStatusDiagnosticData2 OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Diagnostic data word 2 (PS) - Contents for Arris
         diagnostic purposes."
::= { apexPsStatusEntry 13 }

apexPsStatusCommError OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         ok    (1),
         error (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Communication with the Power Supply has failed and status cannot be
         determined.  Only applies when valid PS installed."
::= { apexPsStatusEntry 14 }


-- ------------------------------------------------------------------------------
--
-- apexPsStatusVersionsTable
--

apexPsStatusVersionsTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexPsStatusVersionsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This is a table of version status parameters for the two Power Supplies."
::= { apexPsStatus 3 }

apexPsStatusVersionsEntry OBJECT-TYPE
    SYNTAX ApexPsStatusVersionsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Power Supply Version Status Table Entry."
    INDEX { apexPsStatusVersionsPsNum }
::= { apexPsStatusVersionsTable 1 }

ApexPsStatusVersionsEntry ::= SEQUENCE
    {
     apexPsStatusVersionsPsNum             Integer32,
     apexPsStatusVersionsModel             DisplayString,
     apexPsStatusVersionsSerialNumber      DisplayString
    }

apexPsStatusVersionsPsNum OBJECT-TYPE
    SYNTAX Integer32(1..2)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "PS Number."
::= { apexPsStatusVersionsEntry 1 }

apexPsStatusVersionsModel OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..17))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "PS Model."
::= { apexPsStatusVersionsEntry 2 }

apexPsStatusVersionsSerialNumber OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..12))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "PS serial number."
::= { apexPsStatusVersionsEntry 3 }


-- ------------------------------------------------------------------------------
--
-- apexAsi
--
-- apexAsiConfig
--
-- apexAsiMonitorPortConfig
--

apexAsiMonitorPortOutputTsNum OBJECT-TYPE
    SYNTAX Integer32(0..48)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The number of the output transport stream to route to the
         ASI Monitor Port.  Zero indicates that no stream is to be
         routed to the ASI Monitor port.

         Once written, the change to this parameter will take immediate
         effect.  However, in order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexAsiMonitorPortConfig 1 }

apexAsiMonitorPortEncryption OBJECT-TYPE
    SYNTAX INTEGER
        {
         preEncryption  (1),
         postEncryption (2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Selects pre or post encryption for the ASI monitor port.
         This parameter is only applicable to APEXs with encryption
         capability.

         Once written, the change to this parameter will take immediate
         effect.  However, in order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexAsiMonitorPortConfig 2 }


-- ------------------------------------------------------------------------------
--
-- apexFastEnet
--
-- apexFastEnetConfig
--
-- apexFastEnetConfigGeneral
--

apexFastEnetDefaultGateway OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This is the IP address of the default gateway for the Fast Ethernet
         interfaces.

         This should be zero or a valid Class A, B, or C IP address.

         Once written, a save must be performed via the apexSaveConfig
         parameter and the APEX must be rebooted for the change to take effect.

         @Config(config=yes, reboot=yes)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexFastEnetConfigGeneral 1 }

apexFastEnetRoutingApplyChange OBJECT-TYPE
    SYNTAX ApplyDataToDeviceTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Apply for the Fast Ethernet Static Routing Table.

         This parameter MUST be set to 'apply' in order for any of the data
         in the apexFastEnetRoutingTable to take effect.  This parameter
         MUST be set LAST after all other data in the apexFastEnetRoutingTable 
         has been configured.

         Once written, the change to this parameter will take immediate effect.

         @Config(config=no, reboot=no)
        "
::= { apexFastEnetConfigGeneral 3 }


-- ------------------------------------------------------------------------------
--
-- apexFastEnetRoutingTable
--

apexFastEnetRoutingTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexFastEnetRoutingEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This table is the configuration Static Routing table for the
         Fast Ethernet Interface.

         @Commit(param=apexFastEnetRoutingApplyChange, value=2)
         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexFastEnetConfig 2 }

apexFastEnetRoutingEntry OBJECT-TYPE
    SYNTAX ApexFastEnetRoutingEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Fast Ethernet Interface Configuration Static Routing Table Entry."
    INDEX { apexFastEnetRoutingIndex }
::= { apexFastEnetRoutingTable 1 }

ApexFastEnetRoutingEntry ::= SEQUENCE
    {
     apexFastEnetRoutingIndex           Integer32,
     apexFastEnetRoutingDestinIp        IpAddress,
     apexFastEnetRoutingGatewayIp       IpAddress,
     apexFastEnetRoutingSubnetMask      IpAddress
    }

apexFastEnetRoutingIndex OBJECT-TYPE
    SYNTAX Integer32(1..16)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The index of the Routing table entry.
         Currently limited to 16."
::= { apexFastEnetRoutingEntry 1 }

apexFastEnetRoutingDestinIp OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Fast Ethernet Routing Destination IP address.

         Once written, the change to this parameter will only take immediate
         effect after apexFastEnetRoutingApplyChange is set to 'apply'.  
         In order for the change to persist through subsequent reboots or power cycles, 
         the change must be saved via the apexSaveConfig parameter.
        "
::= { apexFastEnetRoutingEntry 2 }

apexFastEnetRoutingGatewayIp OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Fast Ethernet Routing Gateway IP address.

         Once written, the change to this parameter will only take immediate
         effect after apexFastEnetRoutingApplyChange is set to 'apply'.
         In order for the change to persist through subsequent reboots or power cycles, 
         the change must be saved via the apexSaveConfig parameter.
        "
::= { apexFastEnetRoutingEntry 3 }

apexFastEnetRoutingSubnetMask OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Fast Ethernet Routing Subnet Mask.

         Once written, the change to this parameter will only take immediate
         effect after apexFastEnetRoutingApplyChange is set to 'apply'.
         In order for the change to persist through subsequent reboots or power cycles, 
         the change must be saved via the apexSaveConfig parameter.
        "
::= { apexFastEnetRoutingEntry 4 }


-- ------------------------------------------------------------------------------
--
-- apexFastEnetInsertRateTable
--

apexFastEnetInsertRateTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexFastEnetInsertRateEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This is a table of configuration parameters for Output Transport
         Rate of Fast Ethernet MPEG data Insertion."
::= { apexFastEnetConfigGeneral 2 }

apexFastEnetInsertRateEntry OBJECT-TYPE
    SYNTAX ApexFastEnetInsertRateEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Output Transport Rate of Fast Ethernet MPEG Insertion Configuration Table Entry."
    INDEX { apexFastEnetInsertRateOutputTsNum }
::= { apexFastEnetInsertRateTable 1 }

ApexFastEnetInsertRateEntry ::= SEQUENCE
    {
     apexFastEnetInsertRateOutputTsNum        Integer32,
     apexFastEnetInsertRate                   Integer32
    }

apexFastEnetInsertRateOutputTsNum OBJECT-TYPE
    SYNTAX Integer32(1..48)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Output Transport Stream Number."
::= { apexFastEnetInsertRateEntry 1 }

apexFastEnetInsertRate OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Insertion Rate for the transport stream for Fast Ethernet MPEG
         data. Maximum MPEG data rate to insert data received via Fast
         Ethernet interfaces.
         Range is 0 Kbps to 2500 Kbps for each transport stream.
         Total for all transport streams must not exceed 10000 Kbps.

         Once written, the change to this parameter will take immediate
         effect.  However, in order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Range(min=0, max=2500)
         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexFastEnetInsertRateEntry 2 }


-- ------------------------------------------------------------------------------
--
-- apexFastEnetStatus
--
-- apexFastEnetStatusGeneral
--

apexFastEnetMaxInputUdpPorts OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Maximum number of Fast Ethernet input UDP ports that can be opened on
         this APEX."
::= { apexFastEnetStatusGeneral 1 }


-- ------------------------------------------------------------------------------
--
-- apexFastEnetStatusPacketsTable
--

apexFastEnetStatusPacketsTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexFastEnetStatusPacketsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of Fast Ethernet Insert Packet Statistics for each
         Fast Ethernet interface.
         Indexed by FE interface port number."
::= { apexFastEnetStatus 2 }

apexFastEnetStatusPacketsEntry OBJECT-TYPE
    SYNTAX ApexFastEnetStatusPacketsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A row in the FE Insert Packets table."
    INDEX { apexFastEnetPacketsPortNum }
::= { apexFastEnetStatusPacketsTable 1 }

ApexFastEnetStatusPacketsEntry ::= SEQUENCE
    {
     apexFastEnetPacketsPortNum           Integer32,
     apexFastEnetPacketsNumPkts           Unsigned32,
     apexFastEnetPacketsTotPkts           Unsigned32,
     apexFastEnetPacketsNumDiscarded      Unsigned32,
     apexFastEnetPacketsTotDiscarded      Unsigned32
    }

apexFastEnetPacketsPortNum OBJECT-TYPE
    SYNTAX Integer32 (1..2)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Fast Ethernet interface port Number."
::= { apexFastEnetStatusPacketsEntry 1 }

apexFastEnetPacketsNumPkts OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of MPEG packets inserted during the last monitoring
         period (currently 5 seconds) on this FE interface port."
::= { apexFastEnetStatusPacketsEntry 2 }

apexFastEnetPacketsTotPkts OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Total number of MPEG packets inserted on this FE interface port."
::= { apexFastEnetStatusPacketsEntry 3 }

apexFastEnetPacketsNumDiscarded OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of MPEG packets discarded during the last monitoring
         period (currently 5 seconds) on this FE interface port.
         This may be due to a buffer overflow or incorrect
         configuration of the FE output stream insertion rate."
::= { apexFastEnetStatusPacketsEntry 4 }

apexFastEnetPacketsTotDiscarded OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Total number of FE MPEG packets discarded on this Output
         Transport Stream. Discarded packets on an FE interface port
         are those packets discarded due to an overflow condition."
::= { apexFastEnetStatusPacketsEntry 5 }


-- ------------------------------------------------------------------------------
--
-- apexFastEnetInsertPacketsTable
--

apexFastEnetInsertPacketsTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexFastEnetInsertPacketsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of Output Transport Stream FE Insert Packet Statistics.
         Indexed by Output Transport Stream number."
::= { apexFastEnetStatus 3 }

apexFastEnetInsertPacketsEntry OBJECT-TYPE
    SYNTAX ApexFastEnetInsertPacketsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A row in the Output Transport Stream FE Insert Packets table."
    INDEX { apexFastEnetInsPacketsOutputTsNum }
::= { apexFastEnetInsertPacketsTable 1 }

ApexFastEnetInsertPacketsEntry ::= SEQUENCE
    {
     apexFastEnetInsPacketsOutputTsNum       Integer32,
     apexFastEnetInsPacketsNumPkts           Unsigned32,
     apexFastEnetInsPacketsTotPkts           Unsigned32,
     apexFastEnetInsPacketsNumDiscarded      Unsigned32,
     apexFastEnetInsPacketsTotDiscarded      Unsigned32
    }

apexFastEnetInsPacketsOutputTsNum OBJECT-TYPE
    SYNTAX Integer32 (1..48)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Output Transport Stream Number."
::= { apexFastEnetInsertPacketsEntry 1 }

apexFastEnetInsPacketsNumPkts OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of MPEG packets inserted during the last monitoring
         period (currently 5 seconds) on this Output Transport
         Stream."
::= { apexFastEnetInsertPacketsEntry 2 }

apexFastEnetInsPacketsTotPkts OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Total number of MPEG packets inserted on this Output
         Transport Stream."
::= { apexFastEnetInsertPacketsEntry 3 }

apexFastEnetInsPacketsNumDiscarded OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of MPEG packets discarded during the last monitoring
         period (currently 5 seconds) on this Output Transport
         Stream.  This may be due to a buffer overflow or incorrect
         configuration of the FE output stream insertion rate."
::= { apexFastEnetInsertPacketsEntry 4 }

apexFastEnetInsPacketsTotDiscarded OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Total number of FE MPEG packets discarded on this Output
         Transport Stream. Discarded packets on an output stream
         are those packets discarded due to an overflow condition."
::= { apexFastEnetInsertPacketsEntry 5 }


-- ------------------------------------------------------------------------------
--
-- apexOamp
--
-- apexOampConfig
--
-- apexOampConfigGeneral
--

apexOampIpAddr OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This is the IP address of the OAMP IP (Enet1) interface of the APEX.
         This IP address is set via a BootP when connected
         to a Bootp server.  When not connected to a BootP server, the IP
         address may directly be changed by setting this parameter.

         Once written, a save must be performed via the apexSaveConfig
         parameter and the APEX must be rebooted for the change to take effect.

         @Config(config=yes, reboot=yes)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" dbc_fmt="1"></DbHint>
::= { apexOampConfigGeneral 1 }

apexOampSubnetMask OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This is subnet mask of the OAMP IP (Enet1) interface of the APEX.
         The subnet mask is normally via a BootP when connected
         to a BootP server.  When not connected to a Bootp Server, the
         Subnet Mask may directly be changed by setting this parameter.

         Once written, a save must be performed via the apexSaveConfig
         parameter and the APEX must be rebooted for the change to take effect.

         @Config(config=yes, reboot=yes)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" dbc_fmt="1"></DbHint>
::= { apexOampConfigGeneral 2 }

apexOampAutoNegotiate OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "OAMP IP (Enet1) Ethernet Auto-Negotiation setting.

         Once written, a save must be performed via the apexSaveConfig
         parameter and the APEX must be rebooted for the change to take effect.

         @Config(config=yes, reboot=yes)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" dbc_fmt="1"></DbHint>
::= { apexOampConfigGeneral 3 }

apexOampNetworkDuplexMode OBJECT-TYPE
    SYNTAX NetworkDuplexModeTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "OAMP (Enet1) Ethernet Network Duplex Mode. Enet1 is set to the
         configured mode, only if 'apexOampAutoNegotiate' is disabled.
         
         Default value is full duplex mode.
        
         Once written, a save must be performed via the apexSaveConfig
         parameter and the APEX must be rebooted for the change to take effect.
         
         @Config(config=yes, reboot=yes)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" dbc_fmt="1"></DbHint>
::= { apexOampConfigGeneral 4 }


apexOampNetworkSpeed OBJECT-TYPE
    SYNTAX NetworkSpeedTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "OAMP (Enet1) Ethernet Network Speed. Enet1 is set to the
         configured speed, only if 'apexOampAutoNegotiate' is disabled.
         
         Default value is 100 Mbps.

         Once written, a save must be performed via the apexSaveConfig
         parameter and the APEX must be rebooted for the change to take effect.        
         
         @Config(config=yes, reboot=yes)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" dbc_fmt="1"></DbHint>
::= { apexOampConfigGeneral 5 }

-- ------------------------------------------------------------------------------
--
-- apexOampStatus
--
-- apexOampStatusGeneral
--

apexOampMacAddr OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..17))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This is the MAC address of the APEX OAMP IP (Enet1) Interface.
         It is set at the factory and cannot be changed.
         The string length is 17 characters in the format
         'hh:hh:hh:hh:hh:hh' where 'hh' is a hexadecimal number."
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" dbc_fmt="1"></DbHint>
::= { apexOampStatusGeneral 1 }

apexOampSpeed OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable       (0),
         interfaceSpeed10Mbps  (1),
         interfaceSpeed100Mbps (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "OAMP IP (Enet1) Ethernet speed (10Mbps or 100Mbps). This is determined by the results of the
         auto-negotiation process. If auto-negotiation fails, the default speed is 100Mbps."
::= { apexOampStatusGeneral 2 }

apexOampDuplexMode OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         halfDuplex (1),
         fullDuplex (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "OAMP IP (Enet1) Ethernet Duplex Mode (full or half) This is determined by the results of the
         auto-negotiation process. If auto-negotiation fails, the default mode is Full."
::= { apexOampStatusGeneral 3 }

apexOampInputTsAssignedCount OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of input transport streams assigned to the OAMP IP interface (Enet1)."
::= { apexOampStatusGeneral 4 }

apexOampLinkActive OBJECT-TYPE
    SYNTAX ActiveTYPE
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This indicates if the OAMP (ENET1) link is active."
::= { apexOampStatusGeneral 5 }

apexOampCurrentAutoNegotiateState OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Current auto-negotiation status on OAMP network
        "        
::= { apexOampStatusGeneral 6 }


-- ------------------------------------------------------------------------------
--
-- apexDataIp
--
-- apexDataIpConfig
--
-- apexDataIpConfigGeneral
--

apexDataIpAddr OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This is the IP address of the Data IP (Enet2) interface of this APEX.
         The data IP address may directly be changed by setting this parameter.
         The Data IP address must be configured such that the Data IP interface
         and the OAMP interface are on different networks.

         Once written, a save must be performed via the apexSaveConfig
         parameter and the APEX must be rebooted for the change to take effect.

         @Config(config=yes, reboot=yes)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexDataIpConfigGeneral 1 }

apexDataIpSubnetMask OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This is subnet mask of the Data IP (Enet2) interface of this APEX.
         The data IP Subnet Mask may directly be changed by setting this parameter.

         Once written, a save must be performed via the apexSaveConfig
         parameter and the APEX must be rebooted for the change to take effect.

         @Config(config=yes, reboot=yes)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexDataIpConfigGeneral 2 }

apexDataIpAutoNegotiate OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Data IP (Enet2) Ethernet Auto-Negotiation setting.

         Once written, a save must be performed via the apexSaveConfig
         parameter and the APEX must be rebooted for the change to take effect.

         @Config(config=yes, reboot=yes)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexDataIpConfigGeneral 3 }

apexDataIpNetworkDuplexMode OBJECT-TYPE
    SYNTAX NetworkDuplexModeTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "DATA IP (Enet2) Ethernet Network Duplex Mode. Enet2 is set to the 
         configured mode, only if 'apexDataIpAutoNegotiate'is disabled.
         
         Default value is full duplex mode.       
         
         Once written, a save must be performed via the apexSaveConfig
         parameter and the APEX must be rebooted for the change to take effect.
         
         @Config(config=yes, reboot=yes)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "        
::= { apexDataIpConfigGeneral 4 }


apexDataIpNetworkSpeed OBJECT-TYPE
    SYNTAX NetworkSpeedTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "DATA IP (Enet2) Ethernet Network Speed. Enet2 is set to the
         configured speed, only if 'apexDataIpAutoNegotiate'is disabled.

         Default value is 100 Mbps.  

         Once written, a save must be performed via the apexSaveConfig
         parameter and the APEX must be rebooted for the change to take effect.
         
         @Config(config=yes, reboot=yes)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "        
::= { apexDataIpConfigGeneral 5 }

-- ------------------------------------------------------------------------------
--
-- apexDataIpStatus
--
-- apexDataIpStatusGeneral
--

apexDataIpMacAddr OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..17))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This is the MAC address of the APEX Data IP (Enet2) Interface.
         It is set at the factory and cannot be changed.
         The string length is 17 characters in the format
         'hh:hh:hh:hh:hh:hh' where 'hh' is a hexadecimal number."
::= { apexDataIpStatusGeneral 1 }

apexDataIpSpeed OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable       (0),
         interfaceSpeed10Mbps  (1),
         interfaceSpeed100Mbps (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Data IP (Enet2) Ethernet speed (10Mbps or 100Mbps). This is determined
         by the results of the auto-negotiation process. If auto-negotiation
         fails, the default speed is 100Mbps. This status item is only valid
         when the Data IP port is enabled and properly configured."
::= { apexDataIpStatusGeneral 2 }

apexDataIpDuplexMode OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         halfDuplex (1),
         fullDuplex (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Data IP (Enet2) Ethernet Duplex Mode (full or half) This is determined
         by the results of the auto-negotiation process. If auto-negotiation
         fails, the default mode is Full. This status item is only valid when
         the Data IP port is enabled and properly configured."
::= { apexDataIpStatusGeneral 3 }

apexDataIpInputTsAssignedCount OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of input transport streams assigned to the Data IP interface."
::= { apexDataIpStatusGeneral 4 }

apexDataIpAddrInUse OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates the IP Address currently being used by the Data IP port (Enet2).
         This parameter will be either apexDataIpAddr or an APEX selected IP address.
         Refer to apexDataIpInUseReason for more information."
::= { apexDataIpStatusGeneral 5 }

apexDataIpSubnetMaskInUse OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates the Subnet Mask currently being used by the Data IP port (Enet2).
         This parameter will be either apexDataIpSubnetMask or an APEX selected mask.
         Refer to apexDataIpInUseReason for more information."
::= { apexDataIpStatusGeneral 6 }

apexDataIpInUseReason OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable       (0),
         userConfig          (1),
         directRemConnection (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Reason for apexDataIpAddrInUse and apexDataIpSubnetMaskInUse Data IP
         (Enet2) parameters.

         'notApplicable'       - Enet2 not configured by user or for REM
                                 connection.
         'userConfig'          - APEX is not overriding user configured
                                 parameters.
         'directRemConnection' - The DATA IP port (Enet2) is in use for QAM RF
                                 Redundancy so the APEX has overridden the user
                                 configured parameters.
        "
::= { apexDataIpStatusGeneral 7 }

apexDataIpLinkActive OBJECT-TYPE
    SYNTAX ActiveTYPE
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This indicates if the DataIP (ENET2) link is active."
::= { apexDataIpStatusGeneral 8 }

apexDataIpCurrentAutoNegotiateState OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Current auto-negotiation status on DATA IP network
        "        
::= { apexDataIpStatusGeneral 9 }

-- ------------------------------------------------------------------------------
--
-- apexGbe
--
-- apexGbeConfig
--
-- apexGbeConfigGeneral
--

apexGbeDefaultGateway1 OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This is the IP address of the default gateway for Gigabit Ethernet
         interfaces 1 and 2.

         Once written, the change to this parameter will take immediate
         effect.  However, in order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexGbeConfigGeneral 1 }

apexGbeDefaultGateway2 OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This is the IP address of the default gateway for Gigabit Ethernet
         interfaces 3 and 4.

         Once written, the change to this parameter will take immediate
         effect.  However, in order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexGbeConfigGeneral 2 }

apexGbeJitterAbsorption OBJECT-TYPE
    SYNTAX Integer32(0..200)
    MAX-ACCESS read-write
    STATUS obsolete
    DESCRIPTION
        "This object is obsolete.

         Jitter Absorption setting in range of 0 to 200 milliseconds
         in increments of 5 ms.  A change to this parameter will cause the
         Gigabit Ethernet processor to reset all of its internal Ethernet
         frame buffers. This will result in a momentary loss of data causing
         a minor glitch on all output streams.

         Once written, the change to this parameter will take immediate
         effect.  However, in order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Range(step=5)
         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexGbeConfigGeneral 3 }

apexGbeGarpPeriodicity OBJECT-TYPE
    SYNTAX Integer32(20..300)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Gratuitous ARP period in range of 20 to 300 seconds.

         Once written, the change to this parameter will take immediate
         effect.  However, in order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexGbeConfigGeneral 4 }

apexGbeConfigTableApplyChange OBJECT-TYPE
    SYNTAX ApplyDataToDeviceTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Apply for the Gigabit Ethernet Configuration Table. This parameter
         MUST be set to 'apply' in order for any of the data in the
         apexGbeConfigTable to take effect.  This parameter
         MUST be set LAST after all other data in the apexGbeConfigTable
         has been configured.

         @Config(config=no, reboot=no)
        "
::= { apexGbeConfigGeneral 5 }

apexGbeNominalBufferLevel OBJECT-TYPE
    SYNTAX Integer32(50..475)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Gigabit Ethernet Nominal Buffer Level. Range of 50 to 475 milliseconds
         in increments of 5 ms.  A change to this parameter will cause the
         Gigabit Ethernet processor to reset all of its internal Ethernet
         frame buffers. This will result in a momentary loss of data causing
         a minor glitch on all output streams.

         The buffer level is the normal standard starting level for an input
         stream buffer. It is highly recommended that this level not be changed
         from its default setting. The buffer level needs to be set at an
         appropriate amount to allow for network jitter, clock skew between the
         APEX and input source, and for maximum time between PCRs (100ms). In
         addition, the level must not be set too high as the buffer needs to be
         able to grow as packets are received and PCR processing is applied. This
         buffer level is the initial level the APEX will attempt to maintain at
         all times.

         Once written, the change to this parameter will take immediate
         effect.  However, in order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexGbeConfigGeneral 6 }

apexGbeInputDataTsSmoothingPeriod OBJECT-TYPE
    SYNTAX Integer32(250..650)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Input Data stream smoothing period. Amount of time in milliseconds
         over which the GigE will smooth out input streams that do not contain
         PCRs. This allows the GigE to play out the input streams with
         the packets equally spaced out over this period. This helps to reduce
         network jitter and bursts of data to the output.
         The smoothing period is used in conjunction with the data stream
         buffer depth to perform this smoothing algorithm. The smoothing
         period must be equal to or less than the data stream buffer depth.

         Once written, the change to this parameter will take immediate
         effect.  However, in order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(bcmr.ini, type='ini')
        "
::= { apexGbeConfigGeneral 7 }

apexGbeInputDataTsBufferDepth OBJECT-TYPE
    SYNTAX Integer32(250..650)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "GBE Input Data stream buffer depth. Amount of time in milliseconds
         that the GigE will buffer input streams that do not contain
         PCRs. This allows the GigE to buffer these streams to remove network
         jitter and then play them out with the packets equally spaced out.
         The buffer depth must be equal to or greater than the data stream
         smoothing period.

         Once written, the change to this parameter will take immediate
         effect.  However, in order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(bcmr.ini, type='ini')
        "
::= { apexGbeConfigGeneral 8 }

apexGbeConfigInputDataTsApplyText OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..80))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "When apexGbeConfigInputDataTsApplyChange is set to
         'applyNotInProgressInvalidData' this entry may contain
         a text description of what was wrong with the data. This
         entry contains the description for the most recent apply
         of a related entry that was invalid.
        "
::= { apexGbeConfigGeneral 9 }

apexGbeConfInputUnicastTimeout OBJECT-TYPE
    SYNTAX Integer32(600..6000)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Loss of input stream timeout value (in milliseconds) for unicast inputs.
         This determines the amount of time a unicast input stream is missing
         before the APEX will declare the input stream lost.
         
         Loss of input is used for determining all SDV failover conditions. 
         It is also used for Manual Routing failover conditions when using 
         hot/warm transport stream redundancy.

         Once written, the change to this parameter will take immediate effect.
         However, in order for the change to persist through subsequent reboots
         or power cycles, the change must be saved via the apexSaveConfig parameter.

         @Range(step=200)
         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexGbeConfigGeneral 10 }

apexGbeConfInputMulticastTimeout OBJECT-TYPE
    SYNTAX Integer32(600..6000)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Loss of input stream timeout value (in milliseconds) for multicast inputs.
         This determines the amount of time a unicast input stream is missing before
         the APEX will declare the input stream lost.

         Loss of input is used for determining all SDV failover conditions. 
         It is also used for Manual Routing failover conditions when using 
         hot/warm transport stream redundancy.

         Once written, the change to this parameter will take immediate effect.
         However, in order for the change to persist through subsequent reboots
         or power cycles, the change must be saved via the apexSaveConfig parameter.

         @Range(step=200)
         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexGbeConfigGeneral 11 }

apexGbeConfLossOfInputTsType OBJECT-TYPE
    SYNTAX RateComparisonTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Loss of input stream type. Determines if detection of loss of an input
         stream is based on data rate or stream rate. Data rate includes only
         non-null MPEG packets (such as video and audio packets). Stream rate
         includes all packets, including null packets. The loss of an input stream
         uses the timeout value for the specific input (unicast or multicast) and
         the input type. If no packets are received within the specified timeout
         value, taking into account the loss of input type checking, then the input
         stream is determined to be missing.

         Data rate should be used for detecting loss of input when the input stream
         is normally null filled. When a user requires notification of a loss of
         input stream when there is no content streamed, data rate should be selected.

         Stream rate should be used for detecting loss of input stream when the user
         requires to be notified when there is no input stream at all being received.

         Loss of input is used for determining all SDV failover conditions. 
         It is also used for Manual Routing failover conditions when using 
         hot/warm transport stream redundancy.

         Once written, the change to this parameter will take immediate effect.
         However, in order for the change to persist through subsequent reboots
         or power cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexGbeConfigGeneral 12 }


-- ------------------------------------------------------------------------------
--
-- apexGbeConfigTable
--

apexGbeConfigTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexGbeConfigEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This is a table of configuration parameters for the
         Gigabit Ethernet Interfaces.

         Once written, the change to this table will only take immediate
         effect after apexGbeConfigTableApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexGbeConfigTableApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexGbeConfig 2 }

apexGbeConfigEntry OBJECT-TYPE
    SYNTAX ApexGbeConfigEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Gigabit Ethernet Interface Configuration Table Entry."
    INDEX { apexGbeConfigInterfaceNum }
::= { apexGbeConfigTable 1 }

ApexGbeConfigEntry ::= SEQUENCE
    {
     apexGbeConfigInterfaceNum  Integer32,
     apexGbeConfigEnable        EnableDisableTYPE,
     apexGbeConfigIpAddr        IpAddress,
     apexGbeConfigIpSubnetMask  IpAddress,
     apexGbeConfigAutoNegotiate EnableDisableTYPE
    }

apexGbeConfigInterfaceNum OBJECT-TYPE
    SYNTAX Integer32(1..4)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Gigabit Ethernet Interface Number."
::= { apexGbeConfigEntry 1 }

apexGbeConfigEnable OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This parameter enables the Gigabit Ethernet Interface.
        "
::= { apexGbeConfigEntry 2 }

apexGbeConfigIpAddr OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This is the IP address of this Gigabit Ethernet interface.

         It is recommended that each Gigabit Ethernet interface be
         on a different subnet.  Each must be given a unique IP address.

         0.0.0.0 indicates the interface is not in use.
        "
::= { apexGbeConfigEntry 3 }

apexGbeConfigIpSubnetMask OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This is subnet mask of this Gigabit Ethernet interface.
        "
::= { apexGbeConfigEntry 4 }

apexGbeConfigAutoNegotiate OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Auto negotiation enabled or disabled.
        "
::= { apexGbeConfigEntry 5 }


-- ------------------------------------------------------------------------------
--
-- apexGbeConfigFrameBufferTable
--

apexGbeConfigFrameBufferTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexGbeConfigFrameBufferEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This is a table of configuration parameters related to
         Gigabit Ethernet Frame Buffer statistics gathering.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexGbeConfig 3 }

apexGbeConfigFrameBufferEntry OBJECT-TYPE
    SYNTAX ApexGbeConfigFrameBufferEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Gigabit Ethernet Frame Buffer Configuration Table Entry."
    INDEX { apexGbeConfigFrameBufferProcessorNum }
::= { apexGbeConfigFrameBufferTable 1 }

ApexGbeConfigFrameBufferEntry ::= SEQUENCE
    {
     apexGbeConfigFrameBufferProcessorNum   Integer32,
     apexGbeConfigFrameBufferMaxInDataRate  Unsigned32,
     apexGbeConfigFrameBufferAlarmThreshold Integer32
    }

apexGbeConfigFrameBufferProcessorNum OBJECT-TYPE
    SYNTAX Integer32(1..2)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Gigabit Ethernet Processor Number.
             Proc 1 = GBE Interfaces 1 and 2
             Proc 2 = GBE Interfaces 3 and 4
        "
::= { apexGbeConfigFrameBufferEntry 1 }

apexGbeConfigFrameBufferMaxInDataRate OBJECT-TYPE
    SYNTAX Unsigned32(1000000..2000000000)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Maximum Gigabit Ethernet MPEG input data rate in bps.  This is the total amount
         of MPEG data expected to be received by Gigabit Ethernet frame interfaces on the
         processor.

         This data rate is used to determine the frame buffer reset limit.  The expected
         data rate should always be set equal to or greater than the actual input data rate.
         The value of apexGbeJitterAbsorption can limit the valid range of this data rate.
         It is highly recommended that the user consult with Arris prior to changing
         the expected data rate.
        "
::= { apexGbeConfigFrameBufferEntry 2 }

apexGbeConfigFrameBufferAlarmThreshold OBJECT-TYPE
    SYNTAX Integer32(1..100)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "User defined threshold representing a percentage of frame buffer depth.
         The frame buffer level is monitored by the APEX and the maximum level is
         based on the actual input data rate.  The threshold percentage is used
         to determine when to issue a Gigabit Ethernet Frame Buffer Fullness
         alarm (apexAlarmGbeBufferFullness).
        "
::= { apexGbeConfigFrameBufferEntry 3 }


-- ------------------------------------------------------------------------------
--
-- apexGbeConfigInputRedundancy
--
-- apexGbeConfigInputRedundancyGeneral
--

apexGbeConfInRedundMonitorPeriod OBJECT-TYPE
    SYNTAX Integer32(1..30)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This is the time in seconds over which Redundant Gigabit Ethernet
         Input Transport Stream Pairs will be monitored.  Range is 1 to 30 seconds.

         Primary to Secondary Fail Over - The monitored data rate of the Primary
         must be below the Secondary by apexManRteGbeInRedThreshold (for
         Manual Routing) percent for apexGbeConfInRedundMonitorPeriod before fail 
         over to Secondary will occur.  Fail over to Secondary will not occur if
         fail over is suspended for the Primary.

         Secondary to Primary Switch Back - The monitored data rate of the
         Primary must have returned above apexManRteGbeInRedThreshold (for
         Manual Routing) percent below the Secondary for apexGbeConfInRedundMonitorPeriod
         before switch back to Primary will occur.  Switch back to Primary will
         not occur if fail over is suspended for the Secondary.  Once the Primary
         is restored, switch back to Primary will be delayed by
         apexGbeConfInRedundSwitchTime when apexGbeConfInRedundAutoSwitchBack is
         'enabled'.  Note that if apexGbeConfInRedundAutoSwitchBack is 'disabled'
         switch back will not occur.

         Once written, the change to this parameter will take immediate effect.
         However, in order for the change to persist through subsequent
         reboots or power cycles, the change must be saved via apexSaveConfig.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(gige_red.ini, type='ini')
        "
::= { apexGbeConfigInputRedundancyGeneral 1 }

apexGbeConfInRedundSwitchTime OBJECT-TYPE
    SYNTAX Integer32(0..3600)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This is the time in seconds to wait before switching back to the
         Primary of a Redundant Gigabit Ethernet Input TS pair after the Primary
         is healthy.  Range is 0 to 3600.  This time is in addition to
         apexGbeConfInRedundMonitorPeriod.  Switch back to Primary will
         not occur if fail over is suspended for the Secondary.

         Once written, the change to this parameter will take immediate effect.
         However, in order for the change to persist through subsequent
         reboots or power cycles, the change must be saved via apexSaveConfig.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(gige_red.ini, type='ini')
        "
::= { apexGbeConfigInputRedundancyGeneral 2 }

apexGbeConfInRedundAutoSwitchBack OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This is the enable/disable of automatic switch back from Secondary to
         Primary for Gigabit Ethernet redundancy.  When 'enabled', switch back
         to the Primary will automatically occur when the Primary is restored.
         When 'disabled', the user must force back to the Primary using
         apexGbeConfInRedundForceToPrimary or apexManRteGbeInRedForceSwitch.
         This parameter applies to all configured redundant pairs.
         
         Auto switch back to the primary will not occur if the user forced a 
         failover to the secondary. Auto switch back only occurs after a 
         non-forced failover event.

         Once written, the change to this parameter will take immediate effect.
         However, in order for the change to persist through subsequent
         reboots or power cycles, the change must be saved via apexSaveConfig.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(gige_red.ini, type='ini')
        "
::= { apexGbeConfigInputRedundancyGeneral 3 }

apexGbeConfInRedundForceToSecondary OBJECT-TYPE
    SYNTAX INTEGER
        {
         switchNotInProgress (1),
         forceSwitch         (2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Gigabit Ethernet Redundant Pair force switch any
         pair that is currently on the Primary to the Secondary.

         This will have no effect if the corresponding row setting of
         apexManRteGbeInRedEnable is 'disabled'.

         This will only have an effect when the Primary is the In-Use
         Input TS of a Redundant Pair (apexInputTsStatPriState or
         apexInputTsStatSecState is 'openedInUse').

         Once written, the change to this parameter will take immediate effect.

         @Config(config=no, reboot=no)
        "
::= { apexGbeConfigInputRedundancyGeneral 4 }

apexGbeConfInRedundForceToPrimary OBJECT-TYPE
    SYNTAX INTEGER
        {
         switchNotInProgress (1),
         forceSwitch         (2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Gigabit Ethernet Redundant Pair force switch any
         pair that is currently on the Secondary to the Primary.

         This will have no effect if the corresponding row setting of
         apexManRteGbeInRedEnable is 'disabled'.

         This will only have an effect when the Secondary is the In-Use
         Input TS of a Redundant Pair (apexInputTsStatPriState or
         apexInputTsStatSecState is 'openedInUse').

         Once written, the change to this parameter will take immediate effect.

         @Config(config=no, reboot=no)
        "
::= { apexGbeConfigInputRedundancyGeneral 5 }

apexGbeConfInRedundManualRouteRedundType OBJECT-TYPE
    SYNTAX INTEGER
        {
         hotWarm (1),
         hotHot  (2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The redundancy type for output streams in Manual Routing operating
         mode. 
         - hotWarm indicates only 1 input stream, primary or secondary, is
         open at any one time. For multicast streams, primary will be joined initially.
         The secondary is joined after a failover (the primary will be dropped prior
         to joining the secondary). When falling back to the primary, the secondary is
         dropped (closed), then the primary is joined (opened).
         
         - hotHot indicates both the primary and secondary streams are opened at the
         same time. For multicast streams, both streams are joined immediately.

         Changes to the redundancy type cannot be made while there are active routes. 
         All routes must be deleted prior to changing the redundancy type.

         Once written, a save must be performed via the apexSaveConfig
         parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(gige_red.ini, type='ini')
        "
::= { apexGbeConfigInputRedundancyGeneral 6 }


-- ------------------------------------------------------------------------------
--
-- apexGbeConfigInputDataTsTable
--

apexGbeConfigInputDataTsTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexGbeConfigInputDataTsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of data for GBE input data stream identification. Each entry in
         this table identifies a Gigabit Ethernet input stream that is a data
         stream only. Data streams are streams without PCR. These streams require
         special processing to avoid overflowing the output. There are
         128 rows in this table.

         Once written, the change to this table will only take immediate
         effect after apexGbeConfigInputDataTsApplyChange is set to 'apply'.
         However, in order for the change to persist through subsequent
         reboots or power cycles, the change must be saved via apexSaveConfig.

         @Config(config=yes, reboot=no)
         @Commit(param=apexGbeConfigInputDataTsApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(bcmr.ini, type='ini')
        "
::= { apexGbeConfig 5 }

apexGbeConfigInputDataTsEntry OBJECT-TYPE
    SYNTAX ApexGbeConfigInputDataTsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "GBE Input Data Stream Table Entry."
    INDEX { apexGbeConfigInputDataTsIndex }
::= { apexGbeConfigInputDataTsTable 1 }

ApexGbeConfigInputDataTsEntry ::= SEQUENCE
    {
     apexGbeConfigInputDataTsIndex       Integer32,
     apexGbeConfigInputDataTsEnable      EnableDisableTYPE,
     apexGbeConfigInputDataTsInterface   Integer32,
     apexGbeConfigInputDataTsUdp         Integer32,
     apexGbeConfigInputDataTsMulticastIp IpAddress,
     apexGbeConfigInputDataTsSourceIp    IpAddress,
     apexGbeConfigInputDataTsMaxRate     Integer32
    }

apexGbeConfigInputDataTsIndex OBJECT-TYPE
    SYNTAX Integer32(1..768)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Index of GBE Input Data Stream Table."
::= { apexGbeConfigInputDataTsEntry 1 }

apexGbeConfigInputDataTsEnable OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Indicates whether this GBE Input Data Stream entry is enabled or disabled.
        "
::= { apexGbeConfigInputDataTsEntry 2 }

apexGbeConfigInputDataTsInterface OBJECT-TYPE
    SYNTAX Integer32(0..4)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Number of the input interface (Port number).

         Range:
            '0'      = Not Applicable
            GBE      = 1-4
        "
::= { apexGbeConfigInputDataTsEntry 3 }

apexGbeConfigInputDataTsUdp OBJECT-TYPE
    SYNTAX Integer32(0..65535)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "GBE Input UDP Port.

         Range: 0-65535
        "
::= { apexGbeConfigInputDataTsEntry 4 }

apexGbeConfigInputDataTsMulticastIp OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Multicast receive IP address.
         An IP address of 0.0.0.0 indicates singlecast only.

         Multicast IP addresses 224.0.0.0 to 224.0.0.255 are reserved.
        "
::= { apexGbeConfigInputDataTsEntry 5 }

apexGbeConfigInputDataTsSourceIp OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This is the IP address of the source device. This field is only
         used when a multicast IP address is also specified.
        "
::= { apexGbeConfigInputDataTsEntry 6 }

apexGbeConfigInputDataTsMaxRate OBJECT-TYPE
    SYNTAX Integer32(0..54000)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The maximum data rate in Kbps for the data stream.
         A value of zero (0) is the default and the data stream
         is not rate limited.
         The maximum data rate limit may not exceed 54 Mbps.
        "
::= { apexGbeConfigInputDataTsEntry 7 }


-- ------------------------------------------------------------------------------
--
-- apexGbeConfigInputDataTsApplyTable
--

apexGbeConfigInputDataTsApplyTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexGbeConfigInputDataTsApplyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of Apply Change for the GBE Input Data Stream Table.

         A row in this table corresponds to the same row index in the
         GBE Input Data Stream table (apexGbeConfigInputDataTsTable).
        "
::= { apexGbeConfig 6 }

apexGbeConfigInputDataTsApplyEntry OBJECT-TYPE
    SYNTAX ApexGbeConfigInputDataTsApplyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "GBE Input Data Stream Apply Table Entry."
    INDEX { apexGbeConfigInputDataTsApplyIndex }
::= { apexGbeConfigInputDataTsApplyTable 1 }

ApexGbeConfigInputDataTsApplyEntry ::= SEQUENCE
    {
     apexGbeConfigInputDataTsApplyIndex  Integer32,
     apexGbeConfigInputDataTsApplyChange ApplyDataToDeviceTYPE
    }

apexGbeConfigInputDataTsApplyIndex OBJECT-TYPE
    SYNTAX Integer32(1..768)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The index of the GBE Input Data Stream Apply Table."
::= { apexGbeConfigInputDataTsApplyEntry 1 }

apexGbeConfigInputDataTsApplyChange OBJECT-TYPE
    SYNTAX ApplyDataToDeviceTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Apply for the row of data in the GBE Input Data Stream Table.

         A row in this table corresponds to the same row index in the
         GBE Input Data Stream table.

         This parameter MUST be set to 'apply' in order for any of the data
         in the table rows to take effect in the APEX.  This parameter MUST
         be set LAST after all other data in the table row has been configured.

         @Config(config=no, reboot=no)
        "
::= { apexGbeConfigInputDataTsApplyEntry 2 }


-- ------------------------------------------------------------------------------
--
-- apexGbeConfigInterfaceRedundancy
--
-- apexGbeConfigInterfaceRedundancyGeneral
--

apexGbeConfIfRedundAutoSwitchBackEnable OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Enables the ability for the secondary interface to switch back when
         link is re-detected on the primary interface. Auto switch back to the 
         primary interface will not occur if the user forced a failover to the
         secondary. Auto switch back only occurs after a non-forced failover.

         Once written, the change to this parameter will take immediate effect.
         However, in order for the change to persist through subsequent
         reboots or power cycles, the change must be saved via apexSaveConfig.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(gige_red.ini, type='ini')
        "
::= { apexGbeConfigInterfaceRedundancyGeneral 1 }

apexGbeConfIfRedundAutoSwitchBackPeriod OBJECT-TYPE
    SYNTAX Integer32(1..30)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Timer for determining that the primary interface is OK for auto-
         switchback.  The primary interface must have link for the configured
         amount of time.  Valid time is 1-30 seconds.

         Once written, the change to this parameter will take immediate effect.
         However, in order for the change to persist through subsequent
         reboots or power cycles, the change must be saved via apexSaveConfig.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(gige_red.ini, type='ini')
        "
::= { apexGbeConfigInterfaceRedundancyGeneral 2 }


-- ------------------------------------------------------------------------------
--
-- apexGbeConfigInterfaceRedundancyTable
--

apexGbeConfigInterfaceRedundancyTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexGbeConfigInterfaceRedundancyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This is a table of configuration parameters for GbE Interface
         Redundancy."
::= { apexGbeConfigInterfaceRedundancy 2 }

apexGbeConfigInterfaceRedundancyEntry OBJECT-TYPE
    SYNTAX ApexGbeConfigInterfaceRedundancyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "GbE Interface Redundancy Configuration Table Entry."
    INDEX { apexGbeConfIfRedundIndex }
::= { apexGbeConfigInterfaceRedundancyTable 1 }

ApexGbeConfigInterfaceRedundancyEntry ::= SEQUENCE
    {
     apexGbeConfIfRedundIndex                    Integer32,
     apexGbeConfIfRedundEnable                   EnableDisableTYPE,
     apexGbeConfIfRedundForceFailover            INTEGER,
     apexGbeConfIfRedundSuspendFailover          EnableDisableTYPE
    }

apexGbeConfIfRedundIndex OBJECT-TYPE
    SYNTAX Integer32(1..2)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "GbE Interface Pair number.
         Value of 1 is GbE1 and GbE2 pair.
         Value of 2 is GbE3 and GbE4 pair."
::= { apexGbeConfigInterfaceRedundancyEntry 1 }

apexGbeConfIfRedundEnable OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Enables GbE Interface Redundancy for ports pair.  Failover is
         based on link status.  If the primary GbE fails, the secondary 
         GbE will become active and will start receiving content.  
         There is no data rate comparison, as only one interface in the 
         redundancy pair is active.  The secondary GbE cannot be in use prior 
         to enabling redundancy.  TS redundancy may not be used at
         the same time as interface redundancy.  Interface redundancy is not
         applicable when chassis redundancy is enabled.

         Once written, the change to this table will only take immediate
         effect after apexGbeConfIfRedundApplyChange is set to 'apply'.
         However, in order for the change to persist through subsequent
         reboots or power cycles, the change must be saved via apexSaveConfig.

         @Config(config=yes, reboot=no)
         @Commit(param=apexGbeConfIfRedundApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(gige_red.ini, type='ini')
        "
::= { apexGbeConfigInterfaceRedundancyEntry 2 }

apexGbeConfIfRedundForceFailover OBJECT-TYPE
    SYNTAX INTEGER
        {
         failoverNotInProgress (1),
         failover              (2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "When set to failover(2), this results in the APEX switching to 
         the interface that is currently not in use.  If the primary GbE is 
         in use and this is set to failover(2) mappings will be then 
         routed to the secondary GbE.  If the secondary GbE is in use and 
         this is set to failover(2) mappings will then be routed back to 
         the primary GbE.

         Once written, the change to this table will take immediate

         @Config(config=no, reboot=no)
        "
::= { apexGbeConfigInterfaceRedundancyEntry 3 }


apexGbeConfIfRedundSuspendFailover OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Enables and disables suspending of Interface failover. Prevents failovers
         to or from backup.  Force failover (apexGbeConfIfRedundForceFailover)
         overrides this setting.  

         Once written, the change to this table will only take immediate
         effect after apexGbeConfIfRedundApplyChange is set to 'apply'.
         However, in order for the change to persist through subsequent
         reboots or power cycles, the change must be saved via apexSaveConfig.

         @Config(config=yes, reboot=no)
         @Commit(param=apexGbeConfIfRedundApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(gige_red.ini, type='ini')
        "
::= { apexGbeConfigInterfaceRedundancyEntry 4 }


-- ------------------------------------------------------------------------------
--
-- apexGbeConfigInterfaceRedundancyApplyTable
--

apexGbeConfigInterfaceRedundancyApplyTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexGbeConfigInterfaceRedundancyApplyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of Apply Change for the GBE Interface Redundancy Configuration Table.

         A row in this table corresponds to the same row index in the
         GBE Config Interface Redundancy table (apexGbeConfigInterfaceRedundancyTable).
        "
::= { apexGbeConfigInterfaceRedundancy 3 }

apexGbeConfigInterfaceRedundancyApplyEntry OBJECT-TYPE
    SYNTAX ApexGbeConfigInterfaceRedundancyApplyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "GBE Config Interface Redundancy Table Entry."
    INDEX { apexGbeConfIfRedundApplyIndex }
::= { apexGbeConfigInterfaceRedundancyApplyTable 1 }

ApexGbeConfigInterfaceRedundancyApplyEntry ::= SEQUENCE
    {
     apexGbeConfIfRedundApplyIndex  Integer32,
     apexGbeConfIfRedundApplyChange ApplyDataToDeviceTYPE
    }

apexGbeConfIfRedundApplyIndex OBJECT-TYPE
    SYNTAX Integer32(1..2)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The index of the GBE Config Interface Redundancy Table."
::= { apexGbeConfigInterfaceRedundancyApplyEntry 1 }

apexGbeConfIfRedundApplyChange OBJECT-TYPE
    SYNTAX ApplyDataToDeviceTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Apply for the row of data in the GBE Config Interface Redundancy Table.

         A row in this table corresponds to the same row index in the
         GBE Config Interface Redundancy table.

         This parameter MUST be set to 'apply' in order for any of the data
         in the GBE Input Data Stream Table row to take effect in the APEX.  This
         parameter MUST be set LAST after all other data in the GBE Input Data Stream
         Table row has been configured.

         @Config(config=no, reboot=no)
        "
::= { apexGbeConfigInterfaceRedundancyApplyEntry 2 }


-- ------------------------------------------------------------------------------
--
-- apexGbeStatus
--
-- apexGbeStatusGeneral
--

apexGbeBootCodeVersion OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..31))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "APEX Gigabit Ethernet Processor Boot Code Version."
::= { apexGbeStatusGeneral 1 }

apexGbeApplicationCodeVersion OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..31))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "APEX Gigabit Ethernet Processor Application Code Version."
::= { apexGbeStatusGeneral 2 }

apexGbeMaxInputTs OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Maximum number of Gigabit Ethernet input transport streams
         that can be opened on this APEX.  This is the maximum across
         all installed GigE interfaces.  One GigE interface can use
         all Input TS."
::= { apexGbeStatusGeneral 3 }

apexGbeRoutedPacketUpdateInterval OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Time in seconds between Gigabit Ethernet Routed Packet
         Count updates.  The count during this time is defined as one sample.

         This time applies to packet counts contained in
         apexGbeStatusRoutedPacketTable.

         To compute rate from packet count for the last update interval:
         Rate(bps) = (Packet_Count * 188 bytes/packet * 8 bits/byte) / Update_Interval

         This value is set by the APEX at startup and is constant.
        "
::= { apexGbeStatusGeneral 4 }


-- ------------------------------------------------------------------------------
--
-- apexGbeStatusTable
--

apexGbeStatusTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexGbeStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This is a table of status parameters for the
         Gigabit Ethernet Interface."
::= { apexGbeStatus 2 }

apexGbeStatusEntry OBJECT-TYPE
    SYNTAX ApexGbeStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Gigabit Ethernet Interface Status Table Entry."
    INDEX { apexGbeStatusGbeInterfaceNum }
::= { apexGbeStatusTable 1 }

ApexGbeStatusEntry ::= SEQUENCE
    {
     apexGbeStatusGbeInterfaceNum     Integer32,
     apexGbeStatusMacAddr             DisplayString,
     apexGbeStatusLinkActive          ActiveTYPE,
     apexGbeStatusIgmpVersion         INTEGER,
     apexGbeStatusLossOfPhysicalInput INTEGER
    }

apexGbeStatusGbeInterfaceNum OBJECT-TYPE
    SYNTAX Integer32(1..4)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Gigabit Ethernet Interface Number."
::= { apexGbeStatusEntry 1 }

apexGbeStatusMacAddr OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..17))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This is the MAC address of the Gigabit Ethernet Interface.
         It is set at the factory and cannot be changed.
         The string length is 17 characters in the format
         'hh:hh:hh:hh:hh:hh' where 'hh' is a hexadecimal number."
::= { apexGbeStatusEntry 2 }

apexGbeStatusLinkActive OBJECT-TYPE
    SYNTAX ActiveTYPE
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This indicates if the Gigabit Ethernet optical link is active."
::= { apexGbeStatusEntry 3 }

apexGbeStatusIgmpVersion OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable       (0),
         igmpV1 (1),
         igmpV2 (2),
         igmpV3 (3)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This indicates the IGMP Version being used on this interface."
::= { apexGbeStatusEntry 4 }

apexGbeStatusLossOfPhysicalInput OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current severity of apexAlarmGbeLossOfPhysicalInput
         for this interface.
        "
::= { apexGbeStatusEntry 5 }


-- ------------------------------------------------------------------------------
--
-- apexGbeInputTsAssignedTable
--

apexGbeInputTsAssignedTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexGbeInputTsAssignedEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of Gigabit Ethernet Input TS Assigned data."
::= { apexGbeStatus 3 }

apexGbeInputTsAssignedEntry OBJECT-TYPE
    SYNTAX ApexGbeInputTsAssignedEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Gigabit Ethernet Interface Input TS Assigned Table Entry."
    INDEX { apexGbeInputTsAssignedGbeInterfaceNum }
::= { apexGbeInputTsAssignedTable 1 }

ApexGbeInputTsAssignedEntry ::= SEQUENCE
    {
     apexGbeInputTsAssignedGbeInterfaceNum Integer32,
     apexGbeInputTsAssignedCount           Counter32
    }

apexGbeInputTsAssignedGbeInterfaceNum OBJECT-TYPE
    SYNTAX Integer32(1..4)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The index of the Gigabit Ethernet Input TS Assigned Table.
         Represents the Gigabit Ethernet interface number."
::= { apexGbeInputTsAssignedEntry 1 }

apexGbeInputTsAssignedCount OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of input transport streams assigned to the GigE interface."
::= { apexGbeInputTsAssignedEntry 2 }


-- ------------------------------------------------------------------------------
--
-- apexGbeOpenInputUdpPortTable
--

apexGbeOpenInputUdpPortTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexGbeOpenInputUdpPortEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of Gigabit Ethernet Input Open UDP Port data."
::= { apexGbeStatus 4 }

apexGbeOpenInputUdpPortEntry OBJECT-TYPE
    SYNTAX ApexGbeOpenInputUdpPortEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Gigabit Ethernet Interface Input Open UDP Port Table Entry."
    INDEX { apexGbeOpenInputUdpPortGbeInterfaceNum }
::= { apexGbeOpenInputUdpPortTable 1 }

ApexGbeOpenInputUdpPortEntry ::= SEQUENCE
    {
     apexGbeOpenInputUdpPortGbeInterfaceNum Integer32,
     apexGbeOpenInputUdpPortCount           Counter32
    }

apexGbeOpenInputUdpPortGbeInterfaceNum OBJECT-TYPE
    SYNTAX Integer32(1..4)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The index of the Gigabit Ethernet Input Open UDP Port Table.
         Represents the Gigabit Ethernet interface number."
::= { apexGbeOpenInputUdpPortEntry 1 }

apexGbeOpenInputUdpPortCount OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of open Input UDP Ports on the GigE interface."
::= { apexGbeOpenInputUdpPortEntry 2 }


-- ------------------------------------------------------------------------------
--
-- apexGbeStatusRoutedPacketTable
--

apexGbeStatusRoutedPacketTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexGbeStatusRoutedPacketEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This table contains Gigabit Ethernet MPEG packet counts for
         each Output Transport Stream of this APEX.

         Update interval is apexGbeRoutedPacketUpdateInterval."
::= { apexGbeStatus 5 }

apexGbeStatusRoutedPacketEntry OBJECT-TYPE
    SYNTAX ApexGbeStatusRoutedPacketEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Gigabit Ethernet Interface Status Routed Packet
         Table Entry."
    INDEX { apexGbeStatusRoutedPacketOutputTsNum }
::= { apexGbeStatusRoutedPacketTable 1 }

ApexGbeStatusRoutedPacketEntry ::= SEQUENCE
    {
     apexGbeStatusRoutedPacketOutputTsNum Integer32,
     apexGbeStatusTotRoutedPackets        Counter32,
     apexGbeStatusNumRoutedPackets        Counter32
    }

apexGbeStatusRoutedPacketOutputTsNum OBJECT-TYPE
    SYNTAX Integer32(1..48)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The index of the Gigabit Ethernet Routed Packet
         Status Table.  Represents Output Transport Stream
         number."
::= { apexGbeStatusRoutedPacketEntry 1 }

apexGbeStatusTotRoutedPackets OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Total number of Gigabit Ethernet MPEG packets routed to this
         Output Transport Stream."
::= { apexGbeStatusRoutedPacketEntry 2 }

apexGbeStatusNumRoutedPackets OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of Gigabit Ethernet MPEG packets routed to this Output
         Transport Stream during the last monitoring period
         (apexGbeRoutedPacketUpdateInterval)."
::= { apexGbeStatusRoutedPacketEntry 3 }


-- ------------------------------------------------------------------------------
--
-- apexGbeStatusFrameCounter
--
-- apexGbeStatusFrameCounterGeneral
--

apexGbeStatusFrameCounterTableResetAll OBJECT-TYPE
    SYNTAX ResetStatisticsTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Reset Ethernet Frame Counter Totals for all GigE interfaces:
            - apexGbeTotalRxSinglecastFrames
            - apexGbeTotalRxMulticastFrames
            - apexGbeTotalRxBroadcastFrames
            - apexGbeTotalRxErrorFrames
            - apexGbeTotalRxFrames
            - apexGbeTotalTxGoodFrames
            - apexGbeTotalTxErrorFrames

         Once written, the change to this parameter will take immediate effect.

         @Config(config=no, reboot=no)
        "
::= { apexGbeStatusFrameCounterGeneral 1 }

apexGbeFrameCounterUpdateInterval OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Time in seconds between Gigabit Ethernet Frame Counter
         updates.  The count during this time is defined as one sample.

         This time applies to packet counts contained in
         apexGbeStatusFrameCounterTable.

         To compute rate from frame count for the last update interval:
         Rate(bps) = (Frame_Count * 7 packets/frame 188 bytes/packet * 8 bits/byte)
                     / Update_Interval

         This value is set by the APEX at startup and is constant.
        "
::= { apexGbeStatusFrameCounterGeneral 2 }


-- ------------------------------------------------------------------------------
--
-- apexGbeStatusFrameCounterTable
--

apexGbeStatusFrameCounterTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexGbeStatusFrameCounterEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of Gigabit Ethernet Frame Counter Statistics."
::= { apexGbeStatusFrameCounter 2 }

apexGbeStatusFrameCounterEntry OBJECT-TYPE
    SYNTAX ApexGbeStatusFrameCounterEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Gigabit Ethernet Interface Frame Counter Table Entry."
    INDEX { apexGbeFrameCounterGbeInterfaceNum }
::= { apexGbeStatusFrameCounterTable 1 }

ApexGbeStatusFrameCounterEntry ::= SEQUENCE
    {
     apexGbeFrameCounterGbeInterfaceNum Integer32,
     apexGbeFrameCounterReset           ResetStatisticsTYPE,
     apexGbeTotalRxSinglecastFrames     Counter32,
     apexGbeTotalRxMulticastFrames      Counter32,
     apexGbeTotalRxBroadcastFrames      Counter32,
     apexGbeTotalRxErrorFrames          Counter32,
     apexGbeTotalRxFrames               Counter32,
     apexGbeRxSinglecastFrames          Counter32,
     apexGbeRxMulticastFrames           Counter32,
     apexGbeRxBroadcastFrames           Counter32,
     apexGbeRxErrorFrames               Counter32,
     apexGbeRxFrames                    Counter32,
     apexGbeTotalTxGoodFrames           Counter32,
     apexGbeTotalTxErrorFrames          Counter32,
     apexGbeTxGoodFrames                Counter32,
     apexGbeTxErrorFrames               Counter32,
     apexGbeRxDocsisFrames              Counter32,
     apexGbeRxMpegDocsisFrames          Counter32,
     apexGbeTotalRxDocsisFrames         Counter32,
     apexGbeIpFragmentedPkts            Counter32,
     apexGbeTotalIpFragmentedPkts       Counter32 
    }

apexGbeFrameCounterGbeInterfaceNum OBJECT-TYPE
    SYNTAX Integer32(1..4)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The index of the Gigabit Ethernet Frame Counter Table.
         Represents the Gigabit Ethernet interface number."
::= { apexGbeStatusFrameCounterEntry 1 }

apexGbeFrameCounterReset OBJECT-TYPE
    SYNTAX ResetStatisticsTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Reset Ethernet Frame Counter Statistics totals for a single GigE interface:
            - apexGbeTotalRxSinglecastFrames
            - apexGbeTotalRxMulticastFrames
            - apexGbeTotalRxBroadcastFrames
            - apexGbeTotalRxErrorFrames
            - apexGbeTotalRxFrames
            - apexGbeTotalTxGoodFrames
            - apexGbeTotalTxErrorFrames

         Once written, the change to this parameter will take immediate effect.

         @Config(config=no, reboot=no)
        "
::= { apexGbeStatusFrameCounterEntry 2 }

apexGbeTotalRxSinglecastFrames OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Total number of singlecast Ethernet frames received since last reset.
         Reset using apexGbeStatusFrameCounterTableResetAll or apexGbeFrameCounterReset."
::= { apexGbeStatusFrameCounterEntry 3 }

apexGbeTotalRxMulticastFrames OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Total number of multicast Ethernet frames received since last reset.
         Reset using apexGbeStatusFrameCounterTableResetAll or apexGbeFrameCounterReset."
::= { apexGbeStatusFrameCounterEntry 4 }

apexGbeTotalRxBroadcastFrames OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Total number of broadcast Ethernet frames received since last reset.
         Reset using apexGbeStatusFrameCounterTableResetAll or apexGbeFrameCounterReset."
::= { apexGbeStatusFrameCounterEntry 5 }

apexGbeTotalRxErrorFrames OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Total number of bad Ethernet frames received since last reset.
         Reset using apexGbeStatusFrameCounterTableResetAll or apexGbeFrameCounterReset."
::= { apexGbeStatusFrameCounterEntry 6 }

apexGbeTotalRxFrames OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Total number of Ethernet frames received since last reset.
         This is the sum of apexGbeTotalRxSinglecastFrames, apexGbeTotalRxMulticastFrames,
         apexGbeTotalRxBroadcastFrames, and apexGbeTotalRxErrorFrames.
         Reset using apexGbeStatusFrameCounterTableResetAll or apexGbeFrameCounterReset."
::= { apexGbeStatusFrameCounterEntry 7 }

apexGbeRxSinglecastFrames OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of singlecast Ethernet frames received during last
         status checking interval.
         Status checking interval is apexGbeFrameCounterUpdateInterval."
::= { apexGbeStatusFrameCounterEntry 8 }

apexGbeRxMulticastFrames OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of multicast Ethernet frames received during
         last status checking interval.
         Status checking interval is apexGbeFrameCounterUpdateInterval."
::= { apexGbeStatusFrameCounterEntry 9 }

apexGbeRxBroadcastFrames OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of broadcast Ethernet frames received during last status
         checking interval.
         Status checking interval is apexGbeFrameCounterUpdateInterval."
::= { apexGbeStatusFrameCounterEntry 10 }

apexGbeRxErrorFrames OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of bad Ethernet frames received during
         last status checking interval.
         Status checking interval is apexGbeFrameCounterUpdateInterval."
::= { apexGbeStatusFrameCounterEntry 11 }

apexGbeRxFrames OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of Ethernet frames received during last
         status checking interval.
         This is the sum of apexGbeRxSinglecastFrames, apexGbeRxMulticastFrames,
         apexGbeRxBroadcastFrames, and apexGbeRxErrorFrames.
         Status checking interval is five seconds."
::= { apexGbeStatusFrameCounterEntry 12 }

apexGbeTotalTxGoodFrames OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Total number of good Ethernet frames (singlecast, multicast, and broadcast)
         transmitted since last reset.
         Reset using apexGbeStatusFrameCounterTableResetAll or apexGbeFrameCounterReset."
::= { apexGbeStatusFrameCounterEntry 13 }

apexGbeTotalTxErrorFrames OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Total number of bad Ethernet frames transmitted since last reset.
         Reset using apexGbeStatusFrameCounterTableResetAll or apexGbeFrameCounterReset."
::= { apexGbeStatusFrameCounterEntry 14 }

apexGbeTxGoodFrames OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of good Ethernet frames (singlecast, multicast, and broadcast)
         transmitted during last status checking interval.
         Status checking interval is five seconds."
::= { apexGbeStatusFrameCounterEntry 15 }

apexGbeTxErrorFrames OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of bad Ethernet frames transmitted during last
         status checking interval.
         Status checking interval is five seconds."
::= { apexGbeStatusFrameCounterEntry 16 }

apexGbeRxDocsisFrames OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of good Ethernet frames containing DOCSIS (singlecast, multicast, and broadcast)
         received during last status checking interval.
         Status checking interval is five seconds."
::= { apexGbeStatusFrameCounterEntry 17 }

apexGbeTotalRxDocsisFrames OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Total number of good Ethernet frames containing DOCSIS(singlecast, multicast, and broadcast)
         received since last reset.
         Reset using apexGbeStatusFrameCounterTableResetAll or apexGbeFrameCounterReset."
::= { apexGbeStatusFrameCounterEntry 18 }

apexGbeRxMpegDocsisFrames OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of MPEG packets generated from DOCSIS data (singlecast, multicast, and broadcast)
         received during last status checking interval.
         Status checking interval is five seconds."
::= { apexGbeStatusFrameCounterEntry 19 }

apexGbeIpFragmentedPkts OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of IP fragmented packets received during last status checking interval.
         Status checking interval is five seconds."
::= { apexGbeStatusFrameCounterEntry 20 }

apexGbeTotalIpFragmentedPkts OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Total number of IP fragmented packets received during last status checking interval.
         Status checking interval is five seconds."
::= { apexGbeStatusFrameCounterEntry 21 }


-- ------------------------------------------------------------------------------
--
-- apexGbeFrameBufferStats
--
-- apexGbeFrameBufferStatsGeneral
--

-- none


-- ------------------------------------------------------------------------------
--
-- apexGbeFrameBufferStatsTable
--

apexGbeFrameBufferStatsTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexGbeFrameBufferStatsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of Gigabit Ethernet Frame Buffer Statistics for each GBE processor."
::= { apexGbeFrameBufferStats 2 }

apexGbeFrameBufferStatsEntry OBJECT-TYPE
    SYNTAX ApexGbeFrameBufferStatsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Gigabit Ethernet Frame Buffer Statistics Table Entry."
    INDEX { apexGbeFrameBufferProcessorNum }
::= { apexGbeFrameBufferStatsTable 1 }

ApexGbeFrameBufferStatsEntry ::= SEQUENCE
    {
     apexGbeFrameBufferProcessorNum    Integer32,
     apexGbeFrameBufferResetLevelLimit Integer32,
     apexGbeFrameBufferCurrMsLevel     Integer32,
     apexGbeFrameBufferCurrPercentFull Integer32,
     apexGbeFrameBufferUnderflowLevel  Integer32,
     apexGbeFrameBufferOverflowLevel   Integer32,
     apexGbeFrameBufferAlarmStatus     INTEGER
    }

apexGbeFrameBufferProcessorNum OBJECT-TYPE
    SYNTAX Integer32(1..2)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Index of the Gigabit Ethernet Buffer Statistics Table.

         Gigabit Ethernet Processor Number.
             Proc 1 = GBE Interfaces 1 and 2
             Proc 2 = GBE Interfaces 3 and 4
        "
::= { apexGbeFrameBufferStatsEntry 1 }

apexGbeFrameBufferResetLevelLimit OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The point at which the GigE frame buffer will be reset, in milliseconds.
         This value is equal to (maximum buffer depth - 5).  The maximum buffer
         depth is calculated based on the expected input data rate
         (apexGbeConfigFrameBufferMaxInDataRate)."
::= { apexGbeFrameBufferStatsEntry 2 }

apexGbeFrameBufferCurrMsLevel OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Current highest Gigabit Ethernet Frame Buffer level in milliseconds."
::= { apexGbeFrameBufferStatsEntry 3 }

apexGbeFrameBufferCurrPercentFull OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Current highest Gigabit Ethernet Frame Buffer fullness as a percentage of
         the buffer depth available for a given aggregate rate.  This percentage is
         calculated using the current buffer level (apexGbeFrameBufferCurrMsLevel) and
         the actual input data rate."
::= { apexGbeFrameBufferStatsEntry 4 }

apexGbeFrameBufferUnderflowLevel OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The point at which the GigE frame buffer will underflow, in milliseconds.
         This value is calculated based on the sum of the number of received frames per second
         for all interfaces."
::= { apexGbeFrameBufferStatsEntry 5 }

apexGbeFrameBufferOverflowLevel OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The point at which the GigE frame buffer will overflow, in milliseconds.
         This value is calculated based on the sum of the number of received frames per second
         for all interfaces."
::= { apexGbeFrameBufferStatsEntry 6 }

apexGbeFrameBufferAlarmStatus OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current highest severity of apexAlarmGbeBufferFullness for the
         GBE Processor.
        "
::= { apexGbeFrameBufferStatsEntry 7 }


-- ------------------------------------------------------------------------------
--
-- apexGbeFrameBufferHourlyTable
--

apexGbeFrameBufferHourlyTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexGbeFrameBufferHourlyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of Gigabit Ethernet Frame Buffer Statistics.  There can be up
         to 24 entries in the table for each GBE Processor.  Each entry represents
         one hour.  The newest entry is placed at the beginning of the table and,
         if necessary, the oldest entry is pushed off the end of the table.  The
         table will not be full until 24 hours have passed."
::= { apexGbeFrameBufferStats 3 }

apexGbeFrameBufferHourlyEntry OBJECT-TYPE
    SYNTAX ApexGbeFrameBufferHourlyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Gigabit Ethernet Interface Frame Buffer Table Entry."
    INDEX { apexGbeFrameBufferHourlyProcessorNum, apexGbeFrameBufferHourlyIndex }
::= { apexGbeFrameBufferHourlyTable 1 }

ApexGbeFrameBufferHourlyEntry ::= SEQUENCE
    {
     apexGbeFrameBufferHourlyProcessorNum   Integer32,
     apexGbeFrameBufferHourlyIndex          Integer32,
     apexGbeFrameBufferHourlyInInterface    Integer32,
     apexGbeFrameBufferHourlyInUdp          Integer32,
     apexGbeFrameBufferHourlyInMulticastIp  IpAddress,
     apexGbeFrameBufferHourlyInSourceIp     IpAddress,
     apexGbeFrameBufferHourlyMaxMsLevel     Integer32,
     apexGbeFrameBufferHourlyMaxPercentFull Integer32,
     apexGbeFrameBufferHourlyGpsTime        Integer32,
     apexGbeFrameBufferHourlyOverflows      Integer32,
     apexGbeFrameBufferHourlyResets         Integer32
    }

apexGbeFrameBufferHourlyProcessorNum OBJECT-TYPE
    SYNTAX Integer32(1..2)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "First index of the Gigabit Ethernet Buffer Status Table.

         Gigabit Ethernet Processor Number.
             Proc 1 = GBE Interfaces 1 and 2
             Proc 2 = GBE Interfaces 3 and 4
        "
::= { apexGbeFrameBufferHourlyEntry 1 }

apexGbeFrameBufferHourlyIndex OBJECT-TYPE
    SYNTAX Integer32(1..24)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Second index of the Gigabit Ethernet Buffer Status Table.

         Each index represents one hour.  There can be up to 24 entries in the table.
         The most recent entry is always at the beginning of the table."
::= { apexGbeFrameBufferHourlyEntry 2 }

apexGbeFrameBufferHourlyInInterface OBJECT-TYPE
    SYNTAX Integer32(0..4)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of the input interface for the Gigabit Ethernet
         interface that experienced the highest buffer level for the hour.
        "
::= { apexGbeFrameBufferHourlyEntry 3 }

apexGbeFrameBufferHourlyInUdp OBJECT-TYPE
    SYNTAX Integer32(0..65535)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Input UDP Port for the Gigabit Ethernet
         interface that experienced the highest buffer level for the hour.
        "
::= { apexGbeFrameBufferHourlyEntry 4 }

apexGbeFrameBufferHourlyInMulticastIp OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Input Multicast IP address for the Gigabit Ethernet
         interface that experienced the highest buffer level for the hour.
        "
::= { apexGbeFrameBufferHourlyEntry 5 }

apexGbeFrameBufferHourlyInSourceIp OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Input IGMP v3 Source IP for the Gigabit Ethernet
         interface that experienced the highest buffer level for the hour.
        "
::= { apexGbeFrameBufferHourlyEntry 6 }

apexGbeFrameBufferHourlyMaxMsLevel OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The maximum Gigabit Ethernet frame buffer level (in milliseconds)
         recorded for the hour."
::= { apexGbeFrameBufferHourlyEntry 7 }

apexGbeFrameBufferHourlyMaxPercentFull OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The maximum Gigabit Ethernet frame buffer level percentage recorded
         for the hour."
::= { apexGbeFrameBufferHourlyEntry 8 }

apexGbeFrameBufferHourlyGpsTime OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The GPS time when the maximum Gigabit Ethernet frame buffer level
         was reached."
::= { apexGbeFrameBufferHourlyEntry 9 }

apexGbeFrameBufferHourlyOverflows OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of overflows recorded on Gigabit Ethernet interface
         for the hour."
::= { apexGbeFrameBufferHourlyEntry 10 }

apexGbeFrameBufferHourlyResets OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of resets reported by the GigE processor during the hour."
::= { apexGbeFrameBufferHourlyEntry 11 }


-- ------------------------------------------------------------------------------
--
-- apexGbeStatusInputTransportStream
--
-- apexGbeStatusInputTsGeneral
--

apexGbeStatusInputTsUpdateInterval OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Time in seconds between Gigabit Ethernet Input Transport Stream Packet
         Count updates.  The count during this time is defined as one sample.

         This time applies to packet counts contained in
         apexGbeStatusInputTsTable.

         To compute rate from packet count for the last update interval:
         Rate(bps) = (Packet_Count * 188 bytes/packet * 8 bits/byte) / Update_Interval

         This value is set by the APEX at startup and is constant.
        "
::= { apexGbeStatusInputTsGeneral 1 }


-- ------------------------------------------------------------------------------
--
-- apexGbeStatusInputTsTable
--

apexGbeStatusInputTsTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexGbeStatusInputTsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of Gigabit Ethernet Input Transport Stream status.

         A row in this table corresponds to the same index row in
         apexInputTsStatTable and apexGbeStatusInputTsErrorTable.

         Packet Counts are updated every apexGbeStatusInputTsUpdateInterval.
         The count during a apexGbeStatusInputTsUpdateInterval is a sample.
         The samples are accumulated into a set of rolling statistics that cover
         a maximum of a 15 minute sampling time period.  The sampling period is
         the amount of time over which the data in the corresponding row has been
         collected.  When the sampling period reaches 15 minutes, old data is
         removed from the accumulated statistics and new data is rolled in.  In
         this way, the average, minimum, and peak rates for the sampling period
         are maintained.
        "
::= { apexGbeStatusInputTransportStream 2 }

apexGbeStatusInputTsEntry OBJECT-TYPE
    SYNTAX ApexGbeStatusInputTsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Gigabit Ethernet Input Transport Stream Status Table Entry."
    INDEX { apexGbeStatInTsInputTsNum }
::= { apexGbeStatusInputTsTable 1 }

ApexGbeStatusInputTsEntry ::= SEQUENCE
    {
     apexGbeStatInTsInputTsNum             Integer32,
     apexGbeStatInTsSamplingPeriod         Integer32,
     apexGbeStatInTsPriCurDataCount        Counter32,
     apexGbeStatInTsPriAvgDataCount        Counter32,
     apexGbeStatInTsPriMinDataCount        Counter32,
     apexGbeStatInTsPriPeakDataCount       Counter32,
     apexGbeStatInTsPriCurStreamCount      Counter32,
     apexGbeStatInTsPriAvgStreamCount      Counter32,
     apexGbeStatInTsPriMinStreamCount      Counter32,
     apexGbeStatInTsPriPeakStreamCount     Counter32,
     apexGbeStatInTsSecCurDataCount        Counter32,
     apexGbeStatInTsSecAvgDataCount        Counter32,
     apexGbeStatInTsSecMinDataCount        Counter32,
     apexGbeStatInTsSecPeakDataCount       Counter32,
     apexGbeStatInTsSecCurStreamCount      Counter32,
     apexGbeStatInTsSecAvgStreamCount      Counter32,
     apexGbeStatInTsSecMinStreamCount      Counter32,
     apexGbeStatInTsSecPeakStreamCount     Counter32,
     apexGbeStatInTsTotPacketDropCount     Counter32,
     apexGbeStatInTsCurPacketDropCount     Counter32
    }

apexGbeStatInTsInputTsNum OBJECT-TYPE
    SYNTAX Integer32(1..768)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The Gigabit Ethernet Input Transport Stream Status table index.

         A row in this table corresponds to the same index row in
         apexInputTsStatTable and apexGbeStatusInputTsErrorTable.
        "
::= { apexGbeStatusInputTsEntry 1 }

apexGbeStatInTsSamplingPeriod OBJECT-TYPE
    SYNTAX Integer32(0..900)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The total time, in seconds, over which the packet counts statistics
         in this row have been collected.

         Refer to the description of apexGbeStatusInputTsTable for an
         explanation of packet counting.  Refer to the description of
         apexGbeStatusInputTsUpdateInterval for an explanation of update
         interval and computing rates.
        "
::= { apexGbeStatusInputTsEntry 2 }

apexGbeStatInTsPriCurDataCount OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Data Packet Count of the most recent sample for the primary.

         Refer to the description of apexGbeStatusInputTsTable for an
         explanation of packet counting.  Refer to the description of
         apexGbeStatusInputTsUpdateInterval for an explanation of update
         interval and computing rates.
        "
::= { apexGbeStatusInputTsEntry 3 }

apexGbeStatInTsPriAvgDataCount OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Average Data Packet Count per sample during
         apexGbeStatInTsSamplingPeriod for the primary.

         Refer to the description of apexGbeStatusInputTsTable for an
         explanation of packet counting.  Refer to the description of
         apexGbeStatusInputTsUpdateInterval for an explanation of update
         interval and computing rates.
        "
::= { apexGbeStatusInputTsEntry 4 }

apexGbeStatInTsPriMinDataCount OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Minimum Data Packet Count sample during
         apexGbeStatInTsSamplingPeriod for the primary.

         Refer to the description of apexGbeStatusInputTsTable for an
         explanation of packet counting.  Refer to the description of
         apexGbeStatusInputTsUpdateInterval for an explanation of update
         interval and computing rates.
        "
::= { apexGbeStatusInputTsEntry 5 }

apexGbeStatInTsPriPeakDataCount OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Peak Data Packet Count sample during
         apexGbeStatInTsSamplingPeriod for the primary.

         Refer to the description of apexGbeStatusInputTsTable for an
         explanation of packet counting.  Refer to the description of
         apexGbeStatusInputTsUpdateInterval for an explanation of update
         interval and computing rates.
        "
::= { apexGbeStatusInputTsEntry 6 }

apexGbeStatInTsPriCurStreamCount OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Transport Stream Packet Count of the most recent sample for the primary.

         Refer to the description of apexGbeStatusInputTsTable for an
         explanation of packet counting.  Refer to the description of
         apexGbeStatusInputTsUpdateInterval for an explanation of update
         interval and computing rates.
        "
::= { apexGbeStatusInputTsEntry 7 }

apexGbeStatInTsPriAvgStreamCount OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Average Transport Stream Packet Count per sample during
         apexGbeStatInTsSamplingPeriod for the primary.

         Refer to the description of apexGbeStatusInputTsTable for an
         explanation of packet counting.  Refer to the description of
         apexGbeStatusInputTsUpdateInterval for an explanation of update
         interval and computing rates.
        "
::= { apexGbeStatusInputTsEntry 8 }

apexGbeStatInTsPriMinStreamCount OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Minimum Transport Stream Packet Count sample during
         apexGbeStatInTsSamplingPeriod for the primary.

         Refer to the description of apexGbeStatusInputTsTable for an
         explanation of packet counting.  Refer to the description of
         apexGbeStatusInputTsUpdateInterval for an explanation of update
         interval and computing rates.
        "
::= { apexGbeStatusInputTsEntry 9 }

apexGbeStatInTsPriPeakStreamCount OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Peak Transport Stream Packet Count sample during
         apexGbeStatInTsSamplingPeriod for the primary.

         Refer to the description of apexGbeStatusInputTsTable for an
         explanation of packet counting.  Refer to the description of
         apexGbeStatusInputTsUpdateInterval for an explanation of update
         interval and computing rates.
        "
::= { apexGbeStatusInputTsEntry 10 }

apexGbeStatInTsSecCurDataCount OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Data Packet Count of the most recent sample for the secondary.

         Refer to the description of apexGbeStatusInputTsTable for an
         explanation of packet counting.  Refer to the description of
         apexGbeStatusInputTsUpdateInterval for an explanation of update
         interval and computing rates.
        "
::= { apexGbeStatusInputTsEntry 11 }

apexGbeStatInTsSecAvgDataCount OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Average Data Packet Count per sample during
         apexGbeStatInTsSamplingPeriod for the secondary.

         Refer to the description of apexGbeStatusInputTsTable for an
         explanation of packet counting.  Refer to the description of
         apexGbeStatusInputTsUpdateInterval for an explanation of update
         interval and computing rates.
        "
::= { apexGbeStatusInputTsEntry 12 }

apexGbeStatInTsSecMinDataCount OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Minimum Data Packet Count sample during
         apexGbeStatInTsSamplingPeriod for the secondary.

         Refer to the description of apexGbeStatusInputTsTable for an
         explanation of packet counting.  Refer to the description of
         apexGbeStatusInputTsUpdateInterval for an explanation of update
         interval and computing rates.
        "
::= { apexGbeStatusInputTsEntry 13 }

apexGbeStatInTsSecPeakDataCount OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Peak Data Packet Count sample during
         apexGbeStatInTsSamplingPeriod for the secondary.

         Refer to the description of apexGbeStatusInputTsTable for an
         explanation of packet counting.  Refer to the description of
         apexGbeStatusInputTsUpdateInterval for an explanation of update
         interval and computing rates.
        "
::= { apexGbeStatusInputTsEntry 14 }

apexGbeStatInTsSecCurStreamCount OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Transport Stream Packet Count of the most recent sample for the secondary.

         Refer to the description of apexGbeStatusInputTsTable for an
         explanation of packet counting.  Refer to the description of
         apexGbeStatusInputTsUpdateInterval for an explanation of update
         interval and computing rates.
        "
::= { apexGbeStatusInputTsEntry 15 }

apexGbeStatInTsSecAvgStreamCount OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Average Transport Stream Packet Count per sample during
         apexGbeStatInTsSamplingPeriod for the secondary.

         Refer to the description of apexGbeStatusInputTsTable for an
         explanation of packet counting.  Refer to the description of
         apexGbeStatusInputTsUpdateInterval for an explanation of update
         interval and computing rates.
        "
::= { apexGbeStatusInputTsEntry 16 }

apexGbeStatInTsSecMinStreamCount OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Minimum Transport Stream Packet Count sample during
         apexGbeStatInTsSamplingPeriod for the secondary.

         Refer to the description of apexGbeStatusInputTsTable for an
         explanation of packet counting.  Refer to the description of
         apexGbeStatusInputTsUpdateInterval for an explanation of update
         interval and computing rates.
        "
::= { apexGbeStatusInputTsEntry 17 }

apexGbeStatInTsSecPeakStreamCount OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Peak Transport Stream Packet Count sample during
         apexGbeStatInTsSamplingPeriod for the secondary.

         Refer to the description of apexGbeStatusInputTsTable for an
         explanation of packet counting.  Refer to the description of
         apexGbeStatusInputTsUpdateInterval for an explanation of update
         interval and computing rates.
        "
::= { apexGbeStatusInputTsEntry 18 }

apexGbeStatInTsTotPacketDropCount OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The total number of dropped packets for the Input Transport Stream.
         Clear using apexGbeStatusInputTsDropCounterClearAll.
        "
::= { apexGbeStatusInputTsEntry 19 }

apexGbeStatInTsCurPacketDropCount OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of packets dropped for the Input Transport Stream in
         the last five (5) seconds.
        "
::= { apexGbeStatusInputTsEntry 20 }

-- ------------------------------------------------------------------------------
--
-- apexGbeStatusInputTsErrorTable
--

apexGbeStatusInputTsErrorTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexGbeStatusInputTsErrorEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of Gigabit Ethernet Input Transport Stream Error status.

         A row in this table corresponds to the same index row in
         apexInputTsStatTable and apexGbeStatusInputTsTable.
        "
::= { apexGbeStatusInputTransportStream 3 }

apexGbeStatusInputTsErrorEntry OBJECT-TYPE
    SYNTAX ApexGbeStatusInputTsErrorEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Gigabit Ethernet Input Transport Stream Status Table Entry."
    INDEX { apexGbeStatInTsErrorInputTsNum }
::= { apexGbeStatusInputTsErrorTable 1 }

ApexGbeStatusInputTsErrorEntry ::= SEQUENCE
    {
     apexGbeStatInTsErrorInputTsNum     Integer32,
     apexGbeStatInTsPriErrorSummary     INTEGER,
     apexGbeStatInTsPriLowBitRateError  INTEGER,
     apexGbeStatInTsPriHighBitRateError INTEGER,
     apexGbeStatInTsMptsRedundPriError  INTEGER,
     apexGbeStatInTsMptsRedundFailError INTEGER,
     apexGbeStatInTsSecErrorSummary     INTEGER,
     apexGbeStatInTsSecLowBitRateError  INTEGER,
     apexGbeStatInTsSecHighBitRateError INTEGER,
     apexGbeStatInTsPriLossInputError   INTEGER,
     apexGbeStatInTsSecLossInputError   INTEGER,
     apexGbeStatInTsPacketDropError     INTEGER
    }

apexGbeStatInTsErrorInputTsNum OBJECT-TYPE
    SYNTAX Integer32(1..768)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The Gigabit Ethernet Input Transport Stream Error Status table index.

         A row in this table corresponds to the same index row in
         apexInputTsStatTable and apexGbeStatusInputTsTable.
        "
::= { apexGbeStatusInputTsErrorEntry 1 }

apexGbeStatInTsPriErrorSummary OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         ok            (1),
         error         (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current highest error of the following errors for the primary
         input transport stream:
            apexGbeStatInTsPriLowBitRateError
            apexGbeStatInTsPriHighBitRateError
            apexGbeStatInTsMptsRedundPriError
            apexGbeStatInTsMptsRedundFailError
            apexGbeStatInTsPriLossInputError
            apexGbeStatInTsPriPacketDropError
        "
::= { apexGbeStatusInputTsErrorEntry 2 }

apexGbeStatInTsPriLowBitRateError OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         ok            (1),
         error         (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current low bit rate state for the primary input stream.
         Ok indicates no errors or not checking low bit rate. Error indicates
         primary input stream is below the low bit rate specified.
        "
::= { apexGbeStatusInputTsErrorEntry 3 }

apexGbeStatInTsPriHighBitRateError OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         ok            (1),
         error         (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current high bit rate state for the primary input stream.
         Ok indicates no errors or not checking high bit rate. Error indicates
         primary input stream is above the high bit rate specified.
        "
::= { apexGbeStatusInputTsErrorEntry 4 }

apexGbeStatInTsMptsRedundPriError OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         ok            (1),
         error         (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current redundant threshold state for the primary input stream.
         Ok indicates no errors or input stream is not part of a redundant pair.
         Error indicates primary input stream is below the threshold level specified.
        "
::= { apexGbeStatusInputTsErrorEntry 5 }

apexGbeStatInTsMptsRedundFailError OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         ok            (1),
         error         (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current fail over state for a redundancy pair.
         Ok indicates no errors or input stream is not part of a redundant pair.
         Error indicates primary input stream is no longer in use and the APEX
         has fallen over to use the secondary input stream.
        "
::= { apexGbeStatusInputTsErrorEntry 6 }

apexGbeStatInTsSecErrorSummary OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         ok            (1),
         error         (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current highest error state of the following for the secondary
         input transport stream:
            apexGbeStatInTsSecLowBitRateError
            apexGbeStatInTsSecHighBitRateError
            apexGbeStatInTsSecLossInputError
        "
::= { apexGbeStatusInputTsErrorEntry 7 }

apexGbeStatInTsSecLowBitRateError OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         ok            (1),
         error         (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current low bit rate state for the secondary input stream.
         Ok indicates no errors or not checking low bit rate. Error indicates
         secondary input stream is below the low bit rate specified.
        "
::= { apexGbeStatusInputTsErrorEntry 8 }

apexGbeStatInTsSecHighBitRateError OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         ok            (1),
         error         (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current high bit rate state for the secondary input stream.
         Ok indicates no errors or not checking high bit rate. Error indicates
         secondary input stream is above the high bit rate specified.
        "
::= { apexGbeStatusInputTsErrorEntry 9 }

apexGbeStatInTsPriLossInputError OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         ok            (1),
         error         (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current loss of input stream state for the primary input stream.
         Ok indicates no errors or not checking for loss of input stream.
         Error indicates primary input stream is missing.
        "
::= { apexGbeStatusInputTsErrorEntry 10 }

apexGbeStatInTsSecLossInputError OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         ok            (1),
         error         (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current loss of input stream state for the secondary input stream.
         Ok indicates no errors or not checking for loss of input stream.
         Error indicates secondary input stream is missing.
        "
::= { apexGbeStatusInputTsErrorEntry 11 }

apexGbeStatInTsPacketDropError OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         ok            (1),
         error         (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current packet drop state for the active input stream.
         Ok indicates no errors or not checking for packet drops.
         Error indicates there are packet drops on the active input stream.
        "
::= { apexGbeStatusInputTsErrorEntry 12 }


-- ------------------------------------------------------------------------------
--
-- apexGbeStatusInterfaceRedund
--
-- apexGbeStatusInterfaceRedundTable
--

apexGbeStatusInterfaceRedundTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexGbeStatusInterfaceRedundEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This is a table of status parameters for GbE Interface
         Redundancy."
::= { apexGbeStatusInterfaceRedund 1 }

apexGbeStatusInterfaceRedundEntry OBJECT-TYPE
    SYNTAX ApexGbeStatusInterfaceRedundEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "GbE Interface Redundancy Status Table Entry."
    INDEX { apexGbeStatusInterfaceRedundIndex }
::= { apexGbeStatusInterfaceRedundTable 1 }

ApexGbeStatusInterfaceRedundEntry ::= SEQUENCE
    {
     apexGbeStatusInterfaceRedundIndex                    Integer32,
     apexGbeStatusInterfaceRedundActiveIf                 Integer32,
     apexGbeStatusInterfaceRedundInvalidApplyText         DisplayString,
     apexGbeStatusInterfaceRedundFaultCondition           INTEGER
    }

apexGbeStatusInterfaceRedundIndex OBJECT-TYPE
    SYNTAX Integer32(1..2)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "GbE Interface Pair number.  Value of 1 is GbE1 and GbE2 pair.
         Value of 2 is GbE3 and GbE4 pair."
::= { apexGbeStatusInterfaceRedundEntry 1 }

apexGbeStatusInterfaceRedundActiveIf OBJECT-TYPE
    SYNTAX Integer32(0..4)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current active interface for the redundant pair. This is only
        applicable if GbE Interface Redundancy is enabled for the pair.  If
        GbE Interface Redundancy is not enabled it will be set to zero.
        "
::= { apexGbeStatusInterfaceRedundEntry 2 }

apexGbeStatusInterfaceRedundInvalidApplyText OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..80))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "When apexGbeConfIfRedundApplyChange is set to applyNotInProgressInvalidData
         this entry may contain a text description of what was wrong with the data.
         This entry contains the description for the most recent apply of an
         entry that was invalid."
::= { apexGbeStatusInterfaceRedundEntry 3 }

apexGbeStatusInterfaceRedundFaultCondition OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Current fault condition of the GbE Interface pair.
         Reflects apexAlarmGbeInterfaceRedundFailOver for this redundant pair.
        "
::= { apexGbeStatusInterfaceRedundEntry 4 }


-- ------------------------------------------------------------------------------
--
-- apexGbeStatusInputTsDropCounter
--
-- apexGbeStatusInputTsDropCounterGeneral
--

apexGbeStatusInputTsDropCounterClearAll OBJECT-TYPE
    SYNTAX ClearCountersTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Clear dropped packet counts for all Input Streams:
            - apexGbeStatInTsTotPacketDropCount

         Once written, the change to this parameter will take immediate effect.

         @Config(config=no, reboot=no)
        "
::= { apexGbeStatusInputTsDropCounterGeneral 1 }


-- ------------------------------------------------------------------------------
--
-- apexGbeSfp
--
-- apexGbeSfpConfig
--
-- apexGbeSfpConfigGeneral
--

apexGbeSfpUpdateStatus OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable        (0),
         updateNotInProgress  (1),
         update               (2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "When set to 'update' the APEX will update the apexGbeSfpStatusTable
         by performing an one-time read of SFP memory.
 
         APEX sets back to 'updateNotInProgress' when complete.
 
         Once written, the change to this parameter will take immediate effect.
 
         @Config(config=no, reboot=no)
        "
::= { apexGbeSfpConfigGeneral 1 }


-- ------------------------------------------------------------------------------
--
-- apexGbeSfpStatus
--
-- apexGbeSfpStatusTable
--

apexGbeSfpStatusTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexGbeSfpStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of SFP status parameters.
         Indexed by Gigabit Ethernet Interface Number.
        "
::= { apexGbeSfpStatus 2 }

apexGbeSfpStatusEntry OBJECT-TYPE
    SYNTAX ApexGbeSfpStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "SFP status table entry."
    INDEX { apexGbeSfpStatusGbeIfNum }
::= { apexGbeSfpStatusTable 1 }

ApexGbeSfpStatusEntry ::= SEQUENCE
    {
     apexGbeSfpStatusGbeIfNum     Integer32,
     apexGbeSfpStatusVendorId     DisplayString,
     apexGbeSfpStatusDiagInfo     DisplayString
    }

apexGbeSfpStatusGbeIfNum OBJECT-TYPE
    SYNTAX Integer32 (1..4)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Gigabit Ethernet Interface Number."
::= { apexGbeSfpStatusEntry 1 }

apexGbeSfpStatusVendorId OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "ASCII format of bytes 0-127 from SFP-MSA ID Memory Map address A0h.
         Zero-length indicates that no SFP module is installed.
        "
::= { apexGbeSfpStatusEntry 2 }

apexGbeSfpStatusDiagInfo OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..64))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "ASCII format of bytes 96-127 from SFP Diagnostic Memory address A2h.
         Zero-length indicates that diagnostic information is not available.
        "
::= { apexGbeSfpStatusEntry 3 }


-- ------------------------------------------------------------------------------
--
-- apexQam
--
-- apexQamConfig
--
-- apexQamConfigGeneral
--

apexQamConfigTransmissionMode OBJECT-TYPE
    SYNTAX INTEGER
        {
         annexB-ATSC-DCII    (1),
         annexA-DVB          (2),
         annexC-Asia-Pacific (3)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This is the QAM Transmission Mode as defined in:
         Series J: Transmission of Television, Sound Programme
         and other Multimedia Signals, ITU-T J.83.

         Once written, a save must be performed via the apexSaveConfig
         parameter and the APEX must be rebooted for the change to take effect.

         @Config(config=yes, reboot=yes)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexQamConfigGeneral 1 }


-- ------------------------------------------------------------------------------
--
-- apexQamModuleUpgrade
--

apexQamModuleUpgradeSlot OBJECT-TYPE
    SYNTAX Integer32(0..3)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This is the QAM slot number of the QAM Module that is being upgraded
         from a 2x4 channel module to a 2x8 channel module.
         Zero indicates no slot selected.

         Once written, the change to this table will only take immediate
         effect after apexQamModuleUpgradeApplyChange is set to 'apply'.

         @Config(config=no, reboot=no)
         @Commit(param=apexQamModuleUpgradeApplyChange, value=2)
        "
::= { apexQamModuleUpgrade 1 }

apexQamModuleUpgradeCode OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..48))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This is the encrypted upgrade code for the QAM Module that is
         being upgraded from a 2x4 channel module to a 2x8 channel module.
         The Upgrade Code is specific to a QAM Module and can only be used
         for the QAM Module with the serial number for which the Upgrade
         Code was created.

         Once written, the change to this parameter will only take immediate
         effect after the corresponding apexQamModuleUpgradeApplyChange
         is set to 'apply'.
         
         This parameter is cleared by the APEX after the apply is complete.

         @Config(config=no, reboot=no)
         @Commit(param=apexQamModuleUpgradeApplyChange, value=2)
        "
::= { apexQamModuleUpgrade 2 }

apexQamModuleUpgradeApplyChange OBJECT-TYPE
    SYNTAX ApplyDataToDeviceTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This is the Apply for QAM Module Upgrade Slot and Code.

         This parameter MUST be set to 'apply' in order for
         apexQamModuleUpgradeSlot and apexQamModuleUpgradeCode to
         take effect.  This parameter MUST be set LAST after
         apexQamModuleUpgradeSlot and apexQamModuleUpgradeCode has
         been configured.

         The APEX will set this to applyNotInProgressInvalidData if
         the Upgrade Code is incorrect and the QAM Module is not
         upgraded.

         @Config(config=no, reboot=no)
        "
::= { apexQamModuleUpgrade 3 }


-- ------------------------------------------------------------------------------
--
-- apexQamConfigApplyTable
--

apexQamConfigApplyTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexQamConfigApplyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of Apply Change for the data for apexQamRfConfigTable.
        "
::= { apexQamConfig 3 }

apexQamConfigApplyEntry OBJECT-TYPE
    SYNTAX ApexQamConfigApplyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "QAM Configuration Apply Table Entry."
    INDEX { apexQamConfigApplyRfPortNum }
::= { apexQamConfigApplyTable 1 }

ApexQamConfigApplyEntry ::= SEQUENCE
    {
     apexQamConfigApplyRfPortNum Integer32,
     apexQamConfigApplyChange    ApplyDataToDeviceTYPE
    }

apexQamConfigApplyRfPortNum OBJECT-TYPE
    SYNTAX Integer32(1..12)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The QAM RF Port number.
         Port 1,2,7,8 is Slot 1
         Port 3,4,9,10 is Slot 2
         Port 5,6,11,12 is Slot 3"
::= { apexQamConfigApplyEntry 1 }

apexQamConfigApplyChange OBJECT-TYPE
    SYNTAX ApplyDataToDeviceTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Apply for a row of data in apexQamRfConfigTable.

         A row in this table corresponds to the same row index in the
         apexQamRfConfigTable.

         This parameter MUST be set to 'apply' in order for any of the data
         in the rows to take effect in the APEX.  This parameter MUST be set
         LAST after all other data in the configuration table rows has been
         configured.

         @Config(config=no, reboot=no)
        "
::= { apexQamConfigApplyEntry 2 }


-- ------------------------------------------------------------------------------
--
-- apexQamRfConfigTable
--

apexQamRfConfigTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexQamRfConfigEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of configuration items configurable on a QAM RF Port basis.

         There can be up to 12 RF Ports on an APEX1000 depending on how the 3
         QAM slots are populated. There can be 2 or 4 RF Ports in each QAM slot.
         
         The 2 RF Ports in a 2x8(2x4) QAM module (1,2) in a QAM slot are mapped
         to table rows as follows:
         
               Slot        Rows (RF port)
                1          1,2
                2          3,4
                3          5,6

         If a QAM Module in a slot only has 2 RF ports, the first three rows
         in this table for that slot are to be used.  For example, if there
         is a 2x4 or 2x8 module in slot 3, port 5 and 6  are to be used for
         configuring the RF Ports of the module.
         
         The 4 RF Ports in a 4x4 QAM module (1,2,7,8) in a QAM slot are mapped
         to table rows as follows:
               Slot        Rows (RF port)
                1          1,2,7,8
                2          3,4,9,10
                3          5,6,11,12

         All entries/rows in this table are used for the 4x4 QAM Module with
         any exceptions noted in the descriptions for the table entries.
         
         All entries in this table have the same ranges for the 4x4 QAM Module
         with any exceptions noted in the descriptions for the table entries.
         
         Refer to the description of apexQamChannelConfigTable for information
         on QAM Channel to RF Port mapping.
         
         Tables apexQamRfPortChannelInfoTable and apexQamChannelIdTable can be
         used to assist in referencing between QAM slots, RF Ports, and QAM
         Channels (Output Transport Streams) for the installed modules.
         
         Once written, the change to this table will only take immediate
         effect after apexQamConfigApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexQamConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexQamConfig 4 }

apexQamRfConfigEntry OBJECT-TYPE
    SYNTAX ApexQamRfConfigEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "QAM RF Port Configuration Table Entry."
    INDEX { apexQamRfConfigRfPortNum }
::= { apexQamRfConfigTable 1 }

ApexQamRfConfigEntry ::= SEQUENCE
    {
     apexQamRfConfigRfPortNum            Integer32,
     apexQamRfConfigNumChannelsEnabled   Integer32,
     apexQamRfConfigModulationMode       INTEGER,
     apexQamRfConfigSymbolRate           Integer32,
     apexQamRfConfigSpectrumInvert       INTEGER,
     apexQamRfConfigTuningMode           INTEGER,
     apexQamRfConfigEiaFrequencyPlan     INTEGER,
     apexQamRfConfigEiaChanNumChannelA   Integer32,
     apexQamRfConfigRfCenterFreqChannelA Integer32,
     apexQamRfConfigRfChanSpacing        Integer32,
     apexQamRfConfigRfLevelAttenuation   Integer32,
     apexQamRfConfigRfLevelLowThreshold  Integer32,
     apexQamRfConfigRfLevelHighThreshold Integer32,
     apexQamRfConfigMute                 INTEGER,
     apexQamRfConfigInterleaverDepth1    INTEGER,
     apexQamRfConfigInterleaverDepth2    INTEGER
    }

apexQamRfConfigRfPortNum OBJECT-TYPE
    SYNTAX Integer32(1..12)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The QAM RF Port number."
::= { apexQamRfConfigEntry 1 }

apexQamRfConfigNumChannelsEnabled OBJECT-TYPE
    SYNTAX Integer32(0..8)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The number of QAM Channels enabled on the RF Port.

         APEX will not allow enabling of more channels than the installed
         QAM Module will support.  Note that when this parameter is
         changed and applied there will be an interruption in service on
         all active channels on this RF Port.

         When QAM Transmission Mode is 'annexA-DVB', enabled channels is
         also limited by the Channel Spacing such that the total bandwidth
         of the RF must not exceed 48 MHz.
        "
::= { apexQamRfConfigEntry 2 }

apexQamRfConfigModulationMode OBJECT-TYPE
    SYNTAX INTEGER
        {
         qam64  (1),
         qam256 (2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The QAM Modulation mode for the QAM RF Port.  This is the QAM
         Modulation mode of all QAM Channels enabled on the RF Port.
         
         For 4x4 QAM Modules: This parameter applies on an RF pair basis,
         1-2 and 7-8.  APEX1000 will use only odd table indices.  Even index
         of pair will be ignored and set to value for odd index of pair.
        "
::= { apexQamRfConfigEntry 3 }

apexQamRfConfigSymbolRate OBJECT-TYPE
    SYNTAX Integer32(800000..6980000)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Symbol Rate Setting of the QAM Channels enabled on the RF Port.
         It is in symbols per second (sps).

         When QAM Transmission Mode is 'annexA-DVB' the range is 800,000 sps to
         6,980,000 sps in 1000 sps steps.

         When QAM Transmission Mode is 'annexC-Asia-Pacific' the range is
         800,000 sps to 5,310,000 sps in 1000 sps steps.

         The APEX will correct values not on a 1000 sps boundary so the user or
         management system does not need to enforce the step size.

         When QAM Transmission Mode is 'annexB-ATSC-DCII' this parameter is
         not configurable and is set by the APEX based on QAM Modulation Mode.
         
         For 4x4 QAM Modules: This parameter applies on an RF pair basis,
         1-2 and 7-8.  APEX1000 will use only odd table indices.  Even index
         of pair will be ignored and set to value for odd index of pair.

         @Range(step=1000)
        "
::= { apexQamRfConfigEntry 4 }

apexQamRfConfigSpectrumInvert OBJECT-TYPE
    SYNTAX INTEGER
        {
         normal (1),
         invert (2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Spectrum Inversion Setting of the QAM Channels enabled
         on the RF Port.
        "
::= { apexQamRfConfigEntry 5 }

apexQamRfConfigTuningMode OBJECT-TYPE
    SYNTAX INTEGER
        {
         frequency (1),
         channel   (2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The tuning mode of the QAM Channels enabled on the RF Port.

         'frequency' - The APEX tunes based on frequency as configured in
                       RF Center Frequency for QAM Channel A and channel
                       spacing as configured in RF Channel Spacing to
                       determine the frequency of the B - H channels.
         'channel'   - The APEX tunes based on channel as configured in
                       Channel Number for QAM Channel A using the selected
                       Frequency Plan.  The APEX will set the B - H channels
                       to the next sequential channels.  Applies only when
                       QAM Transmission Mode is 'annexB-ATSC-DCII'.
        "
::= { apexQamRfConfigEntry 6 }

apexQamRfConfigEiaFrequencyPlan OBJECT-TYPE
    SYNTAX INTEGER
        {
         std (1),
         hrc (2),
         irc (3)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This is the frequency plan to use for tuning of the QAM Channels
         enabled on the RF Port.  Frequency plans are as per CEA Standard:
         Cable Television Channel Identification Plan (CEA-542-B).

         This parameter is valid only when QAM Transmission Mode is
         'annexB-ATSC-DCII'.

         'std' - Standard (STD) North American frequency plan.
         'hrc' - Harmonic Related Carrier (HRC) frequency plan.
         'irc' - Incremental Related Carrier (IRC) frequency plan.
        "
::= { apexQamRfConfigEntry 7 }

apexQamRfConfigEiaChanNumChannelA OBJECT-TYPE
    SYNTAX Integer32(0..158)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Channel Number for QAM Channel A.  Range is 0 to 158, with valid
         channels being 1 to 158 and 0 indicating 'not applicable'.

         This parameter is valid only when QAM Transmission Mode is
         'annexB-ATSC-DCII'.

         This parameter is configurable only when Tuning Mode is 'channel'.

         When Tuning Mode is 'channel', this is the Channel Number used to
         determine the output frequency of QAM Channel A using the selected
         Frequency Plan.

         When Tuning Mode is 'frequency', this value is determined by the
         APEX using the selected Frequency Plan.  If there is no channel
         number for the frequency, the value is set to zero.

         This parameter is not configurable for Transmission Modes of
         'annexA-DVB' or 'annexC-Asia-Pacific' and the value is set to zero
         by the APEX.

         Channel 1 is not defined in CEA Standard: Cable Television Channel
         Identification Plan (CEA-542-B) for the Standard (STD) North American
         frequency plan.  Channel 1 cannot be selected when
         apexQamRfConfigEiaFrequencyPlan is 'std'.

         Channel 2 as defined in defined in CEA Standard: Cable Television
         Channel Identification Plan (CEA-542-B) for the Harmonic Related
         Carrier (HRC) frequency plan is below the APEX 57 MHz minimum
         frequency. Channel 2 cannot be selected when
         apexQamRfConfigEiaFrequencyPlan is 'hrc'.
         
         For 4x4 QAM Modules: Channels with frequencies below 69 MHz may not
         be available.  This limitation is dependent upon the HW version
         installed and number of channels enabled.
        "
::= { apexQamRfConfigEntry 8 }

apexQamRfConfigRfCenterFreqChannelA OBJECT-TYPE
    SYNTAX Integer32(57000000..999000000)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The RF Center Frequency for QAM Channel A.

         When QAM Transmission Mode is 'annexA-DVB' the range is 85,000,000 Hz
         to 999,000,000 Hz in 250,000 Hz steps.

         For 2x4/2x8 QAM Modules: When QAM Transmission Mode is 'annexB-ATSC-DCII'
         or 'annexC-Asia-Pacific' the range is 57,000,000 Hz to 999,000,000 Hz in
         250,000 Hz steps.

         For 4x4 QAM Modules: When QAM Transmission Mode is 'annexB-ATSC-DCII'
         or 'annexC-Asia-Pacific' the range may be limited to 69,000,000 Hz
         to 999,000,000 Hz in 250,000 Hz steps.  This limitation is dependent
         upon the HW version installed and number of channels enabled.

         The APEX will correct values not on a 250 kHz boundary so the user or
         management system does not need to enforce the step size.

         This parameter is configurable ONLY when Tuning Mode is 'frequency'.

         When Tuning Mode is 'channel', the value is set by the APEX using the
         selected Frequency Plan.

         @Range(step=250000)
        "
::= { apexQamRfConfigEntry 9 }

apexQamRfConfigRfChanSpacing OBJECT-TYPE
    SYNTAX Integer32(1000000..8000000)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Channel spacing for the QAM Channels enabled on the RF Port.
         This value must be in Hz in the range 1,000,000 Hz to 8,000,000 Hz
         in 500,000 Hz steps.

         The APEX will correct values not on a 500,000 Hz boundary so the
         user or management system does not need to enforce the step size.

         For 2x4/2x8 QAM Modules: When Transmission Mode is 'annexA-DVB'
         this value is configurable. Note that number of channels enabled
         can be affected by changing channel spacing.  The total bandwidth of
         the RF must not exceed 48 MHz.

         For 2x4/2x8 QAM Modules: When Transmission Mode is 'annexB-ATSC-DCII'
         or 'annexC-Asia-Pacific' this value is fixed and is set by the APEX.
         
         For 4x4 QAM Modules: This value is fixed and is set by the APEX.

         @Range(step=500000)
        "
::= { apexQamRfConfigEntry 10 }

apexQamRfConfigRfLevelAttenuation OBJECT-TYPE
    SYNTAX Integer32(-300..800)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The RF level attenuation setting of each enabled channel on the
         RF Port.

         Range is -300 to 800 representing -3 to 8 dB attenuation in
         0.01 dB steps. (See 'Note' below.)

         Positive values are the amount below the nominal RF output level
         for the number of channels enabled on the RF Port.  Negative
         values are the amount above the nominal.
             Number    Nominal    dBmV      dBmV
            Channels    dBmV     W/-300     W/800
               1         60        63        52
               2         56        59        48
               4         52        55        44
               6         50        53        42
               8         49        52        41
               
         Note: Early APEX only supported attenuation.  Gain was added
               later, hence the negative attenuation values for this
               parameter.  For clarity, the APEX Element Manager display
               indicates 'RF Level Adjust', with a user selectable
               range of -8.00 to +3.00 dB, rather than 'Attenuation'.
               The APEX EM then sets this MIB parameter appropriately.
        "
::= { apexQamRfConfigEntry 11 }

apexQamRfConfigRfLevelLowThreshold OBJECT-TYPE
    SYNTAX Integer32(0..100)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The threshold delta relative to the configured RF level that will
         indicate an RF Low condition.  The measured output must drop this
         amount for RF Low condition.

         Range is 0 to 100 representing 0 to 10 dB in 0.1 dB steps.
        "
::= { apexQamRfConfigEntry 12 }

apexQamRfConfigRfLevelHighThreshold OBJECT-TYPE
    SYNTAX Integer32(0..100)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The threshold delta relative to the configured RF level that will
         indicate an RF High condition. The measured output must rise this
         amount for RF High condition.

         Range is 0 to 100 representing 0 to 10 dB in 0.1 dB steps.
        "
::= { apexQamRfConfigEntry 13 }

apexQamRfConfigMute OBJECT-TYPE
    SYNTAX INTEGER
        {
         unmute (1),
         mute   (2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Mute the RF Port.  This will mute all QAM channels enabled on the
         RF Port.
        "
::= { apexQamRfConfigEntry 14 }

apexQamRfConfigInterleaverDepth1 OBJECT-TYPE
    SYNTAX INTEGER
        {
         i64-j2  (1),
         i32-j4  (2),
         i16-j8  (3),
         i8-j16  (4),
         i128-j1 (5),
         i128-j2 (6),
         i128-j3 (7),
         i128-j4 (8),
         i128-j5 (9),
         i128-j6 (10),
         i128-j7 (11),
         i128-j8 (12) ,
         i12-j17 (13)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The first of two Interleaver settings that can be assigned to the
         QAM Channels of this RF Port.

         Configurable only for Transmission Mode 'annexB-ATSC-DCII'.

         Values 1 to 12 used only for Transmission Mode 'annexB-ATSC-DCII'.

         Value 13 (i12-j17) used only for Transmission Modes 'annexA-DVB'
         and 'annexC-Asia-Pacific' and is set by the APEX.
        "
::= { apexQamRfConfigEntry 15 }

apexQamRfConfigInterleaverDepth2 OBJECT-TYPE
    SYNTAX INTEGER
        {
         i64-j2  (1),
         i32-j4  (2),
         i16-j8  (3),
         i8-j16  (4),
         i128-j1 (5),
         i128-j2 (6),
         i128-j3 (7),
         i128-j4 (8),
         i128-j5 (9),
         i128-j6 (10),
         i128-j7 (11),
         i128-j8 (12) ,
         i12-j17 (13)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The second of two Interleaver settings that can be assigned to the
         QAM Channels of this RF Port.

         Configurable only for Transmission Mode 'annexB-ATSC-DCII'.

         Values 1 to 12 used only for Transmission Mode 'annexB-ATSC-DCII'.

         Value 13 (i12-j17) used only for Transmission Modes 'annexA-DVB'
         and 'annexC-Asia-Pacific' and is set by the APEX.
        "
::= { apexQamRfConfigEntry 16 }


-- ------------------------------------------------------------------------------
--
-- apexQamChannelConfigTable
--

apexQamChannelConfigTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexQamChannelConfigEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of configuration items configurable on a QAM Channel basis.

         There are 48 Output Transport Streams (OTS) on an APEX1000. There can
         be up to 48 QAM Channels on an APEX1000 depending on how the 3 QAM slots
         are populated.  There is a one-to-one mapping between QAM Channels and
         Output Transport Streams.
         
         QAM Channel (OTS) ranges are mapped to QAM slots as follows:
         
               Slot      Channels
                1          1..15
                2         15..32
                3         33..48

         There can be either 4 or 8 QAM channels (OTS) on each RF Port.  The slot
         and RF Port to QAM Channel (OTS) mappings for each QAM Module type are
         shown below.
         
         For a 2x4 or 2x8 QAM Module, QAM Channels (OTS) are mapped to
         RF Ports in a QAM Slot and table rows as follows:
         
                                    QAM Channel
                         RF Port      and OTS
            Slot/Port   Table Row   Table Rows
                1/1         1          1..8
                1/2         2          9..16
                2/1         5         17..24
                2/2         6         25..32
                3/1         9         33..40
                3/2        10         41..48

         If a 2x4 QAM Module is in a slot, only the first four rows in this
         table for the slot/port are to be used.  For example, if there is
         a 2x4 module in slot 3, rows 8..12 are to be used for configuring
         the QAM Channels of RF Port 1 on the module.
         
         For a 4x4 QAM Module, QAM Channels (OTS) are mapped to RF Ports in
         a QAM Slot and table rows as follows:
         
                                    QAM Channel
                         RF Port      and OTS
            Slot/Port   Table Row   Table Rows
                1/1         1          1..4
                1/2         2          5..8
                1/3         7          9..12
                1/4         8         13..16
                2/1         3         17..20
                2/2         4         21..24
                2/3         9         25..28
                2/4         10        29..32
                3/1         5         33..36
                3/2         6         37..40
                3/3         11        41..44
                3/4         12        45..48
         
         Note that the QAM Channels on an RF Port are designated with the
         letters 'A'..'H' on the APEX Element Manager.
         
         Refer to the description of apexQamChannelConfigTable for information
         on QAM Channel to RF Port mapping.
         
         Tables apexQamRfPortChannelInfoTable and apexQamChannelIdTable can be
         used to assist in referencing between QAM slots, RF Ports, and QAM
         Channels (Output Transport Streams) for the installed modules.
         
         Once written, the change to this table will only take immediate
         effect after apexQamConfigApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexQamChannelConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexQamConfig 5 }

apexQamChannelConfigEntry OBJECT-TYPE
    SYNTAX ApexQamChannelConfigEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "QAM Channel Configuration Table Entry."
    INDEX { apexQamChanConfigChannelNum }
::= { apexQamChannelConfigTable 1 }

ApexQamChannelConfigEntry ::= SEQUENCE
    {
     apexQamChanConfigChannelNum        Integer32,
     apexQamChanConfigInterleaverSelect INTEGER,
     apexQamChanConfigTestMode          INTEGER
    }

apexQamChanConfigChannelNum OBJECT-TYPE
    SYNTAX Integer32(1..48)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The QAM RF Port number."
::= { apexQamChannelConfigEntry 1 }

apexQamChanConfigInterleaverSelect OBJECT-TYPE
    SYNTAX INTEGER
        {
         interleaverDepth1 (1),
         interleaverDepth2 (2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The interleaver selection for this Channel.

         Will use either apexQamRfConfigInterleaverDepth1
         or apexQamRfConfigInterleaverDepth2.
        "
::= { apexQamChannelConfigEntry 2 }

apexQamChanConfigTestMode OBJECT-TYPE
    SYNTAX INTEGER
        {
         off      (0),
         cwtest   (2),
         prbs23m  (3),
         prbs23   (5),
         mpegNull (6),
         suppress (9),
         prbs60   (10),
         prbs63   (11),
         prbs65   (12),
         prbs68   (13),
         prbs71   (14),
         prbs73   (15),
         prbs79   (16),
         prbs81   (17)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Test mode setting for the QAM Channel.

         Setting to other than 'off' will cause a service interruption.
        "
::= { apexQamChannelConfigEntry 3 }


-- ------------------------------------------------------------------------------
--
-- apexQamRfRedundancyConfig
--
-- apexQamRfRedundancyConfigGeneral
--

apexQamRfRedundConfigApplyChange OBJECT-TYPE
    SYNTAX ApplyDataToDeviceTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Apply for QAM RF Redundancy Configuration parameters.
         This parameter MUST be set to 'apply' in order for the data
         to take effect.
         
         This parameter MUST be set LAST after all QAM RF Redundancy
         parameters affected by this parameter have been configured.

         @Config(config=no, reboot=no)
        "
::= { apexQamRfRedundancyConfigGeneral 1 }

apexQamRfRedundConfigEnable OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Enables RF redundancy mode, allowing the APEX to failover to backup
         RF port and communicate with the REM1000.  Allows for failover/
         switching without requiring a REM1000 connection.

         Cannot be 'enabled' if the backup port (RF Port 6)
         is not present (there is no QAM Module in QAM slot 3).

         Cannot be 'enabled' if there are any mappings to any QAM Channel
         on the backup port.  RF Port 6, QAM Channels 6A to 6H
         (Output Transport Streams 41 to 48).

         Once written, the change to this parameter will only take immediate
         effect after apexQamRfRedundConfigApplyChange is set to 'apply'.
         In order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexQamRfRedundConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexQamRfRedundancyConfigGeneral 2 }

apexQamRfRedundConfigRemConnection OBJECT-TYPE
    SYNTAX INTEGER
        {
         none   (0),
         direct (1),
         common (2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Configures how the APEX is connected to the REM1000.

         'none'   - Not connecting to REM1000.
         'direct' - Connected to REM1000 dedicated IP interface through
                    APEX Data IP (Enet2).  Broadcast connection is always
                    used in this case.  Cannot be set to 'direct' if the
                    QAM RF Redundancy UDP Port is in use on the Data IP Port
                    (Enet2).  QAM RF Redundancy UDP Port value is found in
                    apexQamRfRedundStatusUdpPort.
         'common' - Connected to REM1000 OAM&P interface through APEX OAM&P IP
                    (Enet 1).  Requires user to configure REM1000 IP address
                    in apexQamRfRedundConfigRemCommonIpAddr.  Cannot be set to
                    'common' if the QAM RF Redundancy UDP Port is in use on the
                    OAM&P IP (Enet 1).  QAM RF Redundancy UDP Port value is
                    found in apexQamRfRedundStatusUdpPort.

         Once written, the change to this parameter will only take immediate
         effect after apexQamRfRedundConfigApplyChange is set to 'apply'.
         In order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexQamRfRedundConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexQamRfRedundancyConfigGeneral 3 }

apexQamRfRedundConfigApexId OBJECT-TYPE
    SYNTAX Integer32(1..2)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Identifies which set of RF inputs on the REM1000 are associated
         with this APEX.

         Once written, the change to this parameter will only take immediate
         effect after apexQamRfRedundConfigApplyChange is set to 'apply'.
         In order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexQamRfRedundConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexQamRfRedundancyConfigGeneral 4 }

apexQamRfRedundConfigRemCommonIpAddr OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Target REM1000 IP address. Must be singlecast address.
         Only used when apexQamRfRedundConfigRemConnection is set to 'common'.

         Once written, the change to this parameter will only take immediate
         effect after apexQamRfRedundConfigApplyChange is set to 'apply'.
         In order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexQamRfRedundConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexQamRfRedundancyConfigGeneral 5 }

apexQamRfRedundConfigAutoSwitchBack OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This is the enable/disable of automatic switch back to the previous
         RF port from backup for QAM RF redundancy.  When 'enabled',
         switch back to the previous RF port will automatically occur when
         the RF port comes back online.  When 'disabled', the user must force
         back to the previous RF port using apexQamRfRedundConfigForceSwitch.

         Once written, the change to this parameter will only take immediate
         effect after apexQamRfRedundConfigApplyChange is set to 'apply'.
         In order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexQamRfRedundConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')"
::= { apexQamRfRedundancyConfigGeneral 6 }

apexQamRfRedundConfigSuspendFailover OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Enables and disables suspending of RF failover. Prevents failovers
         to or from backup.  Force failover (apexQamRfRedundConfigForceSwitch)
         overrides this setting.

         Once written, the change to this parameter will only take immediate
         effect after apexQamRfRedundConfigApplyChange is set to 'apply'.
         In order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexQamRfRedundConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexQamRfRedundancyConfigGeneral 7 }

apexQamRfRedundConfigForceSwitch OBJECT-TYPE
    SYNTAX INTEGER
        {
         switchNotInProgress (0),
         forceFrom1          (1),
         forceFrom2          (2),
         forceFrom3          (3),
         forceFrom4          (4),
         forceFrom5          (5),
         forceFromBackup     (6)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Force a switch of an RF Port to or from the backup.
         Selects which RF Port to switch from.  Overrides Suspend Failover
         (apexQamRfRedundConfigSuspendFailover).

         Parameter is ignored when:
          - apexQamRfRedundConfigEnable is 'disabled'.
          - backup is active and other than 'forceFromBackup' is selected.
          - backup is not active and 'forceFromBackup' is selected.

         'forceFromBackup' will force back to the failed primary indicated
         in apexQamRfRedundStatusFailedPort.

         APEX sets back to 'switchNotInProgress' when complete.

         Once written, the change to this parameter will take immediate effect.

         @Config(config=no, reboot=no)
        "
::= { apexQamRfRedundancyConfigGeneral 8 }

apexQamRfRedundConfigRemDirectIpOctet1 OBJECT-TYPE
    SYNTAX Integer32(1..126)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Target REM1000 IP address first octet.
         Only used when apexQamRfRedundConfigRemConnection is set to 'direct'.
         The remainder of the IP address will be filled in by the APEX.
         The IP address used will be reflected in apexDataIpAddrInUse.

         Once written, the change to this parameter will only take immediate
         effect after apexQamRfRedundConfigApplyChange is set to 'apply'.
         In order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexQamRfRedundConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexQamRfRedundancyConfigGeneral 9 }


-- ------------------------------------------------------------------------------
--
-- apexQamChannelConfigApplyTable
--

apexQamChannelConfigApplyTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexQamChannelConfigApplyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of Apply Change for the data for apexQamChannelConfigTable.
        "
::= { apexQamConfig 7 }

apexQamChannelConfigApplyEntry OBJECT-TYPE
    SYNTAX ApexQamChannelConfigApplyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "QAM Channel Configuration Apply Table Entry."
    INDEX { apexQamChannelConfigApplyChannelNum }
::= { apexQamChannelConfigApplyTable 1 }

ApexQamChannelConfigApplyEntry ::= SEQUENCE
    {
     apexQamChannelConfigApplyChannelNum Integer32,
     apexQamChannelConfigApplyChange     ApplyDataToDeviceTYPE
    }

apexQamChannelConfigApplyChannelNum OBJECT-TYPE
    SYNTAX Integer32(1..48)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The QAM Channel number."
::= { apexQamChannelConfigApplyEntry 1 }

apexQamChannelConfigApplyChange OBJECT-TYPE
    SYNTAX ApplyDataToDeviceTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Apply for a row of data in apexQamChannelConfigTable.

         A row in this table corresponds to the same row index in the
         apexQamChannelConfigTable.

         This parameter MUST be set to 'apply' in order for any of the data
         in the rows to take effect in the APEX.  This parameter MUST be set
         LAST after all other data in the configuration table rows has been
         configured.

         @Config(config=no, reboot=no)
        "
::= { apexQamChannelConfigApplyEntry 2 }


-- ------------------------------------------------------------------------------
--
-- apexQamStatus
--
-- apexQamStatusGeneral
--

apexQamStatusTransmissionMode OBJECT-TYPE
    SYNTAX INTEGER
        {
         annexB-ATSC-DCII    (1),
         annexA-DVB          (2),
         annexC-Asia-Pacific (3)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This is the QAM Transmission Mode that is currently in use.
         QAM Transmission Mode is defined in:
         Series J: Transmission of Television, Sound Programme
         and other Multimedia Signals, ITU-T J.83.
        "
::= { apexQamStatusGeneral 1 }

apexQamModuleInstalledCount OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of hot swappable QAM Modules currently installed."
::= { apexQamStatusGeneral 2 }

apexFanModuleInstalledCount OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of Fan-Only Modules currently installed in QAM
         Module slots."
::= { apexQamStatusGeneral 3 }

apexQamChannelsActiveCount OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of QAM Channels that are present (QAM Module installed)
         and enabled for use."
::= { apexQamStatusGeneral 4 }


-- ------------------------------------------------------------------------------
--
-- apexQamModuleStatusTable
--

apexQamModuleStatusTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexQamModuleStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of QAM Module Status.
        
         Refer to the descriptions of apexQamRfConfigTable and
         apexQamChannelConfigTable for information on QAM slot,
         RF Port mapping, and QAM Channel mapping.
         
         Tables apexQamRfPortChannelInfoTable and apexQamChannelIdTable can be
         used to assist in referencing between QAM slots, RF Ports, and QAM
         Channels (Output Transport Streams) for the installed modules.
        "
::= { apexQamStatus 2 }

apexQamModuleStatusEntry OBJECT-TYPE
    SYNTAX ApexQamModuleStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "QAM Module Status Table Entry."
    INDEX { apexQamModuleStatQamModuleNum }
::= { apexQamModuleStatusTable 1 }

ApexQamModuleStatusEntry ::= SEQUENCE
    {
     apexQamModuleStatQamModuleNum          Integer32,
     apexQamModuleStatInstalled             INTEGER,
     apexQamModuleStatFanSpeed              Unsigned32,
     apexQamModuleStatFanFault              INTEGER,
     apexQamModuleStatTemperature           Integer32,
     apexQamModuleStatTemperatureFault      INTEGER,
     apexQamModuleStatError                 INTEGER,
     apexQamModuleStatFaultCondition        INTEGER,
     apexQamModuleStatFaultSumm             INTEGER,
     apexQamModuleStatPowerFault            INTEGER,
     apexQamModuleStatBoardTemperature      Integer32,
     apexQamModuleStatBoardTemperatureFault INTEGER,
     apexQamModuleStat5VdcSupply            Integer32,
     apexQamModuleStat5VdcFault             INTEGER,
     apexQamModuleStat3dot3VdcSupply        Integer32,
     apexQamModuleStat3dot3VdcFault         INTEGER,
     apexQamModuleStatCommError             INTEGER,
     apexQamModuleStatCodeInitError         INTEGER
    }

apexQamModuleStatQamModuleNum OBJECT-TYPE
    SYNTAX Integer32(1..3)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "QAM Module slot number.  "
::= { apexQamModuleStatusEntry 1 }

apexQamModuleStatInstalled OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         notInstalled  (1),
         qam2x4Channel (2),
         qam2x8Channel (3),
         fanModule     (4),
         unsupported   (5),
         removed       (6),
         qamDiscovery  (7),
         qam4x4Channel (8)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates if a module is installed and what type.

         notApplicable - When APEX does not boot properly.
         notInstalled  - No QAM or Fan Module detected in slot. Reported
                         in apexAlarmQamModuleFault.
         qam2x4Channel - A 2x4 Channel QAM Module installed.
         qam2x8Channel - A 2x8 Channel QAM Module installed.
         fanModule     - A Fan Module installed.
         unsupported   - Unknown module installed.  Reported in
                         apexAlarmQamModuleFault.
         removed       - A QAM Module removed when there are active QAM
                         channels.  Reported in apexAlarmQamModuleFault.
         qamDiscovery  - A QAM Module is present and type is being determined.
         qam4x4Channel - A 4x4 Channel QAM Module is installed.
        "
::= { apexQamModuleStatusEntry 2 }

apexQamModuleStatFanSpeed OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The fan speed in RPM for installed QAM or Fan Module.

         Zero if not installed.
        "
::= { apexQamModuleStatusEntry 3 }

apexQamModuleStatFanFault OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         ok    (1),
         error (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Fan Fault.

         This fault is reported in apexAlarmFanFault
         not apexAlarmQamModuleFault.
        "
::= { apexQamModuleStatusEntry 4 }

apexQamModuleStatTemperature OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Temperature at sensor near the fan of the QAM Module or
         Fan Module in degrees Celsius.
        "
::= { apexQamModuleStatusEntry 5 }

apexQamModuleStatTemperatureFault OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         ok       (1),
         overTemp (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Temperature fault.

         This fault is reported in apexAlarmTemperatureFault
         not apexAlarmQamModuleFault.
        "
::= { apexQamModuleStatusEntry 6 }

apexQamModuleStatError OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable     (0),
         ok                (1),
         removed           (2),
         unsupported       (3),
         notInstalled      (4),
         powerFault        (5),
         offline           (6),
         dc5VoltError      (7),
         dc3-3VoltError    (8),
         commLost          (9),
         codeVersions      (10),
         codeDownload      (11),
         codeDownloadError (12)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Summary of errors reported on an QAM Module basis.
         
         These errors are reported in apexAlarmQamModuleFault.

         ok                - No errors.
         removed           - Reflects apexQamModuleStatInstalled.
         unsupported       - Reflects apexQamModuleStatInstalled.
         notInstalled      - Reflects apexQamModuleStatInstalled.
         powerFault        - Reflects apexQamModuleStatPowerFault.
         offline           - Indicates the QAM Module and the RF Ports on it are
                             being brought to operational mode after module is
                             inserted or the module has recovered from a power
                             fault.
         dc5VoltError      - 5 Vdc error, see also apexQamModuleStat5VdcSupply
                             and apexQamModuleStat5VdcFault.
         dc3-3VoltError    - 3.3 Vdc error, see also
                             apexQamModuleStat3dot3VdcSupply and
                             apexQamModuleStat3dot3VdcFault.
         commLost          - Communication Lost, see also
                             apexQamModuleStatCommError.
         codeVersions      - Incorrect Code Versions on module, see also
                             apexQamModuleStatCodeInitError,
                             apexQamQrmRevisionTable, and
                             apexQamQrmRevisionStatusTable.
         codeDownload      - Code Download In Progress, see also
                             apexQrmDownloadStatusTable.
         codeDownloadError - Code Download Error, see also
                             apexQrmDownloadStatusTable.
        "
::= { apexQamModuleStatusEntry 7 }

apexQamModuleStatFaultCondition OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Current fault condition of the QAM Module errors.
         Reflects apexAlarmQamModuleFault for this QAM Module.
        "
::= { apexQamModuleStatusEntry 8 }

apexQamModuleStatFaultSumm OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Roll-up of QAM RF Port and QAM Channel fault conditions
         for this QAM Module.
        "
::= { apexQamModuleStatusEntry 9 }

apexQamModuleStatPowerFault OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         ok                  (1),
         lowVoltageMainboard (2),
         lowVoltageQamModule (3),
         overCurrent         (4)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Power fault.

         notApplicable       - No module installed.
         ok                  - Power good.
         lowVoltageMainboard - Low voltage detected on Mainboard side of
                               connector.
         lowVoltageQamModule - Low voltage detected on QAM Module side of
                               connector.
         overCurrent         - Over current detected on QAM Module.

         This fault is reported in apexAlarmQamModuleFault.
        "
::= { apexQamModuleStatusEntry 10 }

apexQamModuleStatBoardTemperature OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Temperature of the 4x4 QAM module board ('plate' temp) in degrees Celsius.
         
         Used only for 4x4 QAM Modules.
        "
::= { apexQamModuleStatusEntry 11 }

apexQamModuleStatBoardTemperatureFault OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         ok       (1),
         overTemp (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Board temperature fault of the 4x4 QAM module board ('plate' temp).
         
         Used only for 4x4 QAM Modules.
         
         This fault is reported in apexAlarmTemperatureFault
         not apexAlarmQamModuleFault.
        "
::= { apexQamModuleStatusEntry 12 }

apexQamModuleStat5VdcSupply OBJECT-TYPE
    SYNTAX Integer32(0..1000)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Measured level of the +5 VDC supply input of the 4x4 QAM module board.
         
         Used only for 4x4 QAM Modules.
         
         Range is 0 to 1000 representing 0 to 10 Volts in 0.01 Volt steps.
        "
::= { apexQamModuleStatusEntry 13 }

apexQamModuleStat5VdcFault OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         ok   (1),
         low  (2),
         high (3)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The +5 VDC supply fault of the 4x4 QAM module board.
         
         Used only for 4x4 QAM Modules.
         
         Indicates there is a problem with the direct 5 VDC supply or any internal
         module supply derived from the 5 VDC supply.
         
         Indicates voltage problem that can impair module function.
        "
::= { apexQamModuleStatusEntry 14 }

apexQamModuleStat3dot3VdcSupply OBJECT-TYPE
    SYNTAX Integer32(0..1000)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Measured level of the +3.3 VDC supply input of the 4x4 QAM module board.
         
         Used only for 4x4 QAM Modules.
         
         Range is 0 to 1000 representing 0 to 10 Volts in 0.01 Volt steps.
        "
::= { apexQamModuleStatusEntry 15 }

apexQamModuleStat3dot3VdcFault OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         ok   (1),
         low  (2),
         high (3)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The +3.3 VDC supply fault of the 4x4 QAM module board.
         
         Used only for 4x4 QAM Modules.
         
         Indicates there is a problem with the direct 3.3 VDC supply or any internal
         module supply derived from the 3.3 VDC supply.
         
         Indicates voltage problem that can impair module function.
        "
::= { apexQamModuleStatusEntry 16 }

apexQamModuleStatCommError OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         inComm   (1),
         commLost (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Communication with the 4x4 QAM Module has failed.
         
         Used only for 4x4 QAM Modules.
        "
::= { apexQamModuleStatusEntry 17 }

apexQamModuleStatCodeInitError OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         ok    (1),
         error (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Code initialization error of the 4x4 QAM Module.
         
         Used only for 4x4 QAM Modules.
         
         Indicates a code, firmware, or FPGA startup issue.
         
         The module failed to load the FW/FPGA files to the devices or valid
         FW/FPGA files could not be found in the module.
         
         Code download is required to restore the module.
        "
::= { apexQamModuleStatusEntry 18 }


-- ------------------------------------------------------------------------------
--
-- apexQamModuleSerialNumTable
--

apexQamModuleSerialNumTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexQamModuleSerialNumEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of QAM Module Serial Numbers.
        "
::= { apexQamStatus 3 }

apexQamModuleSerialNumEntry OBJECT-TYPE
    SYNTAX ApexQamModuleSerialNumEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "QAM Module Serial Number Table Entry."
    INDEX { apexQamModuleSerialNumQamModuleNum }
::= { apexQamModuleSerialNumTable 1 }

ApexQamModuleSerialNumEntry ::= SEQUENCE
    {
     apexQamModuleSerialNumQamModuleNum Integer32,
     apexQamModuleSerialNumber          DisplayString
    }

apexQamModuleSerialNumQamModuleNum OBJECT-TYPE
    SYNTAX Integer32(1..3)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "QAM Module slot number."
::= { apexQamModuleSerialNumEntry 1 }

apexQamModuleSerialNumber OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..20))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The serial number of an installed QAM Module.

         Zero if not installed."
::= { apexQamModuleSerialNumEntry 2 }


-- ------------------------------------------------------------------------------
--
-- apexQamQrmRevisionTable
--

apexQamQrmRevisionTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexQamQrmRevisionEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of QAM Module hardware and software revisions.
         
         There are 2 QRM modules on each 2x4/2x8 QAM Module.
         QRMs in QAM Module slots are mapped to table rows as follows:
         
             Slot/QRM   Table Row
                1/1         1
                1/2         2
                2/1         3
                2/2         4
                3/1         5
                3/2         6
         
         4x4 QAM Modules do not use QRM boards.  There is only one
         board.  These will be found in the odd indexed rows of this
         table.  The even indexed rows of the table are not used for
         4x4 QAM Modules.  4x4 QAM Modules in QAM Module slots are
         mapped to table rows as follows:
         
               Slot     Table Row
                 1          1
                 2          3
                 3          5
        "
::= { apexQamStatus 4 }

apexQamQrmRevisionEntry OBJECT-TYPE
    SYNTAX ApexQamQrmRevisionEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "QAM Module Revision Table Entry."
    INDEX { apexQamQrmRevRfPortNum }
::= { apexQamQrmRevisionTable 1 }

ApexQamQrmRevisionEntry ::= SEQUENCE
    {
     apexQamQrmRevRfPortNum    Integer32,
     apexQamQrmRevBoardId      DisplayString,
     apexQamQrmRevAppFw        DisplayString,
     apexQamQrmRevBootLoaderFw DisplayString,
     apexQamQrmRevFpga         DisplayString,
     apexQamQrmRevHw           DisplayString,
     apexQamQrmRevSerialNumber DisplayString,
     apexQamQrmRevFpga2        DisplayString
    }

apexQamQrmRevRfPortNum OBJECT-TYPE
    SYNTAX Integer32(1..6)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "QAM Module Revision Table index."
::= { apexQamQrmRevisionEntry 1 }

apexQamQrmRevBoardId OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..12))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Model ID of the 4x4 QAM Module or the 2x4/2x8 QAM Module's QRM board.
         Hex XXYY."
::= { apexQamQrmRevisionEntry 2 }

apexQamQrmRevAppFw OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..12))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Application firmware version of the 4x4 QAM Module or the 2x4/2x8 QAM
         Module's QRM board.
         
         Hex XXYY where XX is major version and YY is minor version.
        'FFFF' indicates no valid application code is present."
::= { apexQamQrmRevisionEntry 3 }

apexQamQrmRevBootLoaderFw OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..12))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Boot loader firmware version of the 4x4 QAM Module or the 2x4/2x8 QAM
         Module's QRM board.
         
         Hex XXYY where XX is major version and YY is minor version."
::= { apexQamQrmRevisionEntry 4 }

apexQamQrmRevFpga OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..12))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "FPGA version of the 2x4/2x8 QAM Module's QRM board or
         FPGA1 version of the 4x4 QAM Module.
         
         Hex XXYY where XX is major version and YY is minor version."
::= { apexQamQrmRevisionEntry 5 }

apexQamQrmRevHw OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..12))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Hardware version of the 4x4 QAM Module or the 2x4/2x8 QAM Module's QRM
         board.
         
         Hex XXYY where XX is major version and YY is minor version."
::= { apexQamQrmRevisionEntry 6 }

apexQamQrmRevSerialNumber OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..20))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The serial number of the 2x4/2x8 QAM Module's QRM board.
         
         Used only for 2x4/2x8 QAM Modules.
         Zero if not installed."
::= { apexQamQrmRevisionEntry 7 }

apexQamQrmRevFpga2 OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..12))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "FPGA2 version of the 4x4 QAM Module.
         
         Used only for 4x4 QAM Modules.
         
         Hex XXYY where XX is major version and YY is minor version.
        "
::= { apexQamQrmRevisionEntry 8 }


-- ------------------------------------------------------------------------------
--
-- apexQamRfPortStatusTable
--

apexQamRfPortStatusTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexQamRfPortStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of QAM RF Port Status.
        
         Refer to the descriptions of apexQamRfConfigTable and
         apexQamChannelConfigTable for information on QAM slot,
         RF Port mapping, and QAM Channel mapping.
         
         Tables apexQamRfPortChannelInfoTable and apexQamChannelIdTable can be
         used to assist in referencing between QAM slots, RF Ports, and QAM
         Channels (Output Transport Streams) for the installed modules.
        "
::= { apexQamStatus 5 }

apexQamRfPortStatusEntry OBJECT-TYPE
    SYNTAX ApexQamRfPortStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "QAM RF Port Status Table Entry."
    INDEX { apexQamRfPortStatRfPortNum }
::= { apexQamRfPortStatusTable 1 }

ApexQamRfPortStatusEntry ::= SEQUENCE
    {
     apexQamRfPortStatRfPortNum         Integer32,
     apexQamRfPortStatInfoRate          Unsigned32,
     apexQamRfPortStatNumChannelsActive Integer32,
     apexQamRfPortStatOutputLevel       Integer32,
     apexQamRfPortStatOutputLevelFault  INTEGER,
     apexQamRfPortStatTemperature       Integer32,
     apexQamRfPortStatTemperatureFault  INTEGER,
     apexQamRfPortStat5VdcSupply        Integer32,
     apexQamRfPortStat5VdcFault         INTEGER,
     apexQamRfPortStat3dot3VdcSupply    Integer32,
     apexQamRfPortStat3dot3VdcFault     INTEGER,
     apexQamRfPortStatFreqPllLock       INTEGER,
     apexQamRfPortStatRefClockPresent   INTEGER,
     apexQamRfPortStatRefClockLock      INTEGER,
     apexQamRfPortStatDataClockPresent  INTEGER,
     apexQamRfPortStatDataSyncFault     INTEGER,
     apexQamRfPortStatCommError         INTEGER,
     apexQamRfPortStatError             INTEGER,
     apexQamRfPortStatFaultCondition    INTEGER,
     apexQamRfPortStatChanFaultSumm     INTEGER,
     apexQamRfPortStatCodeInitError     INTEGER
    }

apexQamRfPortStatRfPortNum OBJECT-TYPE
    SYNTAX Integer32(1..12)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "RF Port number."
::= { apexQamRfPortStatusEntry 1 }

apexQamRfPortStatInfoRate OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The information rate of the QAM channels on this RF Port
         in bits per second."
::= { apexQamRfPortStatusEntry 2 }

apexQamRfPortStatNumChannelsActive OBJECT-TYPE
    SYNTAX Integer32(0..8)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of QAM Channels that are present (QAM Module installed)
         and enabled for use on this RF Port."
::= { apexQamRfPortStatusEntry 3 }

apexQamRfPortStatOutputLevel OBJECT-TYPE
    SYNTAX Integer32(0..8000)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Measured per channel RF Output Level.
         Range is 0 to 8000 representing 0 to 80 dBmV in 0.01 dBmV steps."
::= { apexQamRfPortStatusEntry 4 }

apexQamRfPortStatOutputLevelFault OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         ok   (1),
         low  (2),
         high (3)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "RF Output Level fault.  Indicates if the user configured
         apexQamRfConfigRfLevelLowThreshold or
         apexQamRfConfigRfLevelHighThreshold has been reached."
::= { apexQamRfPortStatusEntry 5 }

apexQamRfPortStatTemperature OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Temperature of the 2x4/2x8 QAM Module's QRM board ('plate' temp)
         in degrees Celsius.
         
         Used only for 2x4/2x8 QAM Modules.
        "
::= { apexQamRfPortStatusEntry 6 }

apexQamRfPortStatTemperatureFault OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         ok       (1),
         overTemp (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Temperature fault of the 2x4/2x8 QAM Module's QRM board ('plate' temp).
         
         Used only for 2x4/2x8 QAM Modules.
         
         This fault is reported in apexAlarmTemperatureFault
         not apexAlarmQamRfPortFault."
::= { apexQamRfPortStatusEntry 7 }

apexQamRfPortStat5VdcSupply OBJECT-TYPE
    SYNTAX Integer32(0..1000)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Measured level of the +5 VDC supply input of the 2x4/2x8 QAM Module's
         QRM board.
         
         Used only for 2x4/2x8 QAM Modules.
         
         Range is 0 to 1000 representing 0 to 10 Volts in 0.01 Volt steps."
::= { apexQamRfPortStatusEntry 8 }

apexQamRfPortStat5VdcFault OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         ok   (1),
         low  (2),
         high (3)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The +5 VDC supply fault of the 2x4/2x8 QAM Module's QRM board.
         
         Used only for 2x4/2x8 QAM Modules.
         
         Indicates voltage problem that can impair QRM function."
::= { apexQamRfPortStatusEntry 9 }

apexQamRfPortStat3dot3VdcSupply OBJECT-TYPE
    SYNTAX Integer32(0..1000)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Measured level of the +3.3 VDC supply input of the 2x4/2x8 QAM Module's QRM board.
         
         Used only for 2x4/2x8 QAM Modules.
         
         Range is 0 to 1000 representing 0 to 10 Volts in 0.01 Volt steps."
::= { apexQamRfPortStatusEntry 10 }

apexQamRfPortStat3dot3VdcFault OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         ok   (1),
         low  (2),
         high (3)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The +3.3 VDC supply fault of the 2x4/2x8 QAM Module's QRM board.
         
         Used only for 2x4/2x8 QAM Modules.
         
         Indicates voltage problem that can impair QRM function."
::= { apexQamRfPortStatusEntry 11 }

apexQamRfPortStatFreqPllLock OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         locked    (1),
         notLocked (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Frequency tuning PLL lock status."
::= { apexQamRfPortStatusEntry 12 }

apexQamRfPortStatRefClockPresent OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         present    (1),
         notPresent (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "External reference clock present indication."
::= { apexQamRfPortStatusEntry 13 }

apexQamRfPortStatRefClockLock OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         locked    (1),
         notLocked (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Board not phase-locked to the External reference clock.
        "
::= { apexQamRfPortStatusEntry 14 }

apexQamRfPortStatDataClockPresent OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         present    (1),
         notPresent (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Data clock present indication."
::= { apexQamRfPortStatusEntry 15 }

apexQamRfPortStatDataSyncFault OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         inSync   (1),
         syncLost (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "One or more of the QAM Channel data interfaces is not synchronized."
::= { apexQamRfPortStatusEntry 16 }

apexQamRfPortStatCommError OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         inComm   (1),
         commLost (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Communication with the 2x4/2x8 QAM Module's QRM board has failed.
        "
::= { apexQamRfPortStatusEntry 17 }

apexQamRfPortStatError OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable     (0),
         ok                (1),
         outputRfLevel     (2),
         dc5VoltError      (3),
         dc3-3VoltError    (4),
         freqPllNotLocked  (5),
         extClkNotPresent  (6),
         extClkNotLocked   (7),
         dataClkNotPresent (8),
         dataSyncLost      (9),
         commLost          (10),
         unsupportedQrm    (11),
         configFailed      (12),
         codeVersions      (13),
         codeDownload      (14),
         codeDownloadError (15)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Error status on an RF Port basis.

         These errors are reported in apexAlarmQamRfPortFault.

         'major' for:
            'outputRfLevel', 'dc5VoltError', 'dc3-3VoltError'.

         'critical' for:
            'freqPllNotLocked', 'extClkNotPresent', 'extClkNotLocked',
            'dataClkNotPresent', 'dataSyncLost', 'commLost', 'codeVersions',
            'codeDownload', 'codeDownloadError', 'unsupportedQrm', or
            'configFailed'.

         outputRfLevel     - RF Output Level error, see also
                             apexQamRfPortStatOutputLevel and
                             apexQamRfPortStatOutputLevelFault.
         dc5VoltError      - 5 Vdc error, see also apexQamRfPortStat5VdcSupply
                             and apexQamRfPortStat5VdcFault.
         dc3-3VoltError    - 3.3 Vdc error, see also
                             apexQamRfPortStat3dot3VdcSupply and
                             apexQamRfPortStat3dot3VdcFault.
         freqPllNotLocked  - Frequency PLL not locked, see also
                             apexQamRfPortStatFreqPllLock.
         extClkNotPresent  - External Reference Clock Not Present, see also
                             apexQamRfPortStatRefClockPresent.
         extClkNotLocked   - Not Locked to External Reference Clock, see also
                             apexQamRfPortStatRefClockLock.
         dataClkNotPresent - Data Clock Not Present, see also
                             apexQamRfPortStatDataClockPresent.
         dataSyncLost      - Data Synchronization Lost, see also
                             apexQamRfPortStatDataSyncFault.
         commLost          - Communication Lost, see also
                             apexQamRfPortStatCommError.
         unsupportedQrm    - QRM Revision Not Supported, see also
                             apexQamQrmRevisionTable and
                             apexQamQrmRevisionStatusTable.
         configFailed      - RF Port Configuration Failed.
         codeVersions      - Incorrect Code Versions on QRM, see also
                             apexQamRfPortStatCodeInitError,
                             apexQamQrmRevisionTable, and
                             apexQamQrmRevisionStatusTable.
         codeDownload      - Code Download In Progress, see also
                             apexQrmDownloadStatusTable.
         codeDownloadError - Code Download Error, see also
                             apexQrmDownloadStatusTable.
        "
::= { apexQamRfPortStatusEntry 18 }

apexQamRfPortStatFaultCondition OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Current fault condition of the RF Port errors.
         Reflects apexAlarmQamRfPortFault for this RF Port.
        "
::= { apexQamRfPortStatusEntry 19 }

apexQamRfPortStatChanFaultSumm OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Roll-up of Channel fault conditions for this RF Port."
::= { apexQamRfPortStatusEntry 20 }

apexQamRfPortStatCodeInitError OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         ok            (1),
         fpgaInitError (2),
         calDataError  (3)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Code initialization error of the 2x4/2x8 QAM Module's QRM board.
         
         Indicates a code, firmware, or FPGA startup issue.
         
         'fpgaInitError' - FPGA not loaded.  Caused by incompatible code
                           images or corrupted FPGA image on the QRM.
         
         'calDataError'  - Working copy of calibration data was corrupted
                           and needs to be restored by code download process.
                           Caused by interruption of previous code download
                           process.
        "
::= { apexQamRfPortStatusEntry 21 }


-- ------------------------------------------------------------------------------
--
-- apexQamChannelStatusTable
--

apexQamChannelStatusTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexQamChannelStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of QAM Channel Status.
        
         Refer to the descriptions of apexQamRfConfigTable and
         apexQamChannelConfigTable for information on QAM slot,
         RF Port mapping, and QAM Channel mapping.
         
         Tables apexQamRfPortChannelInfoTable and apexQamChannelIdTable can be
         used to assist in referencing between QAM slots, RF Ports, and QAM
         Channels (Output Transport Streams) for the installed modules.
        "
::= { apexQamStatus 6 }

apexQamChannelStatusEntry OBJECT-TYPE
    SYNTAX ApexQamChannelStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "QAM Channel Status Table Entry."
    INDEX { apexQamChanStatChannelNum }
::= { apexQamChannelStatusTable 1 }

ApexQamChannelStatusEntry ::= SEQUENCE
    {
     apexQamChanStatChannelNum     Integer32,
     apexQamChanStatActive         ActiveTYPE,
     apexQamChanStatRfFreq         Integer32,
     apexQamChanStatEiaChanNum     Integer32,
     apexQamChanStatDataPresent    INTEGER,
     apexQamChanStatError          INTEGER,
     apexQamChanStatFaultCondition INTEGER
    }

apexQamChanStatChannelNum OBJECT-TYPE
    SYNTAX Integer32(1..48)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "QAM Channel number."
::= { apexQamChannelStatusEntry 1 }

apexQamChanStatActive OBJECT-TYPE
    SYNTAX ActiveTYPE
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "'active' indicates that mappings can be made to the channel.
         This means that either:
          1) The channel is present (apexQamModuleStatInstalled
             'qam2x4Channel' or 'qam2x8Channel') and enabled for use
             (apexQamRfConfigNumChannelsEnabled);
          2) Or, the channel is on the backup RF port when QAM RF Redundancy
             is enabled (apexQamRfRedundConfigEnable).
        "
::= { apexQamChannelStatusEntry 2 }

apexQamChanStatRfFreq OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The center frequency for the QAM Channel in Hz."
::= { apexQamChannelStatusEntry 3 }

apexQamChanStatEiaChanNum OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The EIA Channel number for the QAM Channel.
         Will be zero if there is no EIA Channel number
         corresponding to the frequency in use."
::= { apexQamChannelStatusEntry 4 }

apexQamChanStatDataPresent OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         data   (1),
         noData (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indication of MPEG data activity on the interface for this QAM channel.
         This includes MPEG null packets."
::= { apexQamChannelStatusEntry 5 }

apexQamChanStatError OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         ok     (1),
         noData (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Summary of errors reported on a QAM channel.

         This is enumerated and the reported error will be the
         most severe.
        "
::= { apexQamChannelStatusEntry 6 }

apexQamChanStatFaultCondition OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Current fault condition of the QAM channel errors.
         Reflects apexAlarmQamChannelFault for this QAM Channel.
        "
::= { apexQamChannelStatusEntry 7 }


-- ------------------------------------------------------------------------------
--
-- apexQamRfRedundancyStatus
--
-- apexQamRfRedundancyStatusGeneral
--

apexQamRfRedundStatusBackupPort OBJECT-TYPE
    SYNTAX INTEGER
        {
         disabled (0),
         standby  (1),
         active   (2),
         failed   (3),
         removed  (4)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "State of configured backup port.
         'disabled' - QAM RF Redundancy is disabled.
         'standby'  - QAM RF Redundancy is enabled but backup is inactive.
                      No failure has occurred.
         'active'   - Failover has occurred and backup is active.
                      Refer to apexQamRfRedundStatusFailedPort for port being
                      backed up.
         'failed'   - Backup port has failed.  APEX cannot provide RF
                      redundancy.
         'removed'  - QAM Module with Backup port has been removed.
                      APEX cannot provide RF redundancy.
        "
::= { apexQamRfRedundancyStatusGeneral 1 }

apexQamRfRedundStatusFailedPort OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates which port (1 to 5) has failed over to the backup port.
         Zero indicates backup port is not active.
        "
::= { apexQamRfRedundancyStatusGeneral 2 }

apexQamRfRedundStatusMismatch OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         noMismatch    (1),
         backup2x4     (2),
         primary2x4    (3),
         any4x4        (4)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether there is a potential for channels being lost
         when failing to the backup or when switching back to a primary due
         to a mixture of 2x4 and 2x8 QAM Modules.  Indicates whether RF
         redundancy is unavailable due to a 4x4 QAM Module installed.

         A 2x4 QAM Module is capable of supporting a maximum of 4 channels
         per RF port.  A 2x8 QAM Module is capable of supporting a maximum
         of 8 channels per RF port.  The number of channels enabled
         (apexQamRfConfigNumChannelsEnabled) is not considered.

         'notApplicable' - QAM RF Redundancy is disabled.
         'noMismatch'    - Indicates no channels would be lost because there is
                           no mismatch.
         'backup2x4'     - Indicates a loss of channels could occur on failover
                           to the backup because the backup RF Port is in a 2x4
                           module and at least one primary RF Port is in a 2x8
                           module.
         'primary2x4'    - Indicates a loss of channels could occur on switch-
                           back from the backup to the primary because the
                           backup RF Port is in a 2x8 module and the primary RF
                           Port is in a 2x4 module.  This would occur if the
                           failed 2x8 primary is replaced with a 2x4.
         'any4x4'        - Indicates a 4x4 QAM Module is installed in any slot
                           and RF Redundancy is not available.  Failover and/or
                           switchback are suspended until the 4x4 is replaced.
        "
::= { apexQamRfRedundancyStatusGeneral 3 }

apexQamRfRedundStatusUdpPort OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "UDP Port that is used for QAM RF Redundancy communication between
         the APEX and REM.

         When apexQamRfRedundConfigRemConnection is:
         'direct' - APEX sends/receives broadcast on this UDP Port.
         'common' - APEX sends/receives singlecast on this UDP Port.
        "
::= { apexQamRfRedundancyStatusGeneral 4 }

apexQamRfRedundStatusRemConnection OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable  (0),
         notConnected   (1),
         connected      (2),
         connectionLost (3)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "State of communication with REM.
         'notApplicable'  - QAM RF Redundancy is not enabled and/or the
                            connection to the REM is not enabled.
         'notConnected'   - Initial condition. APEX has not sent a
                            switch_port() message yet.
         'connected'      - received ack() message from REM for current
                            switch_port() message.
         'connectionLost' - REM has not replied to last 3 heartbeat
                            switch_port() messages.
        "
::= { apexQamRfRedundancyStatusGeneral 5 }

apexQamRfRedundStatusRemError OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Status of REM1000 taken from error_code field in REM1000 ack()
         response (defined in REM1000 Message Stream Protocol).

         Valid only when apexQamRfRedundConfigRemConnection is other than 'none'.

         Values as defined in REM1000 MSP:
         0x00 - No Errors.  No problems switching, parsing switch_port()
                message, or with HW.
         0x01 - Invalid apex_id value in prior switch_port() message.
         0x02 - Invalid msg_type value in prior switch_port() message.
         0x03 - Invalid port value in prior switch_port() message.
         0x04 - Error switching after receiving valid switch_port() message.
         0x05 - Minor HW error.  REM can still switch.
         0x81 - Apex_id Conflict.  Switch_port() messages with the same apex_id
                have been received from multiple APEXs. Switch reset to pass-
                through configuration.
         0x85 - Major HW error.  REM failure.  Switch reset to pass-through
                configuration.
        "
::= { apexQamRfRedundancyStatusGeneral 6 }

apexQamRfRedundStatusRemSwitch OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Status of the REM1000 switches indicated through ack() response
         from REM1000 (e.g. pass-through or switching port 'x').

         Valid only when apexQamRfRedundConfigRemConnection is other than
         'none'.

         Zero indicates REM is in passing inputs 1 to 5 straight through to
         outputs 1 to 5.

         Values of 1 to 5 indicate REM backup input port is switched to
         output port 1 to 5 and other ports are passed through.
        "
::= { apexQamRfRedundancyStatusGeneral 7 }

apexQamRfRedundStatusInvalidApplyText OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..80))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "When apexQamRfRedundConfigApplyChange is set to
         'applyNotInProgressInvalidData' this entry may contain
         a text description of what was wrong with the data. This
         entry contains the description for the most recent apply
         of a related entry that was invalid.
        "
::= { apexQamRfRedundancyStatusGeneral 8 }


-- ------------------------------------------------------------------------------
--
-- apexQamRfPortMuteStatusTable
--

apexQamRfPortMuteStatusTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexQamRfPortMuteStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of QAM RF Port Mute Status.
        "
::= { apexQamStatus 8 }

apexQamRfPortMuteStatusEntry OBJECT-TYPE
    SYNTAX ApexQamRfPortMuteStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "QAM RF Port Mute Status Table Entry."
    INDEX { apexQamRfPortMuteStatusRfPortNum }
::= { apexQamRfPortMuteStatusTable 1 }

ApexQamRfPortMuteStatusEntry ::= SEQUENCE
    {
     apexQamRfPortMuteStatusRfPortNum   Integer32,
     apexQamRfPortMuteStatus                    INTEGER
    }

apexQamRfPortMuteStatusRfPortNum OBJECT-TYPE
    SYNTAX Integer32(1..12)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "RF Port number."
::= { apexQamRfPortMuteStatusEntry 1 }

apexQamRfPortMuteStatus OBJECT-TYPE
    SYNTAX INTEGER
        {
         unmuted (1),
         muted   (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the QAM channels on the RF port are muted or unmuted.
        "
::= { apexQamRfPortMuteStatusEntry 2 }


-- ------------------------------------------------------------------------------
--
-- apexQamQrmRevisionStatusTable
--

apexQamQrmRevisionStatusTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexQamQrmRevisionStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of status of QRM hardware and software revisions.
         Indications of whether they are supported, current, etc..
         
         There are 2 QRM modules on each 2x4/2x8 QAM Module.
         QRMs in QAM Module slots are mapped to table rows as follows:
         
             Slot/QRM   Table Row
                1/1         1
                1/2         2
                2/1         3
                2/2         4
                3/1         5
                3/2         6
         
         4x4 QAM Modules do not use QRM boards.  There is only one
         board.  These will be found in the odd indexed rows of this
         table.  The even indexed rows of the table are not used for
         4x4 QAM Modules.  4x4 QAM Modules in QAM Module slots are
         mapped to table rows as follows:
         
               Slot     Table Row
                 1          1
                 2          3
                 3          5
        "
::= { apexQamStatus 9 }

apexQamQrmRevisionStatusEntry OBJECT-TYPE
    SYNTAX ApexQamQrmRevisionStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "QRM Revision Status Table Entry"
    INDEX { apexQamQrmRevStatQrmNum }
::= { apexQamQrmRevisionStatusTable 1 }

ApexQamQrmRevisionStatusEntry ::= SEQUENCE
    {
     apexQamQrmRevStatQrmNum       Integer32,
     apexQamQrmRevStatBoardId      INTEGER,
     apexQamQrmRevStatAppFw        INTEGER,
     apexQamQrmRevStatBootLoaderFw INTEGER,
     apexQamQrmRevStatFpga         INTEGER,
     apexQamQrmRevStatHw           INTEGER,
     apexQamQrmRevStatQrmSupported INTEGER,
     apexQamQrmRevStatFpga2        INTEGER
    }

apexQamQrmRevStatQrmNum OBJECT-TYPE
    SYNTAX Integer32(1..6)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "QRM Revision Status Table index."
::= { apexQamQrmRevisionStatusEntry 1 }

apexQamQrmRevStatBoardId OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable  (0),
         notSupported   (1),
         supported      (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Status of the Model ID of the 4x4 QAM Module or the
         2x4/2x8 QAM Module's QRM board.
         
         Refer to apexQamQrmRevisionTable for the revisions
         of each QRM.
        "
::= { apexQamQrmRevisionStatusEntry 2 }

apexQamQrmRevStatAppFw OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable  (0),
         notSupported   (1),
         belowRelease   (2),
         atRelease      (3),
         aboveRelease   (4)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Status of Application firmware version of the 4x4
         QAM Module or the 2x4/2x8 QAM Module's QRM board.
         
         Refer to apexQamQrmRevisionTable for the revisions
         of each 4x4 QAM Module or the 2x4/2x8 QAM Module's
         QRM board.
         
         Refer to apexQrmFileRevisionTable for the revisions
         of files in the APEX release resident on the device.
        "
::= { apexQamQrmRevisionStatusEntry 3 }

apexQamQrmRevStatBootLoaderFw OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable  (0),
         notSupported   (1),
         supported      (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Status of Boot loader firmware version of the 4x4
         QAM Module or the 2x4/2x8 QAM Module's QRM board.
         
         Refer to apexQamQrmRevisionTable for the revisions
         of each 4x4 QAM Module or the 2x4/2x8 QAM Module's
         QRM board.
        "
::= { apexQamQrmRevisionStatusEntry 4 }

apexQamQrmRevStatFpga OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable  (0),
         notSupported   (1),
         belowRelease   (2),
         atRelease      (3),
         aboveRelease   (4)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Status of FPGA version of the 2x4/2x8 QAM Module's
         QRM board or FPGA1 version of the 4x4 QAM Module.
         
         Refer to apexQamQrmRevisionTable for the revisions
         of each 4x4 QAM Module or the 2x4/2x8 QAM Module's
         QRM board.
         
         Refer to apexQrmFileRevisionTable for the revisions
         of files in the APEX release resident on the device.
        "
::= { apexQamQrmRevisionStatusEntry 5 }

apexQamQrmRevStatHw OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable  (0),
         notSupported   (1),
         supported      (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Status of Hardware version of the 4x4 QAM Module or
         the 2x4/2x8 QAM Module's QRM board.
         
         Refer to apexQamQrmRevisionTable for the revisions
         of each 4x4 QAM Module or the 2x4/2x8 QAM Module's
         QRM board.
        "
::= { apexQamQrmRevisionStatusEntry 6 }

apexQamQrmRevStatQrmSupported OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable  (0),
         notSupported   (1),
         supported      (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates if the 4x4 QAM Module or the 2x4/2x8 QAM Module's QRM
         board is supported.  Summary of above status.
         
         If any 4x4 QAM Module or the 2x4/2x8 QAM Module's QRM board
         revision status is 'notSupported' this parameter will indicate
         'notSupported' and apexQamRfPortStatError will report
         'unsupportedQrm'.
        "
::= { apexQamQrmRevisionStatusEntry 7 }

apexQamQrmRevStatFpga2 OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable  (0),
         notSupported   (1),
         belowRelease   (2),
         atRelease      (3),
         aboveRelease   (4)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Status of FPGA2 version of the 4x4 QAM Module.
         
         Refer to apexQamQrmRevisionTable for the revisions
         of each 4x4 QAM Module.
         
         Refer to apexQrmFileRevisionTable for the revisions
         of files in the APEX release resident on the device.
        "
::= { apexQamQrmRevisionStatusEntry 8 }


-- ------------------------------------------------------------------------------
--
-- apexQamRfPortChannelInfoTable
--

apexQamRfPortChannelInfoTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexQamRfPortChannelInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of QAM Channel information for each QAM RF Port.
        
         Refer to the descriptions of apexQamRfConfigTable and
         apexQamChannelConfigTable for information on QAM slot,
         RF Port mapping, and QAM Channel mapping.
         
         Tables apexQamRfPortChannelInfoTable and apexQamChannelIdTable can be
         used to assist in referencing between QAM slots, RF Ports, and QAM
         Channels (Output Transport Streams) for the installed modules.
        "
::= { apexQamStatus 10 }

apexQamRfPortChannelInfoEntry OBJECT-TYPE
    SYNTAX ApexQamRfPortChannelInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "QAM RF Port Channel Information Table Entry."
    INDEX { apexQamRfPortChannelInfoRfPortNum }
::= { apexQamRfPortChannelInfoTable 1 }

ApexQamRfPortChannelInfoEntry ::= SEQUENCE
    {
     apexQamRfPortChannelInfoRfPortNum  Integer32,
     apexQamRfPortChannelInfoChanA      Integer32,
     apexQamRfPortChannelInfoChanCount  Integer32
    }

apexQamRfPortChannelInfoRfPortNum OBJECT-TYPE
    SYNTAX Integer32(1..12)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "RF Port number."
::= { apexQamRfPortChannelInfoEntry 1 }

apexQamRfPortChannelInfoChanA OBJECT-TYPE
    SYNTAX Integer32(0|1|5|9|13|17|21|25|29|33|37|41|45)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "QAM Channel number (Output Transport number) of QAM Channel
         'A' on this RF port.
         
         This may be used to access data in tables indexed by QAM Number
         or Output Transport Stream.  Used in combination with
         apexQamRfPortChannelInfoChanCount, data for all QAM Channels
         on this RF Port may be accessed.
         
         '0' - Indicates RF Port is not present.
        "
::= { apexQamRfPortChannelInfoEntry 2 }

apexQamRfPortChannelInfoChanCount OBJECT-TYPE
    SYNTAX Integer32(0 | 4 | 8)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of QAM Channels on the RF port.
         
         '0' - Indicates RF Port is not present.
         '4' - RF Port has 4 QAM Channels, 'A'-'D'.
         '8' - RF Port has 8 QAM Channels, 'A'-'H'.
        "
::= { apexQamRfPortChannelInfoEntry 3 }


-- ------------------------------------------------------------------------------
--
-- apexQamChannelIdTable
--

apexQamChannelIdTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexQamChannelIdEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of QAM Channel Identification data.  Identifies
         the physical location of the QAM Channel (Output Transport
         Stream) in the APEX chassis.
        
         Refer to the descriptions of apexQamRfConfigTable and
         apexQamChannelConfigTable for information on QAM slot,
         RF Port mapping, and QAM Channel mapping.
         
         Tables apexQamRfPortChannelInfoTable and apexQamChannelIdTable can be
         used to assist in referencing between QAM slots, RF Ports, and QAM
         Channels (Output Transport Streams) for the installed modules.
        "
::= { apexQamStatus 11 }

apexQamChannelIdEntry OBJECT-TYPE
    SYNTAX ApexQamChannelIdEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "QAM Channel Identification Table Entry."
    INDEX { apexQamChannelIdChannelNum }
::= { apexQamChannelIdTable 1 }

ApexQamChannelIdEntry ::= SEQUENCE
    {
     apexQamChannelIdChannelNum          Integer32,
     apexQamChannelIdSlotNum             Integer32,
     apexQamChannelIdRfPortNum           Integer32,
     apexQamChannelIdModuleRfPortNum     Integer32,
     apexQamChannelIdChannelLetter       DisplayString,
     apexQamChannelIdChannelDescription  DisplayString
    }

apexQamChannelIdChannelNum OBJECT-TYPE
    SYNTAX Integer32(1..48)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "QAM Channel number (Output Transport number)."
::= { apexQamChannelIdEntry 1 }

apexQamChannelIdSlotNum OBJECT-TYPE
    SYNTAX Integer32(1..3)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "QAM Slot number of the channel.
        "
::= { apexQamChannelIdEntry 2 }

apexQamChannelIdRfPortNum OBJECT-TYPE
    SYNTAX Integer32(0..12)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "RF Port number of the channel.
         
         This may be used to access data in tables indexed by RF Port
         Number.
         
         '0' - Indicates QAM Channel is not present.
        "
::= { apexQamChannelIdEntry 3 }

apexQamChannelIdModuleRfPortNum OBJECT-TYPE
    SYNTAX Integer32(0..4)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Module RF Port number of the channel.
        
         Corresponds to RF Port numbering on the back of
         physical QAM Module.
         
         '0' - Indicates QAM Channel is not present.
        "
::= { apexQamChannelIdEntry 4 }

apexQamChannelIdChannelLetter OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..1))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The letter symbol ('A'..'H') for the channel.

         String will be empty if QAM Channel not present.
        "
::= { apexQamChannelIdEntry 5 }

apexQamChannelIdChannelDescription OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..11))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Text description for the QAM Channel (Output Transport Stream).
         
         Format is as follows where brackets and bracketed descriptions are
         replaced by a number/letter as appropriate:
            [QAM Channel / TS Num]:Slot[QAM Slot Num]-[Module Rf Port Num][Channel Letter]
            
         Examples:
            TS  9, in QAM Slot 1, on RF Port 2: '09:Slot1-2A'
            TS 17, in QAM Slot 2, on RF Port 1: '17:Slot2-1A'
            TS 48, in QAM Slot 3, on RF Port 2: '48:Slot3-2H'
            TS 48, in QAM Slot 3, on RF Port 4: '48:Slot3-4D'
            
         This may be used for display purposes on a management system.
         
         String will be empty or contain '[QAM Channel / TS Num]:Inactive' if
         apexQamChanStatActive is not set to 'active', i.e. if QAM Channel is
         not present and/or not enabled.
        "
::= { apexQamChannelIdEntry 6 }


-- ------------------------------------------------------------------------------
--
-- apexQrmDownload
--
-- apexQrmDownloadConfig
--
-- apexQrmDownloadConfigGeneral
--

-- none


-- ------------------------------------------------------------------------------
--
-- apexQrmDownloadConfigTable
--

apexQrmDownloadConfigTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexQrmDownloadConfigEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of QAM Module Code Download Configuration.
         
         There are 2 QRM modules on each 2x4/2x8 QAM Module.
         QRMs in QAM Module slots are mapped to table rows as follows:
         
             Slot/QRM   Table Row
                1/1         1
                1/2         2
                2/1         3
                2/2         4
                3/1         5
                3/2         6
         
         4x4 QAM Modules do not use QRM boards.  There is only one
         board.  These will be found in the odd indexed rows of this
         table.  The even indexed rows of the table are not used for
         4x4 QAM Modules.  4x4 QAM Modules in QAM Module slots are
         mapped to table rows as follows:
         
               Slot     Table Row
                 1          1
                 2          3
                 3          5
        "
::= { apexQrmDownloadConfig 2 }

apexQrmDownloadConfigEntry OBJECT-TYPE
    SYNTAX ApexQrmDownloadConfigEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "QAM Code Download Configuration Table Entry."
    INDEX { apexQrmDownloadConfigQrmNum }
::= { apexQrmDownloadConfigTable 1 }

ApexQrmDownloadConfigEntry ::= SEQUENCE
    {
     apexQrmDownloadConfigQrmNum   Integer32,
     apexQrmDownloadConfigRequest  INTEGER
    }

apexQrmDownloadConfigQrmNum OBJECT-TYPE
    SYNTAX Integer32(1..6)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "QAM Code Download Configuration Table index."
::= { apexQrmDownloadConfigEntry 1 }

apexQrmDownloadConfigRequest OBJECT-TYPE
    SYNTAX INTEGER
        {
         requestNotInProgress  (0),
         requestDownload       (1)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "User initiated manual 4x4 QAM Module or 2x4/2x8 QAM Module QRM board
         Code Download request.

         Once written, the change to this parameter will take immediate effect.

         @Config(config=no, reboot=no)
        "
::= { apexQrmDownloadConfigEntry 2 }


-- ------------------------------------------------------------------------------
--
-- apexQrmDownloadStatus
--
-- apexQrmDownloadStatusGeneral
--

-- none


-- ------------------------------------------------------------------------------
--
-- apexQrmDownloadStatusTable
--

apexQrmDownloadStatusTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexQrmDownloadStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of QAM Module Code Download Status.
         
         Refer to apexQrmDownloadConfigTable description
         for table indexing information.
        "
::= { apexQrmDownloadStatus 2 }

apexQrmDownloadStatusEntry OBJECT-TYPE
    SYNTAX ApexQrmDownloadStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "QRM Code Download Status Table Entry."
    INDEX { apexQrmDownloadStatusRfPortNum }
::= { apexQrmDownloadStatusTable 1 }

ApexQrmDownloadStatusEntry ::= SEQUENCE
    {
     apexQrmDownloadStatusRfPortNum   Integer32,
     apexQrmDownloadStatusDescription DisplayString,
     apexQrmDownloadProgress          Integer32,
     apexQrmDownloadSupported         INTEGER,
     apexQrmDownloadRequired          INTEGER,
     apexQrmDownloadFileSet           INTEGER
    }

apexQrmDownloadStatusRfPortNum OBJECT-TYPE
    SYNTAX Integer32(1..6)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "QAM Code Download Status Table index."
::= { apexQrmDownloadStatusEntry 1 }

apexQrmDownloadStatusDescription OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Text description of the current state of 4x4 QAM Module or
         2x4/2x8 QAM Module QRM board Code Download.
        "
::= { apexQrmDownloadStatusEntry 2 }

apexQrmDownloadProgress OBJECT-TYPE
    SYNTAX Integer32(-1..100)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Completion percentage of Code Download.  '-1' indicates failure."
::= { apexQrmDownloadStatusEntry 3 }

apexQrmDownloadSupported OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable  (0),
         notSupported   (1),
         supported      (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates if the module HW and SW will support Code Download.

         'notSupported' if the module is unsupported or the code download might
         downgrade the code resident on the module.

         Refer to apexQamQrmRevisionTable, apexQamQrmRevisionStatusTable,
         and apexQrmDownloadFileSet for additional status.

         The user cannot initiate a manual download (apexQrmDownloadConfigRequest)
         when download 'notSupported'.
        "
::= { apexQrmDownloadStatusEntry 4 }

apexQrmDownloadRequired OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         notRequired   (1),
         required      (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates if the module requires Code Download.  Code download
         is needed if the versions are not up to date with the resident
         APEX FW Release.

         Refer to apexQamQrmRevisionTable, apexQamQrmRevisionStatusTable,
         and apexQrmDownloadFileSet for additional status.

         The user can initiate a manual download (apexQrmDownloadConfigRequest)
         when download 'notRequired'.
        "
::= { apexQrmDownloadStatusEntry 5 }

apexQrmDownloadFileSet OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         fileSet1      (1),
         fileSet2      (2),
         fileSet3      (3),
         fileSet4      (4)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates which file set will be used for this module.
        "
::= { apexQrmDownloadStatusEntry 6 }


-- ------------------------------------------------------------------------------
--
-- apexQrmFileRevisionTable
--

apexQrmFileRevisionTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexQrmFileRevisionEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of revisions of QAM Module files released with the
         resident APEX FW Release.
         Refer to identSoftwareVersion in BCS-IDENT-MIB for
         the release number.
        "
::= { apexQrmDownloadStatus 3 }

apexQrmFileRevisionEntry OBJECT-TYPE
    SYNTAX ApexQrmFileRevisionEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "QRM File Revision Table Entry."
    INDEX { apexQrmFileRevFileSetNum }
::= { apexQrmFileRevisionTable 1 }

ApexQrmFileRevisionEntry ::= SEQUENCE
    {
     apexQrmFileRevFileSetNum   Integer32,
     apexQrmFileRevFirmware     DisplayString,
     apexQrmFileRevCalibration  DisplayString,
     apexQrmFileRevFpga         DisplayString,
     apexQrmFileRevFpga2        DisplayString,
     apexQrmFileRevDateTime     DisplayString
    }

apexQrmFileRevFileSetNum OBJECT-TYPE
    SYNTAX Integer32(1..4)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "QAM file set number."
::= { apexQrmFileRevisionEntry 1 }

apexQrmFileRevFirmware OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..12))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Revision of the Application firmware file of the 2x4/2x8 QAM Module's QRM board or
         revision of the Application firmware portion of the 4x4 QAM Module Code File.
         
         Hex XXYY where XX is major version and YY is minor version.
        "
::= { apexQrmFileRevisionEntry 2 }

apexQrmFileRevCalibration OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..12))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Revision of the Calibration data file of the 2x4/2x8 QAM Module's QRM board.
         
         Used only for 2x4/2x8 QAM Module QRM board file sets.
         
         Hex XXYY where XX is major version and YY is minor version.
        "
::= { apexQrmFileRevisionEntry 3 }

apexQrmFileRevFpga OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..12))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Revision of FPGA firmware file of the 2x4/2x8 QAM Module's QRM board or
         revision of the FPGA1 firmware portion of the 4x4 QAM Module Code File.
         
         Hex XXYY where XX is major version and YY is minor version.
        "
::= { apexQrmFileRevisionEntry 4 }

apexQrmFileRevFpga2 OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..12))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Revision of FPGA2 firmware portion of the 4x4 QAM Module Code File.
         
         Used only for 4x4 QAM Module file sets.
         
         Hex XXYY where XX is major version and YY is minor version.
        "
::= { apexQrmFileRevisionEntry 5 }

apexQrmFileRevDateTime OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..16))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Date and time the 4x4 QAM Module code file was created.
         
         Used only for 4x4 QAM Module file sets.
         
         Format: 'MM/DD/YYYY HH:MM'  Where HH is a 24 hour clock.
        "
::= { apexQrmFileRevisionEntry 6 }



-- ------------------------------------------------------------------------------
--
-- apexSessionControl
--
-- apexSessionControlConfig
--
-- apexSessionControlConfigGeneral
--

apexSesContConfProtocol OBJECT-TYPE
    SYNTAX INTEGER
        {
         none (0),
         rpc  (1),
         rtsp (2),
         mha-ermi (3)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The communication protocol for output streams in Session Control operating
         mode. This determines the type of protocol the APEX will use to communicate
         with an Edge Resource Manager/Switch Digital Video Manager. This parameter
         cannot be changed when there are any active Session Control mappings. All
         Session Control mappings must be removed prior to changing this protocol.

         Once written, a save must be performed via the apexSaveConfig
         parameter and the APEX must be rebooted for the change to take effect.

         @Config(config=yes, reboot=yes)
         @Save(apexSaveConfig, value=2)
         @File(sdv.ini, type='ini')
        "
::= { apexSessionControlConfigGeneral 1 }

apexSesContConfTableApplyChange OBJECT-TYPE
    SYNTAX ApplyDataToDeviceTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Apply for the apexSesContConfTable. This parameter
         MUST be set to 'apply' in order for any of the data in the
         apexSesContConfTable to take effect.  This parameter
         MUST be set LAST after all other data in the apexSesContConfTable
         has been configured.

         @Config(config=no, reboot=no)
        "
::= { apexSessionControlConfigGeneral 2 }

apexSesContConfRateCompareType OBJECT-TYPE
    SYNTAX RateComparisonTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This is the rate to use for comparing input streams.  It is
         either Information rate or Stream rate.  This applies to monitoring
         for Bit Rate alarming and monitoring of Redundant Pairs.

         Once written, the change to this parameter will take immediate effect.
         However, in order for the change to persist through subsequent reboots
         or power cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(sdv.ini, type='ini')
        "
::= { apexSessionControlConfigGeneral 3 }

apexSesContConfRedundThreshold OBJECT-TYPE
    SYNTAX Integer32(0..100)
    MAX-ACCESS read-write
    STATUS obsolete
    DESCRIPTION
        "This object is obsolete.

         Session Control Redundancy Threshold.

         This is the percent used to determine Fail Over from Primary
         to Secondary, and Switch Back from Secondary to Primary.  If
         a value of zero is specified, Fail Over or Switch Back will
         not occur.  Range is 0 to 100%.

         Primary Fail Over to Secondary:
         FailOver = (PrimaryRate) < (Threshold * SecondaryRate)
         The Primary must remain below the threshold for
         apexGbeConfInRedundMonitorPeriod.

         Secondary Switch Back to Primary:
         SwitchBack = (PrimaryRate) >= (Threshold * SecondaryRate)
         The Primary must remain at or above the threshold for
         apexGbeConfInRedundMonitorPeriod seconds.  The APEX will delay
         Switch Back an additional apexGbeConfInRedundSwitchTime
         seconds.  Switch Back will not occur when
         apexGbeConfInRedundAutoSwitchBack is 'disabled'.

         Once written, the change to this parameter will take immediate effect.
         However, in order for the change to persist through subsequent reboots
         or power cycles, the change must be saved via the apexSaveConfig parameter.


         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(sdv.ini, type='ini')
        "
::= { apexSessionControlConfigGeneral 4 }

apexSesContConfInputPreEncryptCheck OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Session Control Pre-Encryption Checking.

         Indicates if the APEX is to check if the input service is pre-encrypted or
         clear. Pre-encrypted is determined by examining the input PMT for a CA ECM
         descriptor (any CA ECM descriptor). If pre-encrypted, setting this flag will
         cause the APEX to pass through ECM PID for this service. For input services
         that have a GI CA ECM descriptor, the APEX will also pass through the PIT
         message (extract and re-insert the PIT). The output PMT for pre-encrypted
         services will contain a CA ECM descriptor (referencing the ECM
         PID). When PID Remapping is enabled, pre-encryption for a service is
         only valid when the input ECM PID is on a different PID than the
         associated PMT PID. If this flag is set to pre-encryption and the
         input service is not pre-encrypted, then the setting of this flag has
         no affect on the output service.

         Once written, the change to this parameter will take immediate effect.
         However, in order for the change to persist through subsequent reboots
         or power cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(sdv.ini, type='ini')
        "
::= { apexSessionControlConfigGeneral 5 }

apexSesContConfRedundType OBJECT-TYPE
    SYNTAX INTEGER
        {
         hotWarm (1),
         hotHot  (2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The redundancy type for output streams in Session Control operating
         mode. 
         - hotWarm indicates only 1 input stream, primary or secondary, is
         open at any one time. For multicast streams, primary will be joined initially.
         The secondary is joined after a failover (the primary will be dropped prior
         to joining the secondary).
         
         - hotHot indicates both the primary and secondary streams are opened at the
         same time. For multicast streams, both streams are joined immediately.
         
         Changes to the redundancy type cannot be made while there are active routes or
         sessions. All routes and sessions must be deleted prior to changing the 
         redundancy type.

         Once written, a save must be performed via the apexSaveConfig
         parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(sdv.ini, type='ini')
        "
::= { apexSessionControlConfigGeneral 6 }

apexSesContConfFollowDtcp OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Determines how the copy protection settings (CCI, APS, and CIT) within 
         the PRK will be set.  All outputs in Session Control (SDV) mode will use  
         this setting for following input DTCP. 
           Disabled - Use ERM Configuration settings if encryption blob provided.
                      Use CTE settings when in CTE encryption mode and no ERM 
                      encryption blob provided.

           Enabled - Follow input DTCP
         
         Once written, the change to this parameter will take immediate effect.
         However, in order for the change to persist through subsequent reboots
         or power cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(sdv.ini, type='ini')
        "
::= { apexSessionControlConfigGeneral 7 }


-- ------------------------------------------------------------------------------
--
-- apexSesContConfTable
--

apexSesContConfTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexSesContConfEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This is a table of Session Control configuration parameters for
         each output transport stream. This table defines the primary
         and secondary Gigabit Ethernet interfaces for each output stream
         in Session Control operating mode. The primary and secondary
         interfaces cannot be changed for an output stream when there are
         active Session Control mappings. All Session Control mappings on
         an output stream must be removed prior to changing the primary or
         secondary interface settings.

         Once written, the change to this table will only take immediate
         effect after apexSesContConfTableApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexSesContConfTableApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(sdv.ini, type='ini')
        "
::= { apexSessionControlConfig 2 }

apexSesContConfEntry OBJECT-TYPE
    SYNTAX ApexSesContConfEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Session Control Configuration Table Entry."
    INDEX { apexSesContConfOutputTsNum }
::= { apexSesContConfTable 1 }

ApexSesContConfEntry ::= SEQUENCE
    {
     apexSesContConfOutputTsNum           Integer32,
     apexSesContConfGbePrimaryInterface   Integer32,
     apexSesContConfGbeSecondaryInterface Integer32
    }

apexSesContConfOutputTsNum OBJECT-TYPE
    SYNTAX Integer32(1..48)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Output transport stream number (index)."
::= { apexSesContConfEntry 1 }

apexSesContConfGbePrimaryInterface OBJECT-TYPE
    SYNTAX Integer32(0..4)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The primary Gbe interface for Session Control.  Zero indicates not available.
         This parameter cannot be changed for any output stream if there is at
         least 1 active session control mapping.

         Not configurable for RTSP.
        "
::= { apexSesContConfEntry 2 }

apexSesContConfGbeSecondaryInterface OBJECT-TYPE
    SYNTAX Integer32(0..4)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The secondary Gbe interface for RPC SDV.  Zero indicates not available.
         This parameter cannot be changed for any output stream if there is at
         least 1 active session control mapping.

         Secondary selection is restricted based on Primary as follows:
           - Primary 1 or 2: Secondary must be 1 or 2
           - Primary 3 or 4: Secondary must be 3 or 4

         Not configurable for RTSP.
        "
::= { apexSesContConfEntry 3 }


-- ------------------------------------------------------------------------------
--
-- apexSessionControlStatus
--
-- apexSessionControlStatusGeneral
--

apexSesContStatProtocol OBJECT-TYPE
    SYNTAX INTEGER
        {
         none (0),
         rpc  (1),
         rtsp (2),
         mha-ermi (3)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The communication protocol in use for output streams in Session Control
         operating mode.
        "
::= { apexSessionControlStatusGeneral 1 }


-- ------------------------------------------------------------------------------
--
-- apexRpc
--
-- apexRpcConfig
--
-- apexRpcConfigGeneral
--

apexRpcDataCarouselProgram OBJECT-TYPE
    SYNTAX Integer32(0..65535)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Indicates which Input Program Number to use for the Data
         Carousel.  The data carousel in SDV mode (RPC or RTSP) is on a fixed
         PMT PID along with a fixed component PID. In order to maintain
         these PID values, the APEX will check for a specific input service
         number defined by this parameter. This service mapping is assumed
         to be the Data Carousel mapping. The APEX will maintain the PMT PID
         value along with the component PID value.  To facilitate this mapping,
         the Data Carousel input/output program number is configurable.
           - Data Carousel Service Number Default: 0xF38F (62351)

         The PMT PID and component PID will be determined by the APEX by
         analyzing the PAT and PMT based on the program number configured. A
         program number of zero (0) indicates that there is no data carousel.

         Once written, the change to this parameter will take immediate
         effect.  In order for the change to persist through subsequent
         reboots or power cycles, the change must be saved via the
         apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(sdv.ini, type='ini')
        "
::= { apexRpcConfigGeneral 1 }

apexRpcReportAllSessions OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Session reporting mode.  Indicates what sessions will be reported
         when the APEX is requested to report sessions to a manager.

         When 'enabled', the APEX will report all sessions.
         When 'disabled', the APEX will report only the sessions for the requesting
         manager.

         Once written, the change to this parameter will take immediate
         effect.  In order for the change to persist through subsequent
         reboots or power cycles, the change must be saved via the
         apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(sdv.ini, type='ini')
        "
::= { apexRpcConfigGeneral 2 }

apexRpcDeviceName OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..64))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The device name of this APEX.  This variable is only used to      
         generate an XML configuration file via the EM.

         Once written, the change to this parameter will take immediate
         effect.  In order for the change to persist through subsequent
         reboots or power cycles, the change must be saved via the
         apexSaveConfig parameter.
         
         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(sdv.ini, type='ini')
        "
::= { apexRpcConfigGeneral 3 }

apexRpcDeviceType OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..64))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The device type string reported in XML configuration file.  This  
         variable is only used to generate an XML configuration file via the  
         EM.

         Once written, the change to this parameter will take immediate
         effect.  In order for the change to persist through subsequent
         reboots or power cycles, the change must be saved via the
         apexSaveConfig parameter.
         
         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(sdv.ini, type='ini')
        "
::= { apexRpcConfigGeneral 4 }

apexRpcControlInterface  OBJECT-TYPE
    SYNTAX EthernetInterfaceTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Enet interface that will be used to set the IP address attribute
         in the generated XML file.  This variable is only used to generate
         an XML configuration file via the EM.

         Once written, the change to this parameter will only take immediate
         effect after apexRpcApplyChange is changed to 'apply'.
         In order for the change to persist through subsequent
         reboots or power cycles, the change must be saved via the
         apexSaveConfig parameter.
         
         @Config(config=yes, reboot=no)
         @Commit(param=apexRpcApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(sdv.ini, type='ini')
        "
::= { apexRpcConfigGeneral 5 }

apexRpcNumShellSessions OBJECT-TYPE
    SYNTAX Integer32(1..32)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The number of shell sessions to be created on each channel marked 
         for session control mode.  This variable is only used to generate an 
         XML configuration file via    the EM.

         Once written, the change to this parameter will only take immediate
         effect after apexRpcApplyChange is changed to 'apply'.  
         In order for the change to persist through subsequent
         reboots or power cycles, the change must be saved via the
         apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexRpcApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(sdv.ini, type='ini')
        "
::= { apexRpcConfigGeneral 6 }

apexRpcAvgBandwidthEnable OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "When enabled the APEX populates the sessionRate in the QuerySessionInfo Response 
         message with groupRate divided by the number of sessionIds in the group.  The 
         value reported makes no distinction between bound and unbound sessions.
         
         Once written, the change to this parameter will take immediate
         effect.  In order for the change to persist through subsequent
         reboots or power cycles, the change must be saved via the
         apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(sdv.ini, type='ini')
        "
::= { apexRpcConfigGeneral 7 }

apexRpcApplyChange OBJECT-TYPE
    SYNTAX ApplyDataToDeviceTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Apply for RPC Settings.  This applies to apexRpcControlInterface,
         apexRpcNumShellSessions, apexRpcRfPortServiceGroup.
         
         @Config(config=no, reboot=no)
        "
::= { apexRpcConfigGeneral 8 }


-- ------------------------------------------------------------------------------
--
-- apexRpcRfPortTable
--

apexRpcRfPortTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexRpcRfPortEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of Configuration data for RPC Session RF Ports.  This variable 
         is only used to generate an XML configuration file via the EM.
        "
::= { apexRpcConfig 2 }

apexRpcRfPortEntry OBJECT-TYPE
    SYNTAX ApexRpcRfPortEntry 
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "RPC RF Port Configuration Table Entry."
    INDEX { apexRpcRfPortNum }
::= { apexRpcRfPortTable 1 }

ApexRpcRfPortEntry ::= SEQUENCE
    {
     apexRpcRfPortNum          Integer32,
     apexRpcRfPortName         DisplayString,
     apexRpcRfPortServiceGroup Unsigned32
    }

apexRpcRfPortNum OBJECT-TYPE
    SYNTAX Integer32(1..12)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The RF Port number."
::= { apexRpcRfPortEntry 1 }

apexRpcRfPortName OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..64))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The RF Port name.
        
         Once written, the change to this parameter will take immediate
         effect.  In order for the change to persist through subsequent
         reboots or power cycles, the change must be saved via the
         apexSaveConfig parameter.  

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(sdv.ini, type='ini')
        "
::= { apexRpcRfPortEntry 2 }

apexRpcRfPortServiceGroup OBJECT-TYPE
    SYNTAX Unsigned32(1..4294967295)   
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The RF Port service group.
        
         Once written, the change to this parameter will only take immediate
         effect after apexRpcApplyChange is changed to 'apply'.  
         In order for the change to persist through subsequent
         reboots or power cycles, the change must be saved via the
         apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexRpcApplyChange , value=2)
         @Save(apexSaveConfig, value=2)
         @File(sdv.ini, type='ini')
        "
::= { apexRpcRfPortEntry 3 }


-- ------------------------------------------------------------------------------
--
-- apexRpcRfChannelTable
--

apexRpcRfChannelTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexRpcRfChannelEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of Configuration data for RPC Session RF Channels.  This variable
         is only used to generate an XML configuration file via the EM.

         Once written, the change to this parameter will take immediate
         effect.  In order for the change to persist through subsequent
         reboots or power cycles, the change must be saved via the
         apexSaveConfig parameter.  

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(sdv.ini, type='ini')
        "
::= { apexRpcConfig 3 }

apexRpcRfChannelEntry OBJECT-TYPE
    SYNTAX ApexRpcRfChannelEntry 
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "RPC RF Channel Configuration Table Entry."
    INDEX { apexRpcRfChannelNum }
::= { apexRpcRfChannelTable 1 }

ApexRpcRfChannelEntry ::= SEQUENCE
    {
     apexRpcRfChannelNum       Integer32,
     apexRpcRfChannelName DisplayString
    }
    
apexRpcRfChannelNum OBJECT-TYPE
    SYNTAX Integer32(1..48)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The RF Channel number."
::= { apexRpcRfChannelEntry 1 }
    
apexRpcRfChannelName OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..64))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The name of this RF Channel.
        "
::= { apexRpcRfChannelEntry 2 }


-- ------------------------------------------------------------------------------
--
-- apexRpcStatus
--
-- apexRpcStatusGeneral
--

-- none


-- ------------------------------------------------------------------------------
--
-- apexRpcSessionStatTable
--

apexRpcSessionStatTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexRpcSessionStatEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of RPC Switched Digital Video Session status.  This table
         contains 1 row up to the maximum number of service mappings supported.
        "
::= { apexRpcStatus 2 }

apexRpcSessionStatEntry OBJECT-TYPE
    SYNTAX ApexRpcSessionStatEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "RPC Switched Digital Video Session Status Table Entry."
    INDEX { apexRpcSessionStatIndex }
::= { apexRpcSessionStatTable 1 }

ApexRpcSessionStatEntry ::= SEQUENCE
    {
     apexRpcSessionStatIndex             Integer32,
     apexRpcSessionStatInputTsIndex      Integer32,
     apexRpcSessionStatInputProgramNum   Integer32,
     apexRpcSessionStatSourceIpAddr3     IpAddress,
     apexRpcSessionStatOutputQamChannel  Integer32,
     apexRpcSessionStatOutputProgramNum  Integer32,
     apexRpcSessionStatProgramBandwidth  Integer32,
     apexRpcSessionStatSessionType       INTEGER,
     apexRpcSessionStatSessionIdWord1    Unsigned32,
     apexRpcSessionStatSessionIdWord2    Unsigned32,
     apexRpcSessionStatSessionIdWord3    Unsigned32,
     apexRpcSessionStatManagerIpAddr     IpAddress
    }

apexRpcSessionStatIndex OBJECT-TYPE
    SYNTAX Integer32(1..768)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The RPC Switched Digital Video Session Status table index.
        "
::= { apexRpcSessionStatEntry 1 }

apexRpcSessionStatInputTsIndex OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The index into the apexInputTsStatTable."
::= { apexRpcSessionStatEntry 2 }

apexRpcSessionStatInputProgramNum OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Gigabit Ethernet Input Program Number. A value of
         zero (0) indicates that the input is an SPTS and the first
         program listed in the input PAT will be mapped by the APEX.
        "
::= { apexRpcSessionStatEntry 3 }

apexRpcSessionStatSourceIpAddr3 OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Gigabit Ethernet IGMP v3 Source IP Address 3.

         This IP address is currently unsupported by the APEX.
        "
::= { apexRpcSessionStatEntry 4 }

apexRpcSessionStatOutputQamChannel OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Output QAM Channel.
        "
::= { apexRpcSessionStatEntry 5 }

apexRpcSessionStatOutputProgramNum OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Output Program Number (1 - 65535).
        "
::= { apexRpcSessionStatEntry 6 }

apexRpcSessionStatProgramBandwidth OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Expected Program Bandwidth (bps). This is the bandwidth
         of the program as defined in the service mapping. A value of
         0 indicates that the program BW is unknown.
        "
::= { apexRpcSessionStatEntry 7 }

apexRpcSessionStatSessionType OBJECT-TYPE
    SYNTAX INTEGER
        {
         noSession      (0),
         sdv            (1),
         vodOrBroadcast (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Type of session (SDV binding or VOD/Broadcast session).
         1 = Switched Digital Video (SDV)
         2 = VOD or Broadcast
        "
::= { apexRpcSessionStatEntry 8 }

apexRpcSessionStatSessionIdWord1 OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Session ID Word 1.

         Session IDs are 10 byte character arrays.  Session IDs are
         be stored as 3 4-byte words (3 ulongs) in this MIB. First
         2 Bytes are always 0, next 10 contain the session ID.

         Session ID is broken up as follows:
            Word 1: 00:01 = 0x0000 (unused)
            Word 1: 02:03 = 1st 2 bytes of session ID (1st 2 bytes of MAC address)
            Word 2: 00:03 = Next 4 bytes (these 4 plus 1st 2 are the MAC address of manager)
            Word 3: 00:03 = Last 4 bytes (unique number assigned by manager)
        "
::= { apexRpcSessionStatEntry 9 }

apexRpcSessionStatSessionIdWord2 OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Session ID Word 2.

         Session IDs are 10 byte character arrays.  Session IDs are
         be stored as 3 4-byte words (3 Unsigned32) in this MIB. First
         2 Bytes are always 0, next 10 contain the session ID.

         Session ID is broken up as follows:
            Word 1: 00:01 = 0x0000 (unused)
            Word 1: 02:03 = 1st bytes of session ID (1st 2 bytes of MAC address)
            Word 2: 00:03 = Next 4 bytes (these 4 plus 1st 2 are the MAC address of manager)
            Word 3: 00:03 = Last 4 bytes (unique number assigned by manager)
        "
::= { apexRpcSessionStatEntry 10 }

apexRpcSessionStatSessionIdWord3 OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Session ID Word 3.

         Session IDs are 10 byte character arrays.  Session IDs are
         be stored as 3 4-byte words (3 Unsigned32) in this MIB. First
         2 Bytes are always 0, next 10 contain the session ID.

         Session ID is broken up as follows:
            Word 1: 00:01 = 0x0000 (unused)
            Word 1: 02:03 = 1st bytes of session ID (1st 2 bytes of MAC address)
            Word 2: 00:03 = Next 4 bytes (these 4 plus 1st 2 are the MAC address of manager)
            Word 3: 00:03 = Last 4 bytes (unique number assigned by manager)
        "
::= { apexRpcSessionStatEntry 11 }

apexRpcSessionStatManagerIpAddr OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The IP address of the RPC SDV, VOD, or Broadcast manager sending session
         commands.
        "
::= { apexRpcSessionStatEntry 12 }


-- ------------------------------------------------------------------------------
--
-- apexRpcQamStatTable
--

apexRpcQamStatTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexRpcQamStatEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of RPC Switched Digital Video QAM status.  This table
         is indexed by output stream number and 48 rows.
        "
::= { apexRpcStatus 3 }

apexRpcQamStatEntry OBJECT-TYPE
    SYNTAX ApexRpcQamStatEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "RPC Switched Digital Video QAM Status Table Entry."
    INDEX { apexRpcQamStatQamChannelNum }
::= { apexRpcQamStatTable 1 }

ApexRpcQamStatEntry ::= SEQUENCE
    {
     apexRpcQamStatQamChannelNum     Integer32,
     apexRpcQamStatNumSdvSessions    Integer32,
     apexRpcQamStatNumVodBcSessions  Integer32,
     apexRpcQamStatSdvGroupBandwidth Unsigned32
    }

apexRpcQamStatQamChannelNum OBJECT-TYPE
    SYNTAX Integer32(1..48)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The RPC Switched Digital Video QAM Status table index.
        "
::= { apexRpcQamStatEntry 1 }

apexRpcQamStatNumSdvSessions OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Number of reserved SDV sessions on this QAM Channel. This is the
         number of SDV sessions that have been reserved by the manager. Each
         SDV session requires that a manager reserve a QAM. This is the count
         of SDV sessions reserved (not the actual number of active SDV sessions).
        "
::= { apexRpcQamStatEntry 2 }

apexRpcQamStatNumVodBcSessions OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Number of VOD/Broadcast sessions on this QAM Channel. This
         is the number of VOD/Broadcast sessions active on a QAM Channel. Since
         VOD and Broadcast sessions are not required to be reserved for an
         output, this is the count of active VOD and Broadcast sessions on
         a specific QAM.
        "
::= { apexRpcQamStatEntry 3 }

apexRpcQamStatSdvGroupBandwidth OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Group BW for SDV sessions (not used for VOD/Broadcast sessions).
         This is the total amount of BW allocated for all SDV sessions on a channel.
         The total SDV BW for a channel is defined by the session manager. The manager
         reserves this BW for future SDV sessions. This is not the BW of current
         active SDV sessions, but the total BW reserved by the manager for SDV sessions.
        "
::= { apexRpcQamStatEntry 4 }


-- ------------------------------------------------------------------------------
--
-- apexRtsp
--
-- apexRtspConfig
--
-- apexRtspConfigGeneral
--

apexRtspReportGbeInterfaces OBJECT-TYPE
    SYNTAX INTEGER
        {
         none                 (0),
         reportGbe1and2       (1),
         reportGbe3and4       (2),
         pairedPortAssignment (3)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This selects which pair of GBE interfaces are to be reported to the
         RTSP controller (ERM) via VREP. The pairedPortAssignment selection allows
         for both pairs of GBE interfaces to be reported to the ERM. This allows
         for all 4 GBE interfaces to be used by the ERM for session mappings. This
         effectively splits the APEX into 2x24 QAM devices where the first GBE
         interface pair (1&2) are assigned to the first 24 output QAM streams
         (output TS 1 - 24) and the second GBE pair (3&4) are assigned to the second
         24 output QAM streams (output TS 25-48). Selecting reportGbe1and2 or
         reportGbe3and4 limits the ERM to 2 GBE interfaces only.

         Once written, the change to this parameter will take immediate effect.
         However, in order for the change to persist through subsequent reboots
         or power cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(sdv.ini, type='ini')
        "
::= { apexRtspConfigGeneral 1 }


-- ------------------------------------------------------------------------------
--
-- apexRtspConfControllerApplyTable
--

apexRtspConfControllerApplyTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexRtspConfControllerApplyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of Apply Change for the data for apexRtspConfControllerTable.

         A row of this table corresponds to a row in apexRtspConfControllerTable.
        "
::= { apexRtspConfig 2 }

apexRtspConfControllerApplyEntry OBJECT-TYPE
    SYNTAX ApexRtspConfControllerApplyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "RTSP Controller Configuration Apply Table Entry."
    INDEX { apexRtspConfControllerApplyNum }
::= { apexRtspConfControllerApplyTable 1 }

ApexRtspConfControllerApplyEntry ::= SEQUENCE
    {
     apexRtspConfControllerApplyNum    Integer32,
     apexRtspConfControllerApplyChange ApplyDataToDeviceTYPE
    }

apexRtspConfControllerApplyNum OBJECT-TYPE
    SYNTAX Integer32(1..4)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The RTSP Session Controller number."
::= { apexRtspConfControllerApplyEntry 1 }

apexRtspConfControllerApplyChange OBJECT-TYPE
    SYNTAX ApplyDataToDeviceTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Apply for a row of data in apexRtspConfControllerTable and
         apexRtspConfControlNamesTable.

         A row in this table corresponds to the same row index in the
         apexRtspConfControllerTable and apexRtspConfControlNamesTable.

         This parameter MUST be set to 'apply' in order for any of the data
         in the rows to take effect in the APEX.  This parameter MUST be set
         LAST after all other data in the configuration table rows has been
         configured.

         @Config(config=no, reboot=no)
        "
::= { apexRtspConfControllerApplyEntry 2 }


-- ------------------------------------------------------------------------------
--
-- apexRtspConfControllerTable
--

apexRtspConfControllerTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexRtspConfControllerEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of RTSP configuration items configurable on a Controller basis.

         Once written, the change to this table will only take immediate
         effect after apexRtspConfControllerApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexRtspConfControllerApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(sdv.ini, type='ini')
        "
::= { apexRtspConfig 3 }

apexRtspConfControllerEntry OBJECT-TYPE
    SYNTAX ApexRtspConfControllerEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "RTSP Controller Configuration Table Entry."
    INDEX { apexRtspConfControllerNum }
::= { apexRtspConfControllerTable 1 }

ApexRtspConfControllerEntry ::= SEQUENCE
    {
     apexRtspConfControllerNum                      Integer32,
     apexRtspConfControllerIp                       IpAddress,
     apexRtspConfControllerPort                     Integer32,
     apexRtspConfControllerHoldTime                 Integer32,
     apexRtspConfControllerBandwidthDelta           Integer32
    }

apexRtspConfControllerNum OBJECT-TYPE
    SYNTAX Integer32(1..4)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The Controller Number.

         APEX currently supports only one controller.
        "
::= { apexRtspConfControllerEntry 1 }

apexRtspConfControllerIp OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The IP Address of the RTSP session controller.
        "
::= { apexRtspConfControllerEntry 2 }

apexRtspConfControllerPort OBJECT-TYPE
    SYNTAX Integer32(1024..65535)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Port for the RTSP session controller.
        "
::= { apexRtspConfControllerEntry 3 }

apexRtspConfControllerHoldTime OBJECT-TYPE
    SYNTAX Integer32(0 | 9..300)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The session hold time in seconds.  If the APEX does not receive a
         keep session alive message from the controller in this time the
         APEX will close the session.

         The APEX will transmit keep session alive messages at one-third
         of this time.

         Zero indicates that the APEX should not send keep session alive
         messages.
        "
::= { apexRtspConfControllerEntry 4 }

apexRtspConfControllerBandwidthDelta OBJECT-TYPE
    SYNTAX Integer32(0 | 50..100000)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Bandwidth Delta, in kilobits per second (kbps), for sending an
         Update Message.

         Whenever a QAM Channel's output utilization changes by more than the
         bandwidth delta, the APEX will send a update message providing the
         current BW being utilized.

         Zero indicates that the APEX should not send update messages based on
         bandwidth changes.
        "
::= { apexRtspConfControllerEntry 5 }


-- ------------------------------------------------------------------------------
--
-- apexRtspConfControlNamesTable
--

apexRtspConfControlNamesTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexRtspConfControlNamesEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of RTSP configuration items configurable on a Controller basis.
         Contains the control names.  This table is a row-for-row index match
         to the apexRtspConfControllerTable.

         Once written, the change to this table will only take immediate
         effect after apexRtspConfControllerApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexRtspConfControllerApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(sdv.ini, type='ini')
        "
::= { apexRtspConfig 4 }

apexRtspConfControlNamesEntry OBJECT-TYPE
    SYNTAX ApexRtspConfControlNamesEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "RTSP Controller Names Configuration Table Entry."
    INDEX { apexRtspConfControlNamesNum }
::= { apexRtspConfControlNamesTable 1 }

ApexRtspConfControlNamesEntry ::= SEQUENCE
    {
     apexRtspConfControlNamesNum           Integer32,
     apexRtspConfControlNamesStreamingZone DisplayString,
     apexRtspConfControlNamesDeviceName    DisplayString
    }

apexRtspConfControlNamesNum OBJECT-TYPE
    SYNTAX Integer32(1..4)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The Controller Number.

         APEX currently supports only one controller.
        "
::= { apexRtspConfControlNamesEntry 1 }

apexRtspConfControlNamesStreamingZone OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..128))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The streaming zone that the APEX is a member of.
        "
::= { apexRtspConfControlNamesEntry 2 }

apexRtspConfControlNamesDeviceName OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..128))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The device name of this APEX.
        "
::= { apexRtspConfControlNamesEntry 3 }


-- ------------------------------------------------------------------------------
--
-- apexRtspConfQamChannelApplyTable
--

apexRtspConfQamChannelApplyTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexRtspConfQamChannelApplyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of Apply Change for the data for apexRtspConfQamChannelTable.

         A row of this table corresponds to a row in apexRtspConfQamChannelTable.
        "
::= { apexRtspConfig 5 }

apexRtspConfQamChannelApplyEntry OBJECT-TYPE
    SYNTAX ApexRtspConfQamChannelApplyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "RTSP QAM Configuration Apply Table Entry."
    INDEX { apexRtspConfQamChannelApplyNum }
::= { apexRtspConfQamChannelApplyTable 1 }

ApexRtspConfQamChannelApplyEntry ::= SEQUENCE
    {
     apexRtspConfQamChannelApplyNum    Integer32,
     apexRtspConfQamChannelApplyChange ApplyDataToDeviceTYPE
    }

apexRtspConfQamChannelApplyNum OBJECT-TYPE
    SYNTAX Integer32(1..48)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The QAM Channel number."
::= { apexRtspConfQamChannelApplyEntry 1 }

apexRtspConfQamChannelApplyChange OBJECT-TYPE
    SYNTAX ApplyDataToDeviceTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Apply for a row of data in apexRtspConfQamChannelTable.

         A row in this table corresponds to the same row index in the
         apexRtspConfQamChannelTable.

         This parameter MUST be set to 'apply' in order for any of the data
         in the rows to take effect in the APEX.  This parameter MUST be set
         LAST after all other data in the configuration table rows has been
         configured.

         @Config(config=no, reboot=no)
        "
::= { apexRtspConfQamChannelApplyEntry 2 }


-- ------------------------------------------------------------------------------
--
-- apexRtspConfQamChannelTable
--

apexRtspConfQamChannelTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexRtspConfQamChannelEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of Configuration data for RTSP Session QAM Channels.

         Once written, the change to this table will only take immediate
         effect after apexRtspConfQamChannelApplyChange to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexRtspConfQamChannelApplyChange , value=2)
         @Save(apexSaveConfig, value=2)
         @File(sdv.ini, type='ini')
        "
::= { apexRtspConfig 6 }

apexRtspConfQamChannelEntry OBJECT-TYPE
    SYNTAX ApexRtspConfQamChannelEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "RTSP QAM Configuration Table Entry."
    INDEX { apexRtspConfQamChannelNum }
::= { apexRtspConfQamChannelTable 1 }

ApexRtspConfQamChannelEntry ::= SEQUENCE
    {
     apexRtspConfQamChannelNum       Integer32,
     apexRtspConfQamChannelGroupName DisplayString
    }

apexRtspConfQamChannelNum OBJECT-TYPE
    SYNTAX Integer32(1..48)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The QAM Channel number."
::= { apexRtspConfQamChannelEntry 1 }

apexRtspConfQamChannelGroupName OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..128))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The QAM Group Name that this QAM Channel is a member of.
        "
::= { apexRtspConfQamChannelEntry 2 }


-- ------------------------------------------------------------------------------
--
-- apexRtspConfGbeEdgeGroupTable
--

apexRtspConfGbeEdgeGroupTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexRtspConfGbeEdgeGroupEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of Configuration data for RTSP Session GigE Interfaces.

         Once written, the change to this table will take immediate
         effect.  In order for the change to persist through subsequent reboots
         or power cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(sdv.ini, type='ini')
        "
::= { apexRtspConfig 7 }

apexRtspConfGbeEdgeGroupEntry OBJECT-TYPE
    SYNTAX ApexRtspConfGbeEdgeGroupEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "RTSP GigE Edge Group Configuration Table Entry."
    INDEX { apexRtspConfGbeEdgeGroupNum }
::= { apexRtspConfGbeEdgeGroupTable 1 }

ApexRtspConfGbeEdgeGroupEntry ::= SEQUENCE
    {
     apexRtspConfGbeEdgeGroupNum   Integer32,
     apexRtspConfGbeEdgeGroupName  DisplayString
    }

apexRtspConfGbeEdgeGroupNum OBJECT-TYPE
    SYNTAX Integer32(1..4)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The GigE Edge Group Interface number."
::= { apexRtspConfGbeEdgeGroupEntry 1 }

apexRtspConfGbeEdgeGroupName OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..128))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Name of this GigE Interface.
        "
::= { apexRtspConfGbeEdgeGroupEntry 2 }


-- ------------------------------------------------------------------------------
--
-- apexRtspConfMhaTable
--

apexRtspConfMhaTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexRtspConfMhaEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of MHA RTSP configuration items configurable on a Controller basis.

         Once written, the change to this table will only take immediate
         effect after apexRtspConfControllerApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexRtspConfControllerApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(sdv.ini, type='ini')
        "
::= { apexRtspConfig 8 }

apexRtspConfMhaEntry OBJECT-TYPE
    SYNTAX ApexRtspConfMhaEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "MHA RTSP Configuration Table Entry."
    INDEX { apexRtspConfMhaNum }
::= { apexRtspConfMhaTable 1 }

ApexRtspConfMhaEntry ::= SEQUENCE
    {
     apexRtspConfMhaNum                   Integer32,
     apexRtspConfMhaAddressDomain         Integer32,
     apexRtspConfMhaPort                  Integer32
    }

apexRtspConfMhaNum OBJECT-TYPE
    SYNTAX Integer32(1..4)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The MHA Controller Number.

         APEX currently supports only one controller.
        "
::= { apexRtspConfMhaEntry 1 }

apexRtspConfMhaAddressDomain OBJECT-TYPE
    SYNTAX Integer32(0..255)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Address Domain of the sender used in ERRP.  Address Domain of the
         ERM and APEX must match in order to establish an ERRP connection.
         Zero is used as the global address domain, which is interpreted to
         mean that any advertised address can be reached from any address
         domain.
        "
::= { apexRtspConfMhaEntry 2 }

apexRtspConfMhaPort OBJECT-TYPE
    SYNTAX Integer32(1024..65535)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Port for the MHA session controller.
        "
::= { apexRtspConfMhaEntry 3 }


-- ------------------------------------------------------------------------------
--
-- apexRtspConfMhaGeneral
--

apexRtspConfMhaUdpMapEnable OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Indicates if the UDP Map is populated in the Update message
         sent by the APEX to the ERM when in MHA mode.

         When 'enabled', the APEX will report UDP ports available.
         When 'disabled', the APEX will include the UDP Map field but will
         not populate it with data.

         Once written, the change to this table will only take immediate
         effect after apexRtspConfControllerApplyChange is set to 'apply'.
         In order for the change to persist through subsequent
         reboots or power cycles, the change must be saved via the
         apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexRtspConfControllerApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(sdv.ini, type='ini')
        "
::= { apexRtspConfMhaGeneral 1 }


-- ------------------------------------------------------------------------------
--
-- apexRtspConfMhaSbe
--
apexRtspConfMhaSbeEncryptionMode OBJECT-TYPE
    SYNTAX INTEGER
        {
         full (1),
         fwk  (2),
         fpk  (3)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This parameter is used to set the Session based Encryption Mode.  
         It applies to all session based encryption sessions.

           - 'full'  - The APEX will use Full encryption. 
           
           - 'fwk'   - The APEX will use Fixed Working Key (FWK) encryption.

           - 'fpk'   - The APEX will use Fixed Program Key (FPK) encryption. The APEX
                       will not attempt to get EMMs.

         Once written, the change to this parameter will only take immediate
         effect after apexRtspConfMhaSbeApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexRtspConfMhaSbeApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(sdv.ini, type='ini')
        "
::= { apexRtspConfMhaSbe 1 }

apexRtspConfMhaSbeCciLevel OBJECT-TYPE
    SYNTAX INTEGER
        {
         notDefined   (1),
         copyFreely   (2),
         copyOnce     (3),
         copyNever    (4),
         noMoreCopies (5)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Copy Control Information (CCI) Level setting for session based PRK messages
         if CCI is not defined in the XML encryption blob.
           - notDefined   - CCI is not defined, settop box applications can
                            configure CCI
           - copyFreely   - program can be copied
           - copyOnce     - program can be copied once
           - copyNever    - program can never be copied
           - noMoreCopies -

         Once written, the change to this parameter will only take immediate
         effect after apexRtspConfMhaSbeApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexRtspConfMhaSbeApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(sdv.ini, type='ini')
        "
::= {apexRtspConfMhaSbe 2}

apexRtspConfMhaSbeApsLevel OBJECT-TYPE
    SYNTAX INTEGER
        {
         notDefined      (1),
         off             (2),
         splitBurstOff   (3),
         splitBurst2Line (4),
         splitBurst4Line (5)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Analog Protection System (APS) Level setting for session based PRK 
         messages if APS is not defined in the XML encryption blob.  
         Defines what copy protection encoding will be applied to the analog 
         composite output by the settop box.
           - notDefined      - analog protection is not defined, settop box
                               applications can configure APS
           - off             - no analog protection
           - splitBurstOff   - AGC on, split burst off
           - splitBurst2Line - AGC on, 2 line split burst on
           - splitBurst4Line - AGC on, 4 line split burst on

         Once written, the change to this parameter will only take immediate
         effect after apexRtspConfMhaSbeApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexRtspConfMhaSbeApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(sdv.ini, type='ini')
        "
::= {apexRtspConfMhaSbe 3}

apexRtspConfMhaSbeCitSetting OBJECT-TYPE
    SYNTAX INTEGER
        {
         disabled      (1),
         enabled       (2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Copy protection Constraint Image Trigger setting. This is only
         applicable when the session is being encrypted and the CIT setting
         was not contained in the XML encryption blob.
         
         Once written, the change to this parameter will only take immediate
         effect after apexRtspConfMhaSbeApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.
         
         @Config(config=yes, reboot=no)
         @Commit(param=apexRtspConfMhaSbeApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(sdv.ini, type='ini')
        "
::= {apexRtspConfMhaSbe 4}

apexRtspConfMhaSbeApplyChange OBJECT-TYPE
    SYNTAX ApplyDataToDeviceTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Apply for the MHA session based encryption settings.

         This parameter MUST be set to 'apply' in order for any of the data
         in MHA SBE to take effect in the APEX.  This parameter MUST be set 
         LAST after all other data in the MHA SBE has been configured.

         @Config(config=no, reboot=no)
        "
::= {apexRtspConfMhaSbe 5}

-- ------------------------------------------------------------------------------
--
-- apexRtspStatus
--
-- apexRtspStatusGeneral
--

-- none


-- ------------------------------------------------------------------------------
--
-- apexRtspSessionStatTable
--

apexRtspSessionStatTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexRtspSessionStatEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of RTSP Session status.  This table
         contains 768 rows.
        "
::= { apexRtspStatus 2 }

apexRtspSessionStatEntry OBJECT-TYPE
    SYNTAX ApexRtspSessionStatEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "RTSP Session Status Table Entry."
    INDEX { apexRtspSessionStatIndex }
::= { apexRtspSessionStatTable 1 }

ApexRtspSessionStatEntry ::= SEQUENCE
    {
     apexRtspSessionStatIndex            Integer32,
     apexRtspSessionStatInputTsIndex     Integer32,
     apexRtspSessionStatInputProgramNum  Integer32,
     apexRtspSessionStatOutputQamChannel Integer32,
     apexRtspSessionStatOutputProgramNum Integer32,
     apexRtspSessionStatProgramBandwidth Integer32,
     apexRtspSessionStatManagerIpAddr    IpAddress
    }

apexRtspSessionStatIndex OBJECT-TYPE
    SYNTAX Integer32(1..768)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The RTSP Session Status table index.
        "
::= { apexRtspSessionStatEntry 1 }

apexRtspSessionStatInputTsIndex OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The index into the apexInputTsStatTable."
::= { apexRtspSessionStatEntry 2 }

apexRtspSessionStatInputProgramNum OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Gigabit Ethernet Input Program Number. A value of
         zero (0) indicates that the input is an SPTS and the first
         program listed in the input PAT will be mapped by the APEX.
        "
::= { apexRtspSessionStatEntry 3 }

apexRtspSessionStatOutputQamChannel OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Output QAM Channel.
        "
::= { apexRtspSessionStatEntry 4 }

apexRtspSessionStatOutputProgramNum OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Output Program Number.
        "
::= { apexRtspSessionStatEntry 5 }

apexRtspSessionStatProgramBandwidth OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Expected Program Bandwidth (bps). This is the bandwidth
         of the program as defined in the service mapping. A value of
         0 indicates that the program BW is unknown.
        "
::= { apexRtspSessionStatEntry 6 }

apexRtspSessionStatManagerIpAddr OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The IP address of the manager sending session commands.
        "
::= { apexRtspSessionStatEntry 7 }


-- ------------------------------------------------------------------------------
--
-- apexRtspSessionIdTable
--

apexRtspSessionIdTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexRtspSessionIdEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of RTSP Session Ids.  This table
         contains 768 rows and is a row-for-row
         index match to apexRtspSessionStatTable.
        "
::= { apexRtspStatus 3 }

apexRtspSessionIdEntry OBJECT-TYPE
    SYNTAX ApexRtspSessionIdEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "RTSP Session ID Table Entry."
    INDEX { apexRtspSessionIdIndex }
::= { apexRtspSessionIdTable 1 }

ApexRtspSessionIdEntry ::= SEQUENCE
    {
     apexRtspSessionIdIndex Integer32,
     apexRtspSessionId      DisplayString
    }

apexRtspSessionIdIndex OBJECT-TYPE
    SYNTAX Integer32(1..768)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The RTSP Session ID table index.
         This is a row-for-row match to the
         RTSP Session Status table index.
        "
::= { apexRtspSessionIdEntry 1 }

apexRtspSessionId OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..64))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Session ID.
        "
::= { apexRtspSessionIdEntry 2 }


-- ------------------------------------------------------------------------------
--
-- apexRtspQamStatTable
--

apexRtspQamStatTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexRtspQamStatEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of RTSP Session QAM status.  This table
         is indexed by QAM channel number and contains 48 rows.
        "
::= { apexRtspStatus 4 }

apexRtspQamStatEntry OBJECT-TYPE
    SYNTAX ApexRtspQamStatEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "RTSP Session QAM status Table Entry."
    INDEX { apexRtspQamStatQamChannelNum }
::= { apexRtspQamStatTable 1 }

ApexRtspQamStatEntry ::= SEQUENCE
    {
     apexRtspQamStatQamChannelNum      Integer32,
     apexRtspQamStatNumSessions        Integer32,
     apexRtspQamStatAllocatedBandwidth Unsigned32
    }

apexRtspQamStatQamChannelNum OBJECT-TYPE
    SYNTAX Integer32(1..48)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The RTSP Session Control Video QAM Status table index.
        "
::= { apexRtspQamStatEntry 1 }

apexRtspQamStatNumSessions OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Number of active sessions on this QAM Channel.
        "
::= { apexRtspQamStatEntry 2 }

apexRtspQamStatAllocatedBandwidth OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This is the total amount of BW allocated for all sessions on a channel.
        "
::= { apexRtspQamStatEntry 3 }


-- ------------------------------------------------------------------------------
--
-- apexRtspStatControllerTable
--

apexRtspStatControllerTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexRtspStatControllerEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of RTSP status items configurable on a Controller basis.
        "
::= { apexRtspStatus 5 }

apexRtspStatControllerEntry OBJECT-TYPE
    SYNTAX ApexRtspStatControllerEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "RTSP Controller Status Table Entry."
    INDEX { apexRtspStatControllerNum }
::= { apexRtspStatControllerTable 1 }

ApexRtspStatControllerEntry ::= SEQUENCE
    {
     apexRtspStatControllerNum        Integer32,
     apexRtspStatControllerDiscovery  INTEGER,
     apexRtspStatControllerConnection INTEGER,
     apexRtspStatControllerCommFault  INTEGER
    }

apexRtspStatControllerNum OBJECT-TYPE
    SYNTAX Integer32(1..4)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The Controller Number.

         APEX currently supports only one controller.
        "
::= { apexRtspStatControllerEntry 1 }


apexRtspStatControllerDiscovery OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable            (0),
         notDiscovered            (1),
         discovered               (2),
         discoveredConnectionLost (3),
         discoveredAnotB          (4),
         discoveredBnotA          (5)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Status of Controller to APEX discovery.
        "
::= { apexRtspStatControllerEntry 2 }

apexRtspStatControllerConnection OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable     (0),
         notConnected      (1),
         connected         (2),
         connectedPort554  (3),
         connectedPort2048 (4)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Status of the connection between the APEX and the Controller.

         'notConnected' causes apexAlarmRtspControllerCommFault.
        "
::= { apexRtspStatControllerEntry 3 }

apexRtspStatControllerCommFault OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Current fault condition of apexRtspStatControllerConnection.

         This is the apexAlarmRtspControllerCommFault level for this controller.
        "
::= { apexRtspStatControllerEntry 4 }


-- ------------------------------------------------------------------------------
--
-- apexRtspStatQamChannelTable
--

apexRtspStatQamChannelTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexRtspStatQamChannelEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of Status data for RTSP Session QAM Channels.
        "
::= { apexRtspStatus 6 }

apexRtspStatQamChannelEntry OBJECT-TYPE
    SYNTAX ApexRtspStatQamChannelEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "RTSP QAM Configuration Table Entry."
    INDEX { apexRtspStatQamChannelNum }
::= { apexRtspStatQamChannelTable 1 }

ApexRtspStatQamChannelEntry ::= SEQUENCE
    {
     apexRtspStatQamChannelNum       Integer32,
     apexRtspStatQamChannelName      DisplayString
    }

apexRtspStatQamChannelNum OBJECT-TYPE
    SYNTAX Integer32(1..48)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The QAM Channel number."
::= { apexRtspStatQamChannelEntry 1 }

apexRtspStatQamChannelName OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..128))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Name of this QAM Channel.
        "
::= { apexRtspStatQamChannelEntry 2 }


-- ------------------------------------------------------------------------------
--
-- apexRtspStatQamMptsModeTable
--

apexRtspStatQamMptsModeTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexRtspStatQamMptsModeEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of MPTS Mode Status data for RTSP Session QAM Channels.
        "
::= { apexRtspStatus 7 }

apexRtspStatQamMptsModeEntry OBJECT-TYPE
    SYNTAX ApexRtspStatQamMptsModeEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "RTSP QAM MPTS Mode Configuration Table Entry."
    INDEX { apexRtspStatQamMptsModeQamChannelNum }
::= { apexRtspStatQamMptsModeTable 1 }

ApexRtspStatQamMptsModeEntry ::= SEQUENCE
    {
     apexRtspStatQamMptsModeQamChannelNum       Integer32,
     apexRtspStatQamMptsModeQamChannelMode      INTEGER
    }

apexRtspStatQamMptsModeQamChannelNum OBJECT-TYPE
    SYNTAX Integer32(1..48)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The QAM Channel number."
::= { apexRtspStatQamMptsModeEntry 1 }

apexRtspStatQamMptsModeQamChannelMode OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable     (0),
         passthrough       (1),
         multiplexing      (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The MPTS mode of this QAM Channel.  The first session
         established on the QAM channel defines the
         MPTS mode.  Each new session must have the same
         mode as long as one session is still active.
        "
::= { apexRtspStatQamMptsModeEntry 2 }


-- ------------------------------------------------------------------------------
--
-- apexManualRouting
--
-- apexManualRoutingConfig
--
-- apexManualRoutingConfigGeneral
--

apexManualRouteRmdClear OBJECT-TYPE
    SYNTAX ApplyDataToDeviceTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        " Clear all RMD information from DRAM and flash.

          Note that apexManualRouteEnable must be set to disabled for
          all rows before RMD information will be cleared by this
          parameter.

          If RMD information was cleared, the APEX will set
          this parameter to applyNotInProgressValidData.  If RMD
          information was not cleared, the APEX will set this parameter
          to applyNotInProgressInvalidData.

          Once written, the change to this parameter will take effect immediately.

          @Config(config=no, reboot=no)
        "
::= { apexManualRoutingConfigGeneral 1 }


-- ------------------------------------------------------------------------------
--
-- apexManualRouteApplyTable
--

apexManualRouteApplyTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexManualRouteApplyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of Apply Change for the data for Manual Route Table.

         A row in this table corresponds to the same row index in the
         Manual Route table.
        "
::= { apexManualRoutingConfig 2 }

apexManualRouteApplyEntry OBJECT-TYPE
    SYNTAX ApexManualRouteApplyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Manual Route Apply Table Entry."
    INDEX { apexManualRouteApplyIndex }
::= { apexManualRouteApplyTable 1 }

ApexManualRouteApplyEntry ::= SEQUENCE
    {
     apexManualRouteApplyIndex  Integer32,
     apexManualRouteApplyChange ApplyDataToDeviceTYPE
    }

apexManualRouteApplyIndex OBJECT-TYPE
    SYNTAX Integer32(1..768)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The index of the Manual Route Apply Table."
::= { apexManualRouteApplyEntry 1 }

apexManualRouteApplyChange OBJECT-TYPE
    SYNTAX ApplyDataToDeviceTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Apply for the row of data in the Manual Route Table.

         A row in this table corresponds to the same row index in the
         Manual Route table.

         This parameter MUST be set to 'apply' in order for any of the data
         in the Manual Route Table row to take effect in the APEX.  This
         parameter MUST be set LAST after all other data in the Manual Route
         Table row has been configured.

         @Config(config=no, reboot=no)
        "
::= { apexManualRouteApplyEntry 2 }


-- ------------------------------------------------------------------------------
--
-- apexManualRouteTable
--

apexManualRouteTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexManualRouteEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of data for Manual Routes.

         Once written, the change to a row this table will only take
         immediate effect after the appropriate apexManualRouteApplyChange
         is set to 'apply'.  In order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexManualRouteApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(bcmr.ini, type='ini')
        "
::= { apexManualRoutingConfig 3 }

apexManualRouteEntry OBJECT-TYPE
    SYNTAX ApexManualRouteEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Manual Route Table Entry."
    INDEX { apexManualRouteIndex }
::= { apexManualRouteTable 1 }

ApexManualRouteEntry ::= SEQUENCE
    {
     apexManualRouteIndex                   Integer32,
     apexManualRouteEnable                  EnableDisableTYPE,
     apexManualRouteInputType               INTEGER,
     apexManualRouteInputInterface          Integer32,
     apexManualRouteInputUdp                Integer32,
     apexManualRouteInputMulticastIp        IpAddress,
     apexManualRouteInputSourceIp           IpAddress,
     apexManualRouteInputProgNum            Integer32,
     apexManualRouteInputPreEncryptCheck    EnableDisableTYPE,
     apexManualRouteOutputTsNum             Integer32,
     apexManualRouteOutputProgNum           Integer32,
     apexManualRouteOutputEncryptMode       INTEGER,
     apexManualRouteOutputCopyProtectSource INTEGER,
     apexManualRouteSourceId                Integer32,
     apexManualRouteProviderId              Integer32
    }

apexManualRouteIndex OBJECT-TYPE
    SYNTAX Integer32(1..768)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The index of the Manual Route Table."
::= { apexManualRouteEntry 1 }

apexManualRouteEnable OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Indicates that this Manual Route is enabled or disabled.
        "
::= { apexManualRouteEntry 2 }

apexManualRouteInputType OBJECT-TYPE
    SYNTAX INTEGER
        {
         gbe      (1),
         fastEnet (2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Input Type of input from which to obtain data.
        "
::= { apexManualRouteEntry 3 }

apexManualRouteInputInterface OBJECT-TYPE
    SYNTAX Integer32(0..4)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Number of the input interface, of type configured by Input Type,
         from which to obtain data.

         Range:
            '0'      = Not Applicable
            GBE      = 1-4
            FastEnet = 1-2
        "
::= { apexManualRouteEntry 4 }

apexManualRouteInputUdp OBJECT-TYPE
    SYNTAX Integer32(0..65535)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Input UDP Port from which to obtain data.

         Range:
            GBE      = 0-65535
            FastEnet = 1024-65535
        "
::= { apexManualRouteEntry 5 }

apexManualRouteInputMulticastIp OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Input Multicast IP address from which to obtain data.

         An IP address of 0.0.0.0 indicates table entry not in use.

         Multicast IP addresses 224.0.0.0 to 224.0.0.255 are reserved.
        "
::= { apexManualRouteEntry 6 }

apexManualRouteInputSourceIp OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Input IGMP v3 Source IP from which to obtain data.

         If the router supports IGMP v3 the GBE will only receive data from
         this source IP.  If Source IP is not specified or the router does not
         support IGMP v3 the GBE will receive data from any source device.
         Source IP address must be a valid singlecast address.
        "
::= { apexManualRouteEntry 7 }

apexManualRouteInputProgNum OBJECT-TYPE
    SYNTAX Integer32(0..65535)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Input MPEG Program Number to multiplex. A value of 0 can be used as
         a wild card. This will cause the APEX to map the first program listed in
         the input PAT to the specified output (regardless of input program number).
         Input program number zero should only be used when mapping Single Program
         Transport Streams (SPTS).
        "
::= { apexManualRouteEntry 8 }

apexManualRouteInputPreEncryptCheck OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Manual Routing Pre-Encryption Checking.

         Indicates if the APEX is to check if the input service is pre-encrypted or
         clear. Pre-encrypted is determined by examining the input PMT for a CA ECM
         descriptor (any CA ECM descriptor). If pre-encrypted, setting this flag will
         cause the APEX to pass through ECM PID for this service. For input services
         that have a GI CA ECM descriptor, the APEX will also pass through the PIT
         message (extract and re-insert the PIT). The output PMT for pre-encrypted
         services will contain a CA ECM descriptor (referencing the ECM
         PID). When PID Remapping is enabled, pre-encryption for a service is
         only valid when the input ECM PID is on a different PID than the
         associated PMT PID. If this flag is set to pre-encryption and the
         input service is not pre-encrypted, then the setting of this flag has
         no affect on the output service.
        "
::= { apexManualRouteEntry 9 }

apexManualRouteOutputTsNum OBJECT-TYPE
    SYNTAX Integer32(0..48)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Output Transport Stream Number of the output on which to place data.
         Zero = NotApplicable and is only valid if the apexManualRouteTable
         entry is not being used.
        "
::= { apexManualRouteEntry 10 }

apexManualRouteOutputProgNum OBJECT-TYPE
    SYNTAX Integer32(0..65535)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Output Program number to use for the program.
         Zero = NotApplicable and is only valid if the apexManualRouteTable
         entry is not being used.
        "
::= { apexManualRouteEntry 11 }

apexManualRouteOutputEncryptMode OBJECT-TYPE
    SYNTAX INTEGER
        {
         clear  (1)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Encryption Mode.

         Not supported.
        "
::= { apexManualRouteEntry 12 }

apexManualRouteOutputCopyProtectSource OBJECT-TYPE
    SYNTAX INTEGER
        {
         followInputDtcp  (1),
         configuredSource (2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Copy Protection Source.

         Not supported.
        "
::= { apexManualRouteEntry 13 }

apexManualRouteSourceId OBJECT-TYPE
    SYNTAX Integer32(0..65535)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Broadcast Encryption Source ID.

         Only applies to programs if the input type is Gbe and the
         output encryption mode is Broadcast Encryption.
         (apexOutputTsConfEncryptionType set to 'broadcastEncryption')
        "
::= { apexManualRouteEntry 14 }

apexManualRouteProviderId OBJECT-TYPE
    SYNTAX Integer32(0..65535)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Broadcast Encryption Provider ID.

         Only applies to programs if the input type is Gbe and the
         output encryption mode is Broadcast Encryption.
         (apexOutputTsConfEncryptionType set to 'broadcastEncryption')
        "
::= { apexManualRouteEntry 15 }


-- ------------------------------------------------------------------------------
--
-- apexManRtePassThroughApplyTable
--

apexManRtePassThroughApplyTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexManRtePassThroughApplyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of Apply Change for the data for Manual Route Pass Through Table.

         A row in this table corresponds to the same row index in the
         Manual Route Pass Through table.
        "
::= { apexManualRoutingConfig 4 }

apexManRtePassThroughApplyEntry OBJECT-TYPE
    SYNTAX ApexManRtePassThroughApplyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Manual Route Apply Table Entry."
    INDEX { apexManRtePassThroughApplyOutputTsNum }
::= { apexManRtePassThroughApplyTable 1 }

ApexManRtePassThroughApplyEntry ::= SEQUENCE
    {
     apexManRtePassThroughApplyOutputTsNum Integer32,
     apexManRtePassThroughApplyChange      ApplyDataToDeviceTYPE
    }

apexManRtePassThroughApplyOutputTsNum OBJECT-TYPE
    SYNTAX Integer32(1..48)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The index of the Manual Route Pass Through Apply Table."
::= { apexManRtePassThroughApplyEntry 1 }

apexManRtePassThroughApplyChange OBJECT-TYPE
    SYNTAX ApplyDataToDeviceTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Apply for the row of data in the Manual Route Pass Through Table.

         A row in this table corresponds to the same row index in the
         Manual Route Pass Through table.

         This parameter MUST be set to 'apply' in order for any of the
         data in the Manual Route Pass Through Table row to take effect
         in the APEX.  This parameter MUST be set LAST after all other
         data in the Manual Route Pass Through Table row has been configured.

         @Config(config=no, reboot=no)
        "
::= { apexManRtePassThroughApplyEntry 2 }


-- ------------------------------------------------------------------------------
--
-- apexManRtePassThroughTable
--

apexManRtePassThroughTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexManRtePassThroughEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of data for Manual Route Pass Through. This table is used to
         pass through an entire input stream to an output stream.

         Once written, the change to a row this table will only take
         immediate effect after the appropriate apexManRtePassThroughApplyChange
         is set to 'apply'.  In order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexManRtePassThroughApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(bcmr.ini, type='ini')
        "
::= { apexManualRoutingConfig 5 }

apexManRtePassThroughEntry OBJECT-TYPE
    SYNTAX ApexManRtePassThroughEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Manual Route Pass Through Table Entry."
    INDEX { apexManRtePassThroughOutputTsNum }
::= { apexManRtePassThroughTable 1 }

ApexManRtePassThroughEntry ::= SEQUENCE
    {
     apexManRtePassThroughOutputTsNum             Integer32,
     apexManRtePassThroughEnable                  EnableDisableTYPE,
     apexManRtePassThroughInputType               INTEGER,
     apexManRtePassThroughInputInterface          Integer32,
     apexManRtePassThroughInputUdp                Integer32,
     apexManRtePassThroughInputMulticastIp        IpAddress,
     apexManRtePassThroughInputSourceIp           IpAddress
    }

apexManRtePassThroughOutputTsNum OBJECT-TYPE
    SYNTAX Integer32(1..48)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The index of the Manual Route Pass Through Table."
::= { apexManRtePassThroughEntry 1 }

apexManRtePassThroughEnable OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Indicates that this Manual Route Pass Through is enabled or disabled.
         An input stream can only be passed through to an output stream when
         there are no active service or PID mappings to the output stream.
        "
::= { apexManRtePassThroughEntry 2 }

apexManRtePassThroughInputType OBJECT-TYPE
    SYNTAX INTEGER
        {
         gbe      (1),
         fastEnet (2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Input Type of input from which to obtain data.
        "
::= { apexManRtePassThroughEntry 3 }

apexManRtePassThroughInputInterface OBJECT-TYPE
    SYNTAX Integer32(0..4)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Number of the input interface, of type configured by Input Type,
         from which to obtain data.

         Range:
            '0'      = Not Applicable
            GBE      = 1-4
            FastEnet = 1-2
        "
::= { apexManRtePassThroughEntry 4 }

apexManRtePassThroughInputUdp OBJECT-TYPE
    SYNTAX Integer32(0..65535)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Input UDP Port from which to obtain data.

         Range:
            GBE      = 0-65535
            FastEnet = 1024-65535
        "
::= { apexManRtePassThroughEntry 5 }

apexManRtePassThroughInputMulticastIp OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Input Multicast IP address from which to obtain data.

         An IP address of 0.0.0.0 indicates table entry not in use.

         Multicast IP addresses 224.0.0.0 to 224.0.0.255 are reserved.
        "
::= { apexManRtePassThroughEntry 6 }

apexManRtePassThroughInputSourceIp OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Input IGMP v3 Source IP address from which to obtain data.

         If the router supports IGMP v3 the GBE will only receive data from
         this source IP.  If Source IP is not specified or the router does not
         support IGMP v3 the GBE will receive data from any source device.
         Source IP address must be a valid singlecast address.
        "
::= { apexManRtePassThroughEntry 7 }


-- ------------------------------------------------------------------------------
--
-- apexManualRouteGbeInputRedundConfig
--
-- apexManRteGbeInRedConfigGeneral
--

-- none


-- ------------------------------------------------------------------------------
--
-- apexManRteGbeInRedApplyTable
--

apexManRteGbeInRedApplyTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexManRteGbeInRedApplyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of Apply Change for the data for Manual Route Table.

         A row in this table corresponds to the same row index in the
         Manual Route table.
        "
::= { apexManualRouteGbeInputRedundConfig 2 }

apexManRteGbeInRedApplyEntry OBJECT-TYPE
    SYNTAX ApexManRteGbeInRedApplyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Manual Routing Gbe Input Ts Configuration Apply Table Entry."
    INDEX { apexManRteGbeInRedApplyIndex }
::= { apexManRteGbeInRedApplyTable 1 }

ApexManRteGbeInRedApplyEntry ::= SEQUENCE
    {
     apexManRteGbeInRedApplyIndex  Integer32,
     apexManRteGbeInRedApplyChange ApplyDataToDeviceTYPE
    }

apexManRteGbeInRedApplyIndex OBJECT-TYPE
    SYNTAX Integer32(1..768)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The index of the Manual Routing Gbe Input Ts Configuration
         Apply Table."
::= { apexManRteGbeInRedApplyEntry 1 }

apexManRteGbeInRedApplyChange OBJECT-TYPE
    SYNTAX ApplyDataToDeviceTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Apply for the row of data in the Manual Routing Gbe Input Ts
         Configuration Table.

         A row in this table corresponds to the same row index in the
         Manual Routing Gbe Input Ts Configuration table.

         This parameter MUST be set to 'apply' in order for any of the data
         in the Manual Routing Gbe Input Ts Configuration Table row to take
         effect in the APEX.  This parameter MUST be set LAST after all other
         data in the Manual Routing Gbe Input Ts Configuration Table row has
         been configured.

         @Config(config=no, reboot=no)
        "
::= { apexManRteGbeInRedApplyEntry 2 }


-- ------------------------------------------------------------------------------
--
-- apexManRteGbeInRedTable
--

apexManRteGbeInRedTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexManRteGbeInRedEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This table is the Manual Routing Gigabit Ethernet Input Transport
         Stream Configuration Table.  This table contains 768 rows.

         For Force Switching a Redundancy pair for an Input TS configured
         in this table, refer to the same row index in
         apexManRteGbeInRedForceSwitchTable.

         Once written, the change to this table will only take immediate
         effect after apexManRteGbeInRedApplyChange is set to 'apply'.
         However, in order for the change to persist through subsequent
         reboots or power cycles, the change must be saved via apexSaveConfig.

         @Config(config=yes, reboot=no)
         @Commit(param=apexManRteGbeInRedApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(gige_red.ini, type='ini')
        "
::= { apexManualRouteGbeInputRedundConfig 3 }

apexManRteGbeInRedEntry OBJECT-TYPE
    SYNTAX ApexManRteGbeInRedEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Manual Routing Gigabit Ethernet Input Transport Stream Configuration
         Table Entry."
    INDEX { apexManRteGbeInRedIndex }
::= { apexManRteGbeInRedTable 1 }

ApexManRteGbeInRedEntry ::= SEQUENCE
    {
     apexManRteGbeInRedIndex               Integer32,
     apexManRteGbeInRedPriInterface        Integer32,
     apexManRteGbeInRedPriUdp              Integer32,
     apexManRteGbeInRedPriMulticastIp      IpAddress,
     apexManRteGbeInRedPriSourceIp         IpAddress,
     apexManRteGbeInRedPriLowAlarmBitRate  Integer32,
     apexManRteGbeInRedPriHighAlarmBitRate Integer32,
     apexManRteGbeInRedRateCompareType     RateComparisonTYPE,
     apexManRteGbeInRedEnable              EnableDisableTYPE,
     apexManRteGbeInRedThreshold           Integer32,
     apexManRteGbeInRedSuspend             INTEGER,
     apexManRteGbeInRedSecInterface        Integer32,
     apexManRteGbeInRedSecUdp              Integer32,
     apexManRteGbeInRedSecMulticastIp      IpAddress,
     apexManRteGbeInRedSecSourceIp         IpAddress,
     apexManRteGbeInRedSecLowAlarmBitRate  Integer32,
     apexManRteGbeInRedSecHighAlarmBitRate Integer32,
     apexManRteGbeInRedSecRedundMcJoin     INTEGER
    }

apexManRteGbeInRedIndex OBJECT-TYPE
    SYNTAX Integer32(1..768)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The Manual Routing Gbe Input Ts Configuration table index.
        "
::= { apexManRteGbeInRedEntry 1 }

apexManRteGbeInRedPriInterface OBJECT-TYPE
    SYNTAX Integer32(0..4)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The primary Gigabit Ethernet Interface.

         Zero indicates this row of the table is not in use.
        "
::= { apexManRteGbeInRedEntry 2 }

apexManRteGbeInRedPriUdp OBJECT-TYPE
    SYNTAX Integer32(0..65535)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The primary Gigabit Ethernet Input UDP Port.
        "
::= { apexManRteGbeInRedEntry 3 }

apexManRteGbeInRedPriMulticastIp OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The primary Multicast receive IP address.

         An IP address of 0.0.0.0 indicates table entry not in use.

         Multicast IP addresses 224.0.0.0 to 224.0.0.255 are reserved.
        "
::= { apexManRteGbeInRedEntry 4 }

apexManRteGbeInRedPriSourceIp OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This is the IP address of the source device for the primary interface.

         If the router supports IGMP v3 the GBE will only receive data from
         this source IP.  If Source IP is not specified or the router does not
         support IGMP v3 the GBE will receive data from any source device.
         Source IP address must be a valid singlecast address.
        "
::= { apexManRteGbeInRedEntry 5 }

apexManRteGbeInRedPriLowAlarmBitRate OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This is the bit rate, in bits per second, below which the
         APEX will issue the apexAlarmGbeInputStreamLowBitRate alarm
         for the primary interface.

         The APEX will compare either the current Information rate or Stream
         rate as configured in apexManRteGbeInRedRateCompareType.
         Setting to zero disables the bit rate alarming.

         The APEX updates the bit rate statistics every five seconds.
        "
::= { apexManRteGbeInRedEntry 6 }

apexManRteGbeInRedPriHighAlarmBitRate OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This is the bit rate, in bits per second, above which the
         APEX will issue the apexAlarmGbeInputStreamHighBitRate alarm
         for the primary interface.

         The APEX will compare either the current Information rate or Stream
         rate as configured in apexManRteGbeInRedRateCompareType.
         Setting to zero disables the bit rate alarming.

         The APEX updates the bit rate statistics every five seconds.

         Not supported.
        "
::= { apexManRteGbeInRedEntry 7 }

apexManRteGbeInRedRateCompareType OBJECT-TYPE
    SYNTAX RateComparisonTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This is the rate to use for comparing input streams.  It is
         either Information rate or Stream rate.  This applies to monitoring
         for Bit Rate alarming and monitoring of Redundant Pairs.
        "
::= { apexManRteGbeInRedEntry 8 }

apexManRteGbeInRedEnable OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This entry is used to enable Redundancy.
        "
::= { apexManRteGbeInRedEntry 9 }

apexManRteGbeInRedThreshold OBJECT-TYPE
    SYNTAX Integer32(0..100)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Manual Routing Gigabit Ethernet Redundancy Threshold.

         This is the percent used to determine Fail Over from Primary
         to Secondary, and Switch Back from Secondary to Primary.  If
         a value of zero is specified, Fail Over or Switch Back will
         not occur.  Range is 0 to 100%.

         Primary Fail Over to Secondary:
         FailOver = (PrimaryRate) < (Threshold * SecondaryRate)
         The Primary must remain below the threshold for
         apexGbeConfInRedundMonitorPeriod.  Fail Over will not occur when
         apexManRteGbeInRedSuspend is set to 'suspended'.

         Secondary Switch Back to Primary:
         SwitchBack = (PrimaryRate) >= (Threshold * SecondaryRate)
         The Primary must remain at or above the threshold for
         apexGbeConfInRedundMonitorPeriod seconds.  The APEX will delay
         Switch Back an additional apexGbeConfInRedundSwitchTime
         seconds.  Switch Back will not occur when
         apexManRteGbeInRedSuspend is set to 'suspended' or
         apexGbeConfInRedundAutoSwitchBack is 'disabled'.
        "
::= { apexManRteGbeInRedEntry 10 }

apexManRteGbeInRedSuspend OBJECT-TYPE
    SYNTAX INTEGER
        {
         notSuspended (1),
         suspended    (2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This suspends Redundant Pair switching when set to 'suspended'.

         This has no effect when redundancy is disabled.

         Forced switching of Redundant Pairs is not prevented when this is
         set to 'suspended'.
        "
::= { apexManRteGbeInRedEntry 11 }

apexManRteGbeInRedSecInterface OBJECT-TYPE
    SYNTAX Integer32(0..4)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The secondary Gigabit Ethernet Interface for redundancy.

         Zero is invalid when redundancy is enabled.
        "
::= { apexManRteGbeInRedEntry 12 }

apexManRteGbeInRedSecUdp OBJECT-TYPE
    SYNTAX Integer32(0..65535)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The secondary Gigabit Ethernet Input UDP Port for redundancy.
        "
::= { apexManRteGbeInRedEntry 13 }

apexManRteGbeInRedSecMulticastIp OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The secondary Multicast receive IP address for redundancy.

         An IP address of 0.0.0.0 indicates singlecast only.

         Multicast IP addresses 224.0.0.0 to 224.0.0.255 are reserved.
        "
::= { apexManRteGbeInRedEntry 14 }

apexManRteGbeInRedSecSourceIp OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This is the IP address of the source device for the secondary interface.

         If the router supports IGMP v3 the GBE will only receive data from
         this source IP.  If Source IP is not specified or the router does not
         support IGMP v3 the GBE will receive data from any source device.
         Source IP address must be a valid singlecast address.
        "
::= { apexManRteGbeInRedEntry 15 }

apexManRteGbeInRedSecLowAlarmBitRate OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This is the bit rate, in bits per second, below which the
         APEX will issue the apexAlarmGbeInputStreamLowBitRate alarm
         for the secondary interface.

         The APEX will compare either the current Information rate or Stream
         rate as configured in apexManRteGbeInRedRateCompareType.
         Setting to zero disables the bit rate alarming.

         The APEX updates the bit rate statistics every five seconds.
        "
::= { apexManRteGbeInRedEntry 16 }

apexManRteGbeInRedSecHighAlarmBitRate OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This is the bit rate, in bits per second, above which the
         APEX will issue the apexAlarmGbeInputStreamHighBitRate alarm
         for the secondary interface.

         The APEX will compare either the current Information rate or Stream
         rate as configured in apexManRteGbeInRedRateCompareType.
         Setting to zero disables the bit rate alarming.

         The APEX updates the bit rate statistics every five seconds.

         Not supported.
        "
::= { apexManRteGbeInRedEntry 17 }

apexManRteGbeInRedSecRedundMcJoin OBJECT-TYPE
    SYNTAX INTEGER
        {
         noJoinOnOpen (1),
         joinOnOpen   (2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This is not currently supported and is reserved for future use.
        "
::= { apexManRteGbeInRedEntry 18 }


-- ------------------------------------------------------------------------------
--
-- apexManRteGbeInRedForceSwitchTable
--

apexManRteGbeInRedForceSwitchTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexManRteGbeInRedForceSwitchEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This table is the Manual Routing Gigabit Ethernet Input Transport
         Stream Redundancy Configuration Table.  This table contains 768 rows.
         A row in this table corresponds to the same index in the
         apexManRteGbeInRedTable.
        "
::= { apexManualRouteGbeInputRedundConfig 4 }

apexManRteGbeInRedForceSwitchEntry OBJECT-TYPE
    SYNTAX ApexManRteGbeInRedForceSwitchEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Gigabit Ethernet Input Stream Redundancy Configuration Table Entry."
    INDEX { apexManRteGbeInRedForceSwitchIndex }
::= { apexManRteGbeInRedForceSwitchTable 1 }

ApexManRteGbeInRedForceSwitchEntry ::= SEQUENCE
    {
     apexManRteGbeInRedForceSwitchIndex Integer32,
     apexManRteGbeInRedForceSwitch      INTEGER
    }

apexManRteGbeInRedForceSwitchIndex OBJECT-TYPE
    SYNTAX Integer32(1..768)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The Manual Routing Gbe Input Ts Redundancy Configuration table index.
         A row in this table corresponds to the same index in the
         apexManRteGbeInRedTable."
::= { apexManRteGbeInRedForceSwitchEntry 1 }

apexManRteGbeInRedForceSwitch OBJECT-TYPE
    SYNTAX INTEGER
        {
         switchNotInProgress (1),
         forceSwitch         (2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Gigabit Ethernet Redundant Pair force switch.

         This will have no effect if the corresponding row setting of
         apexManRteGbeInRedEnable is 'disabled'.

         The corresponding row setting apexManRteGbeInRedSuspend is
         ignored when 'forceSwitch' is set.  The switch will occur even if
         apexManRteGbeInRedSuspend is 'suspended'.

         When forced to the Secondary of the pair, the APEX will stay on the
         Secondary until the user forces back to the Primary.  The APEX will
         not automatically switch back to the Primary when the Primary is
         restored above the failover threshold.

         The APEX will not allow a force to the Primary unless the Primary
         is above the failover threshold.

         Once written, the change to this parameter will take immediate effect.

         @Config(config=no, reboot=no)
        "
::= { apexManRteGbeInRedForceSwitchEntry 2 }


-- ------------------------------------------------------------------------------
--
-- apexManualRoutingStatus
--
-- apexManualRoutingStatusGeneral
--

apexManualRouteInvalidApplyText OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..80))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "When apexManualRouteApplyChange is set to applyNotInProgressInvalidData
         this entry may contain a text description of what was wrong with the data.
         This entry contains the description for the most recent apply of a
         table entry that was invalid."
::= { apexManualRoutingStatusGeneral 1 }

apexManRtePassThroughInvalidApplyText OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..80))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "When apexManRtePassThroughApplyChange is set to applyNotInProgressInvalidData
         this entry may contain a text description of what was wrong with the data.
         This entry contains the description for the most recent apply of a
         table entry that was invalid."
::= { apexManualRoutingStatusGeneral 2 }

apexManRteGbeInRedInvalidApplyText OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..80))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "When apexManRteGbeInRedTableApplyChange is set to applyNotInProgressInvalidData
         this entry may contain a text description of what was wrong with the data.
         This entry contains the description for the most recent apply of a
         table entry that was invalid."
::= { apexManualRoutingStatusGeneral 3 }


-- ------------------------------------------------------------------------------
--
-- apexManualRouteGbeInputRedundStatus
--
-- apexManRteGbeInRedStatusGeneral
--

-- none


-- ------------------------------------------------------------------------------
--
-- apexManRteGbeInRedStatusMapTable
--

apexManRteGbeInRedStatusMapTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexManRteGbeInRedStatusMapEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This table provides the mapping between the indexes in 
         Manual Routing Gigabit Ethernet Input Transport Stream Redundancy Configuration 
         and Input TS Status. This table contains 768 rows. 
         The index in this table corresponds to the same index in the apexManRteGbeInRedTable.
        "
::= { apexManualRouteGbeInputRedundStatus 2 }
                                 
apexManRteGbeInRedStatusMapEntry  OBJECT-TYPE
    SYNTAX ApexManRteGbeInRedStatusMapEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Gigabit Ethernet Input Stream Redundancy Configuration and
         Status Mapping Table Entry."
    INDEX { apexManRteGbeInRedStatusMapIndex }
::= { apexManRteGbeInRedStatusMapTable 1 }

ApexManRteGbeInRedStatusMapEntry ::= SEQUENCE
    {
     apexManRteGbeInRedStatusMapIndex           Integer32,
     apexManRteGbeInRedStatusMapInputTsStatRow  Integer32
    }

apexManRteGbeInRedStatusMapIndex OBJECT-TYPE
    SYNTAX Integer32(1..768)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The Manual Routing Gbe Input Ts Redundancy Configuration and
         status mapping table index.
         A index in this table corresponds to the same index in the
         apexManRteGbeInRedTable."
::= { apexManRteGbeInRedStatusMapEntry 1 }

apexManRteGbeInRedStatusMapInputTsStatRow  OBJECT-TYPE
    SYNTAX Integer32(0..784)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Manual Routing Gbe Input TS Status index.
         This provides the mapping between the entries in apexManRteGbeInRedTable
         and apexInputTsStatTable.
         The range of the index is 0 - 784, where 0 indicates no direct association 
         between configuration and status and the 1-784 is the actual Input Stream 
         status row (relative 1).        

         @Config(config=no, reboot=no)
        "
::= { apexManRteGbeInRedStatusMapEntry 2 }


-- ------------------------------------------------------------------------------
--
-- apexManualRoutingServiceStatus
--
-- apexManualRoutingServiceStatusGeneral
--

-- none

-- ------------------------------------------------------------------------------
--
-- apexManualRoutingServiceStatusTable
--

apexManualRoutingServiceStatusTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexManualRoutingServiceStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This table provides the error status for manual routed service routing.
         For each routing in manual routing table, the corresponding entry in 
         this table gives the service error status.
        "
::= { apexManualRoutingServiceStatus 2 }

apexManualRoutingServiceStatusEntry  OBJECT-TYPE
    SYNTAX ApexManualRoutingServiceStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Manual routing service status table entry."
    INDEX { apexManualRoutingServiceStatusIndex }
::= { apexManualRoutingServiceStatusTable 1 }

ApexManualRoutingServiceStatusEntry ::= SEQUENCE
    {
     apexManualRoutingServiceStatusIndex        Integer32,
     apexManualRoutingServiceErrorStatus        INTEGER
    }

apexManualRoutingServiceStatusIndex OBJECT-TYPE
    SYNTAX Integer32(1..768)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Manual Routing Service Status Index.
         
         This index in this table corresponds to the same index in the
         apexManualRouteTable."
::= { apexManualRoutingServiceStatusEntry 1 }

apexManualRoutingServiceErrorStatus  OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         ok            (1),
         error         (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Program service error for the service routed in manual routing table.        
         The entry in this table corresponds to the same index entry in the
         apexManualRouteTable.
        "
::= { apexManualRoutingServiceStatusEntry 2 }

-- ------------------------------------------------------------------------------
--
-- apexAncillaryPidMapping
--
-- apexPidMapConfig
--
-- ------------------------------------------------------------------------------
--
-- apexPidMapTable
--

apexPidMapTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexPidMapEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of data for Ancillary Pid Mapping. There are
         480 rows in this table (APEX supports up to 480 ancillary PID mappings).

         Once written, the change to this table will only take immediate
         effect after apexPidMapApplyChange is set to 'apply'.
         However, in order for the change to persist through subsequent
         reboots or power cycles, the change must be saved via apexSaveConfig.

         @Config(config=yes, reboot=no)
         @Commit(param=apexPidMapApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(bcmr.ini, type='ini')
        "
::= { apexPidMapConfig 1 }

apexPidMapEntry OBJECT-TYPE
    SYNTAX ApexPidMapEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Pid Mapping Table Entry."
    INDEX { apexPidMapIndex }
::= { apexPidMapTable 1 }

ApexPidMapEntry ::= SEQUENCE
    {
     apexPidMapIndex            Integer32,
     apexPidMapEnable           EnableDisableTYPE,
     apexPidMapInputType        INTEGER,
     apexPidMapInputInterface   Integer32,
     apexPidMapInputUdp         Integer32,
     apexPidMapInputMulticastIp IpAddress,
     apexPidMapInputSourceIp    IpAddress,
     apexPidMapInputPid         Integer32,
     apexPidMapOutputTsNum      Integer32,
     apexPidMapOutputPid        Integer32
    }

apexPidMapIndex OBJECT-TYPE
    SYNTAX Integer32(1..480)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Index of Pid Mapping Table."
::= { apexPidMapEntry 1 }

apexPidMapEnable OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Indicates whether this PID Mapping is enabled or disabled.
        "
::= { apexPidMapEntry 2 }

apexPidMapInputType OBJECT-TYPE
    SYNTAX INTEGER
        {
         gbe      (1),
         fastEnet (2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Input Type of input from which to obtain data.
        "
::= { apexPidMapEntry 3 }

apexPidMapInputInterface OBJECT-TYPE
    SYNTAX Integer32(0..4)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Number of the input, of type configured by Input Type,
         from which to obtain data.

         Range:
            '0'      = Not Applicable
            GBE      = 1-4
            FastEnet = 1-2
        "
::= { apexPidMapEntry 4 }

apexPidMapInputUdp OBJECT-TYPE
SYNTAX Integer32(0..65535)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Input UDP Port from which to obtain data.

         Range:
            GBE      = 0-65535
            FastEnet = 1024-65535
        "
::= { apexPidMapEntry 5 }

apexPidMapInputMulticastIp OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Multicast receive IP address on which to receive data.

         An IP address of 0.0.0.0 indicates singlecast only.

         Multicast IP addresses 224.0.0.0 to 224.0.0.255 are reserved.
        "
::= { apexPidMapEntry 6 }

apexPidMapInputSourceIp OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This is the IP address of the source device.

         If the router supports IGMP v3 the GBE will only receive data from
         this source IP.  If Source IP is not specified or the router does not
         support IGMP v3 the GBE will receive data from any source device.
         Source IP address must be a valid singlecast address.
        "
::= { apexPidMapEntry 7 }

apexPidMapInputPid OBJECT-TYPE
    SYNTAX Integer32(0..8191)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Input MPEG PID to multiplex. When PID Remapping for an output is
         enabled, the input PID value and output PID value can be different. When
         PID Remapping for an output is disabled, the input and output PIDs must
         be the same. Input PID 0 (PAT PID) cannot be mapped by the user.
        "
::= { apexPidMapEntry 8 }

apexPidMapOutputTsNum OBJECT-TYPE
    SYNTAX Integer32(0..48)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Output Transport Stream Number of the output on which to place data.
         Zero is only valid if the apexPidMapTable entry is not being used.
        "
::= { apexPidMapEntry 9 }

apexPidMapOutputPid OBJECT-TYPE
    SYNTAX Integer32(0..8191)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Output PID to use for the data. This output PID value must match the input
         PID value when PID Remapping for the output stream is disabled.
         Zero is only valid if the apexPidMapTable entry is not being used.
        "
::= { apexPidMapEntry 10 }


-- ------------------------------------------------------------------------------
--
-- apexPidMapApplyTable
--

apexPidMapApplyTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexPidMapApplyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of Apply Change for the data for PID Map Table.

         A row in this table corresponds to the same row index in the
         PID Map table.
        "
::= { apexPidMapConfig 2 }

apexPidMapApplyEntry OBJECT-TYPE
    SYNTAX ApexPidMapApplyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "PID Map Apply Table Entry."
    INDEX { apexPidMapApplyIndex }
::= { apexPidMapApplyTable 1 }

ApexPidMapApplyEntry ::= SEQUENCE
    {
     apexPidMapApplyIndex  Integer32,
     apexPidMapApplyChange ApplyDataToDeviceTYPE
    }

apexPidMapApplyIndex OBJECT-TYPE
    SYNTAX Integer32(1..480)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The index of the PID Map Apply Table."
::= { apexPidMapApplyEntry 1 }

apexPidMapApplyChange OBJECT-TYPE
    SYNTAX ApplyDataToDeviceTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Apply for the row of data in the PID Map Table.

         A row in this table corresponds to the same row index in the
         PID Map table.

         This parameter MUST be set to 'apply' in order for any of the data
         in the PID Map Table row to take effect in the APEX.  This
         parameter MUST be set LAST after all other data in the PID Map
         Table row has been configured.

         @Config(config=no, reboot=no)
        "
::= { apexPidMapApplyEntry 2 }


-- ------------------------------------------------------------------------------
--
-- apexBulkPidMapTable
--

apexBulkPidMapTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexBulkPidMapEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of data for Ancillary Bulk Pid Mapping. Apex supports 480
         ancillary PID map routings. There are 480 rows in this table which
         allows user to configure upto 480*48 PID configurations, but only
         480 ancillary PID mappings will be routed on apex.
         
         Once written, the change to this table will only take immediate
         effect after apexBulkPidMapApplyChange is set to 'apply'.
         However, in order for the change to persist through subsequent
         reboots or power cycles, the change must be saved via apexSaveConfig.

         @Config(config=yes, reboot=no)
         @Commit(param=apexBulkPidMapApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(bcmr.ini, type='ini')
        "
::= { apexPidMapConfig 3 }

apexBulkPidMapEntry OBJECT-TYPE
    SYNTAX ApexBulkPidMapEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Bulk Pid Mapping Table Entry."
    INDEX { apexBulkPidMapIndex }
::= { apexBulkPidMapTable 1 }

ApexBulkPidMapEntry ::= SEQUENCE
    {
     apexBulkPidMapIndex               Integer32,
     apexBulkPidMapEnable              EnableDisableTYPE,
     apexBulkPidMapInputType           INTEGER,
     apexBulkPidMapInputInterface      Integer32,
     apexBulkPidMapInputUdp            Integer32,
     apexBulkPidMapInputMulticastIp    IpAddress,
     apexBulkPidMapInputSourceIp       IpAddress,
     apexBulkPidMapInputPid            Integer32,
     apexBulkPidMapOutputTsNum01to32   Unsigned32,
     apexBulkPidMapOutputTsNum33to48   Unsigned32,
     apexBulkPidMapOutputPid           Integer32
    }

apexBulkPidMapIndex OBJECT-TYPE
    SYNTAX Integer32(1..480)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Index of Bulk Pid Mapping Table. This index maps with apexBulkPidMapApplyIndex
         Also, defines this table row size
        "
::= { apexBulkPidMapEntry 1 }

apexBulkPidMapEnable OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Indicates whether this Bulk PID Mapping entry is enabled or disabled.
        "
::= { apexBulkPidMapEntry 2 }

apexBulkPidMapInputType OBJECT-TYPE
    SYNTAX INTEGER
        {
         gbe      (1),
         fastEnet (2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Input Type. Indicates if mapping is from gigabit ethernet or fast ethernet
        "
::= { apexBulkPidMapEntry 3 }

apexBulkPidMapInputInterface OBJECT-TYPE
    SYNTAX Integer32(0..4)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Number of the input, of type configured by Input Type,
         from which to obtain data.

         Range:
            '0'      = Not Applicable
            GBE      = 1-4
            FastEnet = 1-2
        "
::= { apexBulkPidMapEntry 4 }

apexBulkPidMapInputUdp OBJECT-TYPE
SYNTAX Integer32(0..65535)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Input UDP Port from which to obtain data.

         Range:
            GBE      = 0-65535
            FastEnet = 1024-65535
        "
::= { apexBulkPidMapEntry 5 }

apexBulkPidMapInputMulticastIp OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Multicast receive IP address on which to receive data.
         An IP address of 0.0.0.0 indicates singlecast only.

         Multicast IP addresses 224.0.0.0 to 224.0.0.255 are reserved.
        "
::= { apexBulkPidMapEntry 6 }

apexBulkPidMapInputSourceIp OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This is the IP address of the source device.

         If the router supports IGMP v3 the GBE will only receive data from
         this source IP.  If Source IP is not specified or the router does not
         support IGMP v3 the GBE will receive data from any source device.
         Source IP address must be a valid singlecast address.
        "
::= { apexBulkPidMapEntry 7 }

apexBulkPidMapInputPid OBJECT-TYPE
    SYNTAX Integer32(0..8191)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Input MPEG PID to multiplex. When PID Remapping for an output is
         enabled, the input PID value and output PID value can be different. When
         PID Remapping for an output is disabled, the input and output PIDs must
         be the same. Input PID 0 (PAT PID) cannot be mapped by the user.
         
         Zero is only valid if the apexBulkPidMapTable entry is not being used.
        "
::= { apexBulkPidMapEntry 8 }

apexBulkPidMapOutputTsNum01to32 OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Bitfield for inserting PID streams into OTS 1 through 32 where:
         bit 0(lsb) = OTS 1, bit 31(msb) = OTS 32. If the bit for the OTS
         is set, then the current PID is inserted into the output.
        "
::= { apexBulkPidMapEntry 9 }


apexBulkPidMapOutputTsNum33to48 OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Bitfield for inserting PID streams into OTS 33 through 48 where:
         bit 0(lsb) = OTS 33, bit 15 = OTS 48. If the bit for the OTS
         is set, then the current PID is inserted into the output.
         Other bits are reserved.
        "
::= { apexBulkPidMapEntry 10 }

apexBulkPidMapOutputPid OBJECT-TYPE
    SYNTAX Integer32(0..8191)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Output PID to use for the data. This output PID value must match the input
         PID value when PID Remapping for the output stream is disabled.
         
         Zero is only valid if the apexBulkPidMapTable entry is not being used.
        "
::= { apexBulkPidMapEntry 11 }


-- ------------------------------------------------------------------------------
--
-- apexBulkPidMapApplyTable
--

apexBulkPidMapApplyTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexBulkPidMapApplyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of Apply Change for the data for Bulk PID Map Table
         (apexBulkPidMapTable).

         A row in this table corresponds to the same row index in the
         Bulk PID Map table.
        "
::= { apexPidMapConfig 4}

apexBulkPidMapApplyEntry OBJECT-TYPE
    SYNTAX ApexBulkPidMapApplyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Bulk PID Map Apply Table Entry."
    INDEX { apexBulkPidMapApplyIndex }
::= { apexBulkPidMapApplyTable 1 }

ApexBulkPidMapApplyEntry ::= SEQUENCE
    {
     apexBulkPidMapApplyIndex  Integer32,
     apexBulkPidMapApplyChange ApplyDataToDeviceTYPE
    }

apexBulkPidMapApplyIndex OBJECT-TYPE
    SYNTAX Integer32(1..480)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The index of the bulk PID map Apply Table.
         A row in this table corresponds to the same row index in the
         entry in bulk PID map table."
::= { apexBulkPidMapApplyEntry 1 }

apexBulkPidMapApplyChange OBJECT-TYPE
    SYNTAX ApplyDataToDeviceTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Apply for the row of data in the Bulk PID Map Table.

         A row in this table corresponds to the same row index in the
         Bulk PID Map table.

         This paramter MUST be set to 'apply' in order for any of the data
         in apexBulkPidMapTable row to take effect in the APEX. If
         apexBulkPidMapTable is valid, host sets apexBulkPidMapApplyChange to
         applyNotInProgressValidData. Otherwise, host sets apexPidMapApplyChange
         to applyNotInProgressInvalidData. Also updates the parameter
         apexBulkPidMapInvalidApplyText with text description of what is
         wrong with changing apexBulkPidMapTable.
        "
::= { apexBulkPidMapApplyEntry 2 }


-- ------------------------------------------------------------------------------
--
-- apexPidMapConfigGeneral
--

apexPidMapConfigApplyChange OBJECT-TYPE
    SYNTAX ApplyDataToDeviceTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This paramter MUST be set to 'apply' in order for any of the
         data in apexPidMapConfigBulkPidEnable to effect. If enabled, host
         deletes the pid mappings created based on apexPidMapTable and creates
         based on apexBulkPidMapTable. If disabled, host deletes the pid mappings
         created based on apexBulkPidMapTable and creates based on apexPidMapTable
         
         Host after creating pid mapping, sets apexPidMapApplyChange with
         applyNotInProgressValidData when the entry is successfully created.
         Host sets the apply change to applyNotInProgressInvalidData when any error
         occurs when PID mapping entry is created or when the apexPidMapConfigBulkPidEnable
         is set with unknown value.
         
         @Config(config=no, reboot=no)
        "
::= { apexPidMapConfigGeneral 1 }

apexPidMapConfigBulkPidEnable OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "When enabled, this parameter indicates the host to route ancillary PIDs based
         on apexBulkPidMapTable. When disabled, this parameter indicates the host to
         route ancillary PIDs based on apexPidMapTable.
         
         Once written, a change to apexPidMapConfigBulkPidEnable, will
         only take effect after the appropriate apexPidMapConfigApplyChange
         is set to 'apply'. In order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.
         
         @Config(config=yes, reboot=no)
         @Commit(param=apexPidMapConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexPidMapConfigGeneral 2 }

-- ------------------------------------------------------------------------------
--
-- apexPidMapInputAncillaryPidDetection
--

apexPidMapInputAncillaryPidDetectionTimeout OBJECT-TYPE
    SYNTAX Unsigned32(1..65535)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The loss of input ancillary PID detection timeout value in minutes. 
         The APEX will monitor for the configured number of minutes to check
         whether atleast one TS packet for an input ancillay PID is received.
         If no packet is received the APEX will raise the alarm 
         'apexAlarmLossOfInputAncillaryPid' and sends event
         'apexEventLossOfInputAncillaryPid'. Each ancillary PID previously
         received will be checked to determine that it is still being received
         based on this setting.
         
         Default value is 1 minute.

         Once written, the change to this parameter will take immediate effect.
         However, in order for the change to persist through subsequent reboots
         or power cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexPidMapInputAncillaryPidDetection 1 }

-- ------------------------------------------------------------------------------
--
-- apexPidMapStatus
--
-- apexPidMapStatusGeneral
--

apexPidMapMaxPidMappings OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Maximum number of Ancillary PID mappings supported."
::= { apexPidMapStatusGeneral 1 }

apexPidMapInvalidApplyText OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..80))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "When apexPidMapApplyChange is set to applyNotInProgressInvalidData
         this entry may contain a text description of what was wrong with the data.
         This entry contains the description for the most recent apply of a
         table entry that was invalid."
::= { apexPidMapStatusGeneral 3 }

-- ------------------------------------------------------------------------------
--
-- apexBulkPidMapStatusGeneral
--

apexBulkPidMapInvalidApplyText OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..80))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "When apexBulkPidMapApplyChange is set to applyNotInProgressInvalidData
         this entry may contain a text description of what was wrong with the data.
         This entry contains the description for the most recent apply of a
         table entry that was invalid.
        "
::= { apexBulkPidMapStatusGeneral 1 }


-- ------------------------------------------------------------------------------
--
-- apexInsertion
--
-- apexInsertionConfig
--
-- apexInsertionConfigGeneral
--

apexInsertionMode OBJECT-TYPE
    SYNTAX INTEGER
        {
         efficient     (1),
         singleSection (2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This parameter is used to set the insertion mode for the APEX.
         The APEX may be configured to insert messages as efficiently as
         possible (efficient) or restrict insertion to a single section
         starting per packet (singleSection).

         Once written, the change to this parameter will take immediate
         effect.  However, in order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexInsertionConfigGeneral 1 }


-- ------------------------------------------------------------------------------
--
-- apexInsertionStatus
--
-- apexInsertionStatusGeneral
--

-- none


-- ------------------------------------------------------------------------------
--
-- apexInsertPacketStatisticsTable
--

apexInsertPacketStatisticsTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexInsertPacketStatisticsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of Output Transport Stream Insert Packet Statistics.
         Indexed by Output Transport Stream number."
::= { apexInsertionStatus 2 }

apexInsertPacketStatisticsEntry OBJECT-TYPE
    SYNTAX ApexInsertPacketStatisticsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A row in the Output Transport Stream Insert Packet Statistics table."
    INDEX { apexInsertPacketStatOutputTsNum }
::= { apexInsertPacketStatisticsTable 1 }

ApexInsertPacketStatisticsEntry ::= SEQUENCE
    {
     apexInsertPacketStatOutputTsNum Integer32,
     apexInsertPacketStatTotPkts     Integer32,
     apexInsertPacketStatNumPkts     Integer32
    }

apexInsertPacketStatOutputTsNum OBJECT-TYPE
    SYNTAX Integer32 (1..48)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Output Transport Stream Number."
::= { apexInsertPacketStatisticsEntry 1 }

apexInsertPacketStatTotPkts OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Total number of packets inserted."
::= { apexInsertPacketStatisticsEntry 2 }

apexInsertPacketStatNumPkts OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of packets inserted during the last monitoring
         period (currently 5 seconds)."
::= { apexInsertPacketStatisticsEntry 3 }


-- ------------------------------------------------------------------------------
--
-- apexInputTransport
--
-- apexInputTsConfig
--
-- apexInputTsConfigGeneral
--

-- none


-- ------------------------------------------------------------------------------
--
-- apexInputTsStatus
--
-- apexInputTsStatusGeneral
--

-- none


-- ------------------------------------------------------------------------------
--
-- apexInputTsStatTable
--

apexInputTsStatTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexInputTsStatEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of Input Transport Stream Status data. For each input stream
         in use, an entry in this row will be utilized. This table will indicate
         the input stream in use by type, interface, UDP, multicast IP, and Source
         IP address. This table will also indicate if the input stream is a Primary
         or Secondary input stream.

         Table of 768 GigE entries plus 16 Host entries (784 total input
         entries). List of GigE and Host Ethernet input streams currently
         in use. Each row contains an entry for Primary and Secondary
         information along with the 1 currently in use.
        "
::= { apexInputTsStatus 2 }

apexInputTsStatEntry OBJECT-TYPE
    SYNTAX ApexInputTsStatEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Input Transport Stream Status Table Entry."
    INDEX { apexInputTsStatIndex }
::= { apexInputTsStatTable 1 }

ApexInputTsStatEntry ::= SEQUENCE
    {
     apexInputTsStatIndex               Integer32,
     apexInputTsStatStreamInUse         INTEGER,
     apexInputTsStatInputType           INTEGER,
     apexInputTsStatRoutingType         INTEGER,
     apexInputTsStatPriState            InputTsStateTYPE,
     apexInputTsStatPriInputInterface   Integer32,
     apexInputTsStatPriInputUdp         Integer32,
     apexInputTsStatPriInputMulticastIp IpAddress,
     apexInputTsStatPriInputSourceIp    IpAddress,
     apexInputTsStatSecState            InputTsStateTYPE,
     apexInputTsStatSecInputInterface   Integer32,
     apexInputTsStatSecInputUdp         Integer32,
     apexInputTsStatSecInputMulticastIp IpAddress,
     apexInputTsStatSecInputSourceIp    IpAddress,
     apexInputTsStatRateCompareType     RateComparisonTYPE
    }

apexInputTsStatIndex OBJECT-TYPE
    SYNTAX Integer32(1..784)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Index of Input Transport Stream Status Table."
::= { apexInputTsStatEntry 1 }

apexInputTsStatStreamInUse OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         primary       (1),
         secondary     (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the primary or secondary is in use. Zero
         indicates this row is not in use.
        "
::= { apexInputTsStatEntry 2 }

apexInputTsStatInputType OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         gbe           (1),
         fastEnet      (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Input Type of both primary and secondary inputs.
        "
::= { apexInputTsStatEntry 3 }

apexInputTsStatRoutingType OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         session       (1),
         manual        (2),
         udpMapping    (3)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Routing Type of both primary and secondary inputs.

         'session' - applies to SDV session routes (RPC, RTSP).
         'manual'  - applies to all manual routes (Manual Routing, PID
                     Mapping, and stream pass through).
         'udpMapping - applies to UDP Port Mapping routes.
        "
::= { apexInputTsStatEntry 4 }

apexInputTsStatPriState OBJECT-TYPE
    SYNTAX InputTsStateTYPE
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current state of the primary Gigabit Ethernet Input TS configured
         in apexManRteGbeInRedTable.  States are:
            closed              (0) - Input TS is closed or table row is not in use.
            openedInUse         (1) - Input TS is opened and in use.
            openedBackup        (2) - Input TS is opened as backup only.
            openedTransToBackup (3) - Input TS is opened, transitioning to backup state.
            openedTransToInUse  (4) - Input TS is opened, transitioning to in use state.

         The states of 'openedBackup', 'openedTransToBackup', and 'openedTransToBackup'
         apply only to Redundant Pairs.  The state of
         'openedBackup' applies to the Input TS of the pair that is not currently in
         use.  The state of 'openedTransToBackup' applies to the Input TS of the pair
         that is currently in use but is transitioning to be the backup, as when a Fail
         Over or Switch Back is occurring.  The state of 'openedTransToInUse' applies
         to the Input TS of the pair that is currently the backup use but is
         transitioning to be the in use, as when a Fail Over or Switch Back is
         occurring.
        "
::= { apexInputTsStatEntry 5 }

apexInputTsStatPriInputInterface OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of the primary input interface of type Input Type.
        "
::= { apexInputTsStatEntry 6 }

apexInputTsStatPriInputUdp OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Input UDP Port for primary input.
        "
::= { apexInputTsStatEntry 7 }

apexInputTsStatPriInputMulticastIp OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Multicast receive IP address for primary input.
        "
::= { apexInputTsStatEntry 8 }

apexInputTsStatPriInputSourceIp OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This is the IGMP v3 Source IP address of the source device for the primary input.
        "
::= { apexInputTsStatEntry 9 }

apexInputTsStatSecState OBJECT-TYPE
    SYNTAX InputTsStateTYPE
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current state of the secondary Gigabit Ethernet Input TS configured
         in apexManRteGbeInRedTable.  States are:
            closed              (0) - Input TS is closed or table row is not in use.
            openedInUse         (1) - Input TS is opened and in use.
            openedBackup        (2) - Input TS is opened as backup only.
            openedTransToBackup (3) - Input TS is opened, transitioning to backup state.
            openedTransToInUse  (4) - Input TS is opened, transitioning to in use state.

         The states of 'openedBackup', 'openedTransToBackup', and 'openedTransToBackup'
         apply only to Redundant Pairs.  The state of
         'openedBackup' applies to the Input TS of the pair that is not currently in
         use.  The state of 'openedTransToBackup' applies to the Input TS of the pair
         that is currently in use but is transitioning to be the backup, as when a Fail
         Over or Switch Back is occurring.  The state of 'openedTransToInUse' applies
         to the Input TS of the pair that is currently the backup use but is
         transitioning to be the in use, as when a Fail Over or Switch Back is
         occurring.
        "
::= { apexInputTsStatEntry 10 }

apexInputTsStatSecInputInterface OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of the secondary input interface of type Input Type.
        "
::= { apexInputTsStatEntry 11 }

apexInputTsStatSecInputUdp OBJECT-TYPE
SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Input UDP Port for secondary input.
        "
::= { apexInputTsStatEntry 12 }

apexInputTsStatSecInputMulticastIp OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Multicast receive IP address for secondary input.
        "
::= { apexInputTsStatEntry 13 }

apexInputTsStatSecInputSourceIp OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This is the IGMP v3 Source IP address of the source device for the secondary input.
        "
::= { apexInputTsStatEntry 14 }

apexInputTsStatRateCompareType OBJECT-TYPE
    SYNTAX RateComparisonTYPE
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This is the rate in use for comparing input streams.  It is
         either Information rate or Stream rate.  This applies to monitoring
         for Bit Rate alarming and monitoring of Redundant Pairs.
        "
::= { apexInputTsStatEntry 15 }


-- ------------------------------------------------------------------------------
--
-- apexOutputTransport
--
-- apexOutputTsConfig
--
-- apexOutputTsConfigGeneral
--

-- none


-- ------------------------------------------------------------------------------
--
-- apexOutputTsUtilizationMonitoring
--
-- apexOutputTsUtilizationMonitorGeneral
--
apexOutputTsUtilMonAlarmThreshold OBJECT-TYPE
    SYNTAX Integer32 (0..100)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The threshold, in percent, used to produce the
         apexAlarmOutputUtilizationFault alarm 'minor' while
         monitoring Output Transport Stream Bandwidth Utilization.
         An alarm of 'minor' will occur when this threshold is met
         or exceeded for apexOutputTsUtilMonSetAlarmDelay.  The alarm
         will clear after remaining below this threshold for
         apexOutputTsUtilMonClearAlarmDelay.

         Once written, the change to this parameter will take immediate
         effect.  However, in order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexOutputTsUtilizationMonitorGeneral 1 }

apexOutputTsUtilMonSetAlarmDelay OBJECT-TYPE
    SYNTAX Integer32 (0..900)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This is the time in seconds that the Output Transport Stream
         must be at or exceeding apexOutputTsUtilMonAlarmThreshold before
         setting the apexAlarmOutputUtilizationFault alarm.

         Once written, the change to this parameter will take immediate
         effect.  However, in order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexOutputTsUtilizationMonitorGeneral 2 }

apexOutputTsUtilMonClearAlarmDelay OBJECT-TYPE
    SYNTAX Integer32 (0..900)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This is the time in seconds that the Output Transport Stream
         must be below apexOutputTsUtilMonAlarmThreshold before
         clearing the apexAlarmOutputUtilizationFault alarm.

         Once written, the change to this parameter will take immediate
         effect.  However, in order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexOutputTsUtilizationMonitorGeneral 3 }


-- ------------------------------------------------------------------------------
--
-- apexOutputTsUtilizationMonitorTable
--

apexOutputTsUtilizationMonitorTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexOutputTsUtilizationMonitorEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This is a table of configuration parameters for Rate Monitoring
         of the Output Transport Stream Bandwidth Utilization.  Utilization
         information is accessed via apexOutputTsUtilizationTable."
::= { apexOutputTsUtilizationMonitoring 2 }

apexOutputTsUtilizationMonitorEntry OBJECT-TYPE
    SYNTAX ApexOutputTsUtilizationMonitorEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Output Transport Rate Monitoring Configuration Table Entry."
    INDEX { apexOutputTsUtilMonOutputTsNum }
::= { apexOutputTsUtilizationMonitorTable 1 }

ApexOutputTsUtilizationMonitorEntry ::= SEQUENCE
    {
     apexOutputTsUtilMonOutputTsNum        Integer32,
     apexOutputTsUtilMonResetTotDropPacket ResetStatisticsTYPE
    }

apexOutputTsUtilMonOutputTsNum OBJECT-TYPE
    SYNTAX Integer32(1..48)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Output Transport Stream Number."
::= { apexOutputTsUtilizationMonitorEntry 1 }

apexOutputTsUtilMonResetTotDropPacket OBJECT-TYPE
    SYNTAX ResetStatisticsTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Output Ts Reset total dropped packets.

         Setting to 'reset' resets same apexOutputTsUtilizTotalDropPackets
         index row in apexOutputTsUtilizationTable.

         Once written, the change to this parameter will take immediate effect.

         @Config(config=no, reboot=no)
        "
::= { apexOutputTsUtilizationMonitorEntry 2 }


-- ------------------------------------------------------------------------------
--
-- apexOutputTsConfApplyTable
--

apexOutputTsConfApplyTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexOutputTsConfApplyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of Apply Change for Output Ts Config Table.

         This apply is only used for apexOutputTsConfOperatingMode,
         apexOutputTsConfEncryptionType, and apexOutputTsConfSimulcryptMode."
::= { apexOutputTsConfig 5 }

apexOutputTsConfApplyEntry OBJECT-TYPE
    SYNTAX ApexOutputTsConfApplyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Output Transport Stream Apply Table Entry."
    INDEX { apexOutputTsConfApplyIndex }
::= { apexOutputTsConfApplyTable 1 }

ApexOutputTsConfApplyEntry ::= SEQUENCE
    {
     apexOutputTsConfApplyIndex      Integer32,
     apexOutputTsConfApplyChange     ApplyDataToDeviceTYPE
    }

apexOutputTsConfApplyIndex OBJECT-TYPE
    SYNTAX Integer32(1..48)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Index of Output Transport Stream Apply Table."
::= { apexOutputTsConfApplyEntry 1 }

apexOutputTsConfApplyChange OBJECT-TYPE
    SYNTAX ApplyDataToDeviceTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The apply for Output Ts Config Table.  This apply is only used for
         apexOutputTsConfOperatingMode, apexOutputTsConfEncryptionType,
         and apexOutputTsConfSimulcryptMode.

         A row in this table corresponds to the same row index in the
         Output Ts Config table.

         This parameter MUST be set to 'apply' in order for the items listed
         above to take effect in the APEX.  This parameter MUST be set LAST
         after the relevant data in the Output Ts Config row has been configured.

         @Config(config=no, reboot=no)
        "
::= { apexOutputTsConfApplyEntry 2 }


-- ------------------------------------------------------------------------------
--
-- apexOutputTsConfigTable
--

apexOutputTsConfigTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexOutputTsConfigEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This is a table of configuration parameters for Output Transport
         Streams.

         Once written, a change to apexOutputTsConfEncryptionType,
         apexOutputTsConfOperatingMode, or apexOutputTsConfSimulcryptMode will
         only take immediate effect after the appropriate apexOutputTsConfApplyChange
         is set to 'apply'.  All other changes to this table will take immediate effect.
         In order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexOutputTsConfig 6 }

apexOutputTsConfigEntry OBJECT-TYPE
    SYNTAX ApexOutputTsConfigEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Output Transport Stream Configuration Table Entry."
    INDEX { apexOutputTsConfOutputTsNum }
::= { apexOutputTsConfigTable 1 }

ApexOutputTsConfigEntry ::= SEQUENCE
    {
     apexOutputTsConfOutputTsNum      Integer32,
     apexOutputTsConfPidRemappingMode INTEGER,
     apexOutputTsConfOperatingMode    INTEGER,
     apexOutputTsConfOutPatTsId       Integer32,
     apexOutputTsConfPsipEnable       EnableDisableTYPE,
     apexOutputTsConfEncryptionType   INTEGER,
     apexOutputTsConfSimulcryptMode   INTEGER,
     apexOutputTsConfPcrLess          EnableDisableTYPE,
     apexOutputTsConfAutoSDTEnable    EnableDisableTYPE
    }

apexOutputTsConfOutputTsNum OBJECT-TYPE
    SYNTAX Integer32(1..48)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Output Transport Stream Number."
::= { apexOutputTsConfigEntry 1 }

apexOutputTsConfPidRemappingMode OBJECT-TYPE
    SYNTAX INTEGER
        {
         disabled          (1),
         remapWithoutReuse (2),
         remapProgramBased (3),
         remapProgramBased2 (4),
         unrestricted (5)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The PID Remapping mode setting.

         When 'disabled', the output PIDs for all services and ancillary PIDs
         are the same as the input PID values. This scheme can only be used
         when either mapping an entire MPTS to a QAM output or when SPTS are
         mapped and the user has already ensured that all of the PIDs across
         all inputs mapped to the same output stream are unique.

         When 'remapWithoutReuse', the APEX will determine the output PIDs
         from a predetermined range of PIDs for services and ancillary PIDs.
         The APEX will use a scheme to limit the reuse of service PIDs for each
         service mapping. This scheme MUST be used for outputs in Session Control
         mode and in normally in UDP Port Mapping mode (exception noted below).
         When receiving SPTS inputs, in order to ensure there are no PID conflicts,
         this scheme should be selected.

         When 'remapProgramBased', the APEX will determine the output PIDs
         from a predetermined range of PIDs for services and ancillary PIDs.
         The APEX uses a scheme to select the PMT PID based on the program
         number. The PMT PID is calculated as follows:
                (Program Number + 1) * 16.

         The component PIDs are sequential after the PMT PID. This scheme only
         allows for a total of 15 component PIDs per program. Output program
         numbers are also limited (1-256). This scheme is intended to be used
         when in UDP Port Mapping mode at specific sites.

         When 'unrestricted', the APEX will allocate output PIDs as long as they are
         needed using the whole available PIDs range, unlike other pid-remapping modes where
         PID values are internally pre-allocated for different uses (PMT, components, ECM, ...).
         This scheme is only recommended for cases when the user need a special pre-assigned
         EMM pid that can't be configured in the other pid-remapping modes.

         PID Remapping mode changes can only occur when the output is not in use
         (no service, PID, or stream mapping active to the output).
        "
::= { apexOutputTsConfigEntry 2 }

apexOutputTsConfOperatingMode OBJECT-TYPE
    SYNTAX INTEGER
        {
         notInUse       (0),
         sessionControl (1),
         manualRouting  (2),
         udpMapping     (3),
         depi           (4)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This parameter is used to set the operating mode of the output.

         Operating mode changes can only occur when the output is not in use
         (no service, PID, or stream mapping active to the output).
         Session Control
            - User must select either RTSP or RPC to communicate with external
              resource manager. All service mappings on output are controlled
              by the external manager.
            - Only valid when Encryption Type is set to CTE or None
            - If 'apexEncryptionConfAlgorithm' is set to dvb-csa-simulcrypt, then
              it is valid only when Simulcrypt Mode is set to None.
            - PID Remapping mode should be Enabled (Without Reuse)

         Manual Routing
            - User manually maps each service
            - Encryption Type can be any valid setting (none, CTE, or Broadcast)
            - Simulcrypt Mode must be None or External EIS

         UDP Port Mapping
            - Standard UDP Port Mapping for use with VOD servers. Uses specific
              algorithm based on UDP Port to determine output program mappings.
            - Encryption Type must be None or CTE (broadcast not supported)
            - Simulcrypt Mode must be None or External EIS

         Operating mode changes can only occur when the output is not in use
         (no service, PID, or stream mapping active to the output).

         @Commit(param=apexOutputTsConfApplyChange, value=2)
        "
::= { apexOutputTsConfigEntry 3 }

apexOutputTsConfOutPatTsId OBJECT-TYPE
    SYNTAX Integer32(0..65535)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Output Transport Stream ID to use for the output PAT in this Output
         Transport Stream. Changes to the output PAT TS ID can be made at any
         time and will cause the output PAT to automatically be updated to
         reflect the new TS ID setting.
        "
::= { apexOutputTsConfigEntry 4 }

apexOutputTsConfPsipEnable OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This parameter indicates that PSIP is enabled for the Output
         Transport Stream.
        "
::= { apexOutputTsConfigEntry 5 }

apexOutputTsConfEncryptionType OBJECT-TYPE
    SYNTAX INTEGER
        {
         noEncryption             (0),
         cte                      (1),
         broadcastEncryption      (2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This parameter is used to set the encryption type of the output.

         'noEncryption'
            - All services are output in the clear

         'cte'
            - Services on output use Common Tier Encryption. CTE parameters
              determine encryption mode, copy protection, and tiers. All services
              in CTE mode use the exact same configuration settings.
            - Valid for all operating modes
            - Simulcrypt Mode must be set to None if the Encryption Algorithm 
              is set to 'dvb-csa-simulcrypt'.

         'broadcastEncryption'
            - Services on output use Broadcast Encryption. Requires connection to
              RDS (DAC) to get EMMs and Rights Meta Data (tiers, encryption mode, and
              copy protection settings) for each individual service.
            - Only valid when Operating Mode is Manual Routing.
            - Simulcrypt Mode must be set to None if the Encryption Algorithm 
              is set to 'dvb-csa-simulcrypt'.

            @Commit(param=apexOutputTsConfApplyChange, value=2)
        "
::= { apexOutputTsConfigEntry 6 }

apexOutputTsConfSimulcryptMode OBJECT-TYPE
    SYNTAX INTEGER
        {
         none         (0),
         externalEIS  (1),
         internalEIS  (2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This parameter is used to set the Simulcrypt mode of the output. The actual
         behavior is disable/enable (none/externalEIS). It can be set to externalEIS
         if:
            - The Encryption Algorithm is set to 'dvb-csa-simulcrypt' and the Operating
               Mode is set to 'ManualRouting' or 'udpMapping'. 
            - The Encryption Algorithm is set to 'mc-scte-52-simulcrypt' or 
               'mc-csa-simulcrypt' and the Operating Mode is set to 'ManualRouting',
               'udpMapping' or 'SessionControl'.
            
         It only can be none if there are no SCGs provisioned on that output TS.

         'none'
            - Used for normal Mediacypher only encryption (CTE or Broadcast Encryption).

         'externalEIS'
            - When Encryption Algorithm is set to 'dvb-csa-simulcrypt', it is 
              used to indicate an external EIS can control the encryption of all 
              services on the output.
            - When Encryption Algorithm is set to 'mc-scte-52-simulcrypt' or 
              'mc-csa-simulcrypt', it is used to indicate that APEX will act as
              the EIS to control encryption of all services on the output.
            - Only valid when:
               - Encryption Algorithm is set to 'dvb-csa-simulcrypt' and 
                 Operating Mode is set to 'ManualRouting' or 'udpMapping'
               - Encryption Algorithm is set to 'mc-scte-52-simulcrypt' or 
                 'mc-csa-simulcrypt' and the Operating Mode is set to 
                 'ManualRouting', 'udpMapping' or 'SessionControl'.

         'internalEIS'
            - Not supported at this time and is invalid to select.

            @Commit(param=apexOutputTsConfApplyChange, value=2)
        "
::= { apexOutputTsConfigEntry 7 }

apexOutputTsConfPcrLess OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This parameter indicates that PCR-less is enabled for the Output
         Transport Stream.
        "
::= { apexOutputTsConfigEntry 8 }

apexOutputTsConfAutoSDTEnable OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This parameter enables/disables the Auto SDT mapping feature for the Output
         Transport Stream.
        "
::= { apexOutputTsConfigEntry 9 }


-- ------------------------------------------------------------------------------
--
-- apexOutputTsStatus
--
-- apexOutputTsStatusGeneral
--

apexOutputTsStatusInvalidApplyText OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..80))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "When apexOutputTsConfApplyChange is set to
         'applyNotInProgressInvalidData' this entry may contain
         a text description of what was wrong with the data. This
         entry contains the description for the most recent apply
         of a related entry that was invalid.
        "
::= { apexOutputTsStatusGeneral 1 }


-- ------------------------------------------------------------------------------
--
-- apexOutputTsUtilization
--
-- apexOutputTsUtilizationGeneral
--

apexOutputTsUtilizationSamplePeriod OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Sample Period for Output Transport Stream Bandwidth Utilization
         Rate Monitoring.
         This parameter indicates the length of time in milliseconds the
         stream is monitored during a single sample.
         This can be used with apexOutputTsUtilizNumSamples to
         determine the amount of time or percent of time the stream was
         monitored during a fifteen minute sampling interval."
::= { apexOutputTsUtilizationGeneral 1 }


-- ------------------------------------------------------------------------------
--
-- apexOutputTsUtilizationTable
--

apexOutputTsUtilizationTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexOutputTsUtilizationEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This is a table of status parameters containing bandwidth
         utilization for Output Transport Streams.  The sampling
         interval is up to fifteen minutes.  There is a rolling
         average as well as last sample, peak, and minimum information.
         There is overflow information and dropped packet counts.

         This table is indexed by Output Transport Stream Number."
::= { apexOutputTsUtilization 2 }

apexOutputTsUtilizationEntry OBJECT-TYPE
    SYNTAX ApexOutputTsUtilizationEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Output Transport Stream Bandwidth Utilization Table Entry."
    INDEX { apexOutputTsUtilizOutpuTsNum }
::= { apexOutputTsUtilizationTable 1 }

ApexOutputTsUtilizationEntry ::= SEQUENCE
    {
     apexOutputTsUtilizOutpuTsNum         Integer32,
     apexOutputTsUtilizDataFlag           INTEGER,
     apexOutputTsUtilizNumSamples         Unsigned32,
     apexOutputTsUtilizThreshold          INTEGER,
     apexOutputTsUtilizTime               Unsigned32,
     apexOutputTsUtilizCurPercent         Integer32,
     apexOutputTsUtilizAvgPercent         Integer32,
     apexOutputTsUtilizMinPercent         Integer32,
     apexOutputTsUtilizPeakPercent        Integer32,
     apexOutputTsUtilizCurRate            Unsigned32,
     apexOutputTsUtilizAvgRate            Unsigned32,
     apexOutputTsUtilizMinRate            Unsigned32,
     apexOutputTsUtilizPeakRate           Unsigned32,
     apexOutputTsUtilizOverflow           INTEGER,
     apexOutputTsUtilizCurDropPackets     Unsigned32,
     apexOutputTsUtilizPeakDropPackets    Unsigned32,
     apexOutputTsUtilizRollingDropPackets Unsigned32,
     apexOutputTsUtilizTotalDropPackets   Unsigned32,
     apexOutputTsUtilizThresholdAlarm     INTEGER,
     apexOutputTsUtilizOverflowAlarm      INTEGER
    }

apexOutputTsUtilizOutpuTsNum OBJECT-TYPE
    SYNTAX Integer32(1..48)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Output Transport Stream Number."
::= { apexOutputTsUtilizationEntry 1 }

apexOutputTsUtilizDataFlag OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable      (0),
         samplingComplete   (1),
         samplingIncomplete (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Flag to indicate whether the Output Transport Stream was monitored
         a full fifteen minute sampling interval and a complete set of samples
         was obtained.

         'samplingComplete'   - indicates sampling complete with good samples.
         'samplingIncomplete' - indicates incomplete sampling due to APEX
                                startup or OTS rate changed during the period."
::= { apexOutputTsUtilizationEntry 2 }

apexOutputTsUtilizNumSamples OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of samples included in the data.
         This can be used with apexOutputTsUtilizationSamplePeriod
         to determine the amount of time or percent of time the
         stream was monitored during the sampling interval."
::= { apexOutputTsUtilizationEntry 3 }

apexOutputTsUtilizThreshold OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable         (0),
         noError               (1),
         alarmThresholdReached (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether there is a utilization error has occurred.
         The error occurs when Output Utilization Alarm Threshold has
         been reached for Output Utilization Set Alarm Delay seconds
         and will clear after the output is below the Output Utilization
         Alarm Threshold for Output Utilization Clear Alarm Delay.  This
         field is also cleared when the QAM output is disabled."
::= { apexOutputTsUtilizationEntry 4 }

apexOutputTsUtilizTime OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Time in GPS seconds (apexSystemTime) that this table row was saved.
         When GPS time is not available to the apex (apexSystemTime=0) a clock
         maintained inside the APEX will be used.  This clock starts at GPS time
         zero when the apex is booted.  The APEX will use real GPS time if and
         when GPS time becomes available to the APEX."
::= { apexOutputTsUtilizationEntry 5 }

apexOutputTsUtilizCurPercent OBJECT-TYPE
    SYNTAX Integer32 (0..100)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Percent utilization of most recently taken sample."
::= { apexOutputTsUtilizationEntry 6 }

apexOutputTsUtilizAvgPercent OBJECT-TYPE
    SYNTAX Integer32 (0..100)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Average percent utilization over the rolling sampling interval."
::= { apexOutputTsUtilizationEntry 7 }

apexOutputTsUtilizMinPercent OBJECT-TYPE
    SYNTAX Integer32 (0..100)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Minimum percent utilization for a sample during the rolling
         sampling interval."
::= { apexOutputTsUtilizationEntry 8 }

apexOutputTsUtilizPeakPercent OBJECT-TYPE
    SYNTAX Integer32 (0..100)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Peak percent utilization for a sample during the rolling
         sampling interval."
::= { apexOutputTsUtilizationEntry 9 }

apexOutputTsUtilizCurRate OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Utilization of most recently taken sample
         in bits per second (bps)."
::= { apexOutputTsUtilizationEntry 10 }

apexOutputTsUtilizAvgRate OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Average utilization for the rolling sampling interval
         in bits per second (bps)."
::= { apexOutputTsUtilizationEntry 11 }

apexOutputTsUtilizMinRate OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Minimum utilization for a sample during this
         sampling interval in bits per second (bps)."
::= { apexOutputTsUtilizationEntry 12 }

apexOutputTsUtilizPeakRate OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Peak utilization for a sample during the rolling
         sampling interval in bits per second (bps)."
::= { apexOutputTsUtilizationEntry 13 }

apexOutputTsUtilizOverflow OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         noError  (1),
         overflow (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether an overflow error has occurred.
         This field will clear if the output has no overflows.
         This field is also cleared when the QAM output is
         disabled."
::= { apexOutputTsUtilizationEntry 14 }

apexOutputTsUtilizCurDropPackets OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "MPEG packets dropped during the most recently
         taken sample."
::= { apexOutputTsUtilizationEntry 15 }

apexOutputTsUtilizPeakDropPackets OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Peak MPEG packets dropped for a sample during the
         rolling sampling interval."
::= { apexOutputTsUtilizationEntry 16 }

apexOutputTsUtilizRollingDropPackets OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Total MPEG packets dropped during the rolling sampling interval."
::= { apexOutputTsUtilizationEntry 17 }

apexOutputTsUtilizTotalDropPackets OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Total MPEG packets dropped on the QAM Output.  Can be
         reset using apexOutputTsUtilMonResetTotDropPacket."
::= { apexOutputTsUtilizationEntry 18 }

apexOutputTsUtilizThresholdAlarm OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Current fault condition of apexOutputTsUtilizThreshold.  This is
         the apexAlarmOutputUtilizationFault level for this output."
::= { apexOutputTsUtilizationEntry 19 }

apexOutputTsUtilizOverflowAlarm OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Current fault condition of apexOutputTsUtilizOverflow.  This is
         the apexAlarmOutputOverflow level for this output."
::= { apexOutputTsUtilizationEntry 20 }


-- ------------------------------------------------------------------------------
--
-- apexOutputTsStatusTable
--

apexOutputTsStatusTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexOutputTsStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of Output Transport Status.
         Indexed by Output Transport Stream number."
::= { apexOutputTsStatus 5 }

apexOutputTsStatusEntry OBJECT-TYPE
    SYNTAX ApexOutputTsStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A row in the Output Transport Stream Status table."
    INDEX { apexOutputTsStatusOutputTsNum }
::= { apexOutputTsStatusTable 1 }

ApexOutputTsStatusEntry ::= SEQUENCE
    {
     apexOutputTsStatusOutputTsNum          Integer32,
     apexOutputTsStatusProgramsPerTs        Integer32,
     apexOutputTsStatusServicesMapped       Integer32,
     apexOutputTsStatusAncillaryPidsMapped  Integer32,
     apexOutputTsStatusInputStreamsMapped   Integer32,
     apexOutputTsStatusFault                INTEGER,
     apexOutputTsStatusServicesInError      Integer32,
     apexOutputTsStatusDepiSessionsMapped   Integer32,
     apexOutputTsStatusMessageGenerationNum Integer32,
     apexOutputTsStatusScgsProvisioned      Integer32,
     apexOutputTsStatusServicesMuxed        Integer32
    }

apexOutputTsStatusOutputTsNum OBJECT-TYPE
    SYNTAX Integer32 (1..48)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Output Transport Stream Number."
::= { apexOutputTsStatusEntry 1 }

apexOutputTsStatusProgramsPerTs OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of Output Programs supported on this Output Transport Stream.
        "
::= { apexOutputTsStatusEntry 2 }

apexOutputTsStatusServicesMapped OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of services currently mapped to the output."
::= { apexOutputTsStatusEntry 3 }

apexOutputTsStatusAncillaryPidsMapped OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of ancillary PIDs currently mapped to the output."
::= { apexOutputTsStatusEntry 4 }

apexOutputTsStatusInputStreamsMapped OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of input streams currently mapped to the output."
::= { apexOutputTsStatusEntry 5 }

apexOutputTsStatusFault OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Highest current fault condition associated with this Output
         Transport Stream.  The following Alarms are included:
            - apexAlarmOutputOverflow
            - apexAlarmOutputUtilizationFault
            - apexAlarmQamModuleFault
            - apexAlarmQamRfPortFault
            - apexAlarmQamChannelFault
        "
::= { apexOutputTsStatusEntry 6 }

apexOutputTsStatusServicesInError OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of services in error mapped to the output stream."
::= { apexOutputTsStatusEntry 7 }

apexOutputTsStatusDepiSessionsMapped OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of DEPI sessions currently mapped to the output."
::= { apexOutputTsStatusEntry 8 }

apexOutputTsStatusMessageGenerationNum OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of messages generated (DVB tables) currently in the output."
::= { apexOutputTsStatusEntry 9 }

apexOutputTsStatusScgsProvisioned OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of SCGs provisioned currently in the output."
::= { apexOutputTsStatusEntry 10 }

apexOutputTsStatusServicesMuxed OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of services successfully multiplexed."
::= { apexOutputTsStatusEntry 11 }


-- ------------------------------------------------------------------------------
--
-- apexPsi
--
-- apexPsiConfig
--
-- apexPsiConfigGeneral
--

apexPsiDetectionEnabled OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The loss of input PSI detection enabled or disabled setting. When enabled,
         the APEX will check for missing input PSI (PATs and PMTs) based on the PSI
         detection timeout value. When an input PSI message is determined to be
         missing, the APEX will assume the input service or services are no longer
         being streamed and unmap the service(s). This checking only occurs after
         an initial PSI message has been extracted.

         Once written, the change to this parameter will take immediate effect.
         However, in order for the change to persist through subsequent reboots
         or power cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexPsiConfigGeneral 1 }

apexPsiDetectionTimeout OBJECT-TYPE
    SYNTAX Integer32(1..21600)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The loss of input PSI detection timeout value. When PSI detection is enabled,
         this is the number of seconds the APEX will use to determine if an input PSI
         message is missing. Each PSI message previously extracted will be checked to
         determine that it is still being received based on this setting.

         Once written, the change to this parameter will take immediate effect.
         However, in order for the change to persist through subsequent reboots
         or power cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexPsiConfigGeneral 2 }

apexPsiRangeStart OBJECT-TYPE
    SYNTAX Integer32(0..15)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Minimum PSI version number. Used to limit the APEX to use a specific range
         of PSI numbers. Set this to 0 to allow the APEX to use the full range of
         PSI version numbers (requires apexPsiRangeStop to be set to 31).

         Once written, the change to this parameter will take immediate effect.
         However, in order for the change to persist through subsequent reboots
         or power cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexPsiConfigGeneral 3 }

apexPsiRangeStop OBJECT-TYPE
    SYNTAX Integer32(1..31)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Maximum PSI version number. Used to limit the APEX to use a specific range
         of PSI numbers. Set this to 31 to allow the APEX to use the full range of
         PSI version numbers (requires apexPsiRangeStart to be set to 0).

         Once written, the change to this parameter will take immediate effect.
         However, in order for the change to persist through subsequent reboots
         or power cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexPsiConfigGeneral 4 }

apexPatVersionIncrement OBJECT-TYPE
    SYNTAX Integer32(1..15)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Increment of PAT version upon reboot. Used to force the APEX to use a different
         PAT version number upon rebooting.

         Once written, the change to this parameter will take immediate effect.
         However, in order for the change to persist through subsequent reboots
         or power cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexPsiConfigGeneral 5 }

apexPmtVersionIncrement OBJECT-TYPE
    SYNTAX Integer32(1..15)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Increment of PMT version upon reboot. Used to force the APEX to use a different
         PMT version number upon rebooting.

         Once written, the change to this parameter will take immediate effect.
         However, in order for the change to persist through subsequent reboots
         or power cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexPsiConfigGeneral 6 }

apexEcmEmmFirstPid OBJECT-TYPE
    SYNTAX Integer32(2..7591)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "First ECM-EMM PID when PID Remapping is disabled on an output stream.
         This PID along with the apexEcmEmmNumberPids defines a range of PIDs that
         the APEX will use for all ECMs and EMMs. These configuration settings allow
         a user to select a range that other service and ancillary PIDs will not
         use. This allows the APEX to use PIDs for ECMs and EMMs without having PID
         collisions. PID collisions will cause the APEX to select another ECM or EMM
         PID causing momentary glitches of the output video and audio.

         Once written, the change to this parameter will take immediate effect.
         However, in order for the change to persist through subsequent reboots
         or power cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
         "
::= { apexPsiConfigGeneral 7 }

apexEcmEmmNumberPids OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Number of ECM-EMM PIDs to use when PID Remapping is disabled on an output stream.
         Refer to the apexEcmEmmFirstPid parameter for a complete description.

         Once written, the change to this parameter will take immediate effect.
         However, in order for the change to persist through subsequent reboots
         or power cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexPsiConfigGeneral 8 }

apexProgramBasedPmtOffset OBJECT-TYPE
    SYNTAX Integer32(1 | 2)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Program Based PID Remapping PMT PID offset. Determines the first
         PMT PID to use when Program Based algorithm selected. PMT PID
         is calculated as:
            (Program Number + Offset) * 16
         
         Program Numbers can range from 1 - 255, allowing for PMTs to start
         at 0x0020 or 0x0030 up to 0x1000 and 0x1010. 

         Changes to offset will NOT require a reboot, but if there are 
         any service mappings already in use on an output in 
         Program Based mode, then the change will NOT take effect and the 
         user will have to remove all mappings on outputs in Program 
         Based mode.
         
         Once written, the change to this parameter will take immediate effect.
         However, in order for the change to persist through subsequent reboots
         or power cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexPsiConfigGeneral 9 }

apexPsiCcErrorDetectionTimeout OBJECT-TYPE
    SYNTAX Integer32(1..60)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Time in seconds to wait for PSI extraction after a CC error is detected.
	 This is applicable if the object apexPsiCcErrorDetectionEnabled is set to
	 enabled only.
	 
         Default value is 2 seconds.

    	 @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexPsiConfigGeneral 10 }

apexPsiCcErrorDetectionEnabled OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Enable/disable field to start/stop PSI extraction when a Continuity Counter
	 error is detected.
         
         The PSI extraction is stopped for the time duration configured in the object 
	 apexPsiCcErrorDetectionTimeout.
	 
         Default value is enabled.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexPsiConfigGeneral 11 }

-- ------------------------------------------------------------------------------
--
-- apexPsiStatus
--
-- apexPsiStatusGeneral
--

-- none


-- ------------------------------------------------------------------------------
--
-- apexPsiStatusTable
--

apexPsiStatusTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexPsiStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The following table contains a list of messages that are either being extracted
         from the input side or being inserted to the output side of the apex.  On the
         input side all extracted messages that are being used by the APEX are displayed.
         On the output side, only PATs, PMTs, and CATs are displayed.  These messages
         were either given to the apex when it is in external mode or created by the apex
         when it is in internal mode."
::= { apexPsiStatus 2 }

apexPsiStatusEntry OBJECT-TYPE
    SYNTAX ApexPsiStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "PSI Table Entry."
    INDEX { apexPsiStatusTableType, apexPsiStatusIndex, apexPsiStatusPid, apexPsiStatusMessageType,
           apexPsiStatusProgramNumber, apexPsiStatusSegment, apexPsiStatusPart }
::= { apexPsiStatusTable 1 }

ApexPsiStatusEntry ::= SEQUENCE
    {
     apexPsiStatusTableType     INTEGER,
     apexPsiStatusIndex         Integer32,
     apexPsiStatusPid           Integer32,
     apexPsiStatusMessageType   Integer32,
     apexPsiStatusProgramNumber Integer32,
     apexPsiStatusSegment       Integer32,
     apexPsiStatusPart          Integer32,
     apexPsiStatusBody          DisplayString,
     apexPsiStatusGpsTime       Integer32
    }

apexPsiStatusTableType OBJECT-TYPE
    SYNTAX INTEGER
        {
         inputPsiTable  (1),
         outputPsiTable (2)
        }
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Indicates whether this message is extracted from an input or
         being inserted on an output."
::= { apexPsiStatusEntry 1 }

apexPsiStatusIndex OBJECT-TYPE
    SYNTAX Integer32(1..784)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Indicates the input index or output number for which this message applies.
         For input, this is the index into the apexInputTsStatTable (1..784).
         For output, this is the Output Transport Stream number (1..48). "
::= { apexPsiStatusEntry 2 }

apexPsiStatusPid OBJECT-TYPE
    SYNTAX Integer32(0..8191)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Indicates the PID that this message is contained in."
::= { apexPsiStatusEntry 3 }

apexPsiStatusMessageType OBJECT-TYPE
    SYNTAX Integer32(0..255)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Indicates the MPEG message type of this message."
::= { apexPsiStatusEntry 4 }

apexPsiStatusProgramNumber OBJECT-TYPE
    SYNTAX Integer32(0..65535)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Indicates the Program Number which this message is part of.  When a
         message is not specifically related to a program, this value is 0."
::= { apexPsiStatusEntry 5 }

apexPsiStatusSegment OBJECT-TYPE
    SYNTAX Integer32(0..256)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Indicates the segment number of this message.  Useful for PAT messages.
         Otherwise this is 0."
::= { apexPsiStatusEntry 6 }

apexPsiStatusPart OBJECT-TYPE
    SYNTAX Integer32(1..16)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Since a message can be 1024 bytes long the message may divided into parts.
         Each part of the message is indexed using this index."
::= { apexPsiStatusEntry 7 }

apexPsiStatusBody OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Raw ASCII hex of the PSI message."
::= { apexPsiStatusEntry 8 }

apexPsiStatusGpsTime OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The GPS time when the PSI was added to the table."
::= { apexPsiStatusEntry 9 }


-- ------------------------------------------------------------------------------
--
-- apexOutputProgram
--
-- apexOutputProgramConfig
--
-- apexOutputProgramConfigGeneral
--

-- none


-- ------------------------------------------------------------------------------
--
-- apexOutputProgramStatus
--
-- apexOutputProgramStatusGeneral
--

-- none


-- ------------------------------------------------------------------------------
--
-- apexOutputProgramTable
--

apexOutputProgramTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexOutputProgramEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This table shows the input program to output program
         mapping status."
::= { apexOutputProgramStatus 2 }

apexOutputProgramEntry OBJECT-TYPE
    SYNTAX ApexOutputProgramEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Output Program Table Entry."
    INDEX { apexOutputProgramIndex }
::= { apexOutputProgramTable 1 }

ApexOutputProgramEntry ::= SEQUENCE
    {
     apexOutputProgramIndex             Integer32,
     apexOutputProgramInputTsIndex      Integer32,
     apexOutputProgramInputProgNum      Integer32,
     apexOutputProgramOutputProgNum     Integer32,
     apexOutputProgramRoutingStatus     DisplayString,
     apexOutputProgramInputPreEncrypted INTEGER,
     apexOutputProgramOutputTsNum       Integer32,
     apexOutputProgramError             INTEGER,
     apexOutputProgramEncryptionMode    INTEGER,
     apexOutputProgramEncryptionStatus  DisplayString,
     apexOutputProgramEcmServiceId      Integer32,
     apexOutputProgramCciLevel          INTEGER,
     apexOutputProgramApsLevel          INTEGER,
     apexOutputProgramCitSetting        INTEGER,
     apexOutputProgramNumberTiers       Integer32,
     apexOutputProgramTierData          DisplayString,
     apexOutputProgramSourceId          Integer32,
     apexOutputProgramProviderId        Integer32,
     apexOutputProgramProgramType       INTEGER,
     apexOutputProgramDtaEncryptionMode INTEGER,
     apexOutputProgramMcSimAccessCriteria         Integer32,
     apexOutputProgramMcSimAccessCriteriaStatus   INTEGER,
     apexOutputProgramCurrentCSN         Integer32,
     apexOutputProgramMcSimAccessCriteriaString DisplayString
    }

apexOutputProgramIndex OBJECT-TYPE
    SYNTAX Integer32(1..768)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Output Program Table Index. "
::= { apexOutputProgramEntry 1 }

apexOutputProgramInputTsIndex OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The index into the apexInputTsStatTable."
::= { apexOutputProgramEntry 2 }

apexOutputProgramInputProgNum OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Input MPEG Program Number."
::= { apexOutputProgramEntry 3 }

apexOutputProgramOutputProgNum OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Output MPEG Program Number."
::= { apexOutputProgramEntry 4 }

apexOutputProgramRoutingStatus OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..64))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Current Program Routing Status."
::= { apexOutputProgramEntry 5 }

apexOutputProgramInputPreEncrypted OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         clear         (1),
         preEncrypted  (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the program was pre-encrypted.
         Pre-encryption status is determined by the presence or
         absence of a CA ECM descriptor within the input PMT."
::= { apexOutputProgramEntry 6 }

apexOutputProgramOutputTsNum OBJECT-TYPE
    SYNTAX Integer32(0..48)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Output Transport Stream Number."
::= { apexOutputProgramEntry 7 }

apexOutputProgramError OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         ok            (1),
         error         (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates if the program is in error."
::= { apexOutputProgramEntry 8 }

apexOutputProgramEncryptionMode OBJECT-TYPE
    SYNTAX INTEGER
        {
         none               (0),
         full               (1),
         fwk                (2),
         fpk                (3),
         clear              (4),
         unencrypted        (5),
         preEncrypted       (6),
         unencryptedWithCci (7)
         }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Currently configured encryption mode for the program.
         none - indicates the program is not being encrypted for
           CTE or Broadcast encryption.
         unencrypted - Applies to Broadcast services only. Unencrypted
           services are treated the same as clear services (no encryption).
         preEncrypted - Applies to Broadcast services only. Input
           program pre-encryption checking is applied. Output program is
           not encrypted by the APEX, regardless if input encrypted or not.
         unencryptedWithCci - True unencrypted mode where packets are not
           scrambled, but ECMs are inserted and ECM CA reference is added
           to output PMT (PRK contains Copy Protection information)."
::= { apexOutputProgramEntry 9 }

apexOutputProgramEncryptionStatus OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..64))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Current Program Encryption Status."
::= { apexOutputProgramEntry 10 }

apexOutputProgramEcmServiceId OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The ECM service ID used when this program is encrypted. This
         is the service ID used in all ECM messages for this program."
::= { apexOutputProgramEntry 11 }

apexOutputProgramCciLevel OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         notDefined    (1),
         copyFreely    (2),
         copyOnce      (3),
         copyNever     (4),
         noMoreCopies  (5)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Copy protection CCI Level. This is only applicable when the
         program is being encrypted."
::= { apexOutputProgramEntry 12 }

apexOutputProgramApsLevel OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable   (0),
         notDefined      (1),
         off             (2),
         splitBurstOff   (3),
         splitBurst2Line (4),
         splitBurst4Line (5)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Copy protection Analog Protection Services Level. This is only
         applicable when the program is being encrypted."
::= { apexOutputProgramEntry 13 }

apexOutputProgramCitSetting OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         disabled      (1),
         enabled       (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Copy protection Constraint Image Trigger setting. This is only
         applicable when the program is being encrypted."
::= { apexOutputProgramEntry 14 }

apexOutputProgramNumberTiers OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of program tiers. This is only applicable when the
         program is being encrypted."
::= { apexOutputProgramEntry 15 }

apexOutputProgramTierData OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Current Program Tier Data. Tier information is in
         hexadecimal format. Up to 7 tiers of information are
         provided for each program. Tier information for each
         program consists of 8 bytes of information.
         First 4 bytes are the program tier value in hexadecimal.
         Next 4 bytes are the tier type in hexadecimal format.
         This is only applicable when the program is being encrypted."
::= { apexOutputProgramEntry 16 }

apexOutputProgramSourceId OBJECT-TYPE
    SYNTAX Integer32(0..65535)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Broadcast Encryption Source ID.

         Only applies to programs when the input type is Gbe and the
         output encryption mode is Broadcast Encryption.
         (apexOutputTsConfEncryptionType set to 'broadcastEncryption')
        "
::= { apexOutputProgramEntry 17 }

apexOutputProgramProviderId OBJECT-TYPE
    SYNTAX Integer32(0..65535)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Broadcast Encryption Provider ID.

         Only applies to programs when the input type is Gbe and the
         output encryption mode is Broadcast Encryption.
         (apexOutputTsConfEncryptionType set to 'broadcastEncryption')
        "
::= { apexOutputProgramEntry 18 }

apexOutputProgramProgramType OBJECT-TYPE
    SYNTAX INTEGER
        {
         programsDerived            (1),
         programInfoProvided        (2),
         programEcmProvided         (3),
         programInfoAndEcmProvided  (4)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates how programs are to be built by the encryptor.

         1 - programsDerived (default) - programs are derived where the encryptor
             builds the programs internally for the specified service.  
             The program related ECM messages and program name/info messages are 
             derived from the service RMD data and internal schedules.  
             This program type is typically used for subscription services.
         2 - programInfoProvided - the encryptor should build the programs based 
             on the program information provided by the controller via the 
             <programInfo> element of the ServiceProgramReply payload.  
             The service RMD data is still used to generate the program related 
             ECM messages.
         3 - programEcmProvided -  the encryptor should use pre-built ECM program
             messages as provided by the controller via the <programEcm> element 
             of the ServiceProgramReply payload.  For this program type, the 
             controller provides the schedules; however, the encryptor must default 
             much of the program info message since not detailed program information 
             is provided.  DTA content protection encryption makes use of the 
             'programEcmProvided' program type since the ECM messages cannot be 
             derived by the encryptor. 
         4 - programInfoAndEcmProvided - the encryptor should build the programs 
             based on both the program information and pre-built ECM messages 
             provided by the controller via the <programInfo> and <programEcm> 
             elements of the ServiceProgramReply payload.
        "
::= { apexOutputProgramEntry 19 }

apexOutputProgramDtaEncryptionMode  OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         dtaWithCcm    (1),
         dtaWithoutCcm (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This parameter identifies whether a service in Full Encryption is
         in Modified Privacy Mode (DTA) and whether the DTA service has CCM
         messages. 
         This parameter is applicable only when apexOutputProgramEncryptionMode
         is 'full'.  In other encryption modes this value is ignored.
         notApplicable - Non DTA Service and/or No DTA CA descriptor found
         dtaWithCcm    - DTA, Full Encryption, Modified Privacy Mode, CCM present
         dtaWithoutCcm - DTA, Full Encryption, Modified Privacy Mode, CCM absent.
        "
::= { apexOutputProgramEntry 20 }

apexOutputProgramMcSimAccessCriteria  OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "MC SimulCrypt Access Criteria.
         This is only applicable when 'apexEncryptionConfAlgorithm' is set to
         either mc-scte-52-simulcrypt or mc-csa-simulcrypt.
        "
::= { apexOutputProgramEntry 21 }


apexOutputProgramMcSimAccessCriteriaStatus  OBJECT-TYPE
    SYNTAX INTEGER
        {
         notRequired   (0),
         retrievedAC   (1),
         waitingForAC  (2),
         invalidAC     (3)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "SimulCrypt Access Criteria Status.
         This is only applicable when 'apexEncryptionConfAlgorithm' is set to
         either mc-scte-52-simulcrypt or mc-csa-simulcrypt.
        "
::= { apexOutputProgramEntry 22 }

apexOutputProgramCurrentCSN  OBJECT-TYPE
    SYNTAX Integer32

    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Current Category Sequence Number.
         This is Category Sequence Number which is used for encrypt the current service.
		 The valid range is 0 to 255 and -1 is for NOT Applicable.
		 This is not applicable for broadcast unencrypted, pre-encrypted , CTE clear services 
		 and for the services which MC encryption type is NONE.
        "
::= { apexOutputProgramEntry 23 }

apexOutputProgramMcSimAccessCriteriaString OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Access Criteria used in the ECMG CW Provision Request 
         when MC SimulCrypt is enabled.
         
         An empty string means the Access Criteria (AC) 
         is not being used.
        "
::= { apexOutputProgramEntry 24 }

-- ------------------------------------------------------------------------------
--
-- apexAcp
--
-- apexAcpConfig
--
-- apexAcpConfigGeneral
--

-- none


-- ------------------------------------------------------------------------------
--
-- apexAcpStatus
--
-- apexAcpStatusGeneral
--

-- none


-- ------------------------------------------------------------------------------
--
-- apexAcpStatusTable
--

apexAcpStatusTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexAcpStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This table shows the status of the Control Word Generating ACPs."
::= { apexAcpStatus 2 }

apexAcpStatusEntry OBJECT-TYPE
    SYNTAX ApexAcpStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Output Program Table Entry."
    INDEX { apexAcpStatusIndex }
::= { apexAcpStatusTable 1 }

ApexAcpStatusEntry ::= SEQUENCE
    {
     apexAcpStatusIndex       Integer32,
     apexAcpUnitAddress       DisplayString,
     apexAcpHealthByte        Integer32,
     apexAcpEvenCsn           Integer32,
     apexAcpOddCsn            Integer32,
     apexAcpUnitAttribute     Integer32
    }

apexAcpStatusIndex OBJECT-TYPE
    SYNTAX Integer32(1..6)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Acp Status Index. Index for one of six control word generating ACPs."
::= { apexAcpStatusEntry 1 }

apexAcpUnitAddress OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..11))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The unit address of the ACP in ASCII Hex.  The Unit address is a 5 byte value."
::= { apexAcpStatusEntry 2 }

apexAcpHealthByte OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The health byte of the ACP.  Indicates whether the ACP has intact fuses.  The
         health should read 255 (hex 0xFF) for all APEX ACPs.  Otherwise, the ACP will
         not properly function."
::= { apexAcpStatusEntry 3 }

apexAcpEvenCsn OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Even Category Sequence Number of the ACP.
         Should match the even CSN assigned by DAC,
         if not may indicate a communications problem."
::= { apexAcpStatusEntry 4 }

apexAcpOddCsn OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Odd Category Sequence Number of the ACP.
         Should match the odd CSN assigned by DAC,
         if not may indicate a communications problem."
::= { apexAcpStatusEntry 5 }

apexAcpUnitAttribute OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Unit attribute byte is made available to verify that the MC2.1 was
         properly unit created during factory production."
::= { apexAcpStatusEntry 6 }


-- ------------------------------------------------------------------------------
--
-- apexUdpPortMapping
--
-- apexUdpMapConfig
--
-- apexUdpMapConfigGeneral
--

apexUdpMapPreEncryptCheck OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "UDP Mapping pre-encryption checking.

         Indicates if the APEX is to check if input services are pre-encrypted or
         clear. Pre-encrypted is determined by examining the input PMT for a CA ECM
         descriptor (any CA ECM descriptor). If pre-encrypted, setting this flag will
         cause the APEX to pass through ECM PID for the service. For input services
         that have a GI CA ECM descriptor, the APEX will also pass through the PIT
         message (extract and re-insert the PIT). The output PMT for pre-encrypted
         services will contain a CA ECM descriptor (referencing the ECM
         PID). When PID Remapping is enabled, pre-encryption for a service is
         only valid when the input ECM PID is on a different PID than the
         associated PMT PID. If this flag is set to pre-encryption and the
         input service is not pre-encrypted, then the setting of this flag has
         no affect on the output service.

         Once written, the change to this parameter will take immediate
         effect and all mappings will be removed.  Mappings will not be
         re-added until apexUdpMapApplyChange is set to 'apply' for
         all transport streams.  In order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(bcmr.ini, type='ini')
        "
::= { apexUdpMapConfigGeneral 1 }

apexUdpMapModeBits OBJECT-TYPE
    SYNTAX Integer32 (0..3)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Value that will be placed in the two MSBs of each the calculated UDP
         port number (bits 14 and 15).

         Once written, the change to this parameter will take immediate
         effect and all mappings will be removed.  Mappings will not be
         re-added until apexUdpMapApplyChange is set to 'apply' for
         all transport streams.  In order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(bcmr.ini, type='ini')
        "
::= { apexUdpMapConfigGeneral 2 }

apexUdpMapTsOffset OBJECT-TYPE
    SYNTAX Integer32 (0..1)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Used as part of the Standardized UDP Port calculation. Transport Stream
         index can be relative 0 or relative 1.

         Once written, the change to this parameter will take immediate
         effect and all mappings will be removed.  Mappings will not be
         re-added until apexUdpMapApplyChange is set to 'apply' for
         all transport streams.  In order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(bcmr.ini, type='ini')
        "
::= { apexUdpMapConfigGeneral 3 }

apexUdpMapFollowDtcp OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Determines how the copy protection settings (CCI, APS, and CIT) within 
         the PRK will be set.  All outputs in UDP Port Mapping mode will use  
         this setting for following input DTCP. 
           Disabled - Use CTE configured settings if output in CTE encryption mode
           Enabled - Follow input DTCP
         
         Once written, the change to this parameter will take immediate effect.
         However, in order for the change to persist through subsequent reboots
         or power cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(bcmr.ini, type='ini')
        "
::= { apexUdpMapConfigGeneral 4 }


-- ------------------------------------------------------------------------------
--
-- apexUdpMapApplyTable
--

apexUdpMapApplyTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexUdpMapApplyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of Apply Change for the data for UDP Map Table.

         A row in this table corresponds to the same row index in the
         UDP Map table.
        "
::= { apexUdpMapConfig 2 }

apexUdpMapApplyEntry OBJECT-TYPE
    SYNTAX ApexUdpMapApplyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "UDP Map Apply Table Entry."
    INDEX { apexUdpMapApplyOutputTsNum }
::= { apexUdpMapApplyTable 1 }

ApexUdpMapApplyEntry ::= SEQUENCE
    {
     apexUdpMapApplyOutputTsNum  Integer32,
     apexUdpMapApplyChange       ApplyDataToDeviceTYPE
    }

apexUdpMapApplyOutputTsNum OBJECT-TYPE
    SYNTAX Integer32(1..48)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The index of the Udp Map Apply Table."
::= { apexUdpMapApplyEntry 1 }

apexUdpMapApplyChange OBJECT-TYPE
    SYNTAX ApplyDataToDeviceTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Apply for the row of data in the Udp Map Table.

         A row in this table corresponds to the same row index in the
         Udp Map table.

         This parameter MUST be set to 'apply' in order for any of the data
         in the Udp Map Table row to take effect in the APEX.  This
         parameter MUST be set LAST after all other data in the Udp Map
         Table row has been configured.

         @Config(config=no, reboot=no)
        "
::= { apexUdpMapApplyEntry 2 }


-- ------------------------------------------------------------------------------
--
-- apexUdpMapTable
--

apexUdpMapTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexUdpMapEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of data for Udp Mapping. There are
         48 rows in this table.  Each row corresponds to one
         QAM channel.

         Once written, the change to this table will only take immediate
         effect after apexUdpMapApplyChange is set to 'apply'.
         However, in order for the change to persist through subsequent
         reboots or power cycles, the change must be saved via apexSaveConfig.

         @Config(config=yes, reboot=no)
         @Commit(param=apexUdpMapApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(bcmr.ini, type='ini')
        "
::= { apexUdpMapConfig 3 }

apexUdpMapEntry OBJECT-TYPE
    SYNTAX ApexUdpMapEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Udp Mapping Table Entry."
    INDEX { apexUdpMapOutputTsNum }
::= { apexUdpMapTable 1 }

ApexUdpMapEntry ::= SEQUENCE
    {
     apexUdpMapOutputTsNum      Integer32,
     apexUdpMapInputInterface   Integer32,
     apexUdpMapStartProgNum     Integer32,
     apexUdpMapNumberProgs      Integer32
    }

apexUdpMapOutputTsNum OBJECT-TYPE
    SYNTAX Integer32(1..48)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Index of Udp Mapping Table.
        "
::= { apexUdpMapEntry 1 }

apexUdpMapInputInterface OBJECT-TYPE
    SYNTAX Integer32(1..4)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Input GBE port.

         Range:
            '1 - 4' = GBE port number
        "
::= { apexUdpMapEntry 2 }

apexUdpMapStartProgNum OBJECT-TYPE
    SYNTAX Integer32(1..255)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Indicates the first program number in a sequential range of programs
         that are to be routed to the same output transport stream.
        "
::= { apexUdpMapEntry 3 }

apexUdpMapNumberProgs OBJECT-TYPE
    SYNTAX Integer32(0..200)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Indicates the number of programs that are to be mapped to the output
         transport stream.  One UDP port is opened for each program mapped to
         the output transport stream.
        "
::= { apexUdpMapEntry 4 }


-- ------------------------------------------------------------------------------
--
-- apexUdpMapMulticastTable
--

apexUdpMapMulticastTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexUdpMapMulticastEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of data for UDP Map Multicast. Each entry in
         this table identifies a Gigabit Ethernet input stream that is
         used for multicast UDP Port Mapping.

         Once written, the change to this table will only take immediate
         effect after apexUdpMapMulticastApplyChange is set to 'apply'.
         However, in order for the change to persist through subsequent
         reboots or power cycles, the change must be saved via apexSaveConfig.

         @Config(config=yes, reboot=no)
         @Commit(param=apexUdpMapMulticastApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(bcmr.ini, type='ini')
        "
::= { apexUdpMapConfig 4 }

apexUdpMapMulticastEntry OBJECT-TYPE
    SYNTAX ApexUdpMapMulticastEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "UDP Map Multicast Table Entry."
    INDEX { apexUdpMapMulticastIndex }
::= { apexUdpMapMulticastTable 1 }

ApexUdpMapMulticastEntry ::= SEQUENCE
    {
     apexUdpMapMulticastIndex       Integer32,
     apexUdpMapMulticastEnable      EnableDisableTYPE,
     apexUdpMapMulticastInterface   Integer32,
     apexUdpMapMulticastUdp         Integer32,
     apexUdpMapMulticastMcastIp     IpAddress,
     apexUdpMapMulticastSourceIp    IpAddress
    }

apexUdpMapMulticastIndex OBJECT-TYPE
    SYNTAX Integer32(1..256)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Index of UDP Map Multicast Stream Table."
::= { apexUdpMapMulticastEntry 1 }

apexUdpMapMulticastEnable OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Indicates whether this UDP Map Multicast entry is enabled or disabled.
        "
::= { apexUdpMapMulticastEntry 2 }

apexUdpMapMulticastInterface OBJECT-TYPE
    SYNTAX Integer32(0..4)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Number of the input interface (Port number).

         Range:
            '0'      = Not Applicable
            GBE      = 1-4
        "
::= { apexUdpMapMulticastEntry 3 }

apexUdpMapMulticastUdp OBJECT-TYPE
    SYNTAX Integer32(0..65535)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "GBE Input UDP Port.

         Range: 0-65535
        "
::= { apexUdpMapMulticastEntry 4 }

apexUdpMapMulticastMcastIp OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Multicast receive IP address.
         An IP address of 0.0.0.0 indicates singlecast only.

         Multicast IP addresses 224.0.0.0 to 224.0.0.255 are reserved.
        "
::= { apexUdpMapMulticastEntry 5 }

apexUdpMapMulticastSourceIp OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This is the IP address of the source device. This field is only
         used when a multicast IP address is also specified.
        "
::= { apexUdpMapMulticastEntry 6 }


-- ------------------------------------------------------------------------------
--
-- apexUdpMapMulticastApplyTable
--

apexUdpMapMulticastApplyTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexUdpMapMulticastApplyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of Apply Change for the UDP Map Multicast Table.

         A row in this table corresponds to the same row index in the
         UDP Map Multicast Table (apexUdpMapMulticastTable).
        "
::= { apexUdpMapConfig 5 }

apexUdpMapMulticastApplyEntry OBJECT-TYPE
    SYNTAX ApexUdpMapMulticastApplyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "UDP Map Multicast Apply Table Entry."
    INDEX { apexUdpMapMulticastApplyIndex }
::= { apexUdpMapMulticastApplyTable 1 }

ApexUdpMapMulticastApplyEntry ::= SEQUENCE
    {
     apexUdpMapMulticastApplyIndex  Integer32,
     apexUdpMapMulticastApplyChange ApplyDataToDeviceTYPE
    }

apexUdpMapMulticastApplyIndex OBJECT-TYPE
    SYNTAX Integer32(1..256)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The index of the UDP Map Multicast Table."
::= { apexUdpMapMulticastApplyEntry 1 }

apexUdpMapMulticastApplyChange OBJECT-TYPE
    SYNTAX ApplyDataToDeviceTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Apply for the row of data in the UDP Map Multicast Table.

         A row in this table corresponds to the same row index in the
         UDP Map Multicast Table.

         This parameter MUST be set to 'apply' in order for any of the data
         in the UDP Map Multicast Table row to take effect in the APEX.  This
         parameter MUST be set LAST after all other data in the UDP Map Multicast
         Table row has been configured.

         @Config(config=no, reboot=no)
        "
::= { apexUdpMapMulticastApplyEntry 2 }


-- ------------------------------------------------------------------------------
--
-- apexUdpMapStatus
--
-- apexUdpMapStatusGeneral
--

apexUdpMapMulticastInvalidApplyText OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..80))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "When apexUdpMapMulticastApplyChange is set to
         'applyNotInProgressInvalidData' this entry may contain
         a text description of what was wrong with the data. This
         entry contains the description for the most recent apply
         of a related entry that was invalid.
        "
::= { apexUdpMapStatusGeneral 1 }


-- ------------------------------------------------------------------------------
--
-- apexUdpMapStatusTable
--

apexUdpMapStatusTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexUdpMapStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of status data for Udp Mapping. There are
         48 rows in this table.  Each row corresponds to one
         QAM channel.
        "
::= { apexUdpMapStatus 2 }

apexUdpMapStatusEntry OBJECT-TYPE
    SYNTAX ApexUdpMapStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Udp Mapping Status Table Entry."
    INDEX { apexUdpMapStatusOutputTsNum }
::= { apexUdpMapStatusTable 1 }

ApexUdpMapStatusEntry ::= SEQUENCE
    {
     apexUdpMapStatusOutputTsNum      Integer32,
     apexUdpMapInvalidApplyText       DisplayString
    }

apexUdpMapStatusOutputTsNum OBJECT-TYPE
    SYNTAX Integer32(1..48)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Index of Udp Mapping Status Table."
::= { apexUdpMapStatusEntry 1 }

apexUdpMapInvalidApplyText OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..80))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "When apexUdpMapApplyChange is set to applyNotInProgressInvalidData,
         this entry may contain a text description of what was wrong with the data.
        "
::= { apexUdpMapStatusEntry 2 }


-- ------------------------------------------------------------------------------
--
-- apexRds
--
-- apexRdsConfig
--
-- apexRdsConfigGeneral
--

apexRdsIpAddr OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Rights Data Server IP address.  Class A, B, or C IP address of the RDS.
         Changing this parameter will cause the APEX to perform an EMM rollover
         sequence.

         This parameter is not changed by apexRdsSetDefault.

         Once written, the change to this parameter will only take immediate
         effect after apexRdsConfigApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via apexSaveConfig.

         @Config(config=yes, reboot=no)
         @Commit(param=apexRdsConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
    ::= { apexRdsConfigGeneral 1 }

apexRdsTcpPort OBJECT-TYPE
    SYNTAX Integer32(0..65535)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Rights Data Server TCP port.
         Changing this parameter will cause the APEX to perform an EMM rollover
         sequence.

         Once written, the change to this parameter will only take immediate
         effect after apexRdsConfigApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via apexSaveConfig.

         @Config(config=yes, reboot=no)
         @Commit(param=apexRdsConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
    ::= { apexRdsConfigGeneral 2 }

apexRdsProgramEpochDuration OBJECT-TYPE
    SYNTAX Integer32(60..1440)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Program Epoch Duration in minutes.  Changes are not
         applied until the end of the current epoch.

         Once written, the change to this parameter will only take immediate
         effect after apexRdsConfigApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via apexSaveConfig.

         @Config(config=yes, reboot=no)
         @Commit(param=apexRdsConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
    ::= { apexRdsConfigGeneral 3 }

apexRdsCetPollInterval OBJECT-TYPE
    SYNTAX Integer32(15..1440)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Interval that the APEX will use to poll for CSN/State information.
         After receiving the CSN/State information, the APEX will determine if it
         needs to retrieve new EMMs.

         Once written, the change to this parameter will only take immediate
         effect after apexRdsConfigApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via apexSaveConfig.

         @Config(config=yes, reboot=no)
         @Commit(param=apexRdsConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
    ::= { apexRdsConfigGeneral 4 }

apexRdsCetRefresh OBJECT-TYPE
    SYNTAX INTEGER
        {
         refreshNotInProgress   (1),
         refresh                (2)
        }

    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Setting to 'refresh' forces the APEX to retrieve new
         EMMs (APEX performs an EMM rollover sequence).

         Once written, the change to this parameter will take effect immediately.

         @Config(config=no, reboot=no)
        "
    ::= { apexRdsConfigGeneral 5 }

apexRdsRmdPollInterval OBJECT-TYPE
    SYNTAX Integer32(15..1440)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Interval that the APEX will use to poll for RMD information.

         Once written, the change to this parameter will only take immediate
         effect after apexRdsConfigApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via apexSaveConfig.

         @Config(config=yes, reboot=no)
         @Commit(param=apexRdsConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
    ::= { apexRdsConfigGeneral 6 }

apexRdsRmdRefresh OBJECT-TYPE
    SYNTAX INTEGER
        {
         refreshNotInProgress   (1),
         refresh                (2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Setting to 'refresh' forces the APEX to retrieve new
         RMD data from RDS server.

         Once written, the change to this parameter will take effect immediately.

         @Config(config=no, reboot=no)
        "
    ::= { apexRdsConfigGeneral 7 }

apexRdsPollRandomization OBJECT-TYPE
    SYNTAX Integer32(0..10)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "RDS Polling Randomization Time.  Maximum time in minutes to delay
         polling at startup in order to avoid having many APEXs polling the
         RDS simultaneously.  The actual delay time will be
         randomly calculated by the APEX and will be no greater than this value.
         A value of zero means no delay and the APEX will poll immediately at
         startup.

         Once written, the change to this parameter will only take immediate
         effect after apexRdsConfigApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via apexSaveConfig.

         @Config(config=yes, reboot=no)
         @Commit(param=apexRdsConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
    ::= { apexRdsConfigGeneral 8 }

apexRdsSetDefault OBJECT-TYPE
    SYNTAX INTEGER
        {
         notSettingToDefault (1),
         setToDefault        (2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This parameter sets apexRdsCetPollInterval, apexRdsPollRandomization,
         apexRdsTcpPort, apexRdsRmdPollInterval, apexRdsProgramEpochDuration 
         and apexRdsInitialEcmRetryInterval to default values.

         Once written, the change to this parameter will only take immediate
         effect after apexRdsConfigApplyChange is set to 'apply'..

         @Config(config=no, reboot=no)
         @Commit(param=apexRdsConfigApplyChange, value=2)
        "
::= { apexRdsConfigGeneral 9 }

apexRdsErrorCountReset OBJECT-TYPE
    SYNTAX ResetStatisticsTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Resets RDS Communication error counts.

         Once written, the change to this parameter will take effect immediately.

         @Config(config=no, reboot=no)
        "
::= { apexRdsConfigGeneral 10 }

apexRdsConfigApplyChange OBJECT-TYPE
    SYNTAX ApplyDataToDeviceTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Apply for RDS configuration items. This parameter
         MUST be set to 'apply' in order for any of the following to
         take effect:
            apexRdsIpAddr
            apexRdsTcpPort
            apexRdsPollRandomization
            apexRdsCetPollInterval
            apexRdsRmdPollInterval
            apexRdsProgramEpochDuration
            apexRdsConfigRds2Enable
            apexRdsConfigServerUrl

         This parameter MUST be set LAST after all associated parameters
         has been configured.

         @Config(config=no, reboot=no)
        "
::= { apexRdsConfigGeneral 11 }

apexRdsConfigRds2Enable OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Indicates whether RDS-2 Interface is enabled or disabled.
        
         Once written, the change to this parameter will only take immediate
         effect after apexRdsConfigApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via apexSaveConfig.

         @Config(config=yes, reboot=no)
         @Commit(param=apexRdsConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini') 
        "
::= { apexRdsConfigGeneral 12 }

apexRdsConfigServerUrl OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..254))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Rights Data Server Uniform Resource Locator (RDS-2 Server URL).
         This is introduced to support RDS 2 Interface since APEX 2.5 release.         
                                             
         The syntax of this parameter shall be: 
         [http://]<RDS-2 Server IP>[:<TCP Port>]/<Server Root Directory Path>
         Note:
         1. The 'http://' protocol part is default and optional, 
         2. 'RDS-2 Server IP' is Class A, B, or C IP address,
         3. 'TCP Port' is optional, if not present, default to 80,
         4. 'Server Root Directory Path' is not optional
         e.g. 
            http://192.168.30.107:1020/rds/controller
            192.168.30.107:1020/rds/controller                 
            192.168.30.107/rds/controller (default port is 80)
         
         The apex host will validate this parameter upon applying change,
         and set the following three status parameter accordingly:
           - apexRdsStatusServerIp
           - apexRdsStatusServerPort
           - apexRdsStatusServerRootDirPath
           - apexRdsStatusValidation
         
         This parameter is not changed by apexRdsSetDefault.                                      

         Once written, the change to this parameter will only take immediate
         effect after apexRdsConfigApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via apexSaveConfig.

         @Config(config=yes, reboot=no)
         @Commit(param=apexRdsConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')                                 
        "
::= { apexRdsConfigGeneral 13 }

apexRdsInitialEcmRetryInterval OBJECT-TYPE
    SYNTAX Integer32(5..30)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This parameter is used to configure RDS2 server ECM retry time.
         This value defines when the next retry will be performed by the host.
         Units are seconds.

         Once written, the change to this parameter will only take immediate
         effect after apexRdsConfigApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via apexSaveConfig.

         @Config(config=yes, reboot=no)
         @Commit(param=apexRdsConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexRdsConfigGeneral 14 }

apexRdsDeviceId OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..40))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This parameter is used to configure Device ID.
         This value will be used by APEX1000 to fetch the Access Criteria,
         using RDS1 interface when 'apexEncryptionConfAlgorithm' is set to
         either mc-scte-52-simulcrypt or mc-csa-simulcrypt.

         Once written, the change to this parameter will only take immediate
         effect after apexRdsConfigApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via apexSaveConfig.

         @Config(config=yes, reboot=no)
         @Commit(param=apexRdsConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexRdsConfigGeneral 15 }


-- ------------------------------------------------------------------------------
--
-- apexRdsStatus
--
-- apexRdsStatusGeneral
--

apexRdsConnectionStatus OBJECT-TYPE
    SYNTAX INTEGER
        {
         notConnectedInHoldoff            (1),
         notConnectedNoRdsIpAddress       (2),
         csnAquisitionSuccessful          (3),
         emmAquisitionSuccessful          (4),
         serviceListAquisitionSuccessful  (5),
         rmdAquisitionSuccessful          (6),
         csnAquisitionFailed              (7),
         emmAquisitionFailed              (8),
         serviceListAquisitionFailed      (9),
         rmdAquisitionFailed              (10),
         acAquisitionSuccessful			   (11),
         acAquisitionFailed               (12)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Rights Data Server connection status."
::= { apexRdsStatusGeneral 1 }

apexRdsCurrentCsn OBJECT-TYPE
    SYNTAX Integer32(0..255)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This is the current CSN that the APEX is
         using for encrypting all programs.
        "
::= { apexRdsStatusGeneral 2 }

apexRdsCetNextPollTime OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Time in seconds until the next CET polling period."

::= { apexRdsStatusGeneral 3 }

apexRdsRmdNextPollTime OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Time in seconds until the next RMD polling period."

::= { apexRdsStatusGeneral 4 }

apexRdsEmmStatusTableSize OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "EMM Status Table Size.  This is the maximum number of rows in the EMM Status
         Table and is the limit on apexRdsEmmStatusIndex.
        "
::= { apexRdsStatusGeneral 5 }

apexRdsProgramMessagesReceived OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of successful ServiceEncrypt messages received in the last 15 minutes."

::= { apexRdsStatusGeneral 6 }

apexRdsProgramMessagesFailed OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of failed ServiceEncrypt messages received in the last 15 minutes."

::= { apexRdsStatusGeneral 7 }

apexRdsCommErrorCount OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Count of total server communication errors.
         This parameter is set to 0 when the APEX boots up."

::= { apexRdsStatusGeneral 8 }

apexRdsCommStatus OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         ok            (1),
         error         (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Status of communication with RDS."

::= { apexRdsStatusGeneral 9 }

apexRdsFlashWriteCount OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Running count of the number of flash memory erasures/writes."

::= { apexRdsStatusGeneral 10 }

apexRdsMcast16 OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Multicast-16 bit address used for build PRK messages. The
         multicast-16 bit address is from the EMMs received."

::= { apexRdsStatusGeneral 11 }

apexRdsStatusServerIp OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Effective Rights Data Server IP address. Derived from RDS Server URL. 
         This is set to 0.0.0.0 when validation on RDS Server URL fails.

         See apexRdsConfigServerUrl. 
        "
::= { apexRdsStatusGeneral 12 }

apexRdsStatusServerPort OBJECT-TYPE
    SYNTAX Integer32(0..65535)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Effective Rights Data Server TCP port. Derived from RDS Server URL. 
         This is set to 0 when validation on RDS Server URL fails.

         See apexRdsConfigServerUrl. 
        "
::= { apexRdsStatusGeneral 13 }

apexRdsStatusServerRootDirPath OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..254))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Effective Rights Data Server Root Directory Path. Derived from RDS
         Server URL. This is set to Null String when validation on RDS Server
         URL fails.
    
         See apexRdsConfigServerUrl. 
        "
::= { apexRdsStatusGeneral 14 }

apexRdsStatusValidation OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable   (0),
         urlValid        (1),
         missingIpOrPath (2),
         emptyRootPath   (3),
         invalidTcpPort  (4),
         invalidIpClass  (5)
        }  
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether the current RDS Server URL parameter is valid.

         urlValid        (1) - RDS-2 URL is valid,
         missingIpOrPath (2) - RDS-2 IP or Root Path is missing,
         emptyRootPath   (3) - RDS-2 Root Path cannot be empty,
         invalidTcpPort  (4) - RDS-2 TCP Port ranges from 1~65535, default to 80, 
         invalidIpClass  (5) - RDS-2 IP shall be class A/B/C.

         See apexRdsConfigServerUrl. 
        "
::= { apexRdsStatusGeneral 15 }


-- ------------------------------------------------------------------------------
--
-- apexRdsEmmStatusTable
--

apexRdsEmmStatusTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexRdsEmmStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        " Table of the most recent RDS responses."
::= { apexRdsStatus 2 }

apexRdsEmmStatusEntry OBJECT-TYPE
    SYNTAX ApexRdsEmmStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "RDS EMM Status Table Entry."
    INDEX { apexRdsEmmStatusIndex }
::= { apexRdsEmmStatusTable 1 }

ApexRdsEmmStatusEntry ::= SEQUENCE
    {
     apexRdsEmmStatusIndex        Integer32,
     apexRdsEmmStatusCsn          Integer32,
     apexRdsEmmStatusState        INTEGER,
     apexRdsEmmStatusGpsTime      Integer32,
     apexRdsEmmStatusServerError  Unsigned32,
     apexRdsEmmStatusUnitAddress  DisplayString
    }

apexRdsEmmStatusIndex OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Index of EMM Status Table.
         Size of table can be found in apexRdsEmmStatusTableSize."
::= { apexRdsEmmStatusEntry 1 }

apexRdsEmmStatusCsn OBJECT-TYPE
    SYNTAX Integer32(0..255)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Category Sequence Number (CSN). "
::= { apexRdsEmmStatusEntry 2 }

apexRdsEmmStatusState OBJECT-TYPE
    SYNTAX INTEGER
        {
         transitionComplete (1),
         transitionStart    (2),
         startOfNewEpoch    (3)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Category Epoch Transition (CET) State."
::= { apexRdsEmmStatusEntry 3 }

apexRdsEmmStatusGpsTime OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This is the time in GPS seconds that this row was written."
::= { apexRdsEmmStatusEntry 4 }

apexRdsEmmStatusServerError OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This is the error code reported to the APEX by
         the RDS.  Zero indicates no error."
::= { apexRdsEmmStatusEntry 5 }

apexRdsEmmStatusUnitAddress OBJECT-TYPE
    SYNTAX DisplayString (SIZE (20))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This is the ACP address of the ACP associated
         with the error reported in apexRdsEmmStatusServerError.
         If no address is contained in this entry, the error
         applies to all ACPs or to the entire APEX.

         The address is made up of decimal digits formatted as
         ###-#####-#####-###.
        "
::= { apexRdsEmmStatusEntry 6 }


-- ------------------------------------------------------------------------------
--
-- apexRdsSourceLookupTable
--

apexRdsSourceLookupTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexRdsSourceLookupEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This table provides a list of Source IDs and Provider IDs along
         with an associated string.  This table of information is provided by the
         RDS to make it easier for a user to figure out the Source
         ID and Provider ID for a particular service.
        "
::= {apexRdsStatus  3 }

apexRdsSourceLookupEntry OBJECT-TYPE
    SYNTAX ApexRdsSourceLookupEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Source Lookup Table Entry."
    INDEX { apexRdsSourceLookupIndex }
::= { apexRdsSourceLookupTable 1 }

ApexRdsSourceLookupEntry ::= SEQUENCE
    {
     apexRdsSourceLookupIndex         Integer32,
     apexRdsSourceLookupDescription   DisplayString,
     apexRdsSourceLookupSourceId      Integer32,
     apexRdsSourceLookupProviderId    Integer32
    }

apexRdsSourceLookupIndex OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Source Lookup Table Index."
::= { apexRdsSourceLookupEntry 1 }

apexRdsSourceLookupDescription OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Text Description of the service provided by the Rights Data Server."
::= { apexRdsSourceLookupEntry 2 }

apexRdsSourceLookupSourceId OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Source Id of the service."
::= { apexRdsSourceLookupEntry 3 }

apexRdsSourceLookupProviderId OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Provider Id of the service."
::= { apexRdsSourceLookupEntry 4 }


-- ------------------------------------------------------------------------------
--
-- apexRdsEventTable
--
            
apexRdsEventTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexRdsEventEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of Rds2 Events.
         The first index (apexRdsEventProgramIndex) matches to the same 
         row index in the apexManualRouteTable.
        "
::= { apexRdsStatus 4 }

apexRdsEventEntry OBJECT-TYPE
    SYNTAX ApexRdsEventEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Rds2 Events Table Entry."
    INDEX { apexRdsEventProgramIndex, apexRdsEventEventIndex }
::= { apexRdsEventTable 1 }

ApexRdsEventEntry ::= SEQUENCE
    {
     apexRdsEventProgramIndex            Integer32,
     apexRdsEventEventIndex              Integer32,
     apexRdsEventEpochNumber             Integer32,
     apexRdsEventEpochStart              Integer32,
     apexRdsEventEpochEnd                Integer32,
     apexRdsEventInterstitialDuration    Integer32, 
     apexRdsEventPreviewDuration         Integer32,
     apexRdsEventPurchaseDuration        Integer32,
     apexRdsEventNumberTiers             Integer32,
     apexRdsEventTierData                DisplayString,
     apexRdsEventProgramCost             Integer32,
     apexRdsEventRatingRegion            Integer32,
     apexRdsEventRatingData              DisplayString,
     apexRdsEventRatingText              DisplayString,
     apexRdsEventControlByte             DisplayString,
     apexRdsEventPrkmWkemAvailable       INTEGER,
     apexRdsEventCcmAvailable            INTEGER
    }

apexRdsEventProgramIndex OBJECT-TYPE
    SYNTAX Integer32(1..768)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "apexRdsEventProgramIndex is the last 10 bits of
         apexOutputProgramEcmServiceId from apexOutputProgramTable."
::= { apexRdsEventEntry 1 }
                                 
apexRdsEventEventIndex OBJECT-TYPE
    SYNTAX Integer32(1..48)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Rds Event Index."
::= { apexRdsEventEntry 2 }
                                 
apexRdsEventEpochNumber OBJECT-TYPE
    SYNTAX Integer32(0..255)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Uniquely identifies a program epoch for the specified service."
::= { apexRdsEventEntry 3 }
                                 
apexRdsEventEpochStart OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Start time in GPS seconds of the returned program epoch 
         for the specified service.
        "
::= { apexRdsEventEntry 4 }
                                 
apexRdsEventEpochEnd OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "End time in GPS seconds of the returned program epoch."
::= { apexRdsEventEntry 5 }
                                 
apexRdsEventInterstitialDuration OBJECT-TYPE
    SYNTAX Integer32(0..65535)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The interstitial duration provides the time duration 
         in seconds between the start of the program epoch and 
         the start of the actual program or event.
        "
::= { apexRdsEventEntry 6 }

apexRdsEventPreviewDuration OBJECT-TYPE
    SYNTAX Integer32(0..65535)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The preview window provides the time duration in seconds
         between the start of the program epoch and the start of 
         the pay portion of the program.
        "
::= { apexRdsEventEntry 7 }

apexRdsEventPurchaseDuration OBJECT-TYPE
    SYNTAX Integer32(0..65535)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The purchase window provides the time duration in seconds
         between the start of the program epoch that IPPV purchases
         are allowed. 
        "
::= { apexRdsEventEntry 8 }

apexRdsEventNumberTiers OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "A program can be associated with at most 7 tiers."
::= { apexRdsEventEntry 9 }

apexRdsEventTierData OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Program Tier Data in Hexadecimal format (28 bytes). 
         Up to 7 tiers of information are provided for each program. 
         Tier information for each program consists of 4 bytes.
         First 3 bytes are the Tier Value, next 1 bytes are the Tier Type.
        "         
::= { apexRdsEventEntry 10 }

apexRdsEventProgramCost OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Represents the cost, in program units, of the program epoch."
::= { apexRdsEventEntry 11 }

apexRdsEventRatingRegion OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Identifies the Program Rating Region. The US region attribute is 0."
::= { apexRdsEventEntry 12 }

apexRdsEventRatingData OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Program Rating Data in Hexadecimal format (3 bytes). 
         Contains 6 rating dimensions where each rating dimension is a 4-bit 
         integer that represents a different rating control for the region.
         A US region defines 4 rating dimensions: MPAA rating, violence content
         rating, language content rating and sexual content rating. 
        "         
::= { apexRdsEventEntry 13 }

apexRdsEventRatingText OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..80))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Program Rating optionally contains a Rating Text."
::= { apexRdsEventEntry 14 }

apexRdsEventControlByte OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The program control byte used in the PRKM (1 Hexadecimal byte)." 
::= { apexRdsEventEntry 15 }

apexRdsEventPrkmWkemAvailable OBJECT-TYPE
    SYNTAX INTEGER
        {
         available (1),
         notAvailable (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The flag indicates that PRKM, WKEM (odd and even) is available
         for the associated epoch."
::= { apexRdsEventEntry 16}

apexRdsEventCcmAvailable OBJECT-TYPE
    SYNTAX INTEGER
        {
         available (1),
         notAvailable (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The flag indicates that CCM (odd and even) is available
         for the associated epoch."
::= { apexRdsEventEntry 17}


-- ------------------------------------------------------------------------------
--
-- apexEncryption
--
-- apexEncryptionConfig
--
-- apexEncryptionConfigGeneral
--

apexEncryptionConfAlgorithm OBJECT-TYPE
    SYNTAX INTEGER
        {
         des-dcii           (1),
         des-scte-52        (2),
         dvb-csa            (3),
         dvb-csa-simulcrypt (4),
         mc-scte-52-simulcrypt (5),
         mc-csa-simulcrypt     (6)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Configured encryption algorithm.  This value determines which
         MUX FPGA image will be loaded. dvb-csa-simulcrypt must be selected
         to allow for configuration of Simulcrypt. Operator need to procure
         the license to select mc-scte-52-simulcrypt or mc-csa-simulcrypt. 

         Once written, a save must be performed via the apexSaveConfig
         parameter and the APEX must be rebooted for the change to take effect.

         @Config(config=yes, reboot=yes)
         @Commit(param=apexEncryptionConfApplyChange, value=2)         
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexEncryptionConfigGeneral 1 }

apexSimulcryptExternalEisSetting OBJECT-TYPE
    SYNTAX INTEGER
        {
         clear    (0),
         encrypt  (1)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Default simulcrypt External EIS encryption setting. This determines if
         services are sent out in the clear or are encrypted when Simulcrypt
         mode is set to External EIS and the services have not yet been provisioned.
         This allows a user to have services scrambled but unviewable prior to
         services being provisioned (to prevent services from being viewable). This
         parameter is only applicable for output streams that are in Simulcrypt External
         EIS mode.

         When this setting is changed, it only affects new service mappings. Services
         that are already mapped will not be modified.
         
         Not used when the APEX1000 is in MC-SCTE52-SimulCrypt or MC-CSA SimulCrypt mode.

         Once written, a save must be performed via the apexSaveConfig
         parameter and the APEX must be rebooted for the change to take effect.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexEncryptionConfigGeneral 2 }

apexSimulcryptEmEnable OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Simulcrypt EM Enable.
         If set to 'enabled' the EM will display the Simulcrypt specific
         screens. User will be allowed to view Simulcrypt status and perform
         configuration changes via the EM. This parameter only enables and
         disables the ability to use the EM Simulcrypt screens. It does not
         enable or disable Simulcrypt as there is a specific Simulcrypt mode
         per output stream.

         Once written, the change to this parameter will only take immediate
         effect.  In order for the change to persist through subsequent reboots
         or power cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexEncryptionConfigGeneral 3 }

apexEncryptionConfApplyChange OBJECT-TYPE
    SYNTAX ApplyDataToDeviceTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Apply for apexEncryptionConfAlgorithm. This parameter
         MUST be set to 'apply' in order for apexEncryptionConfAlgorithm to
         take effect:

         This parameter MUST be set LAST after apexEncryptionConfAlgorithm parameter
         has been configured.

         @Config(config=no, reboot=no)
        "
::= { apexEncryptionConfigGeneral 4 }

apexEncryptionConfInvalidApplyText OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..80))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "When apexEncryptionConfApplyChange is set to
         'applyNotInProgressInvalidData' this entry may contain
         a text description of what was wrong with the data.
        "
::= { apexEncryptionConfigGeneral 5 }

-- ------------------------------------------------------------------------------
--
-- apexCteConfig
--

apexCteEncryptionMode  OBJECT-TYPE
    SYNTAX INTEGER
        {
         full  (1),
         fwk   (2),
         fpk   (3),
         clear (4)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This parameter is used to set the Encryption Mode.  It applies
         to all services on all QAMs in CTE mode.

           - 'full'  - The APEX will use Full encryption. The APEX will only be able to
                       encrypt programs in Full encryption mode if the APEX is able to
                       communicate with an RDS.

           - 'fwk'   - The APEX will use Fixed Working Key (FWK) encryption.

           - 'fpk'   - The APEX will use Fixed Program Key (FPK) encryption. The APEX
                       will not attempt to get EMMs.

           - 'clear' - The APEX performs no encryption of output programs.

         If the APEX is unable to encrypt programs in the configured mode, then those
         programs will not be mapped.

         Once written, the change to this parameter will only take immediate
         effect after apexCteApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexCteApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexCteConfig 1 }

apexCteCciLevel OBJECT-TYPE
    SYNTAX INTEGER
        {
         notDefined   (1),
         copyFreely   (2),
         copyOnce     (3),
         copyNever    (4),
         noMoreCopies (5)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Copy Control Information (CCI) Level setting for PRK messages.
           - notDefined   - CCI is not defined, settop box applications can
                            configure CCI
           - copyFreely   - program can be copied
           - copyOnce     - program can be copied once
           - copyNever    - program can never be copied
           - noMoreCopies -

         Once written, the change to this parameter will only take immediate
         effect after apexCteApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexCteApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexCteConfig 2 }

apexCteApsLevel OBJECT-TYPE
    SYNTAX INTEGER
        {
         notDefined       (1),
         off              (2),
         splitBurstOff    (3),
         splitBurst2Line  (4),
         splitBurst4Line  (5)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Analog Protection System (APS)
         Level setting for PRK messages.  Defines what copy protection encoding
         will be applied to the analog composite output by the settop box.
           - notDefined      - analog protection is not defined, settop box
                               applications can configure APS
           - off             - no analog protection
           - splitBurstOff   - AGC on, split burst off
           - splitBurst2Line - AGC on, 2 line split burst on
           - splitBurst4Line - AGC on, 4 line split burst on

         The APEX will set Tier Type based on apexCteApsLevel.
         The APEX will set tier type to subscription with right to tape
         when apexCteApsLevel is 'off' or 'notDefined'.
         The APEX will set tier type to subscription without right to tape when
         apexCteApsLevel is 'splitBurstOff', 'splitBurst2Line', or 'splitBurst4Line'.

         Once written, the change to this parameter will only take immediate
         effect after apexCteApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexCteApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexCteConfig 3 }

apexCteCitEnable OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Constrained Image Trigger (CIT) setting.
         If set to 'enabled' the settop box is notified not to allow a high
         quality digital output unless the receiving device also adheres to
         CIT processing. If the apexCteApsLevel is set to 'notDefined', the
         setting of the CIT value has no affect (CIT and APS are only used
         when APS is set to a defined value).

         Once written, the change to this parameter will only take immediate
         effect after apexCteApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexCteApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexCteConfig 4 }

apexCteCommonTier OBJECT-TYPE
    SYNTAX Integer32(0..16777215)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "EncryptionCommon Tier.  Identifies the tier
         number for which access is granted.  Range is 0 to 16777215.
         65535 is reserved and cannot be used.

         The APEX will set Tier Type based on apexCteApsLevel setting.
         Refer to the apexCteApsLevel description for more details.

         Once written, the change to this parameter will only take immediate
         effect after apexCteApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexCteApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexCteConfig 5 }

apexCteApplyChange OBJECT-TYPE
    SYNTAX ApplyDataToDeviceTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Apply for CTE configuration items. This parameter
         MUST be set to 'apply' in order for any of the following to
         take effect:
            apexCteEncryptionMode
            apexCteCciLevel
            apexCteApsLevel
            apexCteCitEnable
            apexCteCommonTier

         This parameter MUST be set LAST after all associated parameters
         has been configured.

         @Config(config=no, reboot=no)
        "
::= { apexCteConfig 6 }


-- ------------------------------------------------------------------------------
--
-- apexEncryptionStatus
--
-- apexEncryptionStatusGeneral
--

apexEncryptionStatAlgorithm OBJECT-TYPE
    SYNTAX INTEGER
        {
         des-dcii           (1),
         des-scte-52        (2),
         dvb-csa            (3),
         dvb-csa-simulcrypt (4),
         mc-scte-52-simulcrypt (5),
         mc-csa-simulcrypt     (6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Current encryption algorithm.  This value determines which
         MUX FPGA image will be loaded.
        "
::= { apexEncryptionStatusGeneral 1 }


-- ------------------------------------------------------------------------------
--
-- apexEncryptionCwgStatus
--

apexEncryptionCwgPerSecond OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Average control words per second generated integrated over the last minute."
::= { apexEncryptionCwgStatus 1 }

apexEncryptionMux1CollisionCount OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Triton collision counter for MUX FPGA #1."
::= { apexEncryptionCwgStatus 2 }

apexEncryptionMux2CollisionCount OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Triton collision counter for MUX FPGA #2."
::= { apexEncryptionCwgStatus 3 }

apexEncryptionMux1RolloverCount OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Counts rollovers of triton message circular buffer for MUX FPGA #1."
::= { apexEncryptionCwgStatus 4 }

apexEncryptionMux2RolloverCount OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Counts rollovers of triton message circular buffer for MUX FPGA #2."
::= { apexEncryptionCwgStatus 5 }

apexEncryptionEmmRequestsSent OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Counts number of triton EMM reports sent to 6 MC2.1 devices."
::= { apexEncryptionCwgStatus 6 }

apexEncryptionEmmGoodRepliesRecvd OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Counts number of triton EMM replies marked good received from mc2.1 devices."
::= { apexEncryptionCwgStatus 7 }

apexEncryptionEmmBadRepliesRecvd OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Counts number of triton EMM replies marked bad received from mc2.1 devices."
::= { apexEncryptionCwgStatus 8 }

apexEncryptionEmmGoodDeliveryTimeMs OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Amount of time expressed in milliseconds taken to deliver
         entire set of EMMs for most recent successful attempt.
         Note it takes MC2.1 a significant amount of time to process an EMM.
         They are delivered in batches of 6 (1 per MC2.1) the firmware then
         waits for all 6 EMM replies before continuing with the next batch."
::= { apexEncryptionCwgStatus 9 }

apexEncryptionEmmMaxDeliveryTimeMs OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Maximum amount of time expressed in milliseconds taken to deliver
         an entire set of EMMs since the Apex unit was last rebooted."
::= { apexEncryptionCwgStatus 10}

apexEncryptionEmmMinDeliveryTimeMs OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Minimum amount of time expressed in milliseconds taken to deliver
         an entire set of EMMs since the Apex unit was last rebooted."
::= { apexEncryptionCwgStatus 11}


-- ------------------------------------------------------------------------------
--
-- apexEncryptionMcDiagTable
--

apexEncryptionMcDiagTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexEncryptionMcDiagEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Diagnostic table that breaks out individual mc21 performance parameters.
         Indexed 1-6 for the 6 MC2.1 devices in an APEX ACP Module."
::= { apexEncryptionCwgStatus 12 }

apexEncryptionMcDiagEntry OBJECT-TYPE
    SYNTAX ApexEncryptionMcDiagEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A row in the mc2.1 diagnostic table."
    INDEX { apexEncryptionMcDiagDeviceIndex }
::= { apexEncryptionMcDiagTable 1 }

ApexEncryptionMcDiagEntry ::= SEQUENCE
    {
     apexEncryptionMcDiagDeviceIndex      Integer32,
     apexEncryptionCwCountsPerSecond      Unsigned32
    }

apexEncryptionMcDiagDeviceIndex OBJECT-TYPE
    SYNTAX Integer32 (1..6)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Index represents 1 of 6 MC2.1 devices installed on ACP Module."
::= { apexEncryptionMcDiagEntry 1 }

apexEncryptionCwCountsPerSecond OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of CW successfully generated on this MC2.1 per second,
         integrated over the last minute."
::= { apexEncryptionMcDiagEntry 2 }


-- ------------------------------------------------------------------------------
--
-- apexEas
--
-- apexEasConfig
--
-- apexEasConfigGeneral
--

apexEasApplyChange OBJECT-TYPE
    SYNTAX ApplyDataToDeviceTYPE
    MAX-ACCESS read-write
    STATUS obsolete
    DESCRIPTION
        "This object is obsolete.

         The Apply for any entries in the apexEasConfigGeneral group.

         This parameter MUST be set to 'apply' in order for any of the data
         in the apexEasConfigGeneral group to take effect.  This
         parameter MUST be set LAST after all other data in the group has
         been configured.

         Once written, the change to this parameter will take immediate effect.

         @Config(config=no, reboot=no)
        "
::= { apexEasConfigGeneral 1 }

apexEasPhysInType OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         gbe           (1),
         fastEnet      (2)
        }
    MAX-ACCESS read-write
    STATUS obsolete
    DESCRIPTION
        "This object is obsolete.

         Input Type of input from which to extract EAS messages. When set
         to 0, no EAS is received (disables EAS extraction).

         Once written, the change to this parameter will only take immediate
         effect after apexEasApplyChange is set to 'apply'.  In order for the
         change to persist through subsequent reboots or power cycles, the
         change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexEasApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexEasConfigGeneral 2 }

apexEasPhysInPort OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-write
    STATUS obsolete
    DESCRIPTION
        "This object is obsolete.

         Number of the input, of type configured by apexEasPhysInType,
         from which to extract EAS messages.

         Once written, the change to this parameter will only take immediate
         effect after apexEasApplyChange is set to 'apply'.  In order for the
         change to persist through subsequent reboots or power cycles, the
         change must be saved via the apexSaveConfig parameter.

         @Range(min=0)
         @Config(config=yes, reboot=no)
         @Commit(param=apexEasApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexEasConfigGeneral 3 }

apexEasRcvUdpPort OBJECT-TYPE
    SYNTAX Integer32(0..65535)
    MAX-ACCESS read-write
    STATUS obsolete
    DESCRIPTION
        "This object is obsolete.

         This parameter indicates the UDP port on which to receive
         EAS messages.

         Range is 1024 to 65535 when apexEasPhysInType is 'fastEnet'.
         Range is 0 to 65535 when apexEasPhysInType is 'gbe'.

         Once written, the change to this parameter will only take immediate
         effect after apexEasApplyChange is set to 'apply'.  In order for the
         change to persist through subsequent reboots or power cycles, the
         change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexEasApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexEasConfigGeneral 4 }

apexEasMulticastIpAddress OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS obsolete
    DESCRIPTION
        "This object is obsolete.

         This parameter indicates the Multicast IP Receive address on which
         to receive EAS messages.

         If 0.0.0.0, then EAS messages will be received via singlecast only.

         Once written, the change to this parameter will only take immediate
         effect after apexEasApplyChange is set to 'apply'.  In order for the
         change to persist through subsequent reboots or power cycles, the
         change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexEasApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexEasConfigGeneral 5 }

apexEasSourceIpAddress OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS obsolete
    DESCRIPTION
        "This object is obsolete.

         This parameter indicates the Source IP Receive address on which
         to receive EAS messages. This is only for IGMP v3 networks.

         If 0.0.0.0, then source IP is not used.

         Once written, the change to this parameter will only take immediate
         effect after apexEasApplyChange is set to 'apply'.  In order for the
         change to persist through subsequent reboots or power cycles, the
         change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexEasApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexEasConfigGeneral 6 }

apexEasMessageReceiveTimeoutDuration OBJECT-TYPE
    SYNTAX Integer32 (1..30)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "It is the timeout duration(in days)that the device expects at least one 
         EAS message from the each EAS server configured in 'apexEasServerTable'. 
         
         Default value is 7 days. 
         
         Value can be configured with the increment of 1 day in the given range.
          
         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexEasConfigGeneral 7 }

apexEasMessageReceiveTimeoutEventEnable OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "It enables or disables raising of the event 'trapEasMessageNotReceived'
         
         Default value is disabled.
         
         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexEasConfigGeneral 8 }

-- ------------------------------------------------------------------------------
--
-- apexEasOutputTable
--

apexEasOutputTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexEasOutputEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of parameters for configuring EAS Output.

         Table is indexed by Output Transport Stream Number.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexEasConfig 2 }

apexEasOutputEntry OBJECT-TYPE
    SYNTAX ApexEasOutputEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A row in the EAS output table."
    INDEX { apexEasOutputStreamNum }
::= { apexEasOutputTable 1 }

ApexEasOutputEntry ::= SEQUENCE
    {
     apexEasOutputStreamNum       Integer32,
     apexEasOutputEnable          EnableDisableTYPE
    }

apexEasOutputStreamNum OBJECT-TYPE
    SYNTAX Integer32 (1..48)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The output transport stream number."
::= { apexEasOutputEntry 1 }

apexEasOutputEnable OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The enable setting for EAS output on this Output Transport Stream.

         Once written, the change to this parameter will take immediate
         effect.  In order for the change to persist through subsequent
         reboots or power cycles, the change must be saved via the
         apexSaveConfig parameter.
        "
::= { apexEasOutputEntry 2 }

-- ------------------------------------------------------------------------------
--
-- apexEasServerApplyTable
--

apexEasServerApplyTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexEasServerApplyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Apply table for the apexEasServerTable.

         Table is indexed by RF Port number.
        "
::= { apexEasConfig 3 }

apexEasServerApplyEntry OBJECT-TYPE
    SYNTAX ApexEasServerApplyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "EAS Server Configuration Apply Table Entry."
    INDEX { apexEasServerApplyNum }
::= { apexEasServerApplyTable 1 }

ApexEasServerApplyEntry ::= SEQUENCE
    {
     apexEasServerApplyNum                Integer32,
     apexEasServerApplyChange        ApplyDataToDeviceTYPE
    }

apexEasServerApplyNum OBJECT-TYPE
    SYNTAX Integer32 (1..12)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The EAS Server number."
::= { apexEasServerApplyEntry 1 }

apexEasServerApplyChange OBJECT-TYPE
    SYNTAX ApplyDataToDeviceTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Apply for a row in the apexEasServerTable.

         This parameter MUST be set to 'apply' in order for any of the data
         in the apexEasServerTable table to take effect.  This
         parameter MUST be set LAST after all other data in the table has
         been configured.

         Once written, the change to this parameter will take immediate effect.

         @Config(config=no, reboot=no)
        "
::= { apexEasServerApplyEntry 2 }

-- ------------------------------------------------------------------------------
--
-- apexEasServerTable
--

apexEasServerTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexEasServerEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of parameters for configuring EAS Servers.

         Table is indexed by RF Port number.

         @Config(config=yes, reboot=no)
         @Commit(param=apexEasServerApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexEasConfig 4 }

apexEasServerEntry OBJECT-TYPE
    SYNTAX ApexEasServerEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A row in the EAS server table."
    INDEX { apexEasServerNum }
::= { apexEasServerTable 1 }

ApexEasServerEntry ::= SEQUENCE
    {
     apexEasServerNum                Integer32,
     apexEasServerPhysInType         INTEGER,
     apexEasServerPhysInPort         Integer32,
     apexEasServerRcvUdpPort         Integer32,
     apexEasServerMulticastIpAddress IpAddress,
     apexEasServerSourceIpAddress    IpAddress
    }

apexEasServerNum OBJECT-TYPE
    SYNTAX Integer32 (1..12)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The EAS Server number."
::= { apexEasServerEntry 1 }

apexEasServerPhysInType OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         gbe           (1),
         fastEnet      (2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Input Type of input from which to extract EAS messages. When set
         to 0, no EAS is received (disables EAS extraction).

         Once written, the change to this parameter will only take immediate
         effect after apexEasServerApplyChange is set to 'apply'.  In order for the
         change to persist through subsequent reboots or power cycles, the
         change must be saved via the apexSaveConfig parameter.
        "
::= { apexEasServerEntry 2 }

apexEasServerPhysInPort OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Number of the input, of type configured by apexEasServerPhysInType,
         from which to extract EAS messages.

         Once written, the change to this parameter will only take immediate
         effect after apexEasServerApplyChange is set to 'apply'.  In order for the
         change to persist through subsequent reboots or power cycles, the
         change must be saved via the apexSaveConfig parameter.

         @Range(min=0)
        "
::= { apexEasServerEntry 3 }

apexEasServerRcvUdpPort OBJECT-TYPE
    SYNTAX Integer32(0..65535)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This parameter indicates the UDP port on which to receive
         EAS messages.

         Range is 1024 to 65535 when apexEasServerPhysInType is 'fastEnet'.
         Range is 0 to 65535 when apexEasServerPhysInType is 'gbe'.

         Once written, the change to this parameter will only take immediate
         effect after apexEasServerApplyChange is set to 'apply'.  In order for the
         change to persist through subsequent reboots or power cycles, the
         change must be saved via the apexSaveConfig parameter.
        "
::= { apexEasServerEntry 4 }

apexEasServerMulticastIpAddress OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This parameter indicates the Multicast IP Receive address on which
         to receive EAS messages.

         If 0.0.0.0, then EAS messages will be received via singlecast only.

         Once written, the change to this parameter will only take immediate
         effect after apexEasServerApplyChange is set to 'apply'.  In order for the
         change to persist through subsequent reboots or power cycles, the
         change must be saved via the apexSaveConfig parameter.
        "
::= { apexEasServerEntry 5 }

apexEasServerSourceIpAddress OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This parameter indicates the Source IP Receive address on which
         to receive EAS messages. This is only for IGMP v3 networks.

         If 0.0.0.0, then source IP is not used.

         Once written, the change to this parameter will only take immediate
         effect after apexEasServerApplyChange is set to 'apply'.  In order for the
         change to persist through subsequent reboots or power cycles, the
         change must be saved via the apexSaveConfig parameter.
        "
::= { apexEasServerEntry 6 }


-- ------------------------------------------------------------------------------
--
-- apexEasStatus
--
-- apexEasStatusGeneral
--

apexEasNumRcvMsgs OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Total number of EAS messages received."
::= { apexEasStatusGeneral 1 }

apexEasNumInvalRcvMsgs OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Total number of Invalid EAS messages received (invalid CRC).
         These messages are discarded."
::= { apexEasStatusGeneral 2 }

apexEasLastReceivedMessageStatusTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexEasLastReceivedMessageStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of parameters for last received EAS message details."
::= { apexEasStatus 2 }

apexEasLastReceivedMessageStatusEntry OBJECT-TYPE
    SYNTAX ApexEasLastReceivedMessageStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A row in the last received EAS message details table."
    INDEX { apexEasLastReceivedMessageServerNum }
::= { apexEasLastReceivedMessageStatusTable 1 }

ApexEasLastReceivedMessageStatusEntry ::= SEQUENCE
    {
     apexEasLastReceivedMessageServerNum     Integer32,
     apexEasLastReceivedMessageTime          Integer32
    }

apexEasLastReceivedMessageServerNum OBJECT-TYPE
    SYNTAX Integer32 (1..12)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The EAS Server index number."
::= { apexEasLastReceivedMessageStatusEntry 1 }

apexEasLastReceivedMessageTime  OBJECT-TYPE
    SYNTAX Integer32        
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Time when the last EAS message was received. Zero indicates EAS
         message is yet to be received or not configured. This time is
         reported in GPS seconds. To determine the system time in UTC the
         apexSntpUtcOffset object must also be read and used in the calculation.
        "
::= { apexEasLastReceivedMessageStatusEntry 2 }

-- ------------------------------------------------------------------------------
--
-- apexChassisRedundancy
--
-- apexChassisRedundancyConfig
--
-- apexChassisRedundancyConfigGeneral
--

apexChassisRedundancyConfigEnable OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This is to enable/disable APEX chassis redundancy.
         When set to disabled(1), APEX is not allowed to failover.
         When set to enabled(2), APEX can failover on its redundant APEX.

         Once written, the change to this parameter will only take immediate
         effect after apexChassisRedundancyConfigApplyChange is set to 'apply'.
         In order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexChassisRedundancyConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexChassisRedundancyConfigGeneral 1 }

apexChassisRedundancyMode OBJECT-TYPE
    SYNTAX INTEGER
        {
         primary   (1),
         secondary (2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Configures the desired role of APEX. Primary has active output ports,
         secondary is inactive with output ports muted.

         @Config(config=yes, reboot=no)
         @Commit(param=apexChassisRedundancyConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexChassisRedundancyConfigGeneral 2 }

apexChassisRedundancyMulticastRedundancyMode OBJECT-TYPE
    SYNTAX INTEGER
        {
         hot  (1),
         warm (2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This is used to process route mappings by the standby APEX.

         When set to hot(0) on standby APEX, all the routes processed by the
         active APEX will also be processed by standby APEX.

         When set to warm(1) on standby APEX, all the routes processed by the
         active APEX will be muted by standby APEX.

         @Config(config=yes, reboot=no)
         @Commit(param=apexChassisRedundancyConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexChassisRedundancyConfigGeneral 3 }

apexChassisRedundancyUdpPort OBJECT-TYPE
    SYNTAX Integer32(1024..65535)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This UDP port number value is used as:

         (1) The port number on which to receive heartbeat messages from the
             redundant APEX
         (2) The port number to which heartbeat messages are sent to the
             redundant APEX.

         Valid range of UDP port numbers are 1024 to 65535.

         @Config(config=yes, reboot=no)
         @Commit(param=apexChassisRedundancyConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexChassisRedundancyConfigGeneral 4 }

apexChassisRedundancyRedundantApexIp OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Unicast IP address of redundant APEX.
         This IP address is used to send heartbeat messages to the redundant IP.
         This IP address should match with the ENET1 or ENET2 IP address of the
         redundant APEX.

         @Config(config=yes, reboot=no)
         @Commit(param=apexChassisRedundancyConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexChassisRedundancyConfigGeneral 5 }

apexChassisRedundancySuspend OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "When set to enabled(2), this results in APEX unit failover and become
         active if it is in standby or suspend state.
         If the condition above is not met, setting the value to enabled(2) has
         no effect.

         @Config(config=yes, reboot=no)
         @Commit(param=apexChassisRedundancyConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexChassisRedundancyConfigGeneral 6 }

apexChassisRedundancyForceFailOver OBJECT-TYPE
    SYNTAX INTEGER
        {
         failoverNotInProgress (1),
         failover              (2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "When set to failover(2), this results in the APEX unit failing over
         if it is in active state and the redundant APEX is in standby state.
         If the condition above is not met, setting the value to failvoer(2)
         has no effect.

         @Config(config=no, reboot=no)
        "
::= { apexChassisRedundancyConfigGeneral 7 }

apexChassisRedundancyFailOverGigE12LinkLoss  OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Configures if both GigE 1&2 link loss is cause for a failover.

         @Config(config=yes, reboot=no)
         @Commit(param=apexChassisRedundancyConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexChassisRedundancyConfigGeneral 8 }

apexChassisRedundancyFailOverGigE34LinkLoss OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Configures if both GigE 3&4 experience link loss is cause for failover.

         @Config(config=yes, reboot=no)
         @Commit(param=apexChassisRedundancyConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexChassisRedundancyConfigGeneral 9 }

apexChassisRedundancyFailOverEnet1LinkLoss OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Configures if ENET1 link loss is cause for failover.

         @Config(config=yes, reboot=no)
         @Commit(param=apexChassisRedundancyConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexChassisRedundancyConfigGeneral 10 }

apexChassisRedundancyFailOverEnet2LinkLoss OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Configures if ENET2 link loss is cause for failover.

         @Config(config=yes, reboot=no)
         @Commit(param=apexChassisRedundancyConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexChassisRedundancyConfigGeneral 11 }

apexChassisRedundancyFailOverTemperatureFault OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Configures if the temperature fault is a cause for failover.

         @Config(config=yes, reboot=no)
         @Commit(param=apexChassisRedundancyConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexChassisRedundancyConfigGeneral 12 }

apexChassisRedundancyFailOverQamModuleFault OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Configures if a QAM module fault is a cause for failover.

         @Config(config=yes, reboot=no)
         @Commit(param=apexChassisRedundancyConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexChassisRedundancyConfigGeneral 13 }

apexChassisRedundancyFailOverQamRfPortFault OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Configures if a QAM RF port fault is a cause for failover.

         @Config(config=yes, reboot=no)
         @Commit(param=apexChassisRedundancyConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexChassisRedundancyConfigGeneral 14 }

apexChassisRedundancyFailOverQamChannelFault OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Configures if a QAM channel fault is a cause for failover.

         @Config(config=yes, reboot=no)
         @Commit(param=apexChassisRedundancyConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexChassisRedundancyConfigGeneral 15 }

apexChassisRedundancyConfigApplyChange OBJECT-TYPE
    SYNTAX ApplyDataToDeviceTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Apply for Chassis Redundancy Configuration parameters.

         This parameter MUST be set to 'apply' in order for the data
         to take effect. This parameter MUST be set LAST after all Chassis
         Redundancy parameters affected by this parameter have been configured.

         @Config(config=no, reboot=no)
        "
::= { apexChassisRedundancyConfigGeneral 16 }


apexChassisRedundancyPrimaryStandbyOverride OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This parameter is set to ENABLED while configuring the apex
         as primary apex. If this parameter is set, the apex will goto
         ACTIVE state irrespective of secondary status.
         
         @Config(config=no, reboot=no)
        "
::= { apexChassisRedundancyConfigGeneral 17 }

apexChassisRedundancyRedundantApexSecIp OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Unicast IP address of redundant APEX heartbeat backup interface.
         This IP address is used to send backup heartbeat messages to the redundant IP.
         This IP address should match with the ENET1 or ENET2 IP address of the
         redundant APEX.

         @Config(config=yes, reboot=no)
         @Commit(param=apexChassisRedundancyConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexChassisRedundancyConfigGeneral 18 }

apexChassisRedundancyRedundantHBEnable OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This parameter is set to ENABLED to configure backup heartbeat interface IP.
         Heartbeat message in the Backup heartbeat interface is used if the Primary 
         heartbeat inteface fails.
         
         @Config(config=yes, reboot=no)
         @Commit(param=apexChassisRedundancyConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexChassisRedundancyConfigGeneral 19 }

apexChassisRedundancyFailOverQamModuleRemoval OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "If this parameter is set to ENABLED then QAM Module removal fault will cause the failover.

         @Config(config=yes, reboot=no)
         @Commit(param=apexChassisRedundancyConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexChassisRedundancyConfigGeneral 20 }

-- ------------------------------------------------------------------------------
--
-- apexChassisRedundancyStatus
--
-- apexChassisRedundancyStatusGeneral
--

apexChassisRedundancyPrimaryApexStatus OBJECT-TYPE
    SYNTAX INTEGER
        {
         unknown (0),
         active  (1),
         standby (2),
         fault   (3),
         suspend (4)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This parameter is applicable for an APEX where chassis redundancy is
         enabled.

         The APEX configured as primary will report the following values:

         active(1):  Primary RF outputs are active.
         standby(2): Primary RF outputs are muted. Waiting to become active.
         fault(3):   Primary has experienced a fault.
         suspend(4): Primary is suspended.

         The APEX configured as secondary will report the following values.
         These are based on its knowledge about the primary APEX from heartbeat
         messages.

         unknown(0): State of primary is not known (heartbeat not received).
         active(1):  Primary RF outputs are active.
         standby(2): Primary RF outputs are muted. Waiting to become active.
         fault(3):   Primary has experienced a fault.
         suspend(4): Primary is suspended.
        "
::= { apexChassisRedundancyStatusGeneral 1 }

apexChassisRedundancySecondaryApexStatus OBJECT-TYPE
    SYNTAX INTEGER
        {
         unknown (0),
         active  (1),
         standby (2),
         fault   (3),
         suspend (4)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This parameter is applicable for an APEX where chassis redundancy is
         enabled.

         The APEX configured as primary will report the following values:
         These are based on its knowledge about the secondary APEX from heartbeat
         messages.

         unknown(0): State of secondary is not known (heartbeat not received).
         active(1):  Secondary RF outputs are active.
         standby(2): Secondary RF outputs are muted. Waiting to become active.
         fault(3):   Secondary has experienced a fault.
         suspend(4): Secondary is suspended.

         The APEX configured as secondary will report the following values:

         active(1):  Secondary RF outputs are active.
         standby(2): Secondary RF outputs are muted. Waiting to become active.
         fault(3):   Secondary has experienced a fault.
         suspend(4): Secondary is suspended.
        "
::= { apexChassisRedundancyStatusGeneral 2 }

apexChassisRedundancyState OBJECT-TYPE
    SYNTAX INTEGER
        {
         unknown       (0),
         available     (1),
         protected     (2),
         unavailable   (3),
         synchronizing (4)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This parameter is applicable for an APEX where chassis redundancy is
         enabled.

         This parameter will report the chassis redundancy availability status.
         These are based on its knowledge about the secondary APEX from heartbeat
         messages.

         The APEX configured as primary will report the following values:

         unknown(0):       State of redundancy is not known (heartbeat not
                           received).
         available(1):     Primary is active and secondary is in standby,
                           configurations are synchronized and no critical faults
                           on either of the APEX.
         protected(2):     Primary is fault and secondary is in active.
         unavailable(3):   Configuration not synchronized or primary has not
                           received heartbeat message from secondary.
         synchronizing(4): Synchronizing configuration between active and standby
                           APEX's.

         The APEX configured as secondary will report the following values:

         unknown(0):       State of redundancy is not known (heartbeat not
                           received).
         available(1):     Secondary is active and primary is in standby,
                           configurations are synchronized and no critical faults
                           on either of the APEX.
         protected(2):     Secondary is in active and primary is fault state.
         unavailable(3):   Configuration not synchronized or secondary is in
                           fault state or secondary has not received heartbeat
                           message from primary.
         synchronizing(4): Synchronizing configuration between active and standby APEX's.
        "
::= { apexChassisRedundancyStatusGeneral 3 }

apexChassisRedundancyCommunicationStatus OBJECT-TYPE
    SYNTAX INTEGER
        {
         disconnected (0),
         connected    (1)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This parameter is applicable for an APEX where chassis redundancy is
         enabled.

         This parameter will report the chassis redundancy communication status.
         These are based on its knowledge about the secondary APEX from heartbeat
         messages.

         The APEX configured as primary will report the following values:

         disconnected(0): No heartbeat messages are received from secondary or
                          communication timed out.
         connected(1):    Heartbeat messages are received from secondary and
                          communication has not timed out.

         The APEX configured as secondary will report the following values:

         disconnected(0): No heartbeat messages are received from primary or
                          communication timed out.
         connected(1):    Heartbeat messages are received from primary and
                          communication has not timed out.
        "
::= { apexChassisRedundancyStatusGeneral 4 }

apexChassisRedundancyConfigurationStatus OBJECT-TYPE
    SYNTAX INTEGER
        {
         unknown      (0),
         synchronized (1),
         outofsync    (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This parameter is applicable for an APEX where chassis redundancy is
         enabled.

         This parameter will report the chassis redundancy configuration status.
         These are based on its knowledge about the secondary APEX from heartbeat
         messages.

         The APEX configured as primary will report the following values:

         unknown(0):      Secondary configuration is not known or secondary is not
                          connected.
         synchronized(1): Secondary has same configuration as primary (except for
                          QAM outputs).
         outofsync(2):    Secondary configuration is not in sync with primary.

         The APEX configured as secondary will report the following values:

         unknown(0):      Primary configuration is not known or primary is not
                          connected.
         synchronized(1): Primary has same configuration as secondary (except for
                          QAM outputs).
         outofsync(2):    Primary configuration is not in sync with secondary.
        "
::= { apexChassisRedundancyStatusGeneral 5 }

apexChassisRedundancyStatusInvalidApplyText OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..80))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "When apexChassisRedundancyConfigApplyChange is set to
         'applyNotInProgressInvalidData' this entry may contain
         a text description of what was wrong with the data.
        "
::= { apexChassisRedundancyStatusGeneral 6 }

apexChassisRedundancyGeneralConfigSyncStatusText OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..80))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "GigE Config Sync Error info "
::= { apexChassisRedundancyStatusGeneral 7 }

apexChassisRedundancyGigEMismatchStatus OBJECT-TYPE
    SYNTAX INTEGER
        {
         unknown  (0),
         match    (1),
         mismatch (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This parameter indicates whether the GigE configuration of the apexes in 
         Chassis Redundancy pair match.

         Both the APEXs will report the following values:
         These are based on its knowledge about the secondary APEX GigE configuration 
         from heartbeat messages.

         unknown  (0): GigE configuration of pair APEX is not known (heartbeat not received).
         match    (1): GigE configuration of APEXs in redundancy pair match.
         mismatch (2): GigE configuration of APEXs in redundancy pair do not match.

        "
::= { apexChassisRedundancyStatusGeneral 8 }

apexChassisRedundancyQamMismatchStatus OBJECT-TYPE
    SYNTAX INTEGER
        {
         unknown  (0),
         match    (1),
         mismatch (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This parameter indicates whether the QAM configuration of the apexes in 
         Chassis Redundancy pair match.

         Both the APEXs will report the following values:
         These are based on its knowledge about the secondary APEX QAM configuration 
         from heartbeat messages.

         unknown  (0): QAM configuration of pair APEX is not known (heartbeat not received).
         match    (1): QAM configuration of APEXs in redundancy pair match.
         mismatch (2): QAM configuration of APEXs in redundancy pair do not match.

        "
::= { apexChassisRedundancyStatusGeneral 9 }

apexChassisRedundancyFirmwareMismatchStatus OBJECT-TYPE
    SYNTAX INTEGER
        {
         unknown  (0),
         match    (1),
         mismatch (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This parameter indicates whether the Firmware version of the apexes in 
         Chassis Redundancy pair match.

         Both the APEXs will report the following values:
         These are based on its knowledge about the secondary APEX Firmware version 
         from heartbeat messages.

         unknown  (0): Firmware version of pair APEX is not known (heartbeat not received).
         match    (1): Firmware version of APEXs in redundancy pair match.
         mismatch (2): Firmware version of APEXs in redundancy pair do not match.

        "
::= { apexChassisRedundancyStatusGeneral 10 }

apexChassisRedundancyGigE12LinkStatus OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This parameter indicates the combined alarm status of the GigE 1 and GigE 2.
         Indicates the lower of the gigE input interface alarm conditions.

         ok           (1): No alarm on either of GigE1 and GigE2.
         warning      (3): Warning alarm on both GigE1 or GigE2
         minor        (4): minor alarm on both  GigE1 or GigE2
         major        (5): Major alarm on both GigE1 or GigE2   
         critical     (6): critical alarm on both GigE1 and GigE2.

        "
::= { apexChassisRedundancyStatusGeneral 11 }

apexChassisRedundancyGigE34LinkStatus OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This parameter indicates the combined alarm status of the GigE3 and GigE4.
         Indicates the lower of the gigE input interface alarm conditions.

         ok           (1): No alarm on either of GigE3 and GigE4.
         warning      (3): Warning alarm on both GigE3 or GigE4
         minor        (4): minor alarm on both  GigE3 or GigE4
         major        (5): Major alarm on both GigE3 or GigE4   
         critical     (6): critical alarm on both GigE3 and GigE4.

        "
::= { apexChassisRedundancyStatusGeneral 12 }

apexChassisRedundancyCurrHBIntfIPStatus OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This parameter indicates the heartbeat interface used for receiving heartbeat
         from the redundant APEX.
        "
::= { apexChassisRedundancyStatusGeneral 13 }

apexChassisRedundancyAppliedEncAlgorithmStatus OBJECT-TYPE
    SYNTAX INTEGER
        {
         unknown  (0),
         match    (1),
         mismatch (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This parameter indicates if there is a match/mismatch in the applied encryption
         algorithm of the pair APEXs in chassis redundancy.

         Both the APEXs will report the following values:
         These are based on its knowledge about the secondary APEX GigE configuration 
         from heartbeat messages.

         unknown  (0): Applied encryption Algorithm of pair APEX is not known (heartbeat not received).
         match    (1): Applied encryption Algorithm of APEXs in redundancy pair match.
         mismatch (2): Applied encryption Algorithm of APEXs in redundancy pair do not match.

        "
::= { apexChassisRedundancyStatusGeneral 14 }

apexChassisRedundancyMCSimEntitlementStatus OBJECT-TYPE
    SYNTAX INTEGER
        {
         unknown  (0),
         match    (1),
         mismatch (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This parameter indicates if there is a match/mismatch in the ULS license
         of MC SimulCrypt for the chassis redundancy pair APEXes.
         The mismatch will be indicated only when both the pair APEXs are configured
         for MC SimulCrypt encryption mode.

         Both the APEXs will report the following values:
         These are based on its knowledge about the secondary APEX GigE configuration 
         from heartbeat messages.

         unknown  (0): ULS license for MC SimulCrypt of pair APEX is not known (heartbeat not received).
         match    (1): ULS license for MC SimulCrypt of APEXs in redundancy pair match.
         mismatch (2): ULS license for MC SimulCrypt of APEXs in redundancy pair do not match.

        "
::= { apexChassisRedundancyStatusGeneral 15 }

-- ------------------------------------------------------------------------------
--
-- apexDta
--
-- apexDtaConfig
--
-- apexDtaGeneralConfig
--

apexDtaGeneralConfigCatSourceType OBJECT-TYPE
    SYNTAX INTEGER
        {
         internal (1),
         external (2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "When set to internal(0), APEX generates CAT and inserts EMM pid received from DAC.
         When set to external(1), APEX will not generate CAT,
         it will receive both CAT and EMM pids from DAC and inserts EMM pid into CAT.

         @Config(config=yes, reboot=no)
         @Commit(param=apexDtaGeneralConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexDtaGeneralConfig 1 }

apexDtaGeneralConfigCatEmmPidMulticastIP OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Multicast IPv4 address on which CAT/EMM PID stream is available.
         An IP Address of 0.0.0.0 indicates unicast stream.

         @Config(config=yes, reboot=no)
         @Commit(param=apexDtaGeneralConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexDtaGeneralConfig 2 }

apexDtaGeneralConfigCatEmmPidSourceIP OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Source IP address to receive CAT/EMM PID stream.
         This is used only if apexQamRfConfigDtaNetworkPidMulticastIP is set
         to a multicast address.

         @Config(config=yes, reboot=no)
         @Commit(param=apexDtaGeneralConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexDtaGeneralConfig 3 }

apexDtaGeneralConfigCatEmmPidUdpPort OBJECT-TYPE
    SYNTAX Integer32(1024..65535)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "UDP port to receive CAT/EMM PID stream.
         The range of valid UDP port numbers are 1024 to 65535.

         @Config(config=yes, reboot=no)
         @Commit(param=apexDtaGeneralConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexDtaGeneralConfig 4 }

apexDtaGeneralConfigCatEmmPidInterface OBJECT-TYPE
    SYNTAX InputInterfaceTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Fast Ethernet or GIGE Interface to receive CAT/EMM PID stream.
         CAT/EMM PID streams can be received from either fast etherent
         (ENET1 or ENET2) or GIGE etherent port (GIGE1, GIGE2, GIGE3, GIGE4).

         @Config(config=yes, reboot=no)
         @Commit(param=apexDtaGeneralConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexDtaGeneralConfig 5 }

apexDtaGeneralConfigEmmPidNum OBJECT-TYPE
    SYNTAX Integer32(7168..8190)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "EMM PID to insert on DTA enabled OTS.
         The range of valid PID numbers are 0x1C00 to 0x1FFE.

         @Config(config=yes, reboot=no)
         @Commit(param=apexDtaGeneralConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexDtaGeneralConfig 6 }

apexDtaGeneralConfigApplyChange OBJECT-TYPE
    SYNTAX ApplyDataToDeviceTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Apply for DTA Configuration parameters.

         This parameter MUST be set to 'apply' in order for the DTA Cat Config data
         to take effect. This parameter MUST be set LAST after all DTA Config
         parameters affected by this parameter have been configured.

         @Config(config=no, reboot=no)
        "
::= { apexDtaGeneralConfig 7 }

apexDtaGeneralConfigInvalidApplyText OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "When apexDtaGeneralConfigApplyChange is set to
         'applyNotInProgressInvalidData' this entry may contain
         a text description of what was wrong with DTA CAT/EMM PID Config data
         or NET PID Config data.         
        "
::= { apexDtaGeneralConfig 8 }


-- ------------------------------------------------------------------------------
--
-- apexDtaConfigApplyTable
--

apexDtaConfigApplyTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexDtaConfigApplyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Apply table for the configuration tables apexDtaRfPortConfigTable and
         apexDtaOtsConfigTable.
        "
::= { apexDtaConfig 2 }

apexDtaConfigApplyEntry OBJECT-TYPE
    SYNTAX ApexDtaConfigApplyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "DTA RF Port Configuration Apply Table Entry."
    INDEX { apexDtaConfigApplyIndex }
::= { apexDtaConfigApplyTable 1 }

ApexDtaConfigApplyEntry ::= SEQUENCE
    {
     apexDtaConfigApplyIndex     Integer32,
     apexDtaConfigApplyChange    ApplyDataToDeviceTYPE
    }

apexDtaConfigApplyIndex OBJECT-TYPE
    SYNTAX Integer32(1..12)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Defines the size of apexDtaRfPortConfigTable. DTA NET PID can be configured 
         for each RF port. This shall be the number of maximum number of QAM RF port."
::= { apexDtaConfigApplyEntry 1 }

apexDtaConfigApplyChange OBJECT-TYPE
    SYNTAX ApplyDataToDeviceTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Apply for a row of data in apexDtaRfPortConfigTable.

         The Apply for eight rows of data in apexDtaOtsConfigTable.

         A row in this table corresponds to the same row index in the
         apexDtaRfPortConfigTable.

         A row in this table corresponds to eight rows in the
         apexDtaOtsConfigTable when QAM module is type of either 
         2x4 or 2x8 as follows:
            Apply Table     DTA OTS/QAM Config Table
            -----------     -----------------
                 1                1-8
                 2                9-16
                 3               17-24
                 4               25-32
                 5               33-40
                 6               41-48

         A row in this table corresponds to four rows in the
         apexDtaOtsConfigTable when QAM module is type of 4x4 as follows:
            Apply Table     DTA OTS/QAM Config Table
            -----------     -----------------
                 1                1-4
                 2                5-8
                 3               17-20
                 4               21-24                 
                 5               33-36
                 6               37-40                 
                 7                9-12
                 8               13-16
                 9               25-28
                10               29-32
                11               41-44
                12               45-48

         This parameter MUST be set to 'apply' in order for any of the data
         in the rows to take effect in the APEX.  This parameter MUST be set
         LAST after all other data in the configuration table rows has been
         configured.

         @Config(config=no, reboot=no)
        "
::= { apexDtaConfigApplyEntry 2 }


-- ------------------------------------------------------------------------------
--
-- apexDtaRfPortConfigTable
--

apexDtaRfPortConfigTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexDtaRfPortConfigEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of DTA configuration items configurable on a RF Port basis.

         Once written, the change to this table will only take immediate
         effect after apexDtaConfigApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexDtaConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexDtaConfig 3 }

apexDtaRfPortConfigEntry OBJECT-TYPE
    SYNTAX ApexDtaRfPortConfigEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "DTA RF port configuration Table Entry."
    INDEX { apexDtaRfPortConfigIndex }
::= { apexDtaRfPortConfigTable 1 }

ApexDtaRfPortConfigEntry ::= SEQUENCE
    {
     apexDtaRfPortConfigIndex                Integer32,
     apexDtaRfPortConfigNetPidMulticastIP    IpAddress,
     apexDtaRfPortConfigNetPidSourceIP       IpAddress,
     apexDtaRfPortConfigNetPidUdpPort        Integer32,
     apexDtaRfPortConfigNetPidInterface      InputInterfaceTYPE,
     apexDtaRfPortConfigNetPidNum            Integer32
    }

apexDtaRfPortConfigIndex OBJECT-TYPE
    SYNTAX Integer32(1..12)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The QAM RF Port number."
::= { apexDtaRfPortConfigEntry 1 }

apexDtaRfPortConfigNetPidMulticastIP OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Multicast IPv4 address on which Network PID stream is available.
         An IP Address of 0.0.0.0 indicates unicast stream.
        "
::= { apexDtaRfPortConfigEntry 2 }

apexDtaRfPortConfigNetPidSourceIP OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Source IP address to receive Network PID stream.
         This is used only if apexDtaRfPortConfigNetPidMulticastIP is set
         to a multicast address.
        "
::= { apexDtaRfPortConfigEntry 3 }

apexDtaRfPortConfigNetPidUdpPort OBJECT-TYPE
    SYNTAX Integer32 (1024..65535)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "UDP port number to receive Network PID stream.
         The range of valid port numbers are 1024 to 65535.
        "
::= { apexDtaRfPortConfigEntry 4 }

apexDtaRfPortConfigNetPidInterface OBJECT-TYPE
    SYNTAX InputInterfaceTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Fast Ethernet or GIGE Interface to receive Network PID stream.
         Network PID stream can be received from either fast etherent (ENET1 or ENET2)
         or GIGE etherent port (GIGE1, GIGE2, GIGE3, GIGE4).
        "
::= { apexDtaRfPortConfigEntry 5 }

apexDtaRfPortConfigNetPidNum OBJECT-TYPE
    SYNTAX Integer32(7168..8190)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Network PID to insert on DTA enabled OTS.
         The range of valid PID numbers are 0x1C00 to 0x1FFE.
        "
::= { apexDtaRfPortConfigEntry 6 }


-- ------------------------------------------------------------------------------
--
-- apexDtaOtsConfigTable
--

apexDtaOtsConfigTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexDtaOtsConfigEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of DTA configuration items for output transport streams (OTS).

         Once written, the change to this table will only take immediate
         effect after apexDtaConfigApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexDtaConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexDtaConfig 4 }

apexDtaOtsConfigEntry OBJECT-TYPE
    SYNTAX ApexDtaOtsConfigEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "DTA OTS enable configuration Table Entry."
    INDEX { apexDtaOtsConfigIndex }
::= { apexDtaOtsConfigTable 1 }

ApexDtaOtsConfigEntry ::= SEQUENCE
    {
     apexDtaOtsConfigIndex                Integer32,
     apexDtaOtsConfigEnable               EnableDisableTYPE
    }

apexDtaOtsConfigIndex OBJECT-TYPE
    SYNTAX Integer32(1..48)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The Output Transport Stream(OTS) number."
::= { apexDtaOtsConfigEntry 1 }

apexDtaOtsConfigEnable OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This is to enable/disable of inserting DTA messages on OTS.
         When set to disabled(1), DTA messages are not allowed to insert on OTS.
         When set to enabled(2), DTA messages are allowed to insert on OTS.
        "
::= { apexDtaOtsConfigEntry 2 }


-- ------------------------------------------------------------------------------
--
-- apexDepi
--
-- apexDepiConfig
--
-- apexDepiConfigGeneral
--

apexDepiConfigHostname OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..31))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Host name defined as the FQDM of the APEX-EQAM device.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2, default=yes)
         @File(config.ini, type='ini')
        "
::= { apexDepiConfigGeneral 1 }


-- ------------------------------------------------------------------------------
--
-- apexDepiStatus
--
-- apexDepiStatusGeneral
--

apexDepiStatusGeneralDtiPort1LinkActive  OBJECT-TYPE
    SYNTAX ActiveTYPE
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This indicates if the DTI Ethernet link is active."
::= { apexDepiStatusGeneral 1 }

apexDepiStatusGeneralDtiPort2LinkActive  OBJECT-TYPE
    SYNTAX ActiveTYPE
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This indicates if the second DTI Ethernet link is active."
::= { apexDepiStatusGeneral 2 }

apexDepiStatusGeneralDtiClientStatusMode OBJECT-TYPE
    SYNTAX INTEGER
        {
         warmup(1),
         free-run(2),
         fast(3),
         normal(4),
         bridging(5),
         holdover(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The DTI Client MUST support and report these operational modes."
::= { apexDepiStatusGeneral 3 }

apexDepiStatusGeneralDtiClientPhaseError OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "24-bit Phase Error in units of 149.8 MHz sample clock cycles.
         The lower eight bits of the 24-bit field MUST be padded with
         zeros and MUST NOT be used by the DTI server. The value MUST be a
         signed 2's complement number. If the DTI client supports more bits of
         resolution, the DTI client MUST round the reported value to the nearest
         integer sample clock cycle.
        "
::= { apexDepiStatusGeneral 4 }

apexDepiStatusGeneralDtiCurrentTimestamp OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "DOCSIS 32-bit timestamp (DTS). "
::= { apexDepiStatusGeneral 5 }

apexDepiStatusGeneralDtiPort1CableAdvanceValue OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "24-bit Cable Advance value is derived by dividing the cable delay by 2."
::= { apexDepiStatusGeneral 6 }

apexDepiStatusGeneralDtiPort2CableAdvanceValue OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "24-bit Cable Advance value is derived by dividing the cable delay by 2."
::= { apexDepiStatusGeneral 7 }


-- ------------------------------------------------------------------------------
--
-- apexDepiControl
--
-- apexDepiControlConfig
--
-- apexDepiControlConfigGeneral
--

apexDepiControlConfigGeneralKeepaliveTimeout OBJECT-TYPE
    SYNTAX Integer32(10..600)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Timeout in seconds to wait while no control or data messages are received
         within the connection before sending a DEPI:HELLO message.
         Default is 60 seconds.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexDepiControlConfigGeneral 1 }


-- ------------------------------------------------------------------------------
--
-- apexDepiControlConfigApplyTable
--

apexDepiControlConfigApplyTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexDepiControlConfigApplyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of Apply Change for the data for apexDepiControlConfigTable.

         Entries in the apexDepiControlConfigTable cannot be modified while DEPI Control
         Connections and DEPI Sessions currently exist.
        "
::= { apexDepiControlConfig 2 }

apexDepiControlConfigApplyEntry OBJECT-TYPE
    SYNTAX ApexDepiControlConfigApplyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "DEPI Control Configuration Apply Table Entry.
        "
    INDEX { apexDepiControlConfigApplyIndex }
::= { apexDepiControlConfigApplyTable 1 }

ApexDepiControlConfigApplyEntry ::= SEQUENCE
    {
     apexDepiControlConfigApplyIndex    Integer32,
     apexDepiControlConfigApplyChange   ApplyDataToDeviceTYPE
    }

apexDepiControlConfigApplyIndex OBJECT-TYPE
    SYNTAX Integer32(1..10)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The index of the Depi Control Config Apply Table."
::= { apexDepiControlConfigApplyEntry 1 }

apexDepiControlConfigApplyChange OBJECT-TYPE
    SYNTAX ApplyDataToDeviceTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Apply for any entries in the apexDepiControlConfigTable.

         Entries in the apexDepiControlConfigTable cannot be modified while DEPI Control
         Connections and DEPI Sessions currently exist.

         This parameter MUST be set to 'apply' in order for any of the data
         in the apexDepiControlConfigTable to take effect.  This
         parameter MUST be set LAST after all other data in the group has
         been configured.

         Once written, the change to this parameter will take immediate effect.

         @Config(config=no, reboot=no)
        "
::= { apexDepiControlConfigApplyEntry 2 }


-- ------------------------------------------------------------------------------
--
-- apexDepiControlConfigTable
--

apexDepiControlConfigTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexDepiControlConfigEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This table provides a list of DEPI Control Connections initiated by
         M-CMTS Cores.  A maximum of 10 connections is accepted.

         Entries in the apexDepiControlConfigTable cannot be modified while DEPI Control
         Connections and DEPI Sessions currently exist.

         @Config(config=yes, reboot=no)
         @Commit(param=apexDepiControlConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexDepiControlConfig 3 }

apexDepiControlConfigEntry OBJECT-TYPE
    SYNTAX ApexDepiControlConfigEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "DEPI Control Configuration Table Entry.
        "
    INDEX { apexDepiControlConfigIndex }
::= { apexDepiControlConfigTable 1 }

ApexDepiControlConfigEntry ::= SEQUENCE
    {
     apexDepiControlConfigIndex            Integer32,
     apexDepiControlConfigEnable           EnableDisableTYPE,
     apexDepiControlConfigInterfaceNumber  Integer32,
     apexDepiControlConfigSrcIpAddr        IpAddress,
     apexDepiControlConfigOverUdp          INTEGER,
     apexDepiControlConfigType             INTEGER
    }

apexDepiControlConfigIndex OBJECT-TYPE
    SYNTAX Integer32(1..10)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The index of the Depi Control Config Table."
::= { apexDepiControlConfigEntry 1 }


apexDepiControlConfigEnable OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The enable setting for DEPI Control Connection.

         Once written, the change to this parameter will take immediate
         effect.  In order for the change to persist through subsequent
         reboots or power cycles, the change must be saved via the
         apexSaveConfig parameter.
        "
::= { apexDepiControlConfigEntry 2 }

apexDepiControlConfigInterfaceNumber OBJECT-TYPE
    SYNTAX Integer32(0..4)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Represents the Gigabit Ethernet interface number.
         Range:
            '0'      = Not Applicable
            GBE      = 1-4
        "
::= { apexDepiControlConfigEntry 3 }

apexDepiControlConfigSrcIpAddr OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This parameter indicates the M-CMTS Core IP address.
        "
::= { apexDepiControlConfigEntry 4 }

apexDepiControlConfigOverUdp OBJECT-TYPE
    SYNTAX INTEGER
        {
         over-IP  (1),
         over-UDP (2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This parameter indicates whether the DEPI Control Connection and
         Sessions will be accepted over the UDP protocol.
        "
::= { apexDepiControlConfigEntry 5 }

apexDepiControlConfigType OBJECT-TYPE
    SYNTAX INTEGER
        {
         static (1),
         dynamic(2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This parameter indicates whether DEPI Sessions are established
         dynamically using the DEPI control protocol or statically.
         
         Not supported.
        "
::= { apexDepiControlConfigEntry 6 }


-- ------------------------------------------------------------------------------
--
-- apexDepiControlStatus
--
-- apexDepiControlStatusGeneral
--

apexDepiControlStatusGeneralTotalConnections OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of DEPI Control Connections established since reboot."
::= { apexDepiControlStatusGeneral 1 }

apexDepiControlStatusGeneralCurrentConnections OBJECT-TYPE
    SYNTAX Integer32(1..10)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current number of DEPI Control Connections currently connected."
::= { apexDepiControlStatusGeneral 2 }

apexDepiControlStatusGeneralRejectedConnections OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of control connection requests rejected for any reason."
::= { apexDepiControlStatusGeneral 3 }

apexDepiControlStatusGeneralUnknownConnectionMessages OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of DEPI control messages ignored not related to any
        existing control connection i.e. unrecognized connection identifier."
::= { apexDepiControlStatusGeneral 4 }

apexDepiControlStatusGeneralUnknownSessionMessages OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of DEPI messages ignored not related to any existing
        session i.e. unrecognized session identifier."
::= { apexDepiControlStatusGeneral 5 }

apexDepiControlStatusGeneralInvalidApplyText OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..80))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "When apexDepiControlConfigApplyChange is set to
         'applyNotInProgressInvalidData' this entry may contain
         a text description of what was wrong with the data. This
         entry contains the description for the most recent apply
         of a related entry that was invalid.
        "
::= { apexDepiControlStatusGeneral 6 }


-- ------------------------------------------------------------------------------
--
-- apexDepiControlStatusTable
--

apexDepiControlStatusTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexDepiControlStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of read-only status information pertaining to the DEPI Control
         Connections."
::= { apexDepiControlStatus 2 }

apexDepiControlStatusEntry OBJECT-TYPE
    SYNTAX ApexDepiControlStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "DEPI Control Status Table Entry."
    INDEX { apexDepiControlStatusIndex }
::= { apexDepiControlStatusTable 1 }

ApexDepiControlStatusEntry ::= SEQUENCE
    {
      apexDepiControlStatusIndex              Integer32,
      apexDepiControlStatusLocalUdp           Integer32,
      apexDepiControlStatusRemoteUdp          Integer32,
      apexDepiControlStatusConnectionStatus   INTEGER,
      apexDepiControlStatusUnknownCtl         Unsigned32,
      apexDepiControlStatusMalformedCtl       Unsigned32,
      apexDepiControlStatusUnknownAvp         Unsigned32,
      apexDepiControlStatusMalformedAvp       Unsigned32,
      apexDepiControlStatusInvalidVendorId    Unsigned32,
      apexDepiControlStatusHbitSet            Unsigned32,
      apexDepiControlStatusTotalSessions      Unsigned32,
      apexDepiControlStatusCurrentSessions    Unsigned32,
      apexDepiControlStatusRejectedSessions   Unsigned32
    }

apexDepiControlStatusIndex OBJECT-TYPE
    SYNTAX Integer32(1..10)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "DEPI Session ID"
::= { apexDepiControlStatusEntry 1 }

apexDepiControlStatusLocalUdp OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The EQAM UDP port used in DEPI session messages from M-CMTS core.
         Only valid for DEPI connections using L2TPv3/UDP/IP.
        "
::= { apexDepiControlStatusEntry 2 }

apexDepiControlStatusRemoteUdp OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The M-CMTS UDP port used in DEPI session messages from M-CMTS core.
         Only valid for DEPI connections using L2TPv3/UDP/IP.
        "
::= { apexDepiControlStatusEntry 3 }

apexDepiControlStatusConnectionStatus OBJECT-TYPE
    SYNTAX INTEGER
        {
         terminated          (1),
         failed              (2),
         waiting             (3),
         established         (4)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "M-CMTS core to the EQAM control connection status"
::= { apexDepiControlStatusEntry 4 }

apexDepiControlStatusUnknownCtl OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of unrecognized DEPI messages not marked as mandatory
         received on this control connection.
        "
::= { apexDepiControlStatusEntry 5 }

apexDepiControlStatusMalformedCtl OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of malformed DEPI messages received on this control
         connection.
        "
::= { apexDepiControlStatusEntry 6 }

apexDepiControlStatusUnknownAvp OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of messages received on this control connection with an
         unsupported AVP.
        "
::= { apexDepiControlStatusEntry 7 }

apexDepiControlStatusMalformedAvp OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of messages received on this control connection with
         malformed AVP.
        "
::= { apexDepiControlStatusEntry 8 }

apexDepiControlStatusInvalidVendorId OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of messages with an unsupported Vendor ID received on this
         control connection. The supported vendor IDs are 0 or 4491.
        "
::= { apexDepiControlStatusEntry 9 }

apexDepiControlStatusHbitSet OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of messages received on this control connection with H-bit
         set to 1.
        "
::= { apexDepiControlStatusEntry 10 }

apexDepiControlStatusTotalSessions OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Total number of sessions established on this control connection since
         EQAM reboot. Only valid for dynamically established connections.
        "
::= { apexDepiControlStatusEntry 11 }

apexDepiControlStatusCurrentSessions OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of session currently  established on this control connection.
         Only valid for dynamically established connections.
        "
::= { apexDepiControlStatusEntry 12 }

apexDepiControlStatusRejectedSessions OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of session setup related (ICQR/ICCN) messages rejected on
         this control connection.
        "
::= { apexDepiControlStatusEntry 13 }


-- ------------------------------------------------------------------------------
--
-- apexDepiSessionConfigApplyTable
--

apexDepiSessionConfigApplyTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexDepiSessionConfigApplyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of Apply Change for the data for apexDepiSessionConfigTable.
        "
::= { apexDepiSessionConfig 1 }

apexDepiSessionConfigApplyEntry OBJECT-TYPE
    SYNTAX ApexDepiSessionConfigApplyEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "DEPI Session Status Table Entry."
    INDEX { apexDepiSessionConfigApplyOutputTsNum }
::= { apexDepiSessionConfigApplyTable 1 }

ApexDepiSessionConfigApplyEntry ::= SEQUENCE
    {
     apexDepiSessionConfigApplyOutputTsNum    Integer32,
     apexDepiSessionConfigApplyChange         ApplyDataToDeviceTYPE
    }

apexDepiSessionConfigApplyOutputTsNum OBJECT-TYPE
    SYNTAX Integer32(1..48)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The index of the Depi Session Config Apply Table."
::= { apexDepiSessionConfigApplyEntry 1 }

apexDepiSessionConfigApplyChange OBJECT-TYPE
    SYNTAX ApplyDataToDeviceTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Apply for any entries in the apexDepiSessionConfigTable.

         This parameter MUST be set to 'apply' in order for any of the data
         in the apexDepiSessionConfigTable to take effect.  This
         parameter MUST be set LAST after all other data in the table entry has
         been configured.

         Once written, the change to this parameter will take immediate effect.

         @Config(config=no, reboot=no)
        "
::= { apexDepiSessionConfigApplyEntry 2 }


-- ------------------------------------------------------------------------------
--
-- apexDepiSessionConfigTable
--

apexDepiSessionConfigTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexDepiSessionConfigEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of data for DEPI Session Mapping. There are
         48 rows in this table mapping QAM output TS to DEPI Session.

         Once written, the change to this table will only take immediate
         effect after apexDepiSessionConfigApplyChange is set to 'apply'.
         However, in order for the change to persist through subsequent
         reboots or power cycles, the change must be saved via apexSaveConfig.

         @Config(config=yes, reboot=no)
         @Commit(param=apexDepiSessionConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexDepiSessionConfig 2 }

apexDepiSessionConfigEntry OBJECT-TYPE
    SYNTAX ApexDepiSessionConfigEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "DEPI Session  Config Table Entry."
    INDEX { apexDepiSessionConfigOutputTsNum }
::= { apexDepiSessionConfigTable 1 }

ApexDepiSessionConfigEntry ::= SEQUENCE
    {
     apexDepiSessionConfigOutputTsNum    Integer32,
     apexDepiSessionConfigEnable         EnableDisableTYPE,
     apexDepiSessionConfigControlId      Integer32,
     apexDepiSessionConfigDocsisTsid     Integer32,
     apexDepiSessionConfigUdpPort        Integer32,
     apexDepiSessionConfigSyncCorrection EnableDisableTYPE
    }

apexDepiSessionConfigOutputTsNum OBJECT-TYPE
    SYNTAX Integer32(1..48)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The QAM output transport stream number which to associate the DEPI Session.
        "
::= { apexDepiSessionConfigEntry 1 }

apexDepiSessionConfigEnable OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The enable setting for DEPI Session.

         Once written, the change to this parameter will take immediate
         effect.  In order for the change to persist through subsequent
         reboots or power cycles, the change must be saved via the
         apexSaveConfig parameter.
        "
::= { apexDepiSessionConfigEntry 2 }

apexDepiSessionConfigControlId OBJECT-TYPE
    SYNTAX Integer32 (0..10)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "DOCSIS Control ID assignment. Value of 0 indicates transport stream to be used
         for Video only.
        "
::= { apexDepiSessionConfigEntry 3 }

apexDepiSessionConfigDocsisTsid OBJECT-TYPE
    SYNTAX Integer32(0..65535)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The system wide unique M-CMTS TSID mapped to the QAM. This TSID is specified by the
         remote ID from the ICRQ message.
        "
::= { apexDepiSessionConfigEntry 4 }

apexDepiSessionConfigUdpPort OBJECT-TYPE
    SYNTAX Integer32 (1..65535)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "UDP port number defining the DEPI Session (if UDP is enabled.) The
         range of valid port numbers is 1 to 65535.
        "
::= { apexDepiSessionConfigEntry 5 }

apexDepiSessionConfigSyncCorrection OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Enable or disable updating the timestamp in the SYNC messages. This
        is only valid for static connections. (For dynamically established
        sessions, M-CMTS core enables or disables the SYNC correction during
        session establishment)
        "
::= { apexDepiSessionConfigEntry 6 }


-- ------------------------------------------------------------------------------
--
-- apexDepiSessionStatusGeneral
--

apexDepiSessionStatusGeneralInvalidApplyText OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..80))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "When apexDepiSessionConfigApplyChange is set to
         'applyNotInProgressInvalidData' this entry may contain
         a text description of what was wrong with the data. This
         entry contains the description for the most recent apply
         of a related entry that was invalid.
        "
::= { apexDepiSessionStatusGeneral 1 }


-- ------------------------------------------------------------------------------
--
-- apexDepiSessionStatusTable
--

apexDepiSessionStatusTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexDepiSessionStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of read-only status information pertaining to the DEPI Sessions."
::= { apexDepiSessionStatus 2 }

apexDepiSessionStatusEntry OBJECT-TYPE
    SYNTAX ApexDepiSessionStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "DEPI Session Status Table Entry."
    INDEX { apexDepiSessionStatusIndex }
::= { apexDepiSessionStatusTable 1 }

ApexDepiSessionStatusEntry ::= SEQUENCE
    {
      apexDepiSessionStatusIndex                   Integer32,
      apexDepiSessionStatusControlId               Integer32,
      apexDepiSessionStatusOutputQAMChannel        Integer32,
      apexDepiSessionStatusLocalUdp                Integer32,
      apexDepiSessionStatusRemoteUdp               Integer32,
      apexDepiSessionStatusStatus                  INTEGER,
      apexDepiSessionStatusPerHopBehavior          Integer32,
      apexDepiSessionStatusUnknownCtl              Unsigned32,
      apexDepiSessionStatusMalformedCtl            Unsigned32,
      apexDepiSessionStatusUnknownAvp              Unsigned32,
      apexDepiSessionStatusMalformedAvp            Unsigned32,
      apexDepiSessionStatusInvalidVendorId         Unsigned32,
      apexDepiSessionStatusHbitSet                 Unsigned32,
      apexDepiSessionStatusInSLIMsgs               Unsigned32,
      apexDepiSessionStatusOutSLIMsgs              Unsigned32,
      apexDepiSessionStatusIngressDlmMsgs          Unsigned32,
      apexDepiSessionStatusEgressDlmMsgs           Unsigned32,
      apexDepiSessionStatusLatencyStart            Unsigned32,
      apexDepiSessionStatusLatencyEnd              Unsigned32,
      apexDepiSessionStatusInDataPackets           Unsigned32,
      apexDepiSessionStatusInSequenceDiscards      Unsigned32,
      apexDepiSessionStatusInDataPacketDiscards    Unsigned32,
      apexDepiSessionStatusSessionID               Unsigned32
    }

apexDepiSessionStatusIndex OBJECT-TYPE
    SYNTAX Integer32(1..48)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "DEPI Session ID."
::= { apexDepiSessionStatusEntry 1 }

apexDepiSessionStatusControlId OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The DEPI Control ID this session belongs to."
::= { apexDepiSessionStatusEntry 2 }

apexDepiSessionStatusOutputQAMChannel OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The QAM Channel number this session is mapped to."
::= { apexDepiSessionStatusEntry 3 }

apexDepiSessionStatusLocalUdp OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The local UDP port used by the APEX to communicate the DEPI Session
         messages to the M-CMTS Core"
::= { apexDepiSessionStatusEntry 4 }

apexDepiSessionStatusRemoteUdp OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The remote UDP port used by the M-CMTS Core to communicate the DEPI
         Session messages to the Apex."
::= { apexDepiSessionStatusEntry 5 }

apexDepiSessionStatusStatus OBJECT-TYPE
    SYNTAX INTEGER
        {
         terminated          (1),
         failed              (2),
         waiting             (3),
         established         (4)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "M-CMTS core to the EQAM control connection status"
::= { apexDepiSessionStatusEntry 6 }

apexDepiSessionStatusPerHopBehavior OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Per Hop Behavior value for this session."
::= { apexDepiSessionStatusEntry 7 }

apexDepiSessionStatusUnknownCtl OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of unrecognized DEPI messages not marked as mandatory
         received on this session."
::= { apexDepiSessionStatusEntry 8 }

apexDepiSessionStatusMalformedCtl OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of malformed DEPI messages received on this session."
::= { apexDepiSessionStatusEntry 9 }

apexDepiSessionStatusUnknownAvp OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of messages received on this session with an unsupported AVP."
::= { apexDepiSessionStatusEntry 10 }

apexDepiSessionStatusMalformedAvp OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of messages received on this session with malformed AVP."
::= { apexDepiSessionStatusEntry 11 }

apexDepiSessionStatusInvalidVendorId OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of messages with an unsupported Vendor ID received on this
         session. The supported vendor IDs are 0 or 4491."
::= { apexDepiSessionStatusEntry 12 }

apexDepiSessionStatusHbitSet OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of messages received on this session with H-bit set to 1."
::= { apexDepiSessionStatusEntry 13 }

apexDepiSessionStatusInSLIMsgs OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of SLI messages received on this session."
::= { apexDepiSessionStatusEntry 14 }

apexDepiSessionStatusOutSLIMsgs OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of SLI messages sent on this session."
::= { apexDepiSessionStatusEntry 15 }

apexDepiSessionStatusIngressDlmMsgs OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of DLM messages received on this session."
::= { apexDepiSessionStatusEntry 16 }

apexDepiSessionStatusEgressDlmMsgs OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of DLM messages sent on this session."
::= { apexDepiSessionStatusEntry 17 }

apexDepiSessionStatusLatencyStart OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Last latency related timestamp start value received."
::= { apexDepiSessionStatusEntry 18 }

apexDepiSessionStatusLatencyEnd OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Last latency related timestamp end value received."
::= { apexDepiSessionStatusEntry 19 }

apexDepiSessionStatusInDataPackets OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of data packets received on this session."
::= { apexDepiSessionStatusEntry 20 }

apexDepiSessionStatusInSequenceDiscards OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of data packets received on this session that are discarded
         due to sequencing error."
::= { apexDepiSessionStatusEntry 21 }

apexDepiSessionStatusInDataPacketDiscards OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of data packets received on this session that are discarded
         for reasons other than sequencing errors."
::= { apexDepiSessionStatusEntry 22 }

apexDepiSessionStatusSessionID OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Remote DEPI Session ID, used by the Remote End to identify the DEPI
         Session and locally to bind the Session to a QAM Channel."
::= { apexDepiSessionStatusEntry 23 }


-- ------------------------------------------------------------------------------
--
-- apexPsip
--
-- apexPsipConfig
--
-- apexPsipConfigGeneral
--

apexPsipConfigApplyChange OBJECT-TYPE
    SYNTAX ApplyDataToDeviceTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Apply for parameters in apexPsipConfigGeneral.

         This parameter MUST be set to 'apply' in order for other
         apexPsipConfigGeneral parameters to take effect.
         This parameter MUST be set LAST after other apexPsipConfigGeneral
         parameters have been configured.

         @Config(config=no, reboot=no)
        "
::= { apexPsipConfigGeneral 1 }

apexPsipConfigMgtMsgInsertionPeriod OBJECT-TYPE
    SYNTAX Unsigned32(150..1000)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Specify insertion rate (ms) for MGT PSIP table.

         Once written, the change to this parameter will only take immediate
         effect after apexPsipConfigApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexPsipConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexPsipConfigGeneral 2 }

apexPsipConfigSttMsgInsertionPeriod OBJECT-TYPE
    SYNTAX Unsigned32(1000..5000)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Specify insertion rate (ms) for STT PSIP table.

         Once written, the change to this parameter will only take immediate
         effect after apexPsipConfigApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexPsipConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexPsipConfigGeneral 3 }

apexPsipConfigCvctMsgInsertionPeriod OBJECT-TYPE
    SYNTAX Unsigned32(400..1000)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Specify insertion rate (ms) for CVCT PSIP table.

         Once written, the change to this parameter will only take immediate
         effect after apexPsipConfigApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexPsipConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexPsipConfigGeneral 4 }

apexPsipConfigRrtMsgInsertionPeriod OBJECT-TYPE
    SYNTAX Unsigned32(30000..60000)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Specify insertion rate (ms) for RRT PSIP table.

         Once written, the change to this parameter will only take immediate
         effect after apexPsipConfigApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexPsipConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexPsipConfigGeneral 5 }

apexPsipConfigEit0InsertionPeriod OBJECT-TYPE
    SYNTAX Unsigned32(500..60000)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "EIT insertion rate (ms) of EIT-0.

         Once written, the change to this parameter will only take immediate
         effect after apexPsipConfigApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexPsipConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexPsipConfigGeneral 6 }

apexPsipConfigEit1InsertionPeriod OBJECT-TYPE
    SYNTAX Unsigned32(500..60000)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "EIT insertion rate (ms) of EIT-1.

         Once written, the change to this parameter will only take immediate
         effect after apexPsipConfigApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexPsipConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexPsipConfigGeneral 7 }

apexPsipConfigEit2InsertionPeriod OBJECT-TYPE
    SYNTAX Unsigned32(500..60000)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "EIT insertion rate (ms) of EIT-2.

         Once written, the change to this parameter will only take immediate
         effect after apexPsipConfigApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexPsipConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexPsipConfigGeneral 8 }

apexPsipConfigEit3InsertionPeriod OBJECT-TYPE
    SYNTAX Unsigned32(500..60000)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "EIT insertion rate (ms) of EIT-3.

         Once written, the change to this parameter will only take immediate
         effect after apexPsipConfigApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexPsipConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexPsipConfigGeneral 9 }


-- ------------------------------------------------------------------------------
--
-- apexPsipConfigTime
--

apexPsipConfigTimeApplyChange OBJECT-TYPE
    SYNTAX ApplyDataToDeviceTYPE 
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Apply for parameters in apexPsipConfigTime group.

         This parameter MUST be set to 'apply' in order for other
         apexPsipConfigTime parameters to take effect.
         This parameter MUST be set LAST after other apexPsipConfigTime
         parameters have been configured.

         @Config(config=no, reboot=no)
        "
::= { apexPsipConfigTime 1 }

apexPsipConfigTimeDsMonthIn OBJECT-TYPE
    SYNTAX Unsigned32(1..12)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Configurable month for entering DST.

         Once written, the change to this parameter will only take immediate
         effect after apexPsipConfigTimeApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexPsipConfigTimeApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexPsipConfigTime 2 }

apexPsipConfigTimeDsDayIn OBJECT-TYPE
    SYNTAX Unsigned32(1..31)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Configurable day for entering DST.

         Once written, the change to this parameter will only take immediate
         effect after apexPsipConfigTimeApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexPsipConfigTimeApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexPsipConfigTime 3 }

apexPsipConfigTimeDsHourIn OBJECT-TYPE
    SYNTAX Unsigned32(0..18)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Configurable hour for entering DST.

         Once written, the change to this parameter will only take immediate
         effect after apexPsipConfigTimeApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexPsipConfigTimeApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexPsipConfigTime 4 }

apexPsipConfigTimeDsMonthOut OBJECT-TYPE
    SYNTAX Unsigned32(1..12)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Configurable month for exiting DST.

         Once written, the change to this parameter will only take immediate
         effect after apexPsipConfigTimeApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexPsipConfigTimeApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexPsipConfigTime 5 }

apexPsipConfigTimeDsDayOut OBJECT-TYPE
    SYNTAX Unsigned32(1..31)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Configurable day for exiting DST.

         Once written, the change to this parameter will only take immediate
         effect after apexPsipConfigTimeApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexPsipConfigTimeApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexPsipConfigTime 6 }

apexPsipConfigTimeDsHourOut OBJECT-TYPE
    SYNTAX Unsigned32(0..18)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Configurable hour for exiting DST.

         Once written, the change to this parameter will only take immediate
         effect after apexPsipConfigTimeApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Commit(param=apexPsipConfigTimeApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexPsipConfigTime 7 }


-- ------------------------------------------------------------------------------
--
-- apexPsipStatusInputTable
--

apexPsipStatusInputTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexPsipStatusInputEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The following table contains a list of messages that are being extracted
         from the input side.
        "
::= { apexPsipStatus 2 }

apexPsipStatusInputEntry OBJECT-TYPE
    SYNTAX ApexPsipStatusInputEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "PSIP Table Entry."
    INDEX { apexPsipStatusInputIndex,    apexPsipStatusInputPid,     apexPsipStatusInputMessageType,
            apexPsipStatusInputSourceId, apexPsipStatusInputSegment, apexPsipStatusInputPart }
::= { apexPsipStatusInputTable 1 }

ApexPsipStatusInputEntry ::= SEQUENCE
    {
     apexPsipStatusInputIndex         Integer32,
     apexPsipStatusInputPid           Integer32,
     apexPsipStatusInputMessageType   Integer32,
     apexPsipStatusInputSourceId      Integer32,
     apexPsipStatusInputSegment       Integer32,
     apexPsipStatusInputPart          Integer32,
     apexPsipStatusInputBody          DisplayString,
     apexPsipStatusInputGpsTime       Integer32,
     apexPsipStatusInputInfo          DisplayString
    }

apexPsipStatusInputIndex OBJECT-TYPE
    SYNTAX Integer32(1..784)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Indicates the input index for which this message applies."
::= { apexPsipStatusInputEntry 1 }

apexPsipStatusInputPid OBJECT-TYPE
    SYNTAX Integer32(0..8191)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Indicates the PID that this message is contained in."
::= { apexPsipStatusInputEntry 2 }

apexPsipStatusInputMessageType OBJECT-TYPE
    SYNTAX Integer32(0..255)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Indicates the PSIP message type.
         199 - MGT
         200 - TVCT
         201 - CVCT
         203 - EIT
         202 - RRT
         205 - STT
        "
::= { apexPsipStatusInputEntry 3 }

apexPsipStatusInputSourceId OBJECT-TYPE
    SYNTAX Integer32(0..65535)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Indicates the Source Id of EIT tables.  When a
         message is not specifically related to a program,
         this value is 0."
::= { apexPsipStatusInputEntry 4 }

apexPsipStatusInputSegment OBJECT-TYPE
    SYNTAX Integer32(0..256)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Indicates the segment number of this message.
         Otherwise this is 0."
::= { apexPsipStatusInputEntry 5 }

apexPsipStatusInputPart OBJECT-TYPE
    SYNTAX Integer32(1..16)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Since a message can be 4096 bytes long the message
         may divided into parts. Each part of the message is
         indexed using this index."
::= { apexPsipStatusInputEntry 6 }

apexPsipStatusInputBody OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Raw ASCII hex of the PSIP message."
::= { apexPsipStatusInputEntry 7 }

apexPsipStatusInputGpsTime OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The GPS time when the PSIP message was added to the table."
::= { apexPsipStatusInputEntry 8 }

apexPsipStatusInputInfo OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Comma-separated string showing Input Interface, UDP port,
         Multicast IP, and Source IP for this PSIP message."
::= { apexPsipStatusInputEntry 9 }


-- ------------------------------------------------------------------------------
--
-- apexPsipStatusOutputTable
--

apexPsipStatusOutputTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexPsipStatusOutputEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The following table contains a list of messages that are
         being inserted to the output side of the apex.
        "
::= { apexPsipStatus 3 }

apexPsipStatusOutputEntry OBJECT-TYPE
    SYNTAX ApexPsipStatusOutputEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "PSIP Table Entry."
    INDEX { apexPsipStatusOutputIndex,    apexPsipStatusOutputPid,     apexPsipStatusOutputMessageType,
            apexPsipStatusOutputSourceId, apexPsipStatusOutputSegment, apexPsipStatusOutputPart }
::= { apexPsipStatusOutputTable 1 }

ApexPsipStatusOutputEntry ::= SEQUENCE
    {
     apexPsipStatusOutputIndex         Integer32,
     apexPsipStatusOutputPid           Integer32,
     apexPsipStatusOutputMessageType   Integer32,
     apexPsipStatusOutputSourceId      Integer32,
     apexPsipStatusOutputSegment       Integer32,
     apexPsipStatusOutputPart          Integer32,
     apexPsipStatusOutputBody          DisplayString,
     apexPsipStatusOutputGpsTime       Integer32
    }

apexPsipStatusOutputIndex OBJECT-TYPE
    SYNTAX Integer32(1..48)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Indicates the Output index for which this message applies.
         This is the Output Transport Stream number (1..48).
        "
::= { apexPsipStatusOutputEntry 1 }

apexPsipStatusOutputPid OBJECT-TYPE
    SYNTAX Integer32(0..8191)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Indicates the PID that this message is contained in."
::= { apexPsipStatusOutputEntry 2 }

apexPsipStatusOutputMessageType OBJECT-TYPE
    SYNTAX Integer32(0..255)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Indicates the PSIP message type.
         199 - MGT
         200 - TVCT
         201 - CVCT
         203 - EIT
         202 - RRT
         205 - STT"
::= { apexPsipStatusOutputEntry 3 }

apexPsipStatusOutputSourceId OBJECT-TYPE
    SYNTAX Integer32(0..65535)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Indicates the Source Id of EIT tables.  When a
         message is not specifically related to a program,
         this value is 0."
::= { apexPsipStatusOutputEntry 4 }

apexPsipStatusOutputSegment OBJECT-TYPE
    SYNTAX Integer32(0..256)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Indicates the segment number of this message.
         Otherwise this is 0."
::= { apexPsipStatusOutputEntry 5 }

apexPsipStatusOutputPart OBJECT-TYPE
    SYNTAX Integer32(1..16)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Since a message can be 4096 bytes long the message may divided into parts.
         Each part of the message is indexed using this index."
::= { apexPsipStatusOutputEntry 6 }

apexPsipStatusOutputBody OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Raw ASCII hex of the PSIP message."
::= { apexPsipStatusOutputEntry 7 }

apexPsipStatusOutputGpsTime OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The GPS time when the PSIP message was added to the table."
::= { apexPsipStatusOutputEntry 8 }


-- ------------------------------------------------------------------------------
--
-- apexPsipStatusServiceTable
--

apexPsipStatusServiceTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexPsipStatusServiceEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "The following table shows the PSIP status per service.
         For each service, the service number, the Output Transport
         Stream number, its PSIP state and its source id are shown
         in the current entry. This table is indexed the same as
         apexOutputProgramTable.
        "
::= { apexPsipStatus 4 }

apexPsipStatusServiceEntry OBJECT-TYPE
    SYNTAX ApexPsipStatusServiceEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "PSIP Status Table Entry per service."
    INDEX {  apexPsipStatusServiceIndex }
::= { apexPsipStatusServiceTable 1 }

ApexPsipStatusServiceEntry ::= SEQUENCE
    {
     apexPsipStatusServiceIndex          Integer32,
     apexPsipStatusServiceNum            Integer32,
     apexPsipStatusServiceOutputTs       Integer32,
     apexPsipStatusServiceState          DisplayString,
     apexPsipStatusServiceSourceId       Integer32
    }

apexPsipStatusServiceIndex  OBJECT-TYPE
    SYNTAX Integer32(1..768)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Output Program Table Index."
::= { apexPsipStatusServiceEntry 1 }

apexPsipStatusServiceNum  OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Current Output Service Number."
::= { apexPsipStatusServiceEntry 2 }

apexPsipStatusServiceOutputTs OBJECT-TYPE
    SYNTAX Integer32(1..48)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Current Output Transport Stream of this service."
::= { apexPsipStatusServiceEntry 3 }

apexPsipStatusServiceState OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..64))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Current program PSIP state."
::= { apexPsipStatusServiceEntry 4 }

apexPsipStatusServiceSourceId OBJECT-TYPE
    SYNTAX Integer32(1..65535)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Current PSIP Program Source Id."
::= { apexPsipStatusServiceEntry 5 }


-- ------------------------------------------------------------------------------
--
-- apexPreencryption
--
-- apexPreencryptionConfig
--
-- apexPreencryptionConfigGeneral
--

apexSupportPreencryptedSimulcrypt OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Allows to configure the APEX to support services pre-encrypted with Simulcrypt.
         All the CA descriptors present in the input PMT will be copied to the output PMT,
         modifying the ECM PID references if needed.
         Default value is enabled.
         
         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexPreencryptionConfigGeneral 1 }

-- ------------------------------------------------------------------------------
--
-- apexOutputAncillaryPid
--
-- apexOutputAncillaryPidConfig
--
-- apexOutputAncillaryPidConfigGeneral
--

-- none

-- ------------------------------------------------------------------------------
--
-- apexOutputAncillaryPidStatus
--
-- apexOutputAncillaryPidStatusGeneral
--

apexOutputAncillaryPidBitrateSamplePeriod OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Sample Period for Output Ancillary PID bitrate collection.
         This parameter indicates the length of time in the unit of 
         milliseconds the TS packets are collected during a sample.
        "
::= { apexOutputAncillaryPidStatusGeneral 1 }

-- ------------------------------------------------------------------------------
--
-- apexOutputAncillaryPidStatusTable
--

apexOutputAncillaryPidStatusTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexOutputAncillaryPidStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This table shows the status of input ancillary PID to output ancillary
         PID mappings which are configured through either apexPidMapTable or
         apexBulkPidMapTable. As 'apexBulkPidMapTable' maps the same PID
         to multiple output transport streams, then for each selected OTSs 
         a separate PID mapping will be created. Accordingly, for each mapping 
         there will be a separate status entry in the status table.
        "
::= { apexOutputAncillaryPidStatus 2 }

apexOutputAncillaryPidStatusEntry OBJECT-TYPE
    SYNTAX ApexOutputAncillaryPidStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Output Ancillary PID Status Table Entry.
         As 'apexBulkPidMapTable' maps the same PID to multiple output 
         transport streams, then for each selected OTSs a separate PID
         mapping will be created. Accordingly, for each mapping
         there will be a separate status entry in the status table.
         
         The manually configurable ancillary PIDs are 480. DTA configured
         ancillary PIDs are 144 (CAT, EMM and NET pids routed to all 48 OTSs)
        "
    INDEX { apexOutputAncillaryPidIndex }
::= { apexOutputAncillaryPidStatusTable 1 }

ApexOutputAncillaryPidStatusEntry ::= SEQUENCE
    {
     apexOutputAncillaryPidIndex                 Integer32,
     apexOutputAncillaryPidInputTsNum            Integer32,
     apexOutputAncillaryPidInputPid              Integer32,
     apexOutputAncillaryPidOutputTsNum           Integer32,
     apexOutputAncillaryPidOutputPid             Integer32,
     apexOutputAncillaryPidRoutingStatus         DisplayString,
     apexOutputAncillaryPidAverageBitrate        Unsigned32
    }

apexOutputAncillaryPidIndex OBJECT-TYPE
    SYNTAX Integer32(1..624)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Output Ancillary PID Status Table Index.
        "
::= { apexOutputAncillaryPidStatusEntry 1 }

apexOutputAncillaryPidInputTsNum OBJECT-TYPE
    SYNTAX Integer32(1..784)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This input TS number points the index in the 'apexInputTsStatTable'.
         The index will be used to retrieve the input TS details like
         Input Interface, UDP port, Multicast IP and Source IP.
        "
::= { apexOutputAncillaryPidStatusEntry 2 }

apexOutputAncillaryPidInputPid OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This input ancillary PID will be extracted from the input TS 
         pointed by the 'apexOutputAncillaryPidInputTsNum'.
        "
::= { apexOutputAncillaryPidStatusEntry 3 }

apexOutputAncillaryPidOutputTsNum OBJECT-TYPE
    SYNTAX Integer32(1..48)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Output Transport Stream Number to which the Input ancillary
         PID is routed.
        "
::= { apexOutputAncillaryPidStatusEntry 4 }

apexOutputAncillaryPidOutputPid OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Output Ancillary PID.
        "
::= { apexOutputAncillaryPidStatusEntry 5 }

apexOutputAncillaryPidRoutingStatus OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..80))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Ancillary PID Routing Status. The list of status information is 
         mentioned below.
         Not Defined                    - When a PID is mapped, but not 
                                          activated.
         Successfully multiplexing      - When a PID is mapped, activated and
                                          input PID is available.
         Input ancillary PID is missing - When a PID is mapped and activated,
                                          but the input PID is not available.
        "
::= { apexOutputAncillaryPidStatusEntry 6 }

apexOutputAncillaryPidAverageBitrate OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Bitrate is measured for the sample period
         'apexOutputAncillaryPidBitrateSamplePeriod'.
         This parameter contains the average bitrate, 
         calculated from the samples collected for the 
         rolling sampling interval. The sampling interval
         is upto last fifteen minutes.
         This parameter is in bits per second (bps).
        "
::= { apexOutputAncillaryPidStatusEntry 7 }

-- ------------------------------------------------------------------------------
--
-- apexUls
--
-- apexUlsConfig
--
-- apexUlsConfigGeneral
--

apexUlsConfigGenerateRequest OBJECT-TYPE
    SYNTAX ApplyDataToDeviceTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Apply for generating ULS Feature Requests.
        
         This parameter MUST be set to 'apply' in order for 
         apexUlsConfigMcSimChannelsRequest
         to take effect.
         This parameter MUST be set LAST after all other data has been configured.

         @Config(config=no, reboot=no)
        "
::= { apexUlsConfigGeneral 1 }

apexUlsConfigValidateResponse OBJECT-TYPE
    SYNTAX ApplyDataToDeviceTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Apply for validating ULS Feature Response.
        
         This parameter MUST be set to 'apply' in order for 
         ULS-generated feature key file to be submitted.
         This parameter MUST be set after the binary key file 
         has been SFTP to the target device.

         @Config(config=no, reboot=no)
        "
::= { apexUlsConfigGeneral 2 }

apexUlsConfigCommitNewFeatures OBJECT-TYPE
    SYNTAX ApplyDataToDeviceTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Apply for committing ULS feature Keys.
        
         This parameter MUST be set to 'apply' in order for 
         the validated feature keys to be committed.

         @Config(config=no, reboot=no)
        "
::= { apexUlsConfigGeneral 3 }


-- ------------------------------------------------------------------------------
--
-- apexUlsConfigMcSimFeatures
--

apexUlsConfigMcSimChannelsRequest OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Number of MediaCipher Simulcrypt channels, being requested in this feature.
         
         @Config(config=no, reboot=no)
         @Commit(param=apexUlsConfigGenerateRequest , value=2)
        "
::= { apexUlsConfigMcSimFeatures 1 }


-- ------------------------------------------------------------------------------
--
-- apexUlsStatus
--
-- apexUlsStatusGeneral
--

apexUlsStatusGenerateRequestText OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..80))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "When apexUlsConfigGenerateRequest is set to applyNotInProgressInvalidData
         this entry may contain a text description of what was wrong with the data.
         This entry contains the description for the most recent apply that was invalid.
        "
::= { apexUlsStatusGeneral 1 }

apexUlsStatusValidateResponseText OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..80))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "When apexUlsConfigValidateResponse is set to applyNotInProgressInvalidData
         this entry may contain a text description of what was wrong with the data.
         This entry contains the description for the most recent apply that was invalid.
        "
::= { apexUlsStatusGeneral 2 }

apexUlsStatusCommitNewFeaturesText OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..80))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "When apexUlsConfigCommitNewFeatures is set to applyNotInProgressInvalidData
         this entry may contain a text description of what was wrong with the data.
         This entry contains the description for the most recent apply that was invalid.
        "
::= { apexUlsStatusGeneral 3 }


-- ------------------------------------------------------------------------------
--
-- apexUlsStatusMcSimFeatures
--

apexUlsStatusMcSimChannelsCurrent OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of MediaCipher Simulcrypt channels, currently allowed in this feature."
::= { apexUlsStatusMcSimFeatures 1 }

apexUlsStatusMcSimChannelsInUse OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of MediaCipher Simulcrypt channels, in use."
::= { apexUlsStatusMcSimFeatures 2 }

apexUlsStatusMcSimChannelsMax OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Maximum number of MediaCipher Simulcrypt channels allowed to be used, even if the
         license provides for more."
::= { apexUlsStatusMcSimFeatures 3 }


-- ------------------------------------------------------------------------------
--
-- apexSimulcryptEcmgStatusTable
--

apexSimulcryptEcmgStatusTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexSimulcryptEcmgStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of Rds2 Events.
         The index apexSimulcryptEcmgProgramIndex matches the
         row index in apexManualRouteTable.
        "
::= { apexSimulcryptEcmgStatus 4 }

apexSimulcryptEcmgStatusEntry OBJECT-TYPE
    SYNTAX ApexSimulcryptEcmgStatusEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Rds2 Events Table Entry."
    INDEX { apexSimulcryptEcmgProgramIndex}
::= { apexSimulcryptEcmgStatusTable 1 }

ApexSimulcryptEcmgStatusEntry ::= SEQUENCE
    {
     apexSimulcryptEcmgProgramIndex      Integer32,
     apexOutputProgramCAS1EcmgChannel    Integer32,
     apexOutputProgramCAS1EcmgStream     Integer32,
     apexOutputProgramCAS2EcmgChannel    Integer32,
     apexOutputProgramCAS2EcmgStream     Integer32,
     apexOutputProgramCAS3EcmgChannel    Integer32,
     apexOutputProgramCAS3EcmgStream     Integer32,
     apexOutputProgramCAS4EcmgChannel    Integer32,
     apexOutputProgramCAS4EcmgStream     Integer32,
     apexOutputProgramCAS5EcmgChannel    Integer32,
     apexOutputProgramCAS5EcmgStream     Integer32,
     apexOutputProgramCAS6EcmgChannel    Integer32,
     apexOutputProgramCAS6EcmgStream     Integer32,
     apexOutputProgramCAS7EcmgChannel    Integer32,
     apexOutputProgramCAS7EcmgStream     Integer32,
     apexOutputProgramCAS8EcmgChannel    Integer32,
     apexOutputProgramCAS8EcmgStream     Integer32
    }

apexSimulcryptEcmgProgramIndex OBJECT-TYPE
    SYNTAX Integer32(1..768)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "apexSimulcryptEcmgProgramIndex is the last 10 bits of
         apexOutputProgramEcmServiceId from apexOutputProgramTable."
::= { apexSimulcryptEcmgStatusEntry 1 }
                                 
apexOutputProgramCAS1EcmgChannel  OBJECT-TYPE
    SYNTAX Integer32(0..19)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The index into the simulcryptEcmgStatChannelTable for the first CAS system.
         This is applicable only when Simulcrypt is enabled.
        "
::= { apexSimulcryptEcmgStatusEntry 2 }

apexOutputProgramCAS1EcmgStream  OBJECT-TYPE
    SYNTAX Integer32(0..19)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This combined with apexOutputProgramCAS1EcmgChannel gives the 
         index into simulcryptEcmgStatStreamTable for the first CAS system.
         This is applicable only when Simulcrypt is enabled.
        "
::= { apexSimulcryptEcmgStatusEntry 3 }

apexOutputProgramCAS2EcmgChannel  OBJECT-TYPE
    SYNTAX Integer32(0..19)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The index into the simulcryptEcmgStatChannelTable for the second CAS system.
         This is applicable only when Simulcrypt is enabled.
        "
::= { apexSimulcryptEcmgStatusEntry 4 }

apexOutputProgramCAS2EcmgStream  OBJECT-TYPE
    SYNTAX Integer32(0..19)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This combined with apexOutputProgramCAS2EcmgChannel gives the 
         index into simulcryptEcmgStatStreamTable for the second CAS system.
         This is applicable only when Simulcrypt is enabled.
        "
::= { apexSimulcryptEcmgStatusEntry 5 }

apexOutputProgramCAS3EcmgChannel  OBJECT-TYPE
    SYNTAX Integer32(0..19)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The index into the simulcryptEcmgStatChannelTable for the third CAS system.
         This is applicable only when Simulcrypt is enabled.
        "
::= { apexSimulcryptEcmgStatusEntry 6 }

apexOutputProgramCAS3EcmgStream  OBJECT-TYPE
    SYNTAX Integer32(0..19)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This combined with apexOutputProgramCAS3EcmgChannel gives the 
         index into simulcryptEcmgStatStreamTable for the third CAS system.
         This is applicable only when Simulcrypt is enabled.
        "
::= { apexSimulcryptEcmgStatusEntry 7 }

apexOutputProgramCAS4EcmgChannel  OBJECT-TYPE
    SYNTAX Integer32(0..19)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The index into the simulcryptEcmgStatChannelTable for the fourth CAS system.
         This is applicable only when Simulcrypt is enabled.
        "
::= { apexSimulcryptEcmgStatusEntry 8 }

apexOutputProgramCAS4EcmgStream  OBJECT-TYPE
    SYNTAX Integer32(0..19)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This combined with apexOutputProgramCAS4EcmgChannel gives the 
         index into simulcryptEcmgStatStreamTable for the fourth CAS system.
         This is applicable only when Simulcrypt is enabled.
        "
::= { apexSimulcryptEcmgStatusEntry 9 }
                                 
apexOutputProgramCAS5EcmgChannel  OBJECT-TYPE
    SYNTAX Integer32(0..19)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The index into the simulcryptEcmgStatChannelTable for the fifth CAS system.
         This is applicable only when Simulcrypt is enabled.
        "
::= { apexSimulcryptEcmgStatusEntry 10 }

apexOutputProgramCAS5EcmgStream  OBJECT-TYPE
    SYNTAX Integer32(0..19)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This combined with apexOutputProgramCAS5EcmgChannel gives the 
         index into simulcryptEcmgStatStreamTable for the fifth CAS system.
         This is applicable only when Simulcrypt is enabled.
        "
::= { apexSimulcryptEcmgStatusEntry 11 }

apexOutputProgramCAS6EcmgChannel  OBJECT-TYPE
    SYNTAX Integer32(0..19)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The index into the simulcryptEcmgStatChannelTable for the sixth CAS system.
         This is applicable only when Simulcrypt is enabled.
        "
::= { apexSimulcryptEcmgStatusEntry 12 }

apexOutputProgramCAS6EcmgStream  OBJECT-TYPE
    SYNTAX Integer32(0..19)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This combined with apexOutputProgramCAS6EcmgChannel gives the 
         index into simulcryptEcmgStatStreamTable for the sixth CAS system.
         This is applicable only when Simulcrypt is enabled.
        "
::= { apexSimulcryptEcmgStatusEntry 13 }

apexOutputProgramCAS7EcmgChannel  OBJECT-TYPE
    SYNTAX Integer32(0..19)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The index into the simulcryptEcmgStatChannelTable for the seventh CAS system.
         This is applicable only when Simulcrypt is enabled.
        "
::= { apexSimulcryptEcmgStatusEntry 14 }

apexOutputProgramCAS7EcmgStream  OBJECT-TYPE
    SYNTAX Integer32(0..19)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This combined with apexOutputProgramCAS7EcmgChannel gives the 
         index into simulcryptEcmgStatStreamTable for the seventh CAS system.
         This is applicable only when Simulcrypt is enabled.
        "
::= { apexSimulcryptEcmgStatusEntry 15 }

apexOutputProgramCAS8EcmgChannel  OBJECT-TYPE
    SYNTAX Integer32(0..19)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The index into the simulcryptEcmgStatChannelTable for the eigth CAS system.
         This is applicable only when Simulcrypt is enabled.
        "
::= { apexSimulcryptEcmgStatusEntry 16 }

apexOutputProgramCAS8EcmgStream  OBJECT-TYPE
    SYNTAX Integer32(0..19)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This combined with apexOutputProgramCAS8EcmgChannel gives the 
         index into simulcryptEcmgStatStreamTable for the eigth CAS system.
         This is applicable only when Simulcrypt is enabled.
        "
::= { apexSimulcryptEcmgStatusEntry 17 }

-- ------------------------------------------------------------------------------
--
-- apexMcSim
--
-- apexMcSimConfig
--
-- apexMcSimConfigGeneral
--

apexMcSimEnableDacId OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This enables prepending the DAC ID to the Access Criteria in the 
         SCS<=>ECMG Control Word Provision request.
                   
         Once written, the change to this parameter will only take immediate
         effect after apexMcSimConfigApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via apexSaveConfig.

         Default value is disabled.
         
         @Config(config=yes, reboot=no)
         @Commit(param=apexMcSimConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')                                 
        "
::= { apexMcSimConfigGeneral 1 }

apexMcSimDacId OBJECT-TYPE
    SYNTAX Integer32(0..65535)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The DAC ID to be prepended to the Access Criteria in the 
         SCS<=>ECMG Control Word Provision request.
                   
         Once written, the change to this parameter will only take immediate
         effect after apexMcSimConfigApplyChange is set to 'apply'.  In
         order for the change to persist through subsequent reboots or power
         cycles, the change must be saved via apexSaveConfig.

         Default value is 0.
         
         @Config(config=yes, reboot=no)
         @Commit(param=apexMcSimConfigApplyChange, value=2)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')                                 
        "
::= { apexMcSimConfigGeneral 2 }

apexMcSimConfigApplyChange OBJECT-TYPE
    SYNTAX ApplyDataToDeviceTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The Apply for MC SimulCrypt Configuration.

         This parameter MUST be set to 'apply' in order for the Queuing Device ID, 
         or DAC ID to take effect in the APEX.  
         This parameter MUST be set LAST after the MC Simulcrypt Enable
         has been configured.

         @Config(config=no, reboot=no)
        "
::= { apexMcSimConfigGeneral 3 }

apexMcSimConfigInvalidApplyText OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..80))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "When corresponding apexMcSimEnableApplyChange is set to
         'applyNotInProgressInvalidData' this entry may contain
         a text description of why MC Simulcrypt was not enabled/disabled.
        "
::= { apexMcSimConfigGeneral 4 }

-- ------------------------------------------------------------------------------
--
-- apexAlarms
--

apexAlarmHardwareFault OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates that a Hardware related error occurred.  Examples include
         missing or uncommunicative HW, failures in initialization of HW, and
         failures to configure HW.  These can occur at startup or when the
         system is operational.  Types of HW Faults include:  Application File(s)
         Download failure; SPI Interface Initialization failure; PCI Interface
         Initialization failure; GigE Configuration failure; MUX Configuration
         failure; QAM Module Communication failure; Unsupported/Incorrect
         HW/FW Version (QAM, etc.); Fatal Host Firmware Exception.

         'critical' indicates a fatal error occurred that prevents the APEX
          from performing operational requirements.

         'warning' indicates an error that does not prevent the APEX from
         performing operational requirements.
        "
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="Hardware Fault"
        --crs_define="EC_HARDWARE_FAULT_ALARM"></DbHint>
::= { apexAlarms 8000 }

apexAlarmInvalidInitData OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Set when invalid Initialization data (ini files) is encountered.
        "
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="Invalid Initialization"
        --crs_define="EC_INVALID_INIT_DATA_ALARM"></DbHint>
::= { apexAlarms 8001 }

apexAlarmTemperatureFault OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "'critical' indicates one or more temperature sensors is reporting a
         high temperature condition.
        "
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="Temperature Fault"
        --crs_define="EC_TEMPERATURE_ALARM"></DbHint>
::= { apexAlarms 8002 }

apexAlarmFanFault OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "'major' indicates one or more fans has reduced RPM readings.
        "
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="Fan Fault"
        --crs_define="EC_FAN_FAULT_ALARM"></DbHint>
::= { apexAlarms 8003 }

apexAlarmPowerFault OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Power Supply Fault Alarm.

         'warning' indicates power supply not compatible (apexPsStatusInstalled).
         'major' indicates power supply or fan only module) removed
            (apexPsStatusInstalled).
         'major' indicates power supply input power fault (apexPsStatusInputPowerStatus),
            output power fault (apexPsStatusOutputPowerStatus), or comm fault
            (apexPsStatusCommError).
         'critical' indicates power supply over temperature fault
            (apexPsStatusTemperatureStatus).
        "
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="Power Fault"
        --crs_define="EC_POWER_FAULT_ALARM"></DbHint>
::= { apexAlarms 8004 }

apexAlarmGbeLossOfPhysicalInput OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Loss of Physical Gigabit Ethernet Input Alarm.

         'critical' indicates that one or more physical interfaces that are
         configured as enabled to receive input have a failure
         (apexGbeStatusLossOfPhysicalInput).

         Physical input interfaces can be disabled to prevent this alarm
         when no input is connected.
        "
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="GigE Physical Input Failure"
        --crs_define="EC_GBE_PHYS_INPUT_FAILURE_ALARM"></DbHint>
::= { apexAlarms 8020 }

apexAlarmGbeBufferFullness OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Gigabit Ethernet Frame Buffer Fullness Alarm.

         This alarm is used to inform the user when one or more Gigabit Ethernet
         Frame buffers are about to or have overflowed.  The overflow level is
         based on the actual input data rate.

         'major' when the frame buffer crosses a user specified threshold
         (apexGbeConfigFrameBufferAlarmThreshold).  Cleared when the buffer level drops
         below the threshold.

         'critical' when the frame buffer is completely full and frames are being
         dropped.  Cleared when the overflow condition stops.

         A Major alarm, depending on the threshold setting, indicates that the
         APEX is getting close to overflowing it's internal Gigabit Ethernet
         frame buffers.

         A Critical alarm indicates that the frame buffer levels have overflowed.
         This will cause loss of packets and may result in tiling and other output
         anomalies.
        "
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="GigE Buffer Fullness"
        --crs_define="EC_GBE_BUFFER_FULLNESS_ALARM"></DbHint>
::= { apexAlarms 8021 }

apexAlarmGbeInputStreamLowBitRate OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Gigabit Ethernet Input Stream Low Bit Rate Alarm.

         This alarm is used to inform the user when one or more Gigabit Ethernet
         Input Streams as configured in apexManRteGbeInRedTable have a low
         bit rate condition.  For alarm status of each stream refer to entries
         apexGbeStatInTsPriLowBitRateAlarm and apexGbeStatInTsSecLowBitRateAlarm.

         'major' when one or more stream bit rates are below their
         apexManRteGbeInRedPriLowAlarmBitRate or apexManRteGbeInRedSecLowAlarmBitRate.
         Clears when all streams have been restored to at or above their configured
         apexManRteGbeInRedPriLowAlarmBitRate or apexManRteGbeInRedSecLowAlarmBitRate.
        "
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="GigE Input Low Bit Rate"
        --crs_define="EC_GBE_IN_LOW_BIT_RATE_ALARM"></DbHint>
::= { apexAlarms 8022 }

apexAlarmGbeInputStreamHighBitRate OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Gigabit Ethernet Input Stream High Bit Rate Alarm.

         This alarm is used to inform the user when one or more Gigabit Ethernet
         Input Streams as configured in apexManRteGbeInRedTable or via a Session
         Controller have a high bit rate condition.  For alarm status of each
         stream refer to entry apexGbeStatInTsPriHighBitRateAlarm and
         apexGbeStatInTsSecHighBitRateAlarm.

         'major' when one or more stream bit rates are above their
         apexManRteGbeInRedPriHighAlarmBitRate or apexManRteGbeInRedSecHighAlarmBitRate.
         Clears when all streams have been restored to at or below their configured
         apexManRteGbeInRedPriHighAlarmBitRate or apexManRteGbeInRedSecHighAlarmBitRate.
        "
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="GigE Input High Bit Rate"
        --crs_define="EC_GBE_IN_HIGH_BIT_RATE_ALARM"></DbHint>
::= { apexAlarms 8023 }

apexAlarmGbeMptsRedundPrimaryThreshold OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Gigabit Ethernet Input MPTS Redundant Primary Stream Below Threshold Alarm.

         This alarm is used to inform the user when one or more Gigabit Ethernet
         Input Streams configured in apexManRteGbeInRedTable as being the Primary
         stream of a Redundant Pair are below the configured threshold.
         For alarm status of each stream refer to entry
         apexGbeStatInTsMptsRedundPriAlarm.

         'major' when one or more stream bit rates are below their threshold
         as specified in apexManRteGbeInRedThreshold.  Clears when all
         streams have been restored to at or above their configured
         apexManRteGbeInRedThreshold.
        "
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="GigE MPTS Redundant Threshold"
        --crs_define="EC_GBE_MPTS_THRESHOLD_ALARM"></DbHint>
::= { apexAlarms 8024 }

apexAlarmGbeMptsRedundFailOver OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Gigabit Ethernet Input MPTS Redundant Fail Over Alarm.

         This alarm is used to inform the user when one or more Gigabit Ethernet
         Input Streams configured in apexManRteGbeInRedTable as being the Primary
         stream of a Redundant Pair have Failed Over to the Secondary stream.
         For alarm status of each stream refer to entry apexGbeStatInTsMptsRedundFailAlarm.

         'major' when one or more Redundant Primary streams have failed over to
         the Secondary.  Clears when all Primary streams have been restored and the
         APEX has switched back to the Primary from the Secondary.
        "
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="GigE MPTS Redundant Fail Over"
        --crs_define="EC_GBE_MPTS_FAILOVER_ALARM"></DbHint>
::= { apexAlarms 8025 }

apexAlarmServiceInError OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Alarm Service In Error.

         'major' indicates that one or more services is in error (unable
         to fully continue processing). However, this is only for very
         specific errors where the error could be caused by either the
         input stream being invalid or another command along with the
         input stream is causing the error. For example, if mapping an
         input service to an output and that PMT is not referenced in
         the PAT, or the number of PIDs in the PMT is greater than the
         number of PIDs supported, then the command is in error. This
         error condition would be cleared if a new PAT is received
         referencing the PMT or in the other case, if a new PMT is
         received referencing a valid number of PIDs.

         Refer to apexOutputProgramRoutingStatus for more information.

         This alarm occurs on the first error.  It is not issued for
         additional errors.  It is cleared when all errors are cleared.
        "
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="Service In Error"
        --crs_define="EC_SERVICE_IN_ERROR_ALARM"></DbHint>
::= { apexAlarms 8026 }

apexAlarmGbeLossOfInputStream OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok           (1),
         indeterminate(2),
         warning      (3),
         minor        (4),
         major        (5),
         critical     (6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Loss of Gbe Input Stream Alarm.

         This alarm is used to inform the user when one or more Gigabit Ethernet
         Input Streams is missing. A missing input stream is determined based
         on user configured data or stream rate and detection timeout value. This
         alarm is only applicable when the input streams are configured to be
         monitored for loss of input stream.

          This alarm occurs on the first error.  It is not issued for
         additional errors.  It is cleared when all errors are cleared.
        "
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="GigE Loss of Input Error"
        --crs_define="EC_GBE_LOSS_OF_INPUT_TS_ALARM"></DbHint>
::= { apexAlarms 8027 }

apexAlarmGigeToHostCommFault OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok           (1),
         indeterminate(2),
         warning      (3),
         minor        (4),
         major        (5),
         critical     (6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Loss of Communications from Gige to Host Alarm.

         This alarm is used to inform the user when the Host processor is no longer receiving
         periodic status messages from the Gige processor.

         This alarm occurs on the first error.  It is not issued for
         additional errors. It is cleared when the condition is resolved.
        "
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="Gige to Host Communication Fault"
        --crs_define="EC_GIGE_TO_HOST_LOSS_COMM_ALARM"></DbHint>
::= { apexAlarms 8028 }

apexAlarmGbeInterfaceRedundFailOver OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Gigabit Ethernet Interface Redundant Fail Over Alarm.

         This alarm is used to inform the user when one or more Gigabit Ethernet
         interfaces have Failed Over to the Secondary interface.  The APEX determines an
         interface as failed when link has been lost.

         'major' when one or more Primary interfaces have failed over to
         the Secondary.  Clears when all Primary interfaces have been restored and the
         APEX has switched back to the Primary from the Secondary.
        "
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="GigE Interface Redundancy Fail Over"
        --crs_define="EC_GBE_INTERFACE_REDUND_ALARM"></DbHint>
::= { apexAlarms 8029 }

apexAlarmLossOfInputAncillaryPid OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Loss of input ancillary PID Alarm.

         This alarm is raised when one or more input ancillary PID(s)
         is(are) missing in the input transport streams. The APEX 
         monitors each input ancillary PID configured through either 
         'apexPidMapTable' or 'apexBulkPidMapTable' or 'apexDtaOtsConfigTable'.
         The APEX will monitor for the 'apexPidMapInputAncillaryPidDetectionTimeout'
         period, before declaring the loss of input ancillary PID.
         
         'minor' - When one or more input ancillary PIDs are missing.
         'clear' - When all the ancillary PIDs are available in the input.
        "
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="Loss Of Input Ancillary PID"
        --crs_define="EC_LOSS_OF_INPUT_ANCILLARY_PID_ALARM"></DbHint>
::= { apexAlarms 8030 }

apexAlarmGbeInputStreamPacketDrop OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Gigabit Ethernet Input Stream Packet Drop Alarm.

         This alarm is used to inform the user when one or more Gigabit Ethernet
         Input Streams have a dropped packet condition.

         'major' when one of the stream's packets is dropped.
        "
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="GigE Input Packet Drop"
        --crs_define="EC_GBE_IN_PACKET_DROP_ALARM"></DbHint>
::= { apexAlarms 8031 }

apexAlarmOutputUtilizationFault OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Output Transport Stream Utilization Threshold Alarm.

         'minor' when apexOutputTsUtilMonAlarmThreshold is met or
         exceeded for apexOutputTsUtilMonSetAlarmDelay for an OTS.

         The alarm will clear after the OTS remains below
         apexOutputTsUtilMonAlarmThreshold for
         apexOutputTsUtilMonClearAlarmDelay.
        "
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="Output Utilization Fault"
        --crs_define="EC_OTS_UTILIZATION_ALARM"></DbHint>
::= { apexAlarms 8040 }

apexAlarmOutputOverflow OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Output Transport Stream Overflow Alarm.

         'critical' when apexOutputTsUtilizOverflow occurs for an OTS.

         The alarm will clear when OTS no longer in overflow.
        "
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="Output Overflow"
        --crs_define="EC_OTS_OVERFLOW_ALARM"></DbHint>
::= { apexAlarms 8041 }

apexAlarmQamModuleFault OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "QAM Port Fault Alarm.

         'major' when apexQamModuleStatError occurs when all QAM channels on
         the QAM Module have apexQamChanStatActive of not 'active'.

         'critical' when apexQamModuleStatError occurs when all QAM channels on
         the QAM Module have apexQamChanStatActive of 'active'.

         The alarm will clear after all faults clear on the QAM Module.

         The current alarm status on a QAM Module basis can be found in
         apexQamModuleStatFaultCondition.
        "
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="QAM Module Fault"
        --crs_define="EC_QAM_MODULE_ALARM"></DbHint>
::= { apexAlarms 8042 }

apexAlarmQamRfPortFault OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "QAM RF Port Fault Alarm.

         'major' when power voltage or output RF level error occurs on the RF Port.

         'critical' when clock, PLL, or data sync error occurs on the RF Port.

         The alarm will clear after all faults clear for the RF Port.

         The current alarm status on an RF port basis can be found in
         apexQamRfPortStatFaultCondition.
        "
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="QAM RF Port Fault"
        --crs_define="EC_QAM_RF_PORT_ALARM"></DbHint>
::= { apexAlarms 8043 }

apexAlarmQamChannelFault OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "QAM Channel Fault Alarm.

         'critical' when any or all of the QAM Channel errors
         enumerated in apexQamChanStatError occur on a QAM channel.

         The alarm will clear after all faults clear on the QAM channel.

         The current alarm status on a QAM channel basis can be found in
         apexQamChanStatFaultCondition.
        "
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="QAM Channel Fault"
        --crs_define="EC_QAM_CHANNEL_ALARM"></DbHint>
::= { apexAlarms 8044 }

apexAlarmQamRfRedundFailOver OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "QAM RF Redundancy Fail Over Alarm.
         'major' when the backup QAM RF Port status is 'active' (apexQamRfRedundStatusBackupPort).
                 This occurs when a primary QAM RF Port has failed over to the backup RF Port or
                 the user has forced a primary to the backup.

         The alarm will clear when the backup QAM RF Port status returns to 'standby'.
         The alarm is relevant only when apexQamRfRedundConfigEnable is 'enabled'.
         The current QAM RF Port that is active on the backup port can be found
         in apexQamRfRedundStatusFailedPort.
         "
         --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="QAM RF Redundant Fail Over"
         --crs_define="EC_QAM_RF_FAILOVER_ALARM"></DbHint>
::= { apexAlarms 8045 }

apexAlarmQamRfRedundMismatch OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "QAM RF Redundancy Mismatch Alarm.
         'warning' when channels could be lost on QAM RF Fail Over to backup or on Switch Back to
                   primary.  Refer to apexQamRfRedundStatusMismatch for more information.

         The alarm will clear when mismatch condition clears.
         The alarm is relevant only when apexQamRfRedundConfigEnable is 'enabled'.
        "
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="QAM RF Redundant Mismatch"
        --crs_define="EC_QAM_RF_MISMATCH_ALARM"></DbHint>
::= {apexAlarms 8046 }

apexAlarmQamModuleRemovalFault OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "QAM Module Removal Fault Alarm.

         'critical' when apexQamModuleStatError occurs when any QAM channels on
         the QAM Module have apexQamChanStatActive of 'active'.

         The alarm will clear after the fault is cleared on the QAM Module.


        "
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="QAM Module Removal Fault"
        --crs_define="EC_QAM_MODULE_REMOVAL_ALARM"></DbHint>
::= { apexAlarms 8047 }

apexAlarmRtspControllerCommFault OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "RTSP Controller Communication Fault.

         'major' when the RTSP Controller is experiencing a
         communication fault.

         The alarm will clear when connection is restored the RTSP
         controller.
        "
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="RTSP Controller Communication Fault"
        --crs_define="EC_RTSP_CONTROL_COMM_ALARM"></DbHint>
::= { apexAlarms 8050 }

apexAlarmRdsCommFault OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "RDS Communication Fault.

         'major' when experiencing an RDS
         communication fault.

         The alarm will clear when RDS connection is restored.
        "
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="RDS Communication Fault"
        --crs_define="EC_RDS_COMM_ALARM"></DbHint>
::= { apexAlarms 8060 }

apexAlarmRemCommFault OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "REM Communication Fault.
         'major' when experiencing an REM communication fault.

         The alarm will clear when REM connection is restored.
         Refer to apexQamRfRedundStatusRemConnection for more information.
         The alarm is relevant only when apexQamRfRedundConfigEnable is 'enabled'
         and apexQamRfRedundConfigRemConnection is not 'none'.
        "
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="REM Communication Fault"
        --crs_define="EC_REM_COMM_ALARM"></DbHint>
::= { apexAlarms 8070 }

apexAlarmRemFault OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "REM Fault.
         'warning' when REM is reporting a 0x05 error code.

         'major'   when error received from REM (other than 0x05) or REM is reporting
                   incorrect switch configuration.

         The alarm will clear when REM errors clear.
         Refer to apexQamRfRedundStatusRemError and apexQamRfRedundStatusRemSwitch
         for more information.
         The alarm is relevant only when apexQamRfRedundConfigEnable is 'enabled'
         and apexQamRfRedundConfigRemConnection is not 'none'.
        "
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="REM Fault"
        --crs_define="EC_REM_ALARM"></DbHint>

::= { apexAlarms 8071 }

apexAlarmDepiControlConnectionFault OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok           (1),
         indeterminate(2),
         warning      (3),
         minor        (4),
         major        (5),
         critical     (6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "DEPI Control connection setup Fault.
        "
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="DEPI CONTROL CONNECTION FAULT"
        --crs_define="EC_DEPI_CONTROL_CONNECTION_ALARM"></DbHint>

::= { apexAlarms 8080 }

apexAlarmDepiSessionSetupFault OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok           (1),
         indeterminate(2),
         warning      (3),
         minor        (4),
         major        (5),
         critical     (6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "DEPI Session Setup Fault.
        "
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="DEPI SESSION SETUP FAULT"
        --crs_define="EC_DEPI_SESSION_SETUP_ALARM"></DbHint>

::= { apexAlarms 8081 }

apexAlarmDtiSyncLossFault OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok           (1),
         indeterminate(2),
         warning      (3),
         minor        (4),
         major        (5),
         critical     (6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "EQAM lost SYNC with the DTI Server.
        "
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="DTI SYNC LOSS FAULT"
        --crs_define="EC_DTI_SYNC_LOSS_ALARM"></DbHint>

::= { apexAlarms 8082 }

apexAlarmChassisRedundancyPrimaryFailover OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Generated when the primary active APEX fails over to the secondary standby unit.
        Trap tells if failover is operator induced, or automatic because of a fault.
        Major if automatic due to some fault Warning if force-failover.
        Cleared when redundancy is disabled or when the primary becomes active and
        the secondary is standby.
        "
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="Chassis Redundancy Primary FailOver."
        --crs_define="EC_CHASSIS_REDUNDANCY_PRIMARY_FAILOVER_ALARM"></DbHint>

::= { apexAlarms 8090 }

apexAlarmChassisRedundancySecondaryFailover OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Generated when the secondary active APEX fails over to the primary standby unit.
        Trap tells if failover is operator induced, or automatic because of a fault.
        Major if automatic due to some fault Warning if force-failover.
        Cleared when redundancy is disabled or when the secondary becomes active and
        the primary is standby.
        "
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="Chassis Redundancy Secondary FailOver."
        --crs_define="EC_CHASSIS_REDUNDANCY_SECONDARY_FAILOVER_ALARM"></DbHint>

::= { apexAlarms 8091 }

apexAlarmChassisRedundancyAvailabilityFault OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Generated when redundancy status is unavailable (except for link loss)
        configuration not synchronized secondary in fault state Cleared
        when redundancy status is available or redundancy disabled.
        "
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="Chassis Redundancy Availability Fault"
        --crs_define="EC_CHASSIS_REDUNDANCY_AVAILABLITY_ALARM"></DbHint>

::= { apexAlarms 8092 }

apexAlarmChassisRedundancyLinkFault OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Generated when ENET2 link is lost
        Cleared when ENET 2 link is present or redundancy disabled."
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="Chassis Redundancy Link Fault"
        --crs_define="EC_CHASSIS_REDUNDANCY_LINK_ALARM"></DbHint>

::= { apexAlarms 8093 }

apexAlarmChassisRedundancyConfigurationFault OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Generated when primary APEX receives heartbeat from another primary.
        Critical if APEX was in active state (sourcing broadcast content)
        Major if APEX was in standby state (broadcast ports muted).
        Cleared when primary APEX receives heartbeat from a secondary, configuration is changed to secondary,
        or redundancy is disabled."
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="Chassis Redundancy Configuration Fault"
        --crs_define="EC_CHASSIS_REDUNDANCY_CONFIGURATION_ALARM"></DbHint>

::= { apexAlarms 8094 }


-- ------------------------------------------------------------------------------
--
-- apexEvents
--

apexEventEmUserLoginFailed OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Event to indicate APEX EM User login failed 5 times."
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="EM USER Login Failed 5 Times"
        --crs_define="EC_EM_USER_LOGIN_FAILED_EVENT"></DbHint>
::= { apexEvents 8100 }

apexEventQamModuleUpgraded OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Event to indicate a QAM Module has been upgraded from 2x4 to 2x8
         channel capability."
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="QAM Module Upgraded"
        --crs_define="EC_QAM_MODULE_UPGRADED_EVENT"></DbHint>
::= { apexEvents 8101 }

apexEventSnmpCommunityStringChanged OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Event to indicate that the read/read-write SNMP community strings are changed
         Trap description is given in trapSnmpCommunityStringChanged
        "
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="SNMP Community String Changed"
        --crs_define="EC_SNMP_COMMUNITY_STRING_CHANGED_EVENT"></DbHint>
::= { apexEvents 8102 }

apexEventEasMessageNotReceived OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Generated when the EAS message is not received for the amount of time configured by
        the object 'apexEasMessageReceiveTimeoutDuration'"
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="EAS Message Not Received."
        --crs_define="EC_EAS_MSG_NOT_RECEIVED_EVENT"></DbHint>
::= { apexEvents 8103 }

apexEventLossOfInputAncillaryPid OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Event to indicate that the input PID has not received.
         
         This event is sent when one or more input ancillary PID(s)
         is(are) missing in the input transport streams. The APEX 
         monitors each input ancillary PID configured through either 
         'apexPidMapTable' or 'apexBulkPidMapTable' or 'apexDtaOtsConfigTable'.
         The APEX will monitor for the 'apexPidMapInputAncillaryPidDetectionTimeout'
         period, before declaring the loss of input ancillary PID.
         
         'minor' - When one or more input ancillary PIDs are missing.
         'clear' - When the ancillary PIDs and input TS are not available in the input"
         
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="Loss of input ancillary PID."
        --crs_define="EC_LOSS_OF_INPUT_ANC_PID_EVENT"></DbHint>
::= { apexEvents 8104 }

apexEventChassisRedunPrimaryForceFailover OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS obsolete
    DESCRIPTION
        "Generated when the operator forces a failover from the primary, back to the secondary APEX."
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="Chassis Redundancy Primary force failover"
        --crs_define="EC_CHASSIS_REDUNDANCY_PRIMARY_FORCE_FAILOVER_EVENT"></DbHint>
::= { apexEvents 8110 }

apexEventChassisRedunSecondaryForceFailover OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS obsolete
    DESCRIPTION
        "Generated when the operator forces a failover from the secondary, back to the primary APEX."
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="Chassis Redundancy Secondary force failover"
        --crs_define="EC_CHASSIS_REDUNDANCY_SECONDARY_FORCE_FAILOVER_EVENT"></DbHint>
::= { apexEvents 8111 }

apexEventChassisRedunFirmwareVersionMismatch OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Generated when the primary and secondary APEX firmware versions are mismatched."
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="Chassis Redundancy Firmware version mismatch."
        --crs_define="EC_CHASSIS_REDUNDANCY_FIRMWARE_VERSION_MISMATCH_EVENT"></DbHint>
::= { apexEvents 8112 }

apexEventChassisRedunQAMVersionMismatch OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Generated when the primary and secondary APEX QAM versions are mismatched."
        --MOT-MIBCOMP-BE-EXT <DbHint map="SCALAR" crs_fmt="1" crs_desc="Chassis Redundancy QAM version mismatch."
        --crs_define="EC_CHASSIS_REDUNDANCY_QAM_VERSION_MISMATCH_EVENT"></DbHint>
::= { apexEvents 8113 }

-- ------------------------------------------------------------------------------
--
-- apexConfigAlarms
--
-- apexConfAlarmEnable
--

apexEnableInvalidInitData OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This setting enables or disables apexAlarmInvalidInitData.

         When set to 'enabled' the alarm will operate as described.

         When set to 'disabled' the alarm will not be reported or wrapped
         into unitAlarmStatus and the alarm condition will remain 'ok'.
         If the alarm condition is not 'ok' when it is 'disabled', the
         alarm will be cleared.

         Once written, the change to this parameter will take immediate
         effect.  However, in order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexConfAlarmEnable 8001 }

apexEnableGbeLossOfPhysicalInput OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This setting enables or disables apexAlarmGbeLossOfPhysicalInput.

         When set to 'enabled' the alarm will operate as described.

         When set to 'disabled' the alarm will not be reported or wrapped
         into unitAlarmStatus and the alarm condition will remain 'ok'.
         If the alarm condition is not 'ok' when it is 'disabled', the
         alarm will be cleared.

         Once written, the change to this parameter will take immediate
         effect.  However, in order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexConfAlarmEnable 8020 }

apexEnableGbeBufferFullness OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This setting enables or disables apexAlarmGbeBufferFullness.

         When set to 'enabled' the alarm will operate as described.

         When set to 'disabled' the alarm will not be reported or wrapped
         into unitAlarmStatus and the alarm condition will remain 'ok'.
         If the alarm condition is not 'ok' when it is 'disabled', the
         alarm will be cleared.

         Once written, the change to this parameter will take immediate
         effect.  However, in order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexConfAlarmEnable 8021 }

apexEnableGbeInputStreamLowBitRate OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This setting enables or disables apexAlarmGbeInputStreamLowBitRate.

         When set to 'enabled' the alarm will operate as described.

         When set to 'disabled' the alarm will not be reported or wrapped
         into unitAlarmStatus and the alarm condition will remain 'ok'.
         If the alarm condition is not 'ok' when it is 'disabled', the
         alarm will be cleared.

         Once written, the change to this parameter will take immediate
         effect.  However, in order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexConfAlarmEnable 8022 }

apexEnableGbeInputStreamHighBitRate OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This setting enables or disables apexAlarmGbeInputStreamHighBitRate.

         When set to 'enabled' the alarm will operate as described.

         When set to 'disabled' the alarm will not be reported or wrapped
         into unitAlarmStatus and the alarm condition will remain 'ok'.
         If the alarm condition is not 'ok' when it is 'disabled', the
         alarm will be cleared.

         Once written, the change to this parameter will take immediate
         effect.  However, in order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexConfAlarmEnable 8023 }

apexEnableGbeMptsRedundPrimaryThreshold OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This setting enables or disables apexAlarmGbeMptsRedundPrimaryThreshold.

         When set to 'enabled' the alarm will operate as described.

         When set to 'disabled' the alarm will not be reported or wrapped
         into unitAlarmStatus and the alarm condition will remain 'ok'.
         If the alarm condition is not 'ok' when it is 'disabled', the
         alarm will be cleared.

         Once written, the change to this parameter will take immediate
         effect.  However, in order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexConfAlarmEnable 8024 }

apexEnableGbeMptsRedundFailOver OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This setting enables or disables apexAlarmGbeMptsRedundFailOver.

         When set to 'enabled' the alarm will operate as described.

         When set to 'disabled' the alarm will not be reported or wrapped
         into unitAlarmStatus and the alarm condition will remain 'ok'.
         If the alarm condition is not 'ok' when it is 'disabled', the
         alarm will be cleared.

         Once written, the change to this parameter will take immediate
         effect.  However, in order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexConfAlarmEnable 8025 }

apexEnableServiceInError OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This setting enables or disables apexAlarmServiceInError.

         When set to 'enabled' the alarm will operate as described.

         When set to 'disabled' the alarm will not be reported or wrapped
         into unitAlarmStatus and the alarm condition will remain 'ok'.
         If the alarm condition is not 'ok' when it is 'disabled', the
         alarm will be cleared.

         Once written, the change to this parameter will take immediate
         effect.  However, in order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexConfAlarmEnable 8026 }

apexEnableGbeLossOfInputTsFault OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This setting enables or disables apexAlarmGbeLossOfInputStream.

         When set to 'enabled' the alarm will operate as described.

         When set to 'disabled' the alarm will not be reported or wrapped
         into unitAlarmStatus and the alarm condition will remain 'ok'.
         If the alarm condition is not 'ok' when it is 'disabled', the
         alarm will be cleared.

         Once written, the change to this parameter will take immediate
         effect.  However, in order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexConfAlarmEnable 8027 }

apexEnableGbeInterfaceRedundFailOver OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This setting enables or disables apexAlarmGbeInterfaceRedundFailOver.

         When set to 'enabled' the alarm will operate as described.

         When set to 'disabled' the alarm will not be reported or wrapped
         into unitAlarmStatus and the alarm condition will remain 'ok'.
         If the alarm condition is not 'ok' when it is 'disabled', the
         alarm will be cleared.

         Once written, the change to this parameter will take immediate
         effect.  However, in order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexConfAlarmEnable 8029 }

apexEnableLossOfInputAncillaryPid OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "It enables or disables the alarm 'apexAlarmLossOfInputAncillaryPid'.

         When set to 'enabled', the alarm will operate as described in the 
         description for 'apexAlarmLossOfInputAncillaryPid' and sends event
         'apexEventLossOfInputAncillaryPid'.
         
         When set to 'disabled' the alarm will not be reported or wrapped
         into unitAlarmStatus and the alarm condition will remain 'ok'.
         If the alarm condition is not 'ok' when it is 'disabled', the
         alarm will be cleared.
         
         Also, when set to 'disabled', clear/minor apexEventLossOfInputAncillaryPid
         events will not be sent.
         
         Default value is disabled.

         Once written, the change to this parameter will take immediate
         effect.  However, in order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexConfAlarmEnable 8030 }

apexEnableGbeInputStreamPacketDrop OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This setting enables or disables apexAlarmGbeInputStreamPacketDrop.

         When set to 'enabled' the alarm will operate as described.

         When set to 'disabled' the alarm will not be reported or wrapped
         into unitAlarmStatus and the alarm condition will remain 'ok'.
         If the alarm condition is not 'ok' when it is 'disabled', the
         alarm will be cleared.

         Once written, the change to this parameter will take immediate
         effect.  However, in order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexConfAlarmEnable 8031 }

apexEnableOutputUtilizationFault OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This setting enables or disables apexAlarmOutputUtilizationFault.

         When set to 'enabled' the alarm will operate as described.

         When set to 'disabled' the alarm will not be reported or wrapped
         into unitAlarmStatus and the alarm condition will remain 'ok'.
         If the alarm condition is not 'ok' when it is 'disabled', the
         alarm will be cleared.

         Once written, the change to this parameter will take immediate
         effect.  However, in order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexConfAlarmEnable 8040 }

apexEnableOutputOverflow OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This setting enables or disables apexAlarmOutputOverflow.

         When set to 'enabled' the alarm will operate as described.

         When set to 'disabled' the alarm will not be reported or wrapped
         into unitAlarmStatus and the alarm condition will remain 'ok'.
         If the alarm condition is not 'ok' when it is 'disabled', the
         alarm will be cleared.

         Once written, the change to this parameter will take immediate
         effect.  However, in order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexConfAlarmEnable 8041 }

apexEnableQamModuleFault OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This setting enables or disables apexAlarmQamModuleFault.

         When set to 'enabled' the alarm will operate as described.

         When set to 'disabled' the alarm will not be reported or wrapped
         into unitAlarmStatus and the alarm condition will remain 'ok'.
         If the alarm condition is not 'ok' when it is 'disabled', the
         alarm will be cleared.

         Once written, the change to this parameter will take immediate
         effect.  However, in order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexConfAlarmEnable 8042 }

apexEnableQamRfPortFault OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This setting enables or disables apexAlarmQamRfPortFault.

         When set to 'enabled' the alarm will operate as described.

         When set to 'disabled' the alarm will not be reported or wrapped
         into unitAlarmStatus and the alarm condition will remain 'ok'.
         If the alarm condition is not 'ok' when it is 'disabled', the
         alarm will be cleared.

         Once written, the change to this parameter will take immediate
         effect.  However, in order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexConfAlarmEnable 8043 }

apexEnableQamChannelFault OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This setting enables or disables apexAlarmQamChannelFault.

         When set to 'enabled' the alarm will operate as described.

         When set to 'disabled' the alarm will not be reported or wrapped
         into unitAlarmStatus and the alarm condition will remain 'ok'.
         If the alarm condition is not 'ok' when it is 'disabled', the
         alarm will be cleared.

         Once written, the change to this parameter will take immediate
         effect.  However, in order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexConfAlarmEnable 8044 }

apexEnableQamRfRedundFailOver OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This setting enables or disables apexAlarmQamRfRedundFailOver.

         When set to 'enabled' the alarm will operate as described.

         When set to 'disabled' the alarm will not be reported or wrapped
         into unitAlarmStatus and the alarm condition will remain 'ok'.
         If the alarm condition is not 'ok' when it is 'disabled', the
         alarm will be cleared.

         Once written, the change to this parameter will take immediate
         effect.  However, in order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexConfAlarmEnable 8045 }

apexEnableQamRfRedundMismatch OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This setting enables or disables apexAlarmQamRfRedundMismatch.

         When set to 'enabled' the alarm will operate as described.

         When set to 'disabled' the alarm will not be reported or wrapped
         into unitAlarmStatus and the alarm condition will remain 'ok'.
         If the alarm condition is not 'ok' when it is 'disabled', the
         alarm will be cleared.

         Once written, the change to this parameter will take immediate
         effect.  However, in order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexConfAlarmEnable 8046 }

apexEnableQamModuleRemovalFault OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This setting enables or disables apexAlarmQamModuleRemovalFault.

         When set to 'enabled' the alarm will operate as described.

         When set to 'disabled' the alarm will not be reported or wrapped
         into unitAlarmStatus and the alarm condition will remain 'ok'.
         If the alarm condition is not 'ok' when it is 'disabled', the
         alarm will be cleared.

         Once written, the change to this parameter will take immediate
         effect.  However, in order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexConfAlarmEnable 8047 }

apexEnableRtspControllerCommFault OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This setting enables or disables apexAlarmRtspControllerCommFault.

         When set to 'enabled' the alarm will operate as described.

         When set to 'disabled' the alarm will not be reported or wrapped
         into unitAlarmStatus and the alarm condition will remain 'ok'.
         If the alarm condition is not 'ok' when it is 'disabled', the
         alarm will be cleared.

         Once written, the change to this parameter will take immediate
         effect.  However, in order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexConfAlarmEnable 8050 }

apexEnableRdsCommAlarmFault OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This setting enables or disables apexAlarmRdsCommFault.

         When set to 'enabled' the alarm will operate as described.

         When set to 'disabled' the alarm will not be reported or wrapped
         into unitAlarmStatus and the alarm condition will remain 'ok'.
         If the alarm condition is not 'ok' when it is 'disabled', the
         alarm will be cleared.

         Once written, the change to this parameter will take immediate
         effect.  However, in order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexConfAlarmEnable 8060 }

apexEnableRemCommFault OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This setting enables or disables apexAlarmRemCommFault.

         When set to 'enabled' the alarm will operate as described.

         When set to 'disabled' the alarm will not be reported or wrapped
         into unitAlarmStatus and the alarm condition will remain 'ok'.
         If the alarm condition is not 'ok' when it is 'disabled', the
         alarm will be cleared.

         Once written, the change to this parameter will take immediate
         effect.  However, in order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexConfAlarmEnable 8070 }

apexEnableRemFault OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This setting enables or disables apexAlarmRemFault.
         When set to 'enabled' the alarm will operate as described.

         When set to 'disabled' the alarm will not be reported or wrapped
         into unitAlarmStatus and the alarm condition will remain 'ok'.
         If the alarm condition is not 'ok' when it is 'disabled', the
         alarm will be cleared.

         Once written, the change to this parameter will take immediate
         effect.  However, in order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexConfAlarmEnable 8071 }

apexEnableDepiControlConnectionFault OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This setting enables or disables apexAlarmDepiControlConnectionFault.
         When set to 'enabled' the alarm will operate as described.

         When set to 'disabled' the alarm will not be reported or wrapped
         into unitAlarmStatus and the alarm condition will remain 'ok'.
         If the alarm condition is not 'ok' when it is 'disabled', the
         alarm will be cleared.

         Once written, the change to this parameter will take immediate
         effect.  However, in order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexConfAlarmEnable 8080 }

apexEnableDepiSessionSetupFault OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This setting enables or disables apexAlarmDepiSessionSetupFault.
         When set to 'enabled' the alarm will operate as described.

         When set to 'disabled' the alarm will not be reported or wrapped
         into unitAlarmStatus and the alarm condition will remain 'ok'.
         If the alarm condition is not 'ok' when it is 'disabled', the
         alarm will be cleared.

         Once written, the change to this parameter will take immediate
         effect.  However, in order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexConfAlarmEnable 8081 }

apexEnableDtiSyncLossFault OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This setting enables or disables apexAlarmDtiSyncLossFault.
         When set to 'enabled' the alarm will operate as described.

         When set to 'disabled' the alarm will not be reported or wrapped
         into unitAlarmStatus and the alarm condition will remain 'ok'.
         If the alarm condition is not 'ok' when it is 'disabled', the
         alarm will be cleared.

         Once written, the change to this parameter will take immediate
         effect.  However, in order for the change to persist through
         subsequent reboots or power cycles, the change must be saved via
         the apexSaveConfig parameter.

         @Config(config=yes, reboot=no)
         @Save(apexSaveConfig, value=2)
         @File(config.ini, type='ini')
        "
::= { apexConfAlarmEnable 8082 }

apexEnableChassisRedundancyPrimaryFailover OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "This setting enables or disables apexEnableChassisRedundancyPrimaryFailover.
             When set to 'enabled' the alarm will operate as described.

             When set to 'disabled' the alarm will not be reported or wrapped
             into unitAlarmStatus and the alarm condition will remain 'ok'.
             If the alarm condition is not 'ok' when it is 'disabled', the
             alarm will be cleared.

             Once written, the change to this parameter will take immediate
             effect.  However, in order for the change to persist through
             subsequent reboots or power cycles, the change must be saved via
             the apexSaveConfig parameter.

             @Config(config=yes, reboot=no)
             @Save(apexSaveConfig, value=2)
             @File(config.ini, type='ini')
        "
::= { apexConfAlarmEnable 8090 }

apexEnableChassisRedundancySecondaryFailover OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "This setting enables or disables apexEnableChassisRedundancySecondaryFailover.
             When set to 'enabled' the alarm will operate as described.

             When set to 'disabled' the alarm will not be reported or wrapped
             into unitAlarmStatus and the alarm condition will remain 'ok'.
             If the alarm condition is not 'ok' when it is 'disabled', the
             alarm will be cleared.

             Once written, the change to this parameter will take immediate
             effect.  However, in order for the change to persist through
             subsequent reboots or power cycles, the change must be saved via
             the apexSaveConfig parameter.

             @Config(config=yes, reboot=no)
             @Save(apexSaveConfig, value=2)
             @File(config.ini, type='ini')
        "
::= { apexConfAlarmEnable 8091 }

apexEnableChassisRedundancyAvailabilityFault OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "This setting enables or disables apexEnableChassisRedundancyAvailabilityFault.
             When set to 'enabled' the alarm will operate as described.

             When set to 'disabled' the alarm will not be reported or wrapped
             into unitAlarmStatus and the alarm condition will remain 'ok'.
             If the alarm condition is not 'ok' when it is 'disabled', the
             alarm will be cleared.

             Once written, the change to this parameter will take immediate
             effect.  However, in order for the change to persist through
             subsequent reboots or power cycles, the change must be saved via
             the apexSaveConfig parameter.

             @Config(config=yes, reboot=no)
             @Save(apexSaveConfig, value=2)
             @File(config.ini, type='ini')
        "
::= { apexConfAlarmEnable 8092 }

apexEnableChassisRedundancyLinkFault OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "This setting enables or disables apexEnableChassisRedundancyLinkFault.
             When set to 'enabled' the alarm will operate as described.

             When set to 'disabled' the alarm will not be reported or wrapped
             into unitAlarmStatus and the alarm condition will remain 'ok'.
             If the alarm condition is not 'ok' when it is 'disabled', the
             alarm will be cleared.

             Once written, the change to this parameter will take immediate
             effect.  However, in order for the change to persist through
             subsequent reboots or power cycles, the change must be saved via
             the apexSaveConfig parameter.

             @Config(config=yes, reboot=no)
             @Save(apexSaveConfig, value=2)
             @File(config.ini, type='ini')
        "
::= { apexConfAlarmEnable 8093 }

apexEnableChassisRedundancyConfigurationFault OBJECT-TYPE
    SYNTAX EnableDisableTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "This setting enables or disables apexEnableChassisRedundancyConfigurationFault.
             When set to 'enabled' the alarm will operate as described.

             When set to 'disabled' the alarm will not be reported or wrapped
             into unitAlarmStatus and the alarm condition will remain 'ok'.
             If the alarm condition is not 'ok' when it is 'disabled', the
             alarm will be cleared.

             Once written, the change to this parameter will take immediate
             effect.  However, in order for the change to persist through
             subsequent reboots or power cycles, the change must be saved via
             the apexSaveConfig parameter.

             @Config(config=yes, reboot=no)
             @Save(apexSaveConfig, value=2)
             @File(config.ini, type='ini')
        "
::= { apexConfAlarmEnable 8094 }


-- ------------------------------------------------------------------------------
--
-- apexConfAlarmClear
--

apexClearInvalidInitData OBJECT-TYPE
    SYNTAX ClearAlarmTYPE
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Setting to 'clearAlarm' clears the apexAlarmInvalidInitData.

         The APEX will set this parameter back to 'clearAlarmNotInProgress'
         after clearing the alarm.

         Once written, the change to this parameter will take immediate effect.

         @Config(config=no, reboot=no)
        "
::= { apexConfAlarmClear 8001 }


-- ------------------------------------------------------------------------------
--
-- apexLogs
--

-- ------------------------------------------------------------------------------
--
-- apexHwEventTable
--

apexHwEventTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexHwEventEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of Hardware Events that have occurred.
         Maximum of 100 events will be recorded.
        "
::= { apexLogs 1 }

apexHwEventEntry OBJECT-TYPE
    SYNTAX ApexHwEventEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Hardware Event Table Entry."
    INDEX { apexHwEventIndex }
::= { apexHwEventTable 1 }

ApexHwEventEntry ::= SEQUENCE
    {
     apexHwEventIndex          Integer32,
     apexHwEventTimeLogged     Integer32,
     apexHwEventAlarmCode      Integer32,
     apexHwEventAlarmSeverity  INTEGER,
     apexHwEventData           Integer32,
     apexHwEventDescription    DisplayString
    }

apexHwEventIndex OBJECT-TYPE
    SYNTAX Integer32(0..'7fffffff'h)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Index to HW Event table entry."
::= { apexHwEventEntry 1 }

apexHwEventTimeLogged OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Time in GPS seconds (apexSystemTime) that this event was logged.
        "
::= { apexHwEventEntry 2 }

apexHwEventAlarmCode OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Last number of alarm OID.  Can be one of the following:
               0 Indicates event is informational and may or may not cause an alarm.
            8000 apexAlarmHardwareFault
            8002 apexAlarmTemperatureFault
            8003 apexAlarmFanFault
            8004 apexAlarmPowerFault
            8042 apexAlarmQamModuleFault
            8043 apexAlarmQamRfPortFault
            8044 apexAlarmQamChannelFault
            8045 apexAlarmQamRfRedundFailOver
            8046 apexAlarmQamRfRedundMismatch
            8070 apexAlarmRemCommFault
            8071 apexAlarmRemFault

         More details about the error can be found in apexHwEventDescription.
        "
::= { apexHwEventEntry 3 }

apexHwEventAlarmSeverity OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Alarm severity level of this event.
        "
::= { apexHwEventEntry 4 }

apexHwEventData OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Additional integer data.

         When apexHwEventAlarmCode is non-zero, this will be the same as Additional
         Data 1 as in the trap for the alarm.

         When apexHwEventAlarmCode is zero, this may contain additional data
         helpful in debug.
        "
::= { apexHwEventEntry 5 }

apexHwEventDescription OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Text description of the event."
::= { apexHwEventEntry 6 }


-- ------------------------------------------------------------------------------
--
-- apexInvalidInitDataTable
--

apexInvalidInitDataTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexInvalidInitDataEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of Invalid Initialization Data Errors.
         Maximum of 100 errors will be recorded.
        "
::= { apexLogs 2 }

apexInvalidInitDataEntry OBJECT-TYPE
    SYNTAX ApexInvalidInitDataEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Invalid Initialization Data Table Entry."
    INDEX { apexInvalidInitDataIndex }
::= { apexInvalidInitDataTable 1 }

ApexInvalidInitDataEntry ::= SEQUENCE
    {
     apexInvalidInitDataIndex       Integer32,
     apexInvalidInitDataTimeLogged  Integer32,
     apexInvalidInitDataDescription DisplayString
    }

apexInvalidInitDataIndex OBJECT-TYPE
    SYNTAX Integer32(0..'7fffffff'h)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Index to Invalid Initialization Data table entry."
::= { apexInvalidInitDataEntry 1 }

apexInvalidInitDataTimeLogged OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Time in GPS seconds (apexSystemTime) that this event was logged.
        "
::= { apexInvalidInitDataEntry 2 }

apexInvalidInitDataDescription OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Text string describing the data error."
::= { apexInvalidInitDataEntry 3 }


-- ------------------------------------------------------------------------------
--
-- apexOutputTsEventTable
--

apexOutputTsEventTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexOutputTsEventEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of Output Stream events that have occurred.

         Maximum of 200 events will be recorded.
        "
::= { apexLogs 3 }

apexOutputTsEventEntry OBJECT-TYPE
    SYNTAX ApexOutputTsEventEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Output Stream Error Table Entry."
    INDEX { apexOutputTsEventIndex }
::= { apexOutputTsEventTable 1 }

ApexOutputTsEventEntry ::= SEQUENCE
    {
     apexOutputTsEventIndex              Integer32,
     apexOutputTsEventTimeLogged         Integer32,
     apexOutputTsEventAlarmCode          Integer32,
     apexOutputTsEventAlarmSeverity      INTEGER,
     apexOutputTsEventOutputTsNum        Integer32,
     apexOutputTsEventCurRate            Integer32,
     apexOutputTsEventAvgRate            Integer32,
     apexOutputTsEventMinRate            Integer32,
     apexOutputTsEventPeakRate           Integer32,
     apexOutputTsEventCurDropPackets     Integer32,
     apexOutputTsEventPeakDropPackets    Integer32,
     apexOutputTsEventRollingDropPackets Integer32,
     apexOutputTsEventTotalDropPackets   Integer32,
     apexOutputTsEventDescription        DisplayString
    }

apexOutputTsEventIndex OBJECT-TYPE
    SYNTAX Integer32(0..'7fffffff'h)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Index to Output Stream Error table.
        "
::= { apexOutputTsEventEntry 1 }

apexOutputTsEventTimeLogged OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Time in GPS seconds (apexSystemTime) that this event was logged.
        "
::= { apexOutputTsEventEntry 2 }

apexOutputTsEventAlarmCode OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Last number of alarm OID.  Can be one of the following:
               0 Indicates event is informational and may or may not cause an alarm.
            8040 apexAlarmOutputUtilizationFault
            8041 apexAlarmOutputOverflow

         More details about the error can be found in apexOutputTsEventDescription.
        "
::= { apexOutputTsEventEntry 3 }

apexOutputTsEventAlarmSeverity OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Alarm severity level of this event.
        "
::= { apexOutputTsEventEntry 4 }

apexOutputTsEventOutputTsNum OBJECT-TYPE
    SYNTAX Integer32 (0..48)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of the output transport stream for this event.
        "
::= { apexOutputTsEventEntry 5 }

apexOutputTsEventCurRate OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Value of apexOutputTsUtilizCurRate when event occurred.
        "
::= { apexOutputTsEventEntry 6 }

apexOutputTsEventAvgRate OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Value of apexOutputTsUtilizAvgRate when event occurred.
        "
::= { apexOutputTsEventEntry 7 }

apexOutputTsEventMinRate OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Value of apexOutputTsUtilizMinRate when event occurred.
        "
::= { apexOutputTsEventEntry 8 }

apexOutputTsEventPeakRate OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Value of apexOutputTsUtilizPeakRate when event occurred.
        "
::= { apexOutputTsEventEntry 9 }

apexOutputTsEventCurDropPackets OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Value of apexOutputTsUtilizCurDropPackets when event occurred.
        "
::= { apexOutputTsEventEntry 10 }

apexOutputTsEventPeakDropPackets OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Value of apexOutputTsUtilizPeakDropPackets when event occurred.
        "
::= { apexOutputTsEventEntry 11 }

apexOutputTsEventRollingDropPackets OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Value of apexOutputTsUtilizRollingDropPackets when event occurred.
        "
::= { apexOutputTsEventEntry 12 }

apexOutputTsEventTotalDropPackets OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Value of apexOutputTsUtilizTotalDropPackets when event occurred.
        "
::= { apexOutputTsEventEntry 13 }

apexOutputTsEventDescription OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Text description of the event.
         Maximum length is 128 characters.
        "
::= { apexOutputTsEventEntry 14 }


-- ------------------------------------------------------------------------------
--
-- apexGbeInputTsEventTable
--

apexGbeInputTsEventTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexGbeInputTsEventEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of Gigabit Ethernet Input Transport Stream Events that have occurred.
         Maximum of 100 events will be recorded.
        "
::= { apexLogs 4 }

apexGbeInputTsEventEntry OBJECT-TYPE
    SYNTAX ApexGbeInputTsEventEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Gigabit Ethernet Input Transport Stream Event Table Entry."
    INDEX { apexGbeInputTsEventIndex }
::= { apexGbeInputTsEventTable 1 }

ApexGbeInputTsEventEntry ::= SEQUENCE
    {
     apexGbeInputTsEventIndex               Integer32,
     apexGbeInputTsEventTimeLogged          Integer32,
     apexGbeInputTsEventAlarmCode           Integer32,
     apexGbeInputTsEventAlarmSeverity       INTEGER,
     apexGbeInputTsEventRedundantConfig     INTEGER,
     apexGbeInputTsEventGbeInterface        Integer32,
     apexGbeInputTsEventUdpPort             Integer32,
     apexGbeInputTsEventMulticastIp         IpAddress,
     apexGbeInputTsEventSourceIp            IpAddress,
     apexGbeInputTsEventInputTsState        InputTsStateTYPE,
     apexGbeInputTsEventRateCompareType     RateComparisonTYPE,
     apexGbeInputTsEventSamplingPeriod      Integer32,
     apexGbeInputTsEventPriCurStreamCount   Counter32,
     apexGbeInputTsEventPriCurDataCount     Counter32,
     apexGbeInputTsEventSecCurStreamCount   Counter32,
     apexGbeInputTsEventSecCurDataCount     Counter32,
     apexGbeInputTsEventDescription         DisplayString
    }

apexGbeInputTsEventIndex OBJECT-TYPE
    SYNTAX Integer32(0..'7fffffff'h)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Index to Gigabit Ethernet Input Transport Stream Event table.
        "
::= { apexGbeInputTsEventEntry 1 }

apexGbeInputTsEventTimeLogged OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Time in GPS seconds (apexSystemTime) that this event was logged.
        "
::= { apexGbeInputTsEventEntry 2 }

apexGbeInputTsEventAlarmCode OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Last number of alarm OID.  Can be one of the following:
               0 Indicates event is informational and may or may not cause an alarm.
            8022 apexAlarmGbeInputStreamLowBitRate
            8023 apexAlarmGbeInputStreamHighBitRate
            8024 apexAlarmGbeMptsRedundPrimaryThreshold
            8025 apexAlarmGbeMptsRedundFailOver

         More details about the error may be found in apexGbeInputTsEventDescription.
        "
::= { apexGbeInputTsEventEntry 3 }

apexGbeInputTsEventAlarmSeverity OBJECT-TYPE
    SYNTAX INTEGER
        {
         ok(1),
         indeterminate(2),
         warning(3),
         minor(4),
         major(5),
         critical(6)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Alarm severity level of this event.
        "
::= { apexGbeInputTsEventEntry 4 }

apexGbeInputTsEventRedundantConfig OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         primary       (1),
         secondary     (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Indicates whether this input transport stream was
         configured as a primary or secondary at the time of the event.
        "
::= { apexGbeInputTsEventEntry 5 }

apexGbeInputTsEventGbeInterface OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Value of apexInputTsStatPriInputInterface or apexInputTsStatSecInputInterface
         at the time of the event.
        "
::= { apexGbeInputTsEventEntry 6 }

apexGbeInputTsEventUdpPort OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Value of apexInputTsStatPriInputUdp or apexInputTsStatSecInputUdp
         at the time of the event.
        "
::= { apexGbeInputTsEventEntry 7 }

apexGbeInputTsEventMulticastIp OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Value of apexInputTsStatPriInputMulticastIp or apexInputTsStatSecInputMulticastIp
         at the time of the event.
        "
::= { apexGbeInputTsEventEntry 8 }

apexGbeInputTsEventSourceIp OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Value of apexInputTsStatPriInputSourceIp or apexInputTsStatSecInputSourceIp
         at the time of the event.
        "
::= { apexGbeInputTsEventEntry 9 }

apexGbeInputTsEventInputTsState OBJECT-TYPE
    SYNTAX InputTsStateTYPE
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Value of apexInputTsStatPriState or apexInputTsStatSecState
         at the time of the event. For threshold or fail over events, the
         state reported is always the Primary input stream state.
        "
::= { apexGbeInputTsEventEntry 10 }

apexGbeInputTsEventRateCompareType OBJECT-TYPE
    SYNTAX RateComparisonTYPE
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Comparison type at time of event (stream or data).
        "
::= { apexGbeInputTsEventEntry 11 }

apexGbeInputTsEventSamplingPeriod OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Sample period in seconds of the stream and data counts reported.
         Using the sample period and the stream or data counts, the actual
         input rate at the time of the event can be computed.
        "
::= { apexGbeInputTsEventEntry 12 }

apexGbeInputTsEventPriCurStreamCount OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Current Primary input stream Packet Count at the time of the event.
         This is the number of packets received, including Nulls, during the
         sample period defined in apexGbeInputTsEventSamplingPeriod.
        "
::= { apexGbeInputTsEventEntry 13 }

apexGbeInputTsEventPriCurDataCount OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Current Primary input data Packet Count at the time of the event.
         This is the number of data packets received (non-Nulls), during the
         sample period defined in apexGbeInputTsEventSamplingPeriod.
        "
::= { apexGbeInputTsEventEntry 14 }

apexGbeInputTsEventSecCurStreamCount OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Current Secondary input stream Packet Count at the time of the event.
         This is the number of packets received, including Nulls, during the
         sample period defined in apexGbeInputTsEventSamplingPeriod.
        "
::= { apexGbeInputTsEventEntry 15 }

apexGbeInputTsEventSecCurDataCount OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Current Secondary input data Packet Count at the time of the event.
         This is the number of data packets received (non-Nulls), during the
         sample period defined in apexGbeInputTsEventSamplingPeriod.
        "
::= { apexGbeInputTsEventEntry 16 }

apexGbeInputTsEventDescription OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Text description of the event.
         Maximum length is 128 characters.
        "
::= { apexGbeInputTsEventEntry 17 }


-- ------------------------------------------------------------------------------
--
-- apexRtspEventTable
--

apexRtspEventTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexRtspEventEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of RTSP Events that have occurred.
         Maximum of 100 events will be recorded.
        "
::= { apexLogs 5 }

apexRtspEventEntry OBJECT-TYPE
    SYNTAX ApexRtspEventEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "RTSP Event Table Entry."
    INDEX { apexRtspEventIndex }
::= { apexRtspEventTable 1 }

ApexRtspEventEntry ::= SEQUENCE
    {
     apexRtspEventIndex             Integer32,
     apexRtspEventTimeLogged        Integer32,
     apexRtspEventControllerIp      IpAddress,
     apexRtspEventSessionCount      Integer32,
     apexRtspEventSourceDescription DisplayString,
     apexRtspEventDescription       DisplayString
    }

apexRtspEventIndex OBJECT-TYPE
    SYNTAX Integer32(0..'7fffffff'h)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Index to RTSP Event table entry."
::= { apexRtspEventEntry 1 }

apexRtspEventTimeLogged OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Time in GPS seconds (apexSystemTime) that this event was logged.
        "
::= { apexRtspEventEntry 2 }

apexRtspEventControllerIp OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "IP address of the RTSP Controller associated with this event.  Value
         will be zero if the event is not associated with a specific controller.
         Refer to apexRtspEventSourceDescription for the source of the event.
        "
::= { apexRtspEventEntry 3 }

apexRtspEventSessionCount OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of active sessions for the RTSP Controller associated with this
         event.  Value will be total count of all sessions for all controllers
         if the event is not associated with a specific controller.  Refer
         to apexRtspEventSourceDescription for the source of the event.
        "
::= { apexRtspEventEntry 4 }

apexRtspEventSourceDescription OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Text description of the source of the event.  May indicate a controller
         identifier or an APEX application process.
        "
::= { apexRtspEventEntry 5 }

apexRtspEventDescription OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Text description of the event."
::= { apexRtspEventEntry 6 }


-- ------------------------------------------------------------------------------
--
--  apexMappingErrorTable
--

apexMappingErrorTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexMappingErrorEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of program, ancillary PID, and stream pass through mapping errors
         that have occurred. Maximum of 100 error events will be recorded.
        "
::= { apexLogs 6 }

apexMappingErrorEntry OBJECT-TYPE
    SYNTAX ApexMappingErrorEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Program, PID, Stream Pass Through Error Table Entry."
    INDEX { apexMappingErrorIndex }
::= { apexMappingErrorTable 1 }

ApexMappingErrorEntry ::= SEQUENCE
    {
     apexMappingErrorIndex             Integer32,
     apexMappingErrorTimeLogged        Integer32,
     apexMappingErrorCode              Integer32,
     apexMappingErrorMappingType       INTEGER,
     apexMappingErrorInputType         INTEGER,
     apexMappingErrorInputInterface    Integer32,
     apexMappingErrorUdpPort           Integer32,
     apexMappingErrorMulticastIp       IpAddress,
     apexMappingErrorSourceIp          IpAddress,
     apexMappingErrorInputProgramPid   Integer32,
     apexMappingErrorOutputProgramPid  Integer32,
     apexMappingErrorOutputOpMode      INTEGER,
     apexMappingErrorOutputTsNum       Integer32,
     apexMappingErrorSecInputInterface Integer32,
     apexMappingErrorSecUdpPort        Integer32,
     apexMappingErrorSecMulticastIp    IpAddress,
     apexMappingErrorSecSourceIp       IpAddress
    }

apexMappingErrorIndex OBJECT-TYPE
    SYNTAX Integer32(0..'7fffffff'h)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Index to Program, PID, Stream Pass Through,
         DEPI Control, DEPI Session Error table.
        "
::= { apexMappingErrorEntry 1 }

apexMappingErrorTimeLogged OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Time in GPS seconds (apexSystemTime) that this error was logged.
        "
::= { apexMappingErrorEntry 2 }

apexMappingErrorCode OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Error code for this mapping error. 0 indicates no error.
        "
::= { apexMappingErrorEntry 3 }

apexMappingErrorMappingType OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable  (0),
         program        (1),
         ancillaryPid   (2),
         streamPassthru (3),
         depiControl    (4),
         depiSession    (5)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Type of mapping (program, ancillary PID, or stream pass through).
        "
::= { apexMappingErrorEntry 4 }


apexMappingErrorInputType OBJECT-TYPE
    SYNTAX INTEGER
        {
         notApplicable (0),
         gbe           (1),
         fastEnet      (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Input Type. Indicates if mapping is from Gigabit Ethernet or Fast Ethernet.
        "
::= { apexMappingErrorEntry 5 }

apexMappingErrorInputInterface OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Interface port number of the primary input interface.
        "
::= { apexMappingErrorEntry 6 }

apexMappingErrorUdpPort OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Input UDP Port for primary input.
        "
::= { apexMappingErrorEntry 7 }

apexMappingErrorMulticastIp OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Multicast receive IP address for primary input.
        "
::= { apexMappingErrorEntry 8 }

apexMappingErrorSourceIp OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This is the IGMP v3 Source IP address of the source device for the primary input.
        "
::= { apexMappingErrorEntry 9 }

apexMappingErrorInputProgramPid OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "For program mappings, this is the input program number of the program being mapped.
         For ancillary PID mappings, this is the input PID number being mapped.
         For stream pass through mappings, this field is not used and is set to 0.
        "
::= { apexMappingErrorEntry 10 }

apexMappingErrorOutputProgramPid OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "For program mappings, this is the output program number of the program being mapped.
         For ancillary PID mappings, this is the output PID number being mapped.
         For stream pass through mappings, this field is not used and is set to 0.
        "
::= { apexMappingErrorEntry 11 }

apexMappingErrorOutputOpMode OBJECT-TYPE
    SYNTAX INTEGER
        {
         notInUse       (0),
         sessionControl (1),
         manualRouting  (2)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Operating mode of the output transport stream for this mapping.
        "
::= { apexMappingErrorEntry 12 }

apexMappingErrorOutputTsNum OBJECT-TYPE
    SYNTAX Integer32 (0..48)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of the output transport stream for this mapping error.
        "
::= { apexMappingErrorEntry 13 }

apexMappingErrorSecInputInterface OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Interface port number of the secondary input interface.
         An interface number of 0 indicates no secondary input.
        "
::= { apexMappingErrorEntry 14 }

apexMappingErrorSecUdpPort OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Input UDP Port for secondary input.
        "
::= { apexMappingErrorEntry 15 }

apexMappingErrorSecMulticastIp OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The Multicast receive IP address for secondary input.
        "
::= { apexMappingErrorEntry 16 }

apexMappingErrorSecSourceIp OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This is the IGMP v3 Source IP address of the source device for the secondary input.
        "
::= { apexMappingErrorEntry 17 }


-- ------------------------------------------------------------------------------
--
-- apexChassisRedundancyEventTable
--

apexChassisRedundancyEventTable OBJECT-TYPE
    SYNTAX SEQUENCE OF ApexChassisRedundancyEventEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Table of Chassis Redundancy Events.
         Maximum of 300 events will be recorded.
        "
::= { apexLogs 7 }

apexChassisRedundancyEventEntry OBJECT-TYPE
    SYNTAX ApexChassisRedundancyEventEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Chassis Redundancy Event Table Entry."
    INDEX { apexChassisRedundancyEventIndex }
::= { apexChassisRedundancyEventTable 1 }

ApexChassisRedundancyEventEntry ::= SEQUENCE
    {
     apexChassisRedundancyEventIndex       Integer32,
     apexChassisRedundancyEventTimeLogged  Integer32,
     apexChassisRedundancyEventDescription DisplayString
    }

apexChassisRedundancyEventIndex OBJECT-TYPE
    SYNTAX Integer32(0..'7fffffff'h)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Index for Chassis Redundancy Event table."
::= { apexChassisRedundancyEventEntry 1 }

apexChassisRedundancyEventTimeLogged OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Time in GPS seconds (apexSystemTime) that this event was logged.
        "
::= { apexChassisRedundancyEventEntry 2 }

apexChassisRedundancyEventDescription OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Text string describing the event."
::= { apexChassisRedundancyEventEntry 3 }


-- ------------------------------------------------------------------------------
--
-- apexTraps
--

-- ------------------------------------------------------------------------------
--
-- BCS Traps
--
-- Objects are commonly defined but ENTERPRISE is APEX specific.
-- Trap ID starts at 1.  Trap ID 1 and 2 are not issued by the APEX.
--

trapConfigurationChangeInteger NOTIFICATION-TYPE
    OBJECTS
    {
    trapIdentifier,
    trapSequenceId,
    trapNetworkElemModelNumber,
    trapNetworkElemSerialNum,
    trapPerceivedSeverity,
    trapNetworkElemOperState,
    trapNetworkElemAlarmStatus,
    trapNetworkElemAdminState,
    trapNetworkElemAvailStatus,
    trapText,
    trapNETrapLastTrapTimeStamp,
    trapChangedObjectId,
    trapChangedValueInteger
    }
    STATUS current
    DESCRIPTION
        "This trap is issued if configuration of a single variable
         with integer type was changed (via ANY interface).
         TrapChangedValueInteger variable may contain current reading
         of that variable.
         trapPerceivedSeverity - 'indeterminate'"
::= { apexTraps 3 }


trapConfigurationChangeDisplayString NOTIFICATION-TYPE
    OBJECTS
    {
    trapIdentifier,
    trapSequenceId,
    trapNetworkElemModelNumber,
    trapNetworkElemSerialNum,
    trapPerceivedSeverity,
    trapNetworkElemOperState,
    trapNetworkElemAlarmStatus,
    trapNetworkElemAdminState,
    trapNetworkElemAvailStatus,
    trapText,
    trapNETrapLastTrapTimeStamp,
    trapChangedObjectId,
    trapChangedValueDisplayString
    }
    STATUS current
    DESCRIPTION
        "This trap is issued if configuration of a single variable
         with DisplayString type was changed (via ANY interface).
         TrapChangedValueDisplayString variable may contain current
         reading of that variable.
         trapPerceivedSeverity - 'indeterminate'"
::= { apexTraps 4 }


trapConfigurationChangeOID NOTIFICATION-TYPE
    OBJECTS
    {
    trapIdentifier,
    trapSequenceId,
    trapNetworkElemModelNumber,
    trapNetworkElemSerialNum,
    trapPerceivedSeverity,
    trapNetworkElemOperState,
    trapNetworkElemAlarmStatus,
    trapNetworkElemAdminState,
    trapNetworkElemAvailStatus,
    trapText,
    trapNETrapLastTrapTimeStamp,
    trapChangedObjectId,
    trapChangedValueOID
    }
    STATUS current
    DESCRIPTION
        "This trap is issued if configuration of a single variable
         with OID type was changed (via ANY interface).
         TrapChangedValueOID variable may contain current reading
         of that variable.
         trapPerceivedSeverity - 'indeterminate'"
::= { apexTraps 5 }

trapConfigurationChangeIpAddress NOTIFICATION-TYPE
    OBJECTS
    {
    trapIdentifier,
    trapSequenceId,
    trapNetworkElemModelNumber,
    trapNetworkElemSerialNum,
    trapPerceivedSeverity,
    trapNetworkElemOperState,
    trapNetworkElemAlarmStatus,
    trapNetworkElemAdminState,
    trapNetworkElemAvailStatus,
    trapText,
    trapNETrapLastTrapTimeStamp,
    trapChangedObjectId,
    trapChangedValueIpAddress
    }
    STATUS current
    DESCRIPTION
        "This trap is issued if configuration of a single variable
         with IpAddress type was changed (via ANY interface).
         TrapChangedValueIpAddress variable may contain current reading
         of that variable.
         trapPerceivedSeverity - 'indeterminate'"
::= { apexTraps 6 }


-- ------------------------------------------------------------------------------
--
-- DNS Traps
--
-- Objects are commonly defined but ENTERPRISE is APEX specific.
-- Trap ID starts at 20.
--

trapConditionNotInList NOTIFICATION-TYPE
    OBJECTS
    {
    trapIdentifier,
    trapSequenceId,
    trapNetworkElemModelNumber,
    trapNetworkElemSerialNum,
    trapPerceivedSeverity,
    trapNetworkElemOperState,
    trapNetworkElemAlarmStatus,
    trapNetworkElemAdminState,
    trapNetworkElemAvailStatus,
    trapText,
    trapNETrapLastTrapTimeStamp,
    trapChangedObjectId,
    trapChangedValueInteger,
    trapAdditionalInfoInteger1,
    trapAdditionalInfoInteger2,
    trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "This trap is issued if a condition is being cleared and
         it is not in the condition list.
         trapAdditionalInfoInteger1 : Task and Function ID (task
                          and function generates the
                          error condition)
         trapAdditionalInfoInteger2 : Condition number
         trapAdditionalInfoInteger3 : Condition severity"
::= { apexTraps 20 }

trapConditionAlreadyInList NOTIFICATION-TYPE
    OBJECTS
    {
    trapIdentifier,
    trapSequenceId,
    trapNetworkElemModelNumber,
    trapNetworkElemSerialNum,
    trapPerceivedSeverity,
    trapNetworkElemOperState,
    trapNetworkElemAlarmStatus,
    trapNetworkElemAdminState,
    trapNetworkElemAvailStatus,
    trapText,
    trapNETrapLastTrapTimeStamp,
    trapChangedObjectId,
    trapChangedValueInteger,
    trapAdditionalInfoInteger1,
    trapAdditionalInfoInteger2,
    trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "This trap is issued if a condition is being set and
         it is already in the condition list.
         trapAdditionalInfoInteger1 : Task and Function ID (task
                          and function generates the
                          error condition)
         trapAdditionalInfoInteger2 : Condition number
         trapAdditionalInfoInteger3 : Condition severity"
::= { apexTraps 21 }

trapConditionListFull NOTIFICATION-TYPE
    OBJECTS
    {
    trapIdentifier,
    trapSequenceId,
    trapNetworkElemModelNumber,
    trapNetworkElemSerialNum,
    trapPerceivedSeverity,
    trapNetworkElemOperState,
    trapNetworkElemAlarmStatus,
    trapNetworkElemAdminState,
    trapNetworkElemAvailStatus,
    trapText,
    trapNETrapLastTrapTimeStamp,
    trapChangedObjectId,
    trapChangedValueInteger,
    trapAdditionalInfoInteger1,
    trapAdditionalInfoInteger2,
    trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "This trap is issued if a condition is being set and
         the condition list is full.
         trapAdditionalInfoInteger1 : Task and Function ID (task
                          and function generates the
                          error condition)
         trapAdditionalInfoInteger2 : Condition number
         trapAdditionalInfoInteger3 : Condition severity"
::= { apexTraps 22 }

trapInvalidCaseInSwitch NOTIFICATION-TYPE
    OBJECTS
    {
    trapIdentifier,
    trapSequenceId,
    trapNetworkElemModelNumber,
    trapNetworkElemSerialNum,
    trapPerceivedSeverity,
    trapNetworkElemOperState,
    trapNetworkElemAlarmStatus,
    trapNetworkElemAdminState,
    trapNetworkElemAvailStatus,
    trapText,
    trapNETrapLastTrapTimeStamp,
    trapChangedObjectId,
    trapChangedValueInteger,
    trapAdditionalInfoInteger1,
    trapAdditionalInfoInteger2,
    trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "This trap is issued when in a switch statement the
         default case is reached.  The trapAdditionalInfoInteger1
         will contain the task and Function ID.  The
         trapAdditionalInfoInteger2 will contain value of the switch.
         The trapAdditionalInfoInteger3 is not used."
::= { apexTraps 23 }

trapCannotCreateSemaphore NOTIFICATION-TYPE
    OBJECTS
    {
    trapIdentifier,
    trapSequenceId,
    trapNetworkElemModelNumber,
    trapNetworkElemSerialNum,
    trapPerceivedSeverity,
    trapNetworkElemOperState,
    trapNetworkElemAlarmStatus,
    trapNetworkElemAdminState,
    trapNetworkElemAvailStatus,
    trapText,
    trapNETrapLastTrapTimeStamp,
    trapChangedObjectId,
    trapChangedValueInteger,
    trapAdditionalInfoInteger1,
    trapAdditionalInfoInteger2,
    trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "This trap is issued when a semaphore cannot
         be created. The trapAdditionalInfoInteger1 will contain the
         task and Function ID, the trapAdditionalInfoInteger2 and
         trapAdditionalInfoInteger3 will not be used."
::= { apexTraps 24 }

trapCannotOpenSocket NOTIFICATION-TYPE
    OBJECTS
    {
    trapIdentifier,
    trapSequenceId,
    trapNetworkElemModelNumber,
    trapNetworkElemSerialNum,
    trapPerceivedSeverity,
    trapNetworkElemOperState,
    trapNetworkElemAlarmStatus,
    trapNetworkElemAdminState,
    trapNetworkElemAvailStatus,
    trapText,
    trapNETrapLastTrapTimeStamp,
    trapChangedObjectId,
    trapChangedValueInteger,
    trapAdditionalInfoInteger1,
    trapAdditionalInfoInteger2,
    trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "This trap is issued when a socket cannot
         be opened. The trapAdditionalInfoInteger1 will contain the
         task and Function ID. The trapAdditionalInfoInteger2 will
         contain the errno returned by the call to socket(). The
         trapAdditionalInfoInteger3 is not used."
::= { apexTraps 25 }

trapUnknownMessageReceived NOTIFICATION-TYPE
    OBJECTS
    {
    trapIdentifier,
    trapSequenceId,
    trapNetworkElemModelNumber,
    trapNetworkElemSerialNum,
    trapPerceivedSeverity,
    trapNetworkElemOperState,
    trapNetworkElemAlarmStatus,
    trapNetworkElemAdminState,
    trapNetworkElemAvailStatus,
    trapText,
    trapNETrapLastTrapTimeStamp,
    trapChangedObjectId,
    trapChangedValueInteger,
    trapAdditionalInfoInteger1,
    trapAdditionalInfoInteger2,
    trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "This trap is issued when an unknown message
         is received.  The trapAdditionalInfoInteger1 will contain the
         task and Function ID. The trapAdditionalInfoInteger2 will
         contain the message ID and the trapAdditionalInfoInteger3 is
         not used."
::= { apexTraps 26 }

trapInvalidMessageReceived NOTIFICATION-TYPE
    OBJECTS
    {
    trapIdentifier,
    trapSequenceId,
    trapNetworkElemModelNumber,
    trapNetworkElemSerialNum,
    trapPerceivedSeverity,
    trapNetworkElemOperState,
    trapNetworkElemAlarmStatus,
    trapNetworkElemAdminState,
    trapNetworkElemAvailStatus,
    trapText,
    trapNETrapLastTrapTimeStamp,
    trapChangedObjectId,
    trapChangedValueInteger,
    trapAdditionalInfoInteger1,
    trapAdditionalInfoInteger2,
    trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "This trap is issued when an invalid message
         is received.  The trapAdditionalInfoInteger1 will contain the
         task and Function ID. The trapAdditionalInfoInteger2 will
         contain the message ID and the trapAdditionalInfoInteger3 is
         not used."
::= { apexTraps 27 }


-- ------------------------------------------------------------------------------
--
-- APEX Alarm Traps
--
-- Trap ID starts at 8000.
--

trapHardwareFault NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "See corresponding alarm apexAlarmHardwareFault.

         Additional Info 1 carries HW Error Code (refer to HW Event Log for details).
         Additional Info 2 is not used.
         Additional Info 3 is not used.
        "
::= { apexTraps 8000 }

trapInvalidInitData NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "See corresponding alarm apexAlarmInvalidInitData.

         This trap is sent on a summary basis.

         Additional Info 1 is not used.
         Additional Info 2 is not used.
         Additional Info 3 is not used.
        "
::= { apexTraps 8001 }

trapTemperatureFault NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "See corresponding alarm apexAlarmTemperatureFault.

         This trap is sent on a summary basis.

         Additional Info 1 is not used.
         Additional Info 2 is not used.
         Additional Info 3 is not used.
        "
::= { apexTraps 8002 }

trapFanFault NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "See corresponding alarm apexAlarmFanFault.

         This trap is sent on summary basis.

         Additional Info 1 is not used.
         Additional Info 2 is not used.
         Additional Info 3 is not used.
        "
::= { apexTraps 8003 }

trapPowerFault NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "See corresponding alarm apexAlarmPowerFault.

         Additional Info 1 carries the apexPsStatusTable index (1 to 2).
         Additional Info 2 is not used.
         Additional Info 3 is not used.
        "
::= { apexTraps 8004 }

trapGbeLossOfPhysicalInput NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "See corresponding alarm apexAlarmGbeLossOfPhysicalInput.

         Additional Info 1 carries the Gigabit Ethernet Interface Number (1 to 4).
         Additional Info 2 is not used.
         Additional Info 3 is not used.
        "
::= { apexTraps 8020 }

trapGbeBufferFullness NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "See corresponding alarm apexAlarmGbeBufferFullness.

         Additional Info 1 carries the Gigabit Ethernet Processor Number (1 to 2).
         Additional Info 2 is not used.
         Additional Info 3 is not used.
        "
::= { apexTraps 8021 }

trapGbeInputStreamLowBitRate NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "See corresponding alarm apexAlarmGbeInputStreamLowBitRate.

         This trap is sent on a summary basis.

         Additional Info 1 is not used.
         Additional Info 2 is not used.
         Additional Info 3 is not used.
        "
::= { apexTraps 8022 }

trapGbeInputStreamHighBitRate NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "See corresponding alarm apexAlarmGbeInputStreamHighBitRate.

         This trap is sent on a summary basis.

         Additional Info 1 is not used.
         Additional Info 2 is not used.
         Additional Info 3 is not used.
        "
::= { apexTraps 8023 }

trapGbeMptsRedundPrimaryThreshold NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "See corresponding alarm apexAlarmGbeMptsRedundPrimaryThreshold.

         This trap is sent on a summary basis.

         Additional Info 1 is not used.
         Additional Info 2 is not used.
         Additional Info 3 is not used.
        "
::= { apexTraps 8024 }

trapGbeMptsRedundFailOver NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "See corresponding alarm apexAlarmGbeMptsRedundFailOver.

         This trap is sent on a summary basis.

         Additional Info 1 is not used.
         Additional Info 2 is not used.
         Additional Info 3 is not used.
        "
::= { apexTraps 8025 }

trapServiceInError NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "See corresponding alarm apexAlarmServiceInError.

         This trap is sent on a summary basis.

         Additional Info 1 is not used.
         Additional Info 2 is not used.
         Additional Info 3 is not used.
        "
::= { apexTraps 8026 }

trapGbeLossOfInputStream NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "See corresponding alarm apexAlarmGbeLossOfInputStream.

         This trap is sent on a summary basis.

         Additional Info 1 is not used.
         Additional Info 2 is not used.
         Additional Info 3 is not used.
        "
::= { apexTraps 8027 }

trapGigeToHostCommFault NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "See corresponding alarm apexAlarmGigeToHostCommFault.

         This trap is sent on a summary basis.

         Additional Info 1 is not used.
         Additional Info 2 is not used.
         Additional Info 3 is not used.
        "
::= { apexTraps 8028 }

trapGbeInterfaceRedundFailOver NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "See corresponding alarm apexAlarmGbeInterfaceRedundFailOver.

         This trap is sent on a GbE Redundant Pair basis.

         Additional Info 1 contains the GbE interface number that lost link.
         Additional Info 2 is not used.
         Additional Info 3 is not used.
        "
::= { apexTraps 8029 }

trapLossOfInputAncillaryPid NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "This trap is sent if 'apexAlarmLossOfInputAncillaryPid' is 
         enabled by 'apexEnableLossOfInputAncillaryPid' and if any of
         the input ancillary PID is not received for the duration
         'apexPidMapInputAncillaryPidDetectionTimeout'.
         
         Severity level of the alarm is minor.
        "
::= { apexTraps 8030 }

trapGbeInputStreamPacketDrop NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "This trap is sent if 'apexAlarmGbeInputStreamPacketDrop' is 
         enabled by 'apexEnableGbeInputStreamPacketDrop' and if any of
         the input data streams drops a packet.
        "
::= { apexTraps 8031 }

trapOutputUtilizationFault NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "See corresponding alarm apexAlarmOutputUtilizationFault.

         This trap is sent on an Output Transport Stream basis.

         Additional Info 1 carries the Output Transport Stream number (1 to 48).
         Additional Info 2 is not used.
         Additional Info 3 is not used.
        "
::= { apexTraps 8040 }

trapOutputOverflow NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "See corresponding alarm apexAlarmOutputOverflow.

         This trap is sent on an Output Transport Stream basis.

         Additional Info 1 carries the Output Transport Stream number (1 to 48).
         Additional Info 2 is not used.
         Additional Info 3 is not used.
        "
::= { apexTraps 8041 }

trapQamModuleFault NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "See corresponding alarm apexAlarmQamModuleFault.

         This trap is sent on a QAM Module basis.

         Additional Info 1 carries the QAM Module number (1 to 3).
         Additional Info 2 is not used.
         Additional Info 3 is not used.
        "
::= { apexTraps 8042 }

trapQamRfPortFault NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "See corresponding alarm apexAlarmQamRfPortFault.

         This trap is sent on a QAM RF Port basis.

         Additional Info 1 carries the QAM RF Port number:
            RF Port 1 = QAM Module 1, RF 1
            RF Port 2 = QAM Module 1, RF 2
            RF Port 3 = QAM Module 2, RF 1
            RF Port 4 = QAM Module 2, RF 2
            RF Port 5 = QAM Module 3, RF 1
            RF Port 6 = QAM Module 3, RF 2
         Additional Info 2 is not used.
         Additional Info 3 is not used.
        "
::= { apexTraps 8043 }

trapQamChannelFault NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "See corresponding alarm apexAlarmQamChannelFault.

         This trap is sent on a QAM Channel basis.

         Additional Info 1 carries the QAM Channel number.
             1 to  8 = QAM Module 1, RF 1, QAM Channel A to H
             9 to 16 = QAM Module 1, RF 2, QAM Channel A to H
            17 to 24 = QAM Module 2, RF 1, QAM Channel A to H
            25 to 32 = QAM Module 2, RF 2, QAM Channel A to H
            33 to 40 = QAM Module 3, RF 1, QAM Channel A to H
            41 to 48 = QAM Module 3, RF 2, QAM Channel A to H
         Additional Info 2 is not used.
         Additional Info 3 is not used.
        "
::= { apexTraps 8044 }

trapQamRfRedundFailOver NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "See corresponding alarm apexAlarmQamRfRedundFailOver.

         This trap is sent on a Primary QAM RF Port basis.
         Additional Info 1 carries the Primary QAM RF Port number.
         Additional Info 2 is not used.
         Additional Info 3 is not used.
        "
::= { apexTraps 8045 }

trapQamRfRedundMismatch NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "See corresponding alarm apexAlarmQamRfRedundMismatch.

         This trap is sent on a summary basis.
         Additional Info is not used.
        "
::= { apexTraps 8046 }

trapQamModuleRemovalFault NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "See corresponding alarm apexAlarmQamModuleRemovalFault.

         This trap is sent on a QAM Module Removal basis.

         Additional Info 1 carries the QAM Module number (1 to 3).
         Additional Info 2 is not used.
         Additional Info 3 is not used.
        "
::= { apexTraps 8047 }

trapRtspControllerCommFault NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "See corresponding alarm apexAlarmRtspControllerCommFault.

         This trap is sent on a controller basis.

         Additional Info 1 carries the controller number.
         Additional Info 2 is not used.
         Additional Info 3 is not used.
        "
::= { apexTraps 8050 }

trapRdsCommFault NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "See corresponding alarm apexAlarmRdsCommFault.

         Additional Info is not used.
        "
::= { apexTraps 8060 }

trapRemCommFault NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "See corresponding alarm apexAlarmRemCommFault.

         This trap is sent on a summary basis.
         Additional Info is not used.
        "
::= { apexTraps 8070 }

trapRemFault NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "See corresponding alarm apexAlarmRemFault.

         This trap is sent on a summary basis.
         Additional Info is not used.
        "
::= { apexTraps 8071 }

trapDepiControlConnectionFault NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "See corresponding alarm apexAlarmDepiControlConnectionFault.

         This trap is sent on a summary basis.
         Additional Info is not used.
        "
::= { apexTraps 8080 }

trapDepiSessionSetupFault NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "See corresponding alarm apexAlarmDepiSessionSetupFault.

         This trap is sent on a summary basis.
         Additional Info is not used.
        "
::= { apexTraps 8081 }

trapDtiSyncLossFault NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "See corresponding alarm apexAlarmDtiSyncLossFault.

         This trap is sent on a summary basis.
         Additional Info is not used.
        "
::= { apexTraps 8082 }

trapChassisRedundancyPrimaryFailover NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "See corresponding alarm apexAlarmChassisRedundancyPrimaryFailover.

         This trap is sent on a summary basis.
         Additional Info is not used.
        "
::= { apexTraps 8090 }

trapChassisRedundancySecondaryFailover NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "See corresponding alarm apexAlarmChassisRedundancySecondaryFailover.

         This trap is sent on a summary basis.
         Additional Info is not used.
        "
::= { apexTraps 8091 }

trapChassisRedundancyAvailabilityFault NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "See corresponding alarm apexAlarmChassisRedundancyAvailabilityFault.

         This trap is sent on a summary basis.
         Additional Info is not used.
        "
::= { apexTraps 8092 }

trapChassisRedundancyLinkFault NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "See corresponding alarm apexAlarmChassisRedundancyLinkFault.

         This trap is sent on a summary basis.
         Additional Info is not used.
        "
::= { apexTraps 8093 }

trapChassisRedundancyConfigurationFault NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "See corresponding alarm apexAlarmChassisRedundancyConfigurationFault.

         This trap is sent on a summary basis.
         Additional Info is not used.
        "
::= { apexTraps 8094 }


-- ------------------------------------------------------------------------------
--
-- APEX Event Traps
--
-- Trap ID starts at 8100.
--

trapEmUserLoginFailed NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "See corresponding event apexEventEmUserLoginFailed.

         Additional Info is not used."
::= { apexTraps 8100 }

trapQamModuleUpgraded NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "See corresponding event apexEventQamModuleUpgraded.

         Additional Info is not used."
::= { apexTraps 8101 }

trapSnmpCommunityStringChanged NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "This trap event is sent when read/read-write SNMP community strings are changed.
         See corresponding event 'apexEventSnmpCommunityStringChanged'.
         
         Severity level of the event is warning.
         
         The type of community strings which are changed is sent in the
         'Additional Info' parameters as explained below.
         trapAdditionalInfoInteger1 - 1 - read community string is changed
                                      0 - read community string is not changed
         trapAdditionalInfoInteger2 - 1 - read write community string is changed
                                      0 - read write community string is not changed
         trapAdditionalInfoInteger3 - Not used
        "
::= { apexTraps 8102 }

trapEasMessageNotReceived NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "This event is raised, if 'apexEasMessageReceiveTimeoutEventEnable'
         is enabled, when there is no EAS message received from any
         of the EAS sever configured in 'apexEasServerTable' in the duration
         'apexEasMessageReceiveTimeoutDuration'.
         
         Severity level of this event is warning.
         
         Input interface, input UDP port, multicast IP and source IP details are
         passed with the below optional parameters.
        
         trapAdditionalInfoInteger1 -
                    bits 0 to 15  : Input UDP port number
                    bit 16       : Type of interface                          
                          value 0 : GIGE
                          value 1 : Fast Enet
                    bits 17 to 18 : Interface Number and it is zero based
                         Ex: If this value is 3 and the type of interface is 
                             GIGE then it represents GIGE4 interface
                    bits 21 to 31 : Reserved
         trapAdditionalInfoInteger2 - contains EAS multicast IP address
         trapAdditionalInfoInteger3 - contains EAS source IP address
         
         Note: As trapAdditionalInfoInteger2, trapAdditionalInfoInteger3 
         contains IP addresses in the 'IpAddress' type format.
         
         See corresponding event apexEventEasMessageNotReceived.
        "
::= { apexTraps 8103 }

trapLossOfInputAncillaryPidEvent NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "This trap is sent if apexEnableLossOfInputAncillaryPid enabled and
         if any of the input ancillary PID is not received for the duration
         'apexPidMapInputAncillaryPidDetectionTimeout'. Refer
         'apexEventLossOfInputAncillaryPid' for more details.
         
         Severity level of the event is minor.
         
         The trap with clear severity is sent, when the event is cleared.
         
         Input interface type, Input interface type
         input UDP port, multicast IP and source IP details are
         passed with the below optional parameters.
        
         trapAdditionalInfoInteger1 - bits  0 to 12 - Input ancillary PID
                                      bit  13       - Input interface type
                                                      0 - GIGE
                                                      1 - Fast Enet
                                      bits 14 to 15 - Input interface number
                                                      Zero based index runs from 
                                                      0 to 3.
                                      bits 16 to 31 - Input UDP port number
         trapAdditionalInfoInteger2 - Input multicast IP address
         trapAdditionalInfoInteger3 - Input source IP address
         
         Note: As trapAdditionalInfoInteger2, trapAdditionalInfoInteger3 
         contains IP addresses which is in the 'IpAddress' type format,this
         should be decoded as the same way as the type 'IpAddress'.
        "
::= { apexTraps 8104 }

trapChassisRedundancyPrimaryForceFailover NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "See corresponding event apexEventChassisRedunPrimaryForceFailover.

         Additional Info is not used."
::= { apexTraps 8110 }

trapChassisRedundancySecondaryForceFailover NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "See corresponding event apexEventChassisRedunSecondaryForceFailover.

         Additional Info is not used."
::= { apexTraps 8111 }

trapChassisRedundancyFirmwareVersionMismatch NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "See corresponding event apexEventChassisRedunFirmwareVersionMismatch.

         Additional Info is not used."
::= { apexTraps 8112 }

trapChassisRedundancyQAMVersionMismatch NOTIFICATION-TYPE
    OBJECTS
    {
     trapIdentifier,
     trapSequenceId,
     trapNetworkElemModelNumber,
     trapNetworkElemSerialNum,
     trapPerceivedSeverity,
     trapNetworkElemOperState,
     trapNetworkElemAlarmStatus,
     trapNetworkElemAdminState,
     trapNetworkElemAvailStatus,
     trapText,
     trapNETrapLastTrapTimeStamp,
     trapChangedObjectId,
     trapChangedValueInteger,
     trapAdditionalInfoInteger1,
     trapAdditionalInfoInteger2,
     trapAdditionalInfoInteger3
    }
    STATUS current
    DESCRIPTION
        "See corresponding event apexEventChassisRedunQAMVersionMismatch.

         Additional Info is not used."
::= { apexTraps 8113 }


END

