
--------------------------------------------------------------------------
-- File Name : ZTE-AN-CTRL-MULTICAST-MIB.mib
-- Date      : 2006-09-05
-- Author    : ZTE Nms dept.

--
-- Zte Multicast Service Mib for Access Node
-- 
-- 
--------------------------------------------------------------------------


ZTE-AN-CTRL-MULTICAST-MIB DEFINITIONS ::= BEGIN
    IMPORTS 
        MODULE-IDENTITY, OBJECT-TYPE,NOTIFICATION-TYPE, 
            IpAddress,Counter32,Gauge32,Integer32            FROM SNMPv2-SMI
        DisplayString,RowStatus                              FROM SNMPv2-TC
        InetAddress,InetAddressType                          FROM INET-ADDRESS-MIB  
        ZxAnIfindex,ZxAnPortList,ZxAnIdList,zxAn             FROM ZTE-AN-TC-MIB;


zxAnCtrlMulticastMib MODULE-IDENTITY
    LAST-UPDATED    "200609051500Z"
    ORGANIZATION "ZTE Corporation"
    CONTACT-INFO "ZTE NMS dept. 
                  Su Chunshan   68896292,
                  Zeng Nanxi    68896250,
                  Ma Jian       68896249       "
    DESCRIPTION  "This MIB defines managed objects of zte multicast service . "
     ::= {zxAn 30}

zxAnCtrlMulticastObjects     OBJECT IDENTIFIER  ::= {zxAnCtrlMulticastMib 1}
zxAnCtrlMulticastTrapObjects OBJECT IDENTIFIER  ::= {zxAnCtrlMulticastMib 2}

zxAnCtrlMcastSysMgmt         OBJECT IDENTIFIER  ::= {zxAnCtrlMulticastObjects 1}    
zxAnCtrlMcastAccessMgmt      OBJECT IDENTIFIER  ::= {zxAnCtrlMulticastObjects 2}    
zxAnCtrlMcastCdr             OBJECT IDENTIFIER  ::= {zxAnCtrlMulticastObjects 3}    
zxAnCtrlMcastConfInitMgmt    OBJECT IDENTIFIER  ::= {zxAnCtrlMcastSysMgmt 20}   
zxAnCtrlMcastPrw             OBJECT IDENTIFIER  ::= {zxAnCtrlMcastSysMgmt 21}    
zxAnMcastViewSchedule        OBJECT IDENTIFIER  ::= {zxAnCtrlMcastAccessMgmt 20}   
zxAnCtrlMcastTraps     OBJECT IDENTIFIER  ::= { zxAnCtrlMulticastTrapObjects 2 }


--------------------------------------------------------------------------------
-- Following objects are defined.
-- 1.Multicast System Control Mgmt
-- 2.zxAnMcastPortTable
-- 3.zxAnMcastPortParamListCmdTable
-- 4.zxAnMcastChannelTable
-- 5.zxAnMcastPkgTable
-- 6.zxAnMcastPkgChanTable
-- 7.zxAnMcastChanPortTable
-- 8.zxAnMcastPkgPortTable
-- 9.zxAnMcastViewConfProfileTable
-- 10.zxAnMcastViewSchedule
-- 11.zxAnCtrlMcastCdr
-- 12.zxAnMcastCdrServerTable
--------------------------------------------------------------------------------



    zxAnIptvAccessControlEnable OBJECT-TYPE
        SYNTAX          INTEGER{
            enableFullMcast(1),
            disable(2)
        }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            " Adminstrative status of multicast service.
            
            Enable_full_mcast(1) is starting to provide multicast service. 
            
            Disable(2) is stopping multicast service.
            
            "
            
        DEFVAL { disable }             
         ::= { zxAnCtrlMcastSysMgmt 1 }

    zxAnCtrlMcastBandwidthCtrl OBJECT-TYPE
        SYNTAX          INTEGER{
            enable(1),
            disable(2)
        }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            " Adminstrative status of bandwidth traffic control for multicast 
            service.  "
        DEFVAL { disable }             
         ::= { zxAnCtrlMcastSysMgmt 2 }
         
    zxAnCtrlMcastCapabilities  OBJECT-TYPE 
        SYNTAX      BITS 
          {
              prwRecognizeTimePkgStartEndTime(0)
          }
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION   
          "The multicast control compatibility.
           The bit value 1 means the function represented by this bit is 
           supported by this equipment.
           prwRecognizeTimePkgStartEndTime(0): value 1 means supporting:
               zxAnIptvPreviewRecognizeTime, zxAnIptvPkgStartTime,
               zxAnIptvPkgEndTime.
                           
           NOTE: No recommended to display it in NMS." 
      ::=  {  zxAnCtrlMcastSysMgmt  19  }

--  Mcast Conf data initialization  --------------------------------------------

    zxAnCtrlMcastConfInitSmsIp OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "Sms ip address which is in charge of providing multicast 
            configuration data when zxAnCtrlMcastConfInit=initFromSmsByFile(4).
            NOTE: this object is reserved now.
            "
         ::= { zxAnCtrlMcastConfInitMgmt 1 }
 
    zxAnCtrlMcastConfIpv6InitSms OBJECT-TYPE
        SYNTAX          InetAddress
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "Sms ip address which is in charge of providing multicast 
            configuration date when zxAnCtrlMcastConfInit=initFromSmsByFile(4).
            NOTE: this object is reserved now.
            "
         ::= { zxAnCtrlMcastConfInitMgmt 2 }


--  Mcast Preview  ------------------------------------------------------


    zxAnIptvPrwCounterReset OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                        resetCounter(1)
                    }
        
        MAX-ACCESS  read-write
        STATUS current
        DESCRIPTION
            " Reset preview counter manually when it is set to '1'."
         ::= { zxAnCtrlMcastPrw 1 }


    zxAnIptvPrwCounterAutoResetTime OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            " The time to reset preview counter automatically.
            
            The format is HHMMSS,
            'HH' is  0-23 style,ie. 12:00pm is 0:00. 
             eg. if the reset time is 11:10:50pm, then zxPrwAutoResetTime= 231050
            "
         DEFVAL{ 0 }   
         ::= { zxAnCtrlMcastPrw 2 }

     zxAnIptvPrwRecognizeTime OBJECT-TYPE
        SYNTAX      Integer32
        UNITS       "seconds"
        MAX-ACCESS  read-write
        STATUS current
        DESCRIPTION
            " Min time that the user stay in a group when it is looked as a 
            valid access.
              It is a criteria to decide if the view or preview should be looked 
            as a valid access.
              It may be used to judge if record this action into Cdr.
              If the actual interval of access is larger then this value,
            the access is just a valid action and then this action should be 
            recorded into access log,ie.Cdr.   
              The value of 0 means that agent send Cdr message at once when 
            access action takes place."
        DEFVAL { 5 }             
         ::= { zxAnCtrlMcastPrw 3 }
                
     zxAnIptvPrwEnable OBJECT-TYPE
        SYNTAX          INTEGER{
            enable(1),
            disable(2)
        }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            " Adminstrative status of Preview 
            service.."
        DEFVAL { enable }             
         ::= { zxAnCtrlMcastPrw 4 }

    zxAnMcastPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZxAnMcastPortEntry 
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "A table that contains  multicast information of a logical port.
            The objects like idList are configured through zxAnMcastPortParamListCmdTable. "
         ::= { zxAnCtrlMcastAccessMgmt 10 }

    zxAnMcastPortEntry  OBJECT-TYPE
        SYNTAX          ZxAnMcastPortEntry 
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "A list of  entries of multicast information of a logical port."
        INDEX  { zxAnMcastIfIndex }
         ::= { zxAnMcastPortTable 1 }

    ZxAnMcastPortEntry  ::= SEQUENCE {
        zxAnMcastIfIndex               ZxAnIfindex,
        zxAnIptvIfConfAdminStatus      INTEGER,
        zxAnIptvIfConfOperStatus       INTEGER,
        zxAnIptvIfConfAuthCtrlMode     INTEGER,
        zxAnIptvIfConfPkgIdList        ZxAnIdList,
        zxAnIptvIfConfWatchChanIdList  ZxAnIdList,
        zxAnIptvIfConfPrwChanIdList    ZxAnIdList,
        zxAnMcastPortMaxBandwidth      Integer32
    }
    
    zxAnMcastIfIndex            OBJECT-TYPE
        SYNTAX         ZxAnIfindex
        MAX-ACCESS     not-accessible
        STATUS         current
        DESCRIPTION
            "The logical port index,ie. layer 2 bridge port."
         ::= { zxAnMcastPortEntry 1}
     
    zxAnIptvIfConfAdminStatus OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                        start(1),
                        pause(2),
                        resume(3),
                        stop(4)
                    }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            " The multicast service administrative status of a port.
              - start(1),  do some operations and get ready to provide the 
                             multicast service in this port.

              - pause(2),  pause the multicast service in this port only,
                             but related resources are still reserved.
                             
              - resume(3), resume the multicast service in this port from pause.
              
              - stop(4),   remove the multicast service in this port and 
                            release related resources.
            "
         ::= { zxAnMcastPortEntry 2 }  

    zxAnIptvIfConfOperStatus OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                        inService(1),
                        pausedService(2),
                        stoppedService(3)
                    }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            " The multicast service operation status of a port.
              - inService(1), do some operations and get ready to provide the 
                             multicast service in this port.

              - pausedService(2), paused the multicast service in this port only,
                             but related resources are still reserved.
            
              - stoppedService(3), removed the multicast service in this port and 
                            release related resources.
            "
         ::= { zxAnMcastPortEntry 3 }  

    zxAnIptvIfConfAuthCtrlMode  OBJECT-TYPE
        SYNTAX          INTEGER
                    {
                        controlBasedPort(1),
                        controlBasedPkg(2)
                    }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "The authentication mode of this port. 
                If it's controlBasedPort(1),the access right is configured to 
             zxAnIptvIfConfWatchChanIdList or zxAnIptvIfConfPrwChanIdList through 
             zxAnMcastPortParamListCmdTable.Each port in the same multicast channel
             maybe has different access right.
             
                If it's controlBasedPkg(2),the access right is configured  through 
             zxAnMcastPkgChanTable.Each port in the same  multicast pkg,
             has the same access right.
            "
        DEFVAL { controlBasedPkg }             
         ::= { zxAnMcastPortEntry 4 }
 
    zxAnIptvIfConfPkgIdList OBJECT-TYPE
        SYNTAX      ZxAnIdList
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Multicast pkg id list that this port owns. When zxAnIptvIfConfAuthCtrlMode 
            is controlBasedPkg(2),this object is significant."
        ::= { zxAnMcastPortEntry 5 }  
        
    zxAnIptvIfConfWatchChanIdList OBJECT-TYPE
        SYNTAX      ZxAnIdList
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Multicast view channel id list that this port owns. When zxAnIptvIfConfAuthCtrlMode 
            is controlBasedPort(1),this object is significant."
        ::= { zxAnMcastPortEntry 6 }          
        

    zxAnIptvIfConfPrwChanIdList OBJECT-TYPE
        SYNTAX      ZxAnIdList
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Multicast preview channel id list that this port owns. When zxAnIptvIfConfAuthCtrlMode 
            is controlBasedPort(1),this object is significant."
        ::= { zxAnMcastPortEntry 7 }      
        
    zxAnMcastPortMaxBandwidth     OBJECT-TYPE
        SYNTAX         Integer32
        UNITS           "kbps"
        MAX-ACCESS     read-write
        STATUS         current
        DESCRIPTION
            "The maximum permitted traffic in this logical port."
         DEFVAL { 2048 }
         ::= { zxAnMcastPortEntry 8}                 

--------------------------------------------------------------------------------
--   3.Operation command table for multicast port configuration like param list 
--------------------------------------------------------------------------------


    zxAnMcastPortParamListCmdTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZxAnMcastPortParamListCmdEntry 
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "Operation command table for multicast port configuration like 
            param list,such as zxAnIptvIfConfPkgIdList,zxAnIptvIfConfWatchChanIdList.
            A single object such as pkg and channel will be added or removed to/from
            PkgIdList/ChanIdList through this table.
            "
         ::= { zxAnCtrlMcastAccessMgmt 11 }

    zxAnMcastPortParamListCmdEntry  OBJECT-TYPE
        SYNTAX     ZxAnMcastPortParamListCmdEntry 
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "A list of  entries of zxAnMcastPortParamListCmdTable."
        INDEX  { zxAnMcastPortParamListCmd }
         ::= { zxAnMcastPortParamListCmdTable 1 }
         
    ZxAnMcastPortParamListCmdEntry  ::= SEQUENCE {
        zxAnMcastPortParamListCmd      INTEGER,
        zxAnMcastPortIndex             ZxAnIfindex,
        zxAnMcastPortParamObjName      DisplayString
        }

    zxAnMcastPortParamListCmd OBJECT-TYPE
        SYNTAX INTEGER
                {
                    addPkg(1),
                    delPkg(2),
                    addViewChan(3),
                    delViewChan(4),
                    addPreviewChan(5),
                    delPreviewChan(6)
                }
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            " The command to operate param list of zxAnMcastPortTable.
            Each command is related to each meaming of zxAnMcastPortParamObjName.
              
        command           meaning of                     operation                                
                          zxAnMcastPortParamObjName         
        --------------------------------------------------------------------
        addPkg(1)         pkgName of zxAnIptvPkgName    add a pkg to zxAnIptvIfConfPkgIdList
        delPkg(2)         pkgName of zxAnIptvPkgName    delete a pkg from zxAnIptvIfConfPkgIdList
        addViewChan(3)    chanName of zxAnIptvChanName  add a chan to zxAnIptvIfConfWatchChanIdList
        delViewChan(4)    chanName of zxAnIptvChanName  delete a chan from zxAnIptvIfConfWatchChanIdList
        addPreviewChan(5) chanName of zxAnIptvChanName  add a chan to zxAnIptvIfConfPrwChanIdList
        delPreviewChan(6) chanName of zxAnIptvChanName  delete a chan from zxAnIptvIfConfPrwChanIdList
            "
         ::= { zxAnMcastPortParamListCmdEntry 1 }          
        
    zxAnMcastPortIndex            OBJECT-TYPE
        SYNTAX         ZxAnIfindex
        MAX-ACCESS     read-write
        STATUS         current
        DESCRIPTION
            "The logical port index,ie. layer 2 bridge port."
         ::= { zxAnMcastPortParamListCmdEntry 2}
        
    zxAnMcastPortParamObjName OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            " The value of object name in param list,eg. pkgName,chanName
              Different command has different operated param list,so this object 
            has different meanings.please see the DESCRIPTION of zxAnMcastPortParamListCmd.
            "
         ::= { zxAnMcastPortParamListCmdEntry 3 }  


--------------------------------------------------------------------------------
--   4.Multicast Channel table
--------------------------------------------------------------------------------
     zxAnIptvNextChannelId    OBJECT-TYPE
     SYNTAX  INTEGER (0..1023)
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
         "This object contains an appropriate value to
                      be used for zxAnIptvChanId when creating
                      entries in the zxAnMcastChannelTable. To obtain the zxAnIptvChanId
                      value for a new entry, the manager issues a
                      management protocol retrieval operation to obtain
                      the current value of this object.  After each
                      retrieval, the agent should modify the value to
                      the next unassigned index."
                    ::= { zxAnCtrlMcastAccessMgmt 12 }
     
    zxAnMcastChannelTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZxAnMcastChannelEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "Multicast channel info table."
         ::= { zxAnCtrlMcastAccessMgmt 13 }
 
    zxAnMcastChannelEntry OBJECT-TYPE
        SYNTAX          ZxAnMcastChannelEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "A list of  entries of all Multicast channel information."
        INDEX  { zxAnIptvChanName }
         ::= { zxAnMcastChannelTable 1 }

    ZxAnMcastChannelEntry  ::= SEQUENCE {
        zxAnIptvChanName                DisplayString,
        zxAnIptvMVid                    Integer32,
        zxAnMcastSrcIp                  IpAddress,
        zxAnMcastGrpIp                  IpAddress,
        zxAnIptvChanId                  Integer32,
        zxAnIptvChanPreviewProfile      DisplayString,
        zxAnIptvChanCdrEnable           INTEGER,
        zxAnIptvChanNewName             DisplayString,
        zxAnIptvChanRowStatus           RowStatus,
        zxAnIMcastGroupBandwidthCost    Integer32,
        zxAnMcastChannelAddressType     InetAddressType,
        zxAnMcastSrcIpv6                InetAddress,
        zxAnMcastGrpIpv6                InetAddress       
    }
    
    zxAnIptvChanName OBJECT-TYPE
        SYNTAX          DisplayString(SIZE(1..32))
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "Multicast Channel Name,it's unique in a device.
            NOTE: the letter in zxAnIptvChanName must be capital."
         ::= { zxAnMcastChannelEntry 1 }   
             
    zxAnIptvMVid     OBJECT-TYPE
        SYNTAX             Integer32(1..4094)
        MAX-ACCESS         read-create
        STATUS          current
        DESCRIPTION
            "Multicast VLAN id "
         ::= { zxAnMcastChannelEntry 2 }



    zxAnMcastSrcIp     OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "used by ipv4.
             Multicast source IpAddress in IGMPv3."
         ::= { zxAnMcastChannelEntry 3 }


    zxAnMcastGrpIp     OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "used by ipv4.
             Multicast group IpAddress."
         ::= { zxAnMcastChannelEntry 4 }


    zxAnIptvChanId    OBJECT-TYPE
        SYNTAX          Integer32(0..1023)
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "Multicast Channel id,it's a unique id in a device.It is used in 
            Each bit of zxAnMcastPortChanIdList corresponds zxAnIptvChanId."
         ::= { zxAnMcastChannelEntry 5 }   
        
    zxAnIptvChanPreviewProfile OBJECT-TYPE
        SYNTAX          DisplayString(SIZE(1..64))
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "ViewParamProfile name for this channel."
         ::= { zxAnMcastChannelEntry 6}   
        
    zxAnIptvChanCdrEnable OBJECT-TYPE
        SYNTAX             INTEGER
            {
                enable(1),
                disable(2)
            }
        MAX-ACCESS         read-create
        STATUS          current
        DESCRIPTION
            "if record the CDR for this channel."

        DEFVAL { disable }             
         ::= { zxAnMcastChannelEntry 7 }

         
    zxAnIptvChanNewName OBJECT-TYPE
        SYNTAX             DisplayString(SIZE(1..32))
        MAX-ACCESS         read-create
        STATUS          current
        DESCRIPTION
            "Rename the Multicast Channel Name.It is used in 
            Change ChannelName from zxAnIptvChanName."
         ::= { zxAnMcastChannelEntry 8 }         

    zxAnIptvChanRowStatus OBJECT-TYPE
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "Row Status of the Table."
         ::= { zxAnMcastChannelEntry 9 }  

    zxAnIMcastGroupBandwidthCost OBJECT-TYPE
        SYNTAX          Integer32
        UNITS           "kbps"
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "Estimated Bandwidth cost by this group,it is used as a traffic
            and bandwidth control parameter."
        DEFVAL { 2048 }
        ::= { zxAnMcastChannelEntry 10 }
     
    zxAnMcastChannelAddressType OBJECT-TYPE
        SYNTAX          InetAddressType
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "type of the Multicast Channel address."
        DEFVAL { ipv4 }            
        ::= { zxAnMcastChannelEntry 11 }                 
        
    zxAnMcastSrcIpv6     OBJECT-TYPE
        SYNTAX          InetAddress
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "used by ipv6.
             Multicast source IpAddress."
         ::= { zxAnMcastChannelEntry 12 }


    zxAnMcastGrpIpv6     OBJECT-TYPE
        SYNTAX          InetAddress
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "used by ipv6.
             Multicast group IpAddress."
         ::= { zxAnMcastChannelEntry 13 }         
         
--------------------------------------------------------------------------------
--   5.Channel Pkg table
--------------------------------------------------------------------------------
     zxAnIptvNextPkgId    OBJECT-TYPE
     SYNTAX  INTEGER (0..1023)
     MAX-ACCESS  read-only
     STATUS  current
     DESCRIPTION
         "This object contains an appropriate value to
                      be used for zxAnIptvPkgId when creating
                      entries in the zxAnMcastPkgTable. To obtain the zxAnIptvPkgId
                      value for a new entry, the manager issues a
                      management protocol retrieval operation to obtain
                      the current value of this object.  After each
                      retrieval, the agent should modify the value to
                      the next unassigned index."
                    ::= { zxAnCtrlMcastAccessMgmt 14 }

    zxAnMcastPkgTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZxAnMcastPkgEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "A table that contains channel Pkg info."
         ::= { zxAnCtrlMcastAccessMgmt 15 }

    zxAnMcastPkgEntry OBJECT-TYPE
        SYNTAX          ZxAnMcastPkgEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "A list of entries of all Pkg info.
             Pkg is a collection of multicast channels."
        INDEX {zxAnIptvPkgName }
         ::= { zxAnMcastPkgTable 1 }

    ZxAnMcastPkgEntry  ::= SEQUENCE {
        zxAnIptvPkgName           DisplayString,
        zxAnIptvPkgId             Integer32,
        zxAnIptvPkgDescription    DisplayString,
        zxAnIptvPkgRowStatus      RowStatus,
        zxAnIptvPkgStartTime      DisplayString,
        zxAnIptvPkgEndTime        DisplayString
    }
        
    zxAnIptvPkgName OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(1..32))
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Pkg Name is display name,it's unique in a device.
            NOTE: the letter in zxAnIptvPkgName must be capital."
         ::= { zxAnMcastPkgEntry 1 }


    zxAnIptvPkgId    OBJECT-TYPE
        SYNTAX          Integer32(0..1023)
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "Multicast pkg id,it's a unique id in a device.It is used in 
            Each bit of zxAnIptvIfConfPkgIdList corresponds zxAnIptvPkgId."
         ::= { zxAnMcastPkgEntry 2 }   
        
    zxAnIptvPkgDescription OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(1..32))
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Pkg Name is display name,only latin letter permit."
         ::= { zxAnMcastPkgEntry 3 }

    zxAnIptvPkgRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "RowStatus of this row."
         ::= { zxAnMcastPkgEntry 4 }
    
    zxAnIptvPkgStartTime OBJECT-TYPE
        SYNTAX          DisplayString (SIZE(0..19)) 
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "Package starting time.
            yyyy-mm-dd HH:MM:SS.For example(2001-01-01 02:22:33).
            Note: It means no time limit if the value of this object is empty."
        DEFVAL { "" }
        ::= { zxAnMcastPkgEntry 5 }
         
    zxAnIptvPkgEndTime OBJECT-TYPE
        SYNTAX          DisplayString (SIZE(0..19))
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "Package ending time.
            yyyy-mm-dd HH:MM:SS.For example(2001-01-01 02:22:33).
            Note: It means no time limit if the value of this object is empty."
        DEFVAL { "" }
        ::= { zxAnMcastPkgEntry 6 }

--------------------------------------------------------------------------------
--   6.Table of Channels in a Pkg
--------------------------------------------------------------------------------

    zxAnMcastPkgChanTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZxAnMcastPkgChanEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "A table that contains multicast channels in a pkg."
         ::= { zxAnCtrlMcastAccessMgmt 16 }

    zxAnMcastPkgChanEntry OBJECT-TYPE
        SYNTAX ZxAnMcastPkgChanEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "A list of entries of all PkgChan info.
             "
        INDEX {zxAnIptvPkgName,zxAnIptvChanName }
         ::= { zxAnMcastPkgChanTable 1 }

    ZxAnMcastPkgChanEntry  ::= SEQUENCE {
        zxAnIptvPkgChanAccessRight    INTEGER,
        zxAnIptvPkgChanRowStatus      RowStatus
    }
        

    zxAnIptvPkgChanAccessRight OBJECT-TYPE
        SYNTAX      INTEGER  
                    {
                        noRight(0),
                        view(1),
                        preview(2)
                    }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Multicast channels access right."

        DEFVAL { preview }
         ::= { zxAnMcastPkgChanEntry 1 }


    zxAnIptvPkgChanRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "RowStatus of this row."
         ::= { zxAnMcastPkgChanEntry 2 }
    

--------------------------------------------------------------------------------
--   7.Table of Multicast ports in a Channel
--------------------------------------------------------------------------------

    zxAnMcastChanPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZxAnMcastChanPortEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "Ports and rights of Multicast channel information."
         ::= { zxAnCtrlMcastAccessMgmt 17 }
 
    zxAnMcastChanPortEntry OBJECT-TYPE
        SYNTAX          ZxAnMcastChanPortEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "A list of  entries of ports and rights of Multicast channel information."
        INDEX  { zxAnIptvChanName, zxAnIptvPkgPortListShelf,zxAnIptvPkgPortListSlot}
         ::= { zxAnMcastChanPortTable 1 }

    ZxAnMcastChanPortEntry  ::= SEQUENCE {
        zxAnIptvPkgPortListShelf              Integer32,
        zxAnIptvPkgPortListSlot               Integer32, 
        zxAnIptvChanPortListWatch             ZxAnPortList,
        zxAnIptvChanPortListPreview           ZxAnPortList
    }


    zxAnIptvPkgPortListShelf     OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "The shelf that contains the logical port list."
         ::= { zxAnMcastChanPortEntry 1 }

    zxAnIptvPkgPortListSlot       OBJECT-TYPE
        SYNTAX             Integer32
        MAX-ACCESS         not-accessible
        STATUS          current
        DESCRIPTION
            "The card that contains the logical port list."
         ::= { zxAnMcastChanPortEntry 2 }

        
    zxAnIptvChanPortListWatch  OBJECT-TYPE
        SYNTAX          ZxAnPortList
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "The logical port list contained by this multicast channel,and
            ports have right of view."
         ::= { zxAnMcastChanPortEntry 3 }
    
    zxAnIptvChanPortListPreview OBJECT-TYPE
        SYNTAX          ZxAnPortList
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "The logical port list contained by this multicast channel,and
            ports have right of preview."
         ::= { zxAnMcastChanPortEntry 4 }

--------------------------------------------------------------------------------
--   7.Table of ports in a Pkg 
--------------------------------------------------------------------------------

    zxAnMcastPkgPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZxAnMcastPkgPortEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "A table that contains ports in a pkg."
         ::= { zxAnCtrlMcastAccessMgmt 18 }

    zxAnMcastPkgPortEntry OBJECT-TYPE
        SYNTAX          ZxAnMcastPkgPortEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "A list of entries of ports in a pkg."
        INDEX {zxAnIptvPkgName,zxAnIptvPkgPortListShelf,zxAnIptvPkgPortListSlot }
         ::= { zxAnMcastPkgPortTable 1 }

    ZxAnMcastPkgPortEntry  ::= SEQUENCE {
        zxAnIptvPkgPortList           ZxAnPortList
    }
        

    zxAnIptvPkgPortList OBJECT-TYPE
        SYNTAX      ZxAnPortList
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "RecvPort of user who ordered this pkg in a shelf."
         ::= { zxAnMcastPkgPortEntry 1 }




--------------------------------------------------------------------------------
--   7.Table of View(including preview) cfg param profile 
--------------------------------------------------------------------------------

    zxAnMcastViewConfProfileTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZxAnMcastViewConfProfileEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "   A table that contains view(including preview)  cfg param profile 
             info.It is used to define group's preview attributes.
             
                When some of the parameters in a view Profile are changed, 
             the new settings shall take effect for the channels using this 
             Profile immediately."
         ::= { zxAnCtrlMcastAccessMgmt 19 }

    zxAnMcastViewConfProfileEntry OBJECT-TYPE
        SYNTAX ZxAnMcastViewConfProfileEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "A list of entries of all zxAnMcastViewConfProfile info."
        INDEX {zxAnIptvPreviewProfileName }
         ::= { zxAnMcastViewConfProfileTable 1 }

    ZxAnMcastViewConfProfileEntry  ::= SEQUENCE {
        zxAnIptvPreviewProfileName       DisplayString,
        zxAnIptvPreviewMaxCount          Integer32,
        zxAnIptvPreviewMaxDuration       Integer32,
        zxAnIptvPreviewBlackoutInterval  Integer32,
        zxAnIptvPreviewProfileRowStatus  RowStatus,
        zxAnIptvPreviewRecognizeTime     Integer32
    }
        
    zxAnIptvPreviewProfileName OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(1..64))
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Profile Name,it's unique in a device.
            NOTE: the letter in zxAnIptvPreviewProfileName must be capital."
         ::= {zxAnMcastViewConfProfileEntry 1 }      
        
        
    zxAnIptvPreviewMaxCount OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Max Preview Count for channels."
       -- DEFVAL { 3 }
         ::= {zxAnMcastViewConfProfileEntry 2 }      
        
    zxAnIptvPreviewMaxDuration OBJECT-TYPE
        SYNTAX      Integer32
        UNITS       "seconds"
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Max Preview Count for channels."
       -- DEFVAL { 120 }
         ::= {zxAnMcastViewConfProfileEntry 3 }      

    zxAnIptvPreviewBlackoutInterval OBJECT-TYPE
        SYNTAX      Integer32
        UNITS       "seconds"
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "User's blackout interval of preview for channels."
       -- DEFVAL { 60 }
         ::= {zxAnMcastViewConfProfileEntry 4 }      
        
        
    zxAnIptvPreviewProfileRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "RowStatus of this row."
         ::= { zxAnMcastViewConfProfileEntry 5 }
         
    zxAnIptvPreviewRecognizeTime OBJECT-TYPE
        SYNTAX      Integer32
        UNITS       "seconds"
        MAX-ACCESS  read-create
        STATUS current
        DESCRIPTION
            "The time used to recognize valid preview or view request 
            from end-user. Once the request is valid, it will be logged 
            e.g. CDR."
        DEFVAL { 20 }
         ::= { zxAnMcastViewConfProfileEntry 6 }

--------------------------------------------------------------------------------
--  8.Mcast pkg/channel schedule mgmt 
--------------------------------------------------------------------------------


--   zxAnCtrlMcastViewSchedule is used to support some applications of scheduled view, 
-- such as pay-per-view of multicast service.
--   When it is the time to authorize a port to view a pkg or a channel,
-- the agent will config the right to view a pkg or a channel for the user.
--   After the authorized right is expired,the agent will config the right to 
-- deny the viewing of a pkg or a channel.
-- 

    zxAnMcastViewSchedObjRemoveMode OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                        autoRemoveExpired(1),
                        manualRemoveExpired(2)
                    }
        MAX-ACCESS  read-write
        STATUS current
        DESCRIPTION
            " This object defines that how to remove a instance from 
            zxAnMcastViewSchedTable when the instance has expired.
              Auto_remove_expired(1) is to remove the expired instance automatically.
              Manual_remove_expired(2) is to remove the expired instance manually.
            "
        DEFVAL { autoRemoveExpired }
         ::= { zxAnMcastViewSchedule 1 }


    zxAnMcastViewSchedTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZxAnMcastViewSchedEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "   A table that contains scheduled view tasks.             "
         ::= { zxAnMcastViewSchedule 10 }

    zxAnMcastViewSchedEntry OBJECT-TYPE
        SYNTAX ZxAnMcastViewSchedEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "A list of entries of all zxAnMcastViewSchedTable info."
        INDEX { zxAnMcastIfIndex,zxAnMcastViewSchedIndex }
         ::= { zxAnMcastViewSchedTable 1 }

    ZxAnMcastViewSchedEntry  ::= SEQUENCE {
        zxAnMcastViewSchedIndex      Integer32,
        zxAnMcastViewSchedObjectType INTEGER,
        zxAnMcastViewSchedObjectId   Integer32,
        zxAnMcastViewSchedType       INTEGER,
        zxAnMcastViewSchedStartDate  Integer32,
        zxAnMcastViewSchedStartTime  Integer32,
        zxAnMcastViewSchedEndDate    Integer32,
        zxAnMcastViewSchedEndTime    Integer32,
        zxAnMcastViewSchedOperStatus INTEGER,
        zxAnMcastViewSchedDescr      DisplayString,
        zxAnMcastViewSchedRowStatus  RowStatus             
    }
        
    zxAnMcastViewSchedIndex OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Index of the row instance in this table.It is assigned by manager.
            It is unique in a user's interface indicated by zxAnMcastIfIndex
            "
         ::= { zxAnMcastViewSchedEntry 1 }      

    zxAnMcastViewSchedObjectType OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                        pkg(1),
                        channel(2)
                    }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The type of the scheduled object in this table,such as pkg or channel.
            It is related to zxAnMcastViewSchedObjectId.  If it is pkg(1),
            then zxAnMcastViewSchedObjectId is the pkgId.
            If it is channel(2), then zxAnMcastViewSchedObjectId is the chanId.
            "
         DEFVAL { pkg }   
         ::= { zxAnMcastViewSchedEntry 2 }      


    zxAnMcastViewSchedObjectId OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The id of the scheduled pkg or channel.
            It is related to zxAnMcastViewSchedObjectType,if it is pkg(1),
            then zxAnMcastViewSchedObjectId is the pkgId.
            If it is channel(2), then zxAnMcastViewSchedObjectId is the chanId.
            "
         ::= { zxAnMcastViewSchedEntry 3 }               
         

    zxAnMcastViewSchedType OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                        onlyOnce(1),
                        eachDay(2)
                    }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The scheduled task type,such as being excuted only once or  
            being excuted each day.Maybe this definition will be extended later.
            
            If it is eachDay(2),zxAnMcastViewSchedStartDate and zxAnMcastViewSchedEndDate
            should be set 0.
            "
         DEFVAL { onlyOnce }   
         ::= { zxAnMcastViewSchedEntry 4 }      
                  

    zxAnMcastViewSchedStartDate OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            " the date of this row instance will be scheduled.
            The format is yyyymmdd,such as 20060426,20011201 etc.  
            If zxAnMcastViewSchedType is eachDay(2),this value is 0,means this
            object is NA.
            "
         ::= { zxAnMcastViewSchedEntry 5 }             
         

    zxAnMcastViewSchedStartTime OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            " the time of this row instance will be scheduled.
            The format is HHMMSS,
            'HH' is  0-23 style,ie. 12:00pm is 0:00. 
             eg. if the time is 11:10:50pm, then zxAnMcastViewSchedStartTime= 231050            
            "
         ::= { zxAnMcastViewSchedEntry 6 }        
                  
         

    zxAnMcastViewSchedEndDate OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            " the date of this row instance is scheduled completely.
            The format is yyyymmdd,such as 20060426,20011201 etc.  
            If zxAnMcastViewSchedType is eachDay(2),this value is 0,means this
            object is NA.
            "
         ::= { zxAnMcastViewSchedEntry 7 }             
         

    zxAnMcastViewSchedEndTime OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            " the time of this row instance is scheduled completely.
            The format is HHMMSS,
            'HH' is  0-23 style,ie. 12:00pm is 0:00. 
             eg. if the time is 11:10:50pm, then zxAnMcastViewSchedEndTime= 231050            
            "
         ::= { zxAnMcastViewSchedEntry 8 }        
                  

    zxAnMcastViewSchedOperStatus OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                        ready(1),
                        inService(2),
                        expired(3)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            " The running status of this row instance.          
            
              ready(1) means this row instance is valid and it has been added to
              schedule queue. 
              
              inService(2) means this row instance is being scheduled and 
              it is providing mutilcast service in this user interface. 
              
              expired(3) means this row instance is not valid.It has been 
              scheduled completely and it has finished mutilcast service in 
              this user interface. 

            "
         ::= { zxAnMcastViewSchedEntry 9 }                     
         

    zxAnMcastViewSchedDescr OBJECT-TYPE
        SYNTAX      DisplayString (SIZE (0..64))
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "  The description of this row instance. "
         ::= { zxAnMcastViewSchedEntry 10 }        

    zxAnMcastViewSchedRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            " The RowStatus of this row instance."
         ::= { zxAnMcastViewSchedEntry 11 }        
                                            


         
    zxAnIptvCdrEnable OBJECT-TYPE
        SYNTAX      INTEGER
            {
                enable(1),
                disable(2)
            }
        MAX-ACCESS  read-write
        STATUS current
        DESCRIPTION
            "   Setting this object to enable(1) enables Cdr.  Setting
             it to disable(2) disables Cdr."
        DEFVAL { disable }             
         ::= { zxAnCtrlMcastCdr 1 }
        

     zxAnIptvCdrManualSendAction OBJECT-TYPE
        SYNTAX      INTEGER
            {
                sendCdrToServer(1)
            }
        MAX-ACCESS  read-write
        STATUS current
        DESCRIPTION
            "Setting this object to sendCdrToServer(1) to send Cdr to SMS at once."
         ::= { zxAnCtrlMcastCdr 2 }
        
    zxAnMcastCdrServerIP OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS current
        DESCRIPTION
            "The IP of SMS server which recieves cdr messeages."
         ::= { zxAnCtrlMcastCdr 3 }
        

    zxAnIptvCdrAutoSendPeriod OBJECT-TYPE
        SYNTAX      Integer32
        UNITS       "minute"
        MAX-ACCESS  read-write  
        STATUS  current
        DESCRIPTION
            "The period of sending Cdr Record messeages to SMS."
        DEFVAL { 240 }             
         ::= { zxAnCtrlMcastCdr 4 }
         

    zxAnIptvCdrGenerationMode OBJECT-TYPE
        SYNTAX      BITS
                {
                   loggingView(0),
                   loggingPreview(1),
                   loggingCountLimitOverPreview(2),
                   loggingDeny(3)
                }
        MAX-ACCESS  read-write
        STATUS current
        DESCRIPTION
            " Setting this object to decide which type of action should be logged 
            into Cdr. 
            
              Count_limit_over_preview means user has excessed the count limit 
              of preview but the user still do preview.
              
              Logging_deny means user has no right of view and preview but still does 
              some access action.
            
              The defalut value is that bits of logging_view and logging_preview are
              both 1.
              
            "
         ::= { zxAnCtrlMcastCdr 5 }

    zxAnIptvCdrMaxRecordNumer OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-write
        STATUS current
        DESCRIPTION
            "The max size of Cdr."
        DEFVAL { 65535 }             
         ::= { zxAnCtrlMcastCdr 6 }

    zxAnIptvCdrCurrentRecordNumber OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "The quantity of current Cdr records."
         ::= { zxAnCtrlMcastCdr 7 }        
        
   zxAnIptvCdrOnlineMsgGenPeriod OBJECT-TYPE
        SYNTAX      Integer32
        UNITS       "minute"
        MAX-ACCESS  read-write
        STATUS current
        DESCRIPTION
            "The interval between two StillOnline cdr message.The StillOnline 
            message is used to indicate a port joined muticast group for long time
            has being in this group now,ie. it hasn't left and is still online.
              The value of 0 means that agent never send Cdr StillOnline message."
        DEFVAL { 60 }             
         ::= { zxAnCtrlMcastCdr 8 }        
            
    zxAnMcastCdrSizeThresh OBJECT-TYPE
        SYNTAX      Integer32
        UNITS       "percent"
        MAX-ACCESS  read-write
        STATUS current
        DESCRIPTION
            "Tolerance between configured zxAnIptvCdrMaxRecordNumer and
                zxAnIptvCdrCurrentRecordNumber. 
                  
                Calculation:

                             100*(zxAnIptvCdrCurrentRecordNumber)
                 Difference =--------------------------------------
                                      zxAnIptvCdrMaxRecordNumer

                If Difference is larger than zxAnMcastCdrSizeThresh, 
                zxAnCtrlMcastCdrSizeOverThreshTrap trap will be sent.

                  A value of `0' will disable the trap. "
        DEFVAL { 0 }             
         ::= { zxAnCtrlMcastCdr 9 }              
   
    zxAnMcastIpv6CdrServerIP OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  read-write
        STATUS current
        DESCRIPTION
            "The IP(IPV6) of SMS server which recieves cdr messeages."
         ::= { zxAnCtrlMcastCdr 10 }
         
    zxAnMcastCdrRecognizeTime OBJECT-TYPE
        SYNTAX      Integer32
        UNITS       "seconds"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The time used to recognize if CDR message is valid. 
            Once the CDR message is valid, it will be logged into CDR."
        DEFVAL { 20 }
        ::= { zxAnCtrlMcastCdr 11 }
    
    zxAnMcastCdrAutoSendSizeThresh OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The amount threshold of CDR records to be sent. Once the amount of 
            CDR records exceeds this threshold, the CDR records will be 
            automatically sent to SMS server."
        DEFVAL { 2000 }
        ::= { zxAnCtrlMcastCdr 12 }
         
--------------------------------------------------------------------------------
--   12.Table of CDR Server
--------------------------------------------------------------------------------

    zxAnMcastCdrServerTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZxAnMcastCdrServerEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "A table that contains sms-servers for CDR reporting."
         ::= { zxAnCtrlMcastCdr 50 }

    zxAnMcastCdrServerEntry OBJECT-TYPE
        SYNTAX ZxAnMcastCdrServerEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "A list of entries of all zxAnMcastCdrServer info."
        INDEX { zxAnMcastCdrServerIpType,zxAnMcastCdrServerIpAddr }
         ::= { zxAnMcastCdrServerTable 1 }

    ZxAnMcastCdrServerEntry  ::= SEQUENCE {
        zxAnMcastCdrServerIpType         InetAddressType,
        zxAnMcastCdrServerIpAddr         InetAddress,
        zxAnMcastCdrServerType           INTEGER,
        zxAnMcastCdrServerUserName       DisplayString,
        zxAnMcastCdrServerUserPwd        DisplayString,
        zxAnMcastCdrServerFtpType        INTEGER,
        zxAnMcastCdrServerRowStatus      RowStatus
    }
    
    zxAnMcastCdrServerIpType OBJECT-TYPE
        SYNTAX      InetAddressType
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The type of CDR server IP address."
        DEFVAL { ipv4 }
        ::= { zxAnMcastCdrServerEntry 1 }

    zxAnMcastCdrServerIpAddr OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The IP address of CDR server."
        DEFVAL { ''H }
        ::= { zxAnMcastCdrServerEntry 2 }
         
    zxAnMcastCdrServerType  OBJECT-TYPE 
        SYNTAX      INTEGER
            {
                primary(1),
                secondary(2)
            }
        MAX-ACCESS       read-create
        STATUS           current
        DESCRIPTION      "The type of CDR server."
        ::=  { zxAnMcastCdrServerEntry  3 }
        
    zxAnMcastCdrServerUserName  OBJECT-TYPE
        SYNTAX           DisplayString (SIZE(1..64))
        MAX-ACCESS       read-create
        STATUS           current
        DESCRIPTION      "The FTP user name."
        ::=  { zxAnMcastCdrServerEntry  4 }
        
    zxAnMcastCdrServerUserPwd  OBJECT-TYPE
        SYNTAX           DisplayString (SIZE(1..64))
        MAX-ACCESS       read-create
        STATUS           current
        DESCRIPTION      "The FTP user password."
        ::=  { zxAnMcastCdrServerEntry  5 }
        
    zxAnMcastCdrServerFtpType  OBJECT-TYPE 
        SYNTAX      INTEGER
            {
                ftp(1),
                sftp(2)
            }
        MAX-ACCESS       read-create
        STATUS           current
        DESCRIPTION      "The FTP type of CDR server."
        DEFVAL { ftp }
        ::=  { zxAnMcastCdrServerEntry  6 }
    
    zxAnMcastCdrServerRowStatus  OBJECT-TYPE 
        SYNTAX           RowStatus
        MAX-ACCESS       read-create
        STATUS           current
        DESCRIPTION      
            "The status of this conceptual row.
            
            The supported actions of this conceptual row only include:
            'createAndGo' and 'destroy'.

            To create a row in this table, a manager must set this object to 
            createAndGo(4).
    
            To delete a row in this table, a manager must set this object to 
            destroy(6). 
             
            To get this object, the agent always returns active(1)."
        ::=  { zxAnMcastCdrServerEntry  50 }


--------------------------------------------------------------------------------
--  10.Trap Definitions
--------------------------------------------------------------------------------


    zxAnCtrlMcastCdrSizeOverThreshTrap      NOTIFICATION-TYPE
            OBJECTS { zxAnIptvCdrCurrentRecordNumber
                    }
            STATUS  current
            DESCRIPTION
                " Cdr current record is over threshold."
             ::= { zxAnCtrlMcastTraps 1 }
             
    zxAnCtrlMcastCdrSizeUnderThreshTrap      NOTIFICATION-TYPE
            OBJECTS { zxAnIptvCdrCurrentRecordNumber
                    }
            STATUS  current
            DESCRIPTION
                " Cdr current record is below threshold."
             ::= { zxAnCtrlMcastTraps 2 }   
             
    zxAnMcastChanAccessDenyTrap      NOTIFICATION-TYPE
            OBJECTS { ifIndex,zxAnIptvChanNewName
                    }
            STATUS  current
            DESCRIPTION
                " If user try to  access a denied channel,system will raise this trap."
             ::= { zxAnCtrlMcastTraps 3 }                                     
        
END
