-- *****************************************************************
-- CISCO-VISM-SESSION-MIB.my  
--   This MIB is used for maintaining and configuration 
--   of the RUDP(Reliable UDP) session on VISM(Voice
--   Interworking Service Module).
--
-- February 2004, George Ogagan
--
-- Copyright (c) 2003, 2004 by Cisco Systems, Inc.
-- All rights reserved.
-- ****************************************************************

CISCO-VISM-SESSION-MIB DEFINITIONS ::= BEGIN
IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    Integer32,
    Counter32,
    IpAddress
                               FROM SNMPv2-SMI
    TruthValue,
    DisplayString
                               FROM SNMPv2-TC

    MODULE-COMPLIANCE,
    OBJECT-GROUP               FROM SNMPv2-CONF
    voice                      FROM BASIS-MIB
    ciscoWan                   FROM CISCOWAN-SMI;

ciscoVismSessionMIB MODULE-IDENTITY
    LAST-UPDATED    "200402260000Z"
    ORGANIZATION    "Cisco Systems, Inc."
    CONTACT-INFO
            "       Cisco Systems
                    Customer Service

                Postal: 170 W Tasman Drive
                        San Jose, CA  95134
                        USA

                        Tel: +1 800 553-NETS

                E-mail: cs-wanatm@cisco.com"
    DESCRIPTION
        "The MIB module contain the RUDP session parameter.

         The relationship between session set, session group and RUDP
         session is that: For fault tolerant case each session set
         contains two groups. Each group connects to one MGC(Media
         Gateway Controller), One active, one standby. If one MGC
         fails, the other MGC will inform the session mamager to
         switch over. If the set configuration is non-fault tolerant,
         each set contains one group.

         Each session group contains upto four RUDP sessions.

         Session set is explicitly created first, then session group
         can be created in this set. After session group is
         created, session can be created in the group.

         For deletion, session has to be deleted first. However, the
         last session can not be deleted if there is still LAPD(Link
         Access Procedure on the D-channel) entry. A group can only
         be deleted if there is no more session in it. Session set
         will be deleted when the last group in the set has been 
         deleted.
        "

    REVISION    "200402260000Z"
    DESCRIPTION
        "Update descriptions in the MIB.
        "
    REVISION    "200307170000Z"
    DESCRIPTION
        "Initial version of the MIB.

         The content of this MIB was originally available
         in SMIv1 version. The MIB has been converted to
         SMIv2 version and descriptions of some of the objects
         have been modified.
        "
    ::= { ciscoWan 95 }


vismSessionGrp          OBJECT IDENTIFIER ::= { voice 11 }

--
-- --------------------------------
-- vismSessionSet table
-- --------------------------------
--

vismSessionSetTable    OBJECT-TYPE
    SYNTAX     SEQUENCE OF VismSessionSetEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The vismSessionSetTable has entries for a collection
         of session group. Each entry provides connectivity
         to a different MGC.
        "
    ::= { vismSessionGrp 1 }

vismSessionSetEntry    OBJECT-TYPE
    SYNTAX     VismSessionSetEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry for vismSessionSetTable."
    INDEX { vismSessionSetNum }
    ::= { vismSessionSetTable 1 }

VismSessionSetEntry ::=
    SEQUENCE {
                vismSessionSetNum             Integer32,
                vismSessionSetRowStatus       INTEGER,
                vismSessionSetState           INTEGER,
                vismSessionSetTotalGrps       Integer32,
                vismSessionSetActiveGrp       Integer32,
                vismSessionSetSwitchFails     Counter32,
                vismSessionSetSwitchSuccesses Counter32,
                vismSessionSetFaultTolerant   TruthValue
             }
                 
vismSessionSetNum    OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An arbitrary index that uniquely identifies a session set.
        "
    ::= { vismSessionSetEntry 1 }

vismSessionSetRowStatus    OBJECT-TYPE
    SYNTAX  INTEGER {
                active     (1),
                createAndGo(4),
                destroy    (6)
                }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "This variable is used to allow add or delete a session set.

         'active': This state indicates that the session set is
         available for use by the managed device;

         'createAndGo': Use this to add an entry in this table.

         `destroy': the status supplied by a management station
         wishing to delete all of the instances associated with
         this session group. Deletion of a set is not allowed if
         there is still group in this set.
        "
    ::= { vismSessionSetEntry 2 }

vismSessionSetState    OBJECT-TYPE
    SYNTAX  INTEGER {
                idle      (1), 
                oos       (2),
                activeIs  (3),
                standbyIs (4),
                fullIs    (5),
                unknown   (6)
                }
    MAX-ACCESS read-only 
    STATUS     current
    DESCRIPTION
        "When an entry in vismSessionSetTable is created and no group
         has been added to this set yet or group has been created
         in this set but no session has been added yet the set state
         is 'idle'.

         After a group has been created in this set and one session
         has been added to the group the set state becomes 'oos',i.e,
         out of service.         

         After successfully open socket and the session has sent 
         START message to MGC, the state of the set will be changed
         based on whether this set is fault tolerant(FT) or none fault
         tolerant(NFT) specify in vismSessionSetFaultTolerant.  

         In NFT case the set state becomes 'activeIs'.

         In FT case, if one session from a group received an active
         message from MGC and no standby message received from a 
         session in the other group, the state of the set will change 
         to 'activeIs'.

         On the other hand, if at least one session from a group 
         received standby message from MGC and no other  
         session from the other group received active message then 
         the set state is transferred to 'standbyIs'.

         The set becomes 'fullIs' when at least one  session from 
         one group receives active message and at least one session 
         from the other group receives standby message.  
         
         'unknown' is a state other than the above states.
        "
    ::= { vismSessionSetEntry 3 }

vismSessionSetTotalGrps    OBJECT-TYPE
    SYNTAX      Integer32(0..2147483647) 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The current number of session groups in the session set.
        "
    ::= { vismSessionSetEntry 4 }

vismSessionSetActiveGrp    OBJECT-TYPE
    SYNTAX      Integer32 (0..2147483647) 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This is the current group number in active state."
    ::= { vismSessionSetEntry 5 }

vismSessionSetSwitchFails    OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The accumulated number of failed attempts to 'switch'
         between session groups in this session set.
        "
    ::= { vismSessionSetEntry 6 }

vismSessionSetSwitchSuccesses    OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The accumulated number of successful attempts to
         'switch' between session groups in this session set.
        "
    ::= { vismSessionSetEntry 7 } 

vismSessionSetFaultTolerant    OBJECT-TYPE
    SYNTAX      TruthValue 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates whether the set configuration 
         is fault tolerant, 'true(1)' indicate fault tolerant
         and 'false(2)' non fault tolerant. If the set is
         fault tolerant then there can be two groups in this set.  
         If the set is non fault tolerant then only one group
         can be added in this set.

         Once the entry is created this object cannot be modified.
        "
    ::= { vismSessionSetEntry 8 }

-- --------------------
-- vismSessionGrp table
-- --------------------

vismSessionGrpTable    OBJECT-TYPE
    SYNTAX     SEQUENCE OF VismSessionGrpEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "This table has entries for a collection of sessions.
        "
    ::= { vismSessionGrp 2 }

vismSessionGrpEntry    OBJECT-TYPE
    SYNTAX     VismSessionGrpEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry for vismSessionGrpTable."
    INDEX { vismSessionGrpNum }
    ::= { vismSessionGrpTable 1 }

VismSessionGrpEntry ::=
    SEQUENCE {
                vismSessionGrpNum             Integer32,
                vismSessionGrpSetNum          Integer32,
                vismSessionGrpRowStatus       INTEGER,
                vismSessionGrpState           INTEGER,
                vismSessionGrpCurrSession     Integer32,
                vismSessionGrpTotalSessions   Integer32,
                vismSessionGrpSwitchFails     Counter32,
                vismSessionGrpSwitchSuccesses Counter32,
                vismSessionGrpMgcName         DisplayString
             }
                 
vismSessionGrpNum    OBJECT-TYPE 
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An arbitrary index that uniquely identifies a session group. 
        " 
    ::= { vismSessionGrpEntry 1 }
   
vismSessionGrpSetNum    OBJECT-TYPE 
    SYNTAX      Integer32 (0..2147483647) 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object identify session set number to which
         this session Group belongs. Once the entry is created
         this object cannot be modified.

         The same session set can only be assigned to two
         different session groups.
        "
    ::= { vismSessionGrpEntry 2 }
    
vismSessionGrpRowStatus    OBJECT-TYPE
    SYNTAX  INTEGER {
                active      (1),
                createAndGo (4),
                destroy     (6)
                }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "This variable allows to add or delete an entry in this table.
         'createAndGo': Use this to add an entry in this table. 
         vismSessionGrpSetNum and vismSessionGrpMgcName are required
         to add an entry.  Before adding the session group, The
         session set should already be created. 

         'active': This state indicates that the session group is
          available for use by the managed device;

         `destroy': the status supplied by a management station
          wishing to delete all of the instances associated with
          this session group.
        "
    ::= { vismSessionGrpEntry 3 }

vismSessionGrpState    OBJECT-TYPE
    SYNTAX  INTEGER {
                idle           (1),
                oos            (2),
                is             (3),
                unknown        (4)
                }
    MAX-ACCESS  read-only 
    STATUS  current
    DESCRIPTION
        "This object indicates the operational state of the session
         group. The possible operational states are as follows:

         'idle': This is the initial state. 
         'oos' : Out of service state. when a session group has been 
                 created the state of the session group becomes 'oos' 
                 or when all sessions belonging to this group are
                 deleted, session group state becomes 'oos'
         'is': In service state. After at least one  session has been 
               added to the group, socket has been successfully set up 
               and the session has sent a START message to MGC the
               group state changes to 'is'.
         'unknown': This is the state other than the above states.
        "
    ::= { vismSessionGrpEntry 4 }

vismSessionGrpCurrSession    OBJECT-TYPE
    SYNTAX      Integer32 (0..2147483647) 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object indicates the current session that is open to 
         communication with MGC. There is only one active
         session per session group.
        "
    ::= { vismSessionGrpEntry 5 }

vismSessionGrpTotalSessions    OBJECT-TYPE
    SYNTAX      Integer32 (0..2147483647) 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The current number of sessions that are configured
         in the session group.
        "
    ::= { vismSessionGrpEntry 6 }

vismSessionGrpSwitchFails    OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The accumulated number of failed attempts to 'switch'
         between sessions in this group.
        "
    ::= { vismSessionGrpEntry 7 }

vismSessionGrpSwitchSuccesses    OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The accumulated number of successful attempts to 
         'switch' between sessions in this group.
        "
    ::= { vismSessionGrpEntry 8 } 

vismSessionGrpMgcName    OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(1..64)) 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This denotes the name of the MGC. This corresponds to
         a domain name under which the MGC could also be
         registered in a DNS(Domain Named System). Once this
         entry becomes active, this value may not be modified.
        "
    ::= { vismSessionGrpEntry 9 }

-- ----------------------------------------------------------------------
-- vismRudpSessionCnfTable
-- ----------------------------------------------------------------------

vismRudpSessionCnfTable    OBJECT-TYPE
    SYNTAX      SEQUENCE OF VismRudpSessionCnfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table has entries of sessions, which are the connection
         between MGC and a gateway. A session is identified by 
         a local IP address, port, remote IP address and remote port.
         The combination of these four numbers has to be unique to
         identify one session. This table also maintains the
         configuration for every session.
        "
    ::= { vismSessionGrp 3 }

vismRudpSessionCnfEntry    OBJECT-TYPE
    SYNTAX      VismRudpSessionCnfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry for vismSessionCnfEntry."
    INDEX { vismRudpSessionNum }
    ::= { vismRudpSessionCnfTable 1 }

VismRudpSessionCnfEntry ::=
    SEQUENCE {
                vismRudpSessionNum             Integer32,
                vismRudpSessionGrpNum          Integer32,
                vismRudpSessionCnfRowStatus    INTEGER,
                vismRudpSessionPriority        Integer32,
                vismRudpSessionState           INTEGER,
                vismRudpSessionCurrSession     Integer32,
                vismRudpSessionLocalIp         IpAddress,
                vismRudpSessionLocalPort       Integer32,
                vismRudpSessionRmtIp           IpAddress,
                vismRudpSessionRmtPort         Integer32,
                vismRudpSessionMaxWindow       Integer32,
                vismRudpSessionSyncAttempts    Integer32,
                vismRudpSessionMaxSegSize      Integer32,
                vismRudpSessionMaxAutoReset    Integer32,
                vismRudpSessionRetransTmout    Integer32,
                vismRudpSessionMaxRetrans      Integer32,
                vismRudpSessionMaxCumAck       Integer32,
                vismRudpSessionCumAckTmout     Integer32,
                vismRudpSessionMaxOutOfSeq     Integer32,
                vismRudpSessionNullSegTmout    Integer32,
                vismRudpSessionTransStateTmout Integer32,
                vismRudpSessionType            INTEGER,
                vismRudpSessionRmtGwIp         IpAddress
             }
                 
vismRudpSessionNum    OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An arbitrary index that uniquely identifies a session.
        "
    ::= { vismRudpSessionCnfEntry 1 }

vismRudpSessionGrpNum    OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This indicates the session group that this session belongs to.
         Once the entry is created, it cannot be modified.
        "
    ::= { vismRudpSessionCnfEntry 2 }

vismRudpSessionCnfRowStatus    OBJECT-TYPE
    SYNTAX  INTEGER {
                active      (1),
                createAndGo (4),
                destroy     (6)
                }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "This variable allows the user to add or delete the entry 
         for this table.
         'createAndGo': Use this to add a RUDP session in this
         table. RUDP vismRudpSessionNum, vismRudpSessionGrpNum,
         vismRudpSessionPriority, vismRudpSessionLocalPort
         and vismRudpSessionRmtPort are required while creating
         an entry for PRI(Primary Rate Interface) Backhaul. On
         the other hand RUDP vismRudpSessionNum, 
         vismRudpSessionLocalPort, vismRudpSessionRmtPort,
         remote IP and RUDP session type are required
         for LAPD Trunking. 

         'active': This state indicates that the session is
         available for use by the managed device;

         'destroy': Use this to delete an RUDP session from
         this table. Only RUDP session number is needed for
         deleting. The last session shall not be deleted if
         there are still active LAPD entries.
        "
    ::= { vismRudpSessionCnfEntry 3 }

vismRudpSessionPriority    OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object specifies the RUDP session priority for
         this session.
         Once a session has been added it can not be modified. 
         When a session fails it indicates which session the session 
         manager should try to bring active.

         A lower number means higher priority.
        "
    ::= { vismRudpSessionCnfEntry 4 }

vismRudpSessionState    OBJECT-TYPE
    SYNTAX  INTEGER {
                      oos     (1),
                      is      (2),
                      unknown (3)
                    } 
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "This object indicates the current session operational
         state. The possible operational states are as follows:

         'oos': Out of service state. This is the initial state when 
                a RUDP session is created.
         'is' : In service state. When a channel has been created
                between gateway and MGC and gateway has sent
                Start message the state of the session changes to
                'is'. If the communication is lost between GW 
                (gateway) and the MGC, the state of this session
                becomes 'oos'.
         'unknown': This is the state other than the above states.
        "
    ::= { vismRudpSessionCnfEntry 5 }

vismRudpSessionCurrSession    OBJECT-TYPE
    SYNTAX      Integer32 (0..2147483647) 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object indicates which session has got active message
         from MGC. The session manager will always try to bring
         the first added session to active.

         If the current active session fails the state of this
         session is changed to 'oos' through
         vismRudpSessionState and the session manager will
         try to bring the 'primary-is' session with highest
         priority identify by the object vismRudpSessionPriority
         among the rest of sessions in this group to active.
        "
    ::= { vismRudpSessionCnfEntry 6 }

vismRudpSessionLocalIp    OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The IP address of XGCP gateway."
    ::= { vismRudpSessionCnfEntry 7 }

vismRudpSessionLocalPort    OBJECT-TYPE
    SYNTAX  Integer32 (1124..65535)
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "The port number of XGCP gateway for this session.
         It can be modified after creation. This port number should
         be unique across other sessions and XGCP/SRCP(Simple 
         Resource Coordination Protocol).
        "
    ::= { vismRudpSessionCnfEntry 8 }

vismRudpSessionRmtIp    OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This is the IP address of the MGC. It is resolved by
         using vismSessionGrpMgcName in vismSessionGrpTable.
        "
    ::= { vismRudpSessionCnfEntry 9 }

vismRudpSessionRmtPort    OBJECT-TYPE
    SYNTAX      Integer32 (1124..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The port number of MGC for this session. It can be
         modified after creation.  This port number should
         be unique across other sessions and XGCP/SRCP.
        "
    ::= { vismRudpSessionCnfEntry 10 }

vismRudpSessionMaxWindow    OBJECT-TYPE
    SYNTAX      Integer32 (1..64)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object is the maximum number of segments that should be 
         sent without getting an acknowledgment, i.e. the maximum 
         size of the receive window in segments. This is used for
         flow control.
        "
    DEFVAL { 32 }
    ::= { vismRudpSessionCnfEntry 11 }

vismRudpSessionSyncAttempts    OBJECT-TYPE
    SYNTAX      Integer32 (1..32)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Maximum number of attempts to synchronize with other side
         (MGC). This object can be modified after a session is
         created.
        "
    DEFVAL { 5 }
    ::= { vismRudpSessionCnfEntry 12 }

vismRudpSessionMaxSegSize    OBJECT-TYPE
    SYNTAX      Integer32 (30..65535)
    UNITS       "bytes" 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The maximum number of octets that can be received by the peer 
         sending the SYN segment.
        "
    DEFVAL { 384 }
    ::= { vismRudpSessionCnfEntry 13 }
 
vismRudpSessionMaxAutoReset    OBJECT-TYPE
    SYNTAX      Integer32 (0..255)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The maximum number of consecutive auto reset that will be 
         performed before a connection is reset. A value 0 indicates 
         that an auto reset will not be attempted, the connection 
         will be reset immediately if an auto reset condition occurs.
        "
    DEFVAL { 5 }
    ::= { vismRudpSessionCnfEntry 14 } 

vismRudpSessionRetransTmout    OBJECT-TYPE
    SYNTAX      Integer32 (100..65535)
    UNITS       "milliseconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The timeout value for retransmission of unacknowledged 
         packets. This is a negotiable parameter, MGC and GW
         must agree on the same value for this parameter.
        "
    DEFVAL { 600 }
    ::= { vismRudpSessionCnfEntry 15 } 

vismRudpSessionMaxRetrans    OBJECT-TYPE
    SYNTAX      Integer32 (0..255)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The maximum number of times consecutive retransmission 
         will be attempted before the connection is considered 
         broken.  A value 0 indicates retransmission should be 
         attempted forever.  This is a negotiable parameter, both 
         MGC and GW must agree on the value for this parameter.
        " 
    DEFVAL { 3 }
    ::= { vismRudpSessionCnfEntry 16 } 

vismRudpSessionMaxCumAck    OBJECT-TYPE
    SYNTAX      Integer32 (0..255)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates the maximum number of acknowledgments 
         that will be accumulated before sending an acknowledgment.
         A value of 0 indicates an acknowledgment segment will be
         sent immediately when a data, null, or reset segment is
         received. This is a negotiable parameter between MGC
         GW and .
        "
    DEFVAL { 3 }
    ::= { vismRudpSessionCnfEntry 17 } 

vismRudpSessionCumAckTmout    OBJECT-TYPE
    SYNTAX      Integer32 (100..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object is the timeout value for sending an 
         acknowledgment segment. This value is specified in
         milliseconds. This parameter should be smaller than
         vismRudpSessionRetransTmout. This is a negotiable
         parameter betwen MGC and GW. 
        "
    DEFVAL { 300 }
    ::= { vismRudpSessionCnfEntry 18 } 

vismRudpSessionMaxOutOfSeq    OBJECT-TYPE
    SYNTAX      Integer32 (0..255)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object is the maximum number of out of sequence packets 
         that will be accumulated before an EACK(Extended
         acknowledgement) segment is sent. The EACK segment is
         used to acknowledge segments received out of sequence. 
         A value of 0 indicates a EACK will be sent immediately if 
         an out of order segment is received. This is a negotiable
         parameter between MGC and GW.
        "
    DEFVAL { 4 }
    ::= { vismRudpSessionCnfEntry 19 } 

vismRudpSessionNullSegTmout    OBJECT-TYPE
    SYNTAX      Integer32 (0..65535)
    UNITS       "milliseconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object specifies the session idle timeout.
         When the session idle time reaches this idle timeout
         value, a null segment will be sent to MGC from this GW.
         segments. This is a negotiable parameter between 
         MGC and GW.
        "
    DEFVAL { 2000 }
    ::= { vismRudpSessionCnfEntry 20 } 

vismRudpSessionTransStateTmout    OBJECT-TYPE
    SYNTAX      Integer32 (0..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object indicates the number of milliseconds to wait 
         for transfer state before an auto reset occurs.The 
         value 0 indicates the connection will be auto-reset
         immediately and would not be used with redundant links.
        " 
    DEFVAL { 2000 }
    ::= { vismRudpSessionCnfEntry 21 } 

vismRudpSessionType              OBJECT-TYPE
    SYNTAX  INTEGER {
            backhaul (1),
            lapdTrunking (2)
            }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "This object indicates if the session is configured for 
         Trunking or PRI Backhaul. By default the object is set 
         to 'backhaul' and it needs to set to 'lapdTrunking' if LAPD 
         Trunking needs to be done.
        "
    DEFVAL { backhaul }
    ::= { vismRudpSessionCnfEntry 22 } 

vismRudpSessionRmtGwIp    OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This is the IP address of the remote GW. This will be
         used only for 'lapdTrunking' applications and the
         vismRudpSessionType must be set to LAPD Trunking.
        "
    ::= { vismRudpSessionCnfEntry 23 }

-- ------------------------------------------------------------------------
-- vismRudpSessionStatTable
-- ------------------------------------------------------------------------

vismRudpSessionStatTable    OBJECT-TYPE
    SYNTAX      SEQUENCE OF VismRudpSessionStatEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table keeps track of state and session-specific 
         counts. It is per session based."
    ::= { vismSessionGrp 4 }

vismRudpSessionStatEntry    OBJECT-TYPE
    SYNTAX      VismRudpSessionStatEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry for vismSessionStatEntry."
    INDEX { vismRudpSessionStatNum }
    ::= { vismRudpSessionStatTable 1 }

VismRudpSessionStatEntry ::=
    SEQUENCE {
                vismRudpSessionStatNum         Integer32,
                vismRudpSessionAutoResets      Counter32,
                vismRudpSessionRcvdAutoResets  Counter32,
                vismRudpSessionRcvdInSeqs      Counter32,
                vismRudpSessionRcvdOutSeqs     Counter32,
                vismRudpSessionSentPackets     Counter32,
                vismRudpSessionRcvdPackets     Counter32,
                vismRudpSessionSentBytes       Counter32,
                vismRudpSessionRcvdBytes       Counter32,
                vismRudpSessionDataSentPkts    Counter32,
                vismRudpSessionDataRcvdPkts    Counter32,
                vismRudpSessionDiscardPkts     Counter32,
                vismRudpSessionRetransPkts     Counter32
             }
                 
vismRudpSessionStatNum    OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This is the index of vismRudpSessionStatEntry table.
         It is the same as the index of vismRudpSessionCnfEntry 
         table.
        "
    ::= { vismRudpSessionStatEntry 1 }

vismRudpSessionAutoResets    OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The accumulated number of soft reset for the session
         initiated by the XGCP gateway.
        "
    ::= { vismRudpSessionStatEntry 2 }

vismRudpSessionRcvdAutoResets     OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The accumulated number of auto resets initiated 
         by MGC and received by GW.
        "
    ::= { vismRudpSessionStatEntry 3 }

vismRudpSessionRcvdInSeqs     OBJECT-TYPE
    SYNTAX      Counter32
    UNITS       "packets"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The accumulated number of packets received in 
         sequence for the session.
        "
    ::= { vismRudpSessionStatEntry 4 }
 
vismRudpSessionRcvdOutSeqs     OBJECT-TYPE
    SYNTAX      Counter32
    UNITS       "packets"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The accumulated number of packets received 
         out of sequence.
        "
    ::= { vismRudpSessionStatEntry 5 }

vismRudpSessionSentPackets     OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This is the number of packets sent by GW, 
         including SYN message."
    ::= { vismRudpSessionStatEntry 6 }

vismRudpSessionRcvdPackets     OBJECT-TYPE
    SYNTAX      Counter32
    UNITS       "packets"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The accumulated number of packets received by GW
         including active message.
        "
    ::= { vismRudpSessionStatEntry 7 }
   
vismRudpSessionSentBytes     OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object indicates the number of bytes sent to MGC.
        "
    ::= { vismRudpSessionStatEntry 8 }    

vismRudpSessionRcvdBytes     OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object keeps track of the number of bytes received 
         from MGC.
        "
    ::= { vismRudpSessionStatEntry 9 } 

vismRudpSessionDataSentPkts     OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object is the number of data packets sent to MGC.
        "
    ::= { vismRudpSessionStatEntry 10 } 
 
vismRudpSessionDataRcvdPkts     OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object is the number of data packets received from MGC.
        "
    ::= { vismRudpSessionStatEntry 11 } 

vismRudpSessionDiscardPkts     OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This is the number of packets discarded by GW.
        "
    ::= { vismRudpSessionStatEntry 12 }

vismRudpSessionRetransPkts     OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This is the number of packets retransmitted by GW.
        "
    ::= { vismRudpSessionStatEntry 13 }

-- conformance information

ciscoVismSessionMIBConformance  OBJECT IDENTIFIER ::= 
                              { ciscoVismSessionMIB 2 }

ciscoVismSessionMIBGroups       OBJECT IDENTIFIER ::=
                              { ciscoVismSessionMIBConformance 1 }

ciscoVismSessionMIBCompliances  OBJECT IDENTIFIER ::=
                              { ciscoVismSessionMIBConformance 2 }

-- compliance statements

ciscoVismSessionCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
        "The compliance statement for objects related
         to CISCO-VISM-SESSION-MIB.
        "
    MODULE  -- this module
        MANDATORY-GROUPS {
          ciscoVismSessionSetGrp,
          ciscoVismSessionGrp,
          ciscoVismRudpSessionGrp,
          ciscoVismRudpSessionStatGrp
        }
    ::= { ciscoVismSessionMIBCompliances 1 }

ciscoVismSessionSetGrp OBJECT-GROUP
     OBJECTS {
         vismSessionSetNum,
         vismSessionSetRowStatus,
         vismSessionSetState,
         vismSessionSetTotalGrps,
         vismSessionSetActiveGrp,
         vismSessionSetSwitchFails,
         vismSessionSetSwitchSuccesses,
         vismSessionSetFaultTolerant
     }
     STATUS current
     DESCRIPTION
         "A collection of objects providing session set configuration.
         "
      ::= { ciscoVismSessionMIBGroups 1 }

ciscoVismSessionGrp OBJECT-GROUP
     OBJECTS {
         vismSessionGrpNum,
         vismSessionGrpSetNum,
         vismSessionGrpRowStatus,
         vismSessionGrpState,
         vismSessionGrpCurrSession,
         vismSessionGrpTotalSessions,
         vismSessionGrpSwitchFails,
         vismSessionGrpSwitchSuccesses,
         vismSessionGrpMgcName

     }
     STATUS current
     DESCRIPTION
         "A collection of objects providing session group
          configuration.
         "
      ::= { ciscoVismSessionMIBGroups 2 }

ciscoVismRudpSessionGrp OBJECT-GROUP
     OBJECTS {
         vismRudpSessionNum,
         vismRudpSessionGrpNum,
         vismRudpSessionCnfRowStatus,
         vismRudpSessionPriority,
         vismRudpSessionState,
         vismRudpSessionCurrSession,
         vismRudpSessionLocalIp,
         vismRudpSessionLocalPort,
         vismRudpSessionRmtIp,
         vismRudpSessionRmtPort,
         vismRudpSessionMaxWindow,
         vismRudpSessionSyncAttempts,
         vismRudpSessionMaxSegSize,
         vismRudpSessionMaxAutoReset,
         vismRudpSessionRetransTmout,
         vismRudpSessionMaxRetrans,
         vismRudpSessionMaxCumAck,
         vismRudpSessionCumAckTmout,
         vismRudpSessionMaxOutOfSeq,
         vismRudpSessionNullSegTmout,
         vismRudpSessionTransStateTmout,
         vismRudpSessionType,
         vismRudpSessionRmtGwIp

     }
     STATUS current
     DESCRIPTION
        "A collection of objects providing session configuration.
        "
      ::= { ciscoVismSessionMIBGroups 3 }

ciscoVismRudpSessionStatGrp OBJECT-GROUP
     OBJECTS {
           vismRudpSessionStatNum,
           vismRudpSessionAutoResets,
           vismRudpSessionRcvdAutoResets,
           vismRudpSessionRcvdInSeqs,
           vismRudpSessionRcvdOutSeqs,
           vismRudpSessionSentPackets,
           vismRudpSessionRcvdPackets,
           vismRudpSessionSentBytes,
           vismRudpSessionRcvdBytes,
           vismRudpSessionDataSentPkts,
           vismRudpSessionDataRcvdPkts,
           vismRudpSessionDiscardPkts,
           vismRudpSessionRetransPkts
     }
     STATUS current
     DESCRIPTION
        "A collection of objects providing session relayed
         statistics information.
        "
      ::= { ciscoVismSessionMIBGroups 4 }

END
