-- *****************************************************************   
-- CISCO-ITP-RT-MIB: Itp Signalling Point Routing Table
--
-- August 2001, John Linton, Shekhar Acharya
--
-- Copyright (c) 2001, 2002, 2003 by Cisco Systems, Inc.
-- All rights reserved.
-- *****************************************************************
--
-- *****************************************************************
CISCO-ITP-RT-MIB DEFINITIONS ::= BEGIN

IMPORTS
        Counter32,
        Integer32,
        MODULE-IDENTITY,
        NOTIFICATION-TYPE,
        OBJECT-TYPE,
        Unsigned32
                FROM SNMPv2-SMI
                
        TimeStamp,
        TruthValue 
                FROM SNMPv2-TC

        MODULE-COMPLIANCE,
        NOTIFICATION-GROUP,
        OBJECT-GROUP
                FROM SNMPv2-CONF
         
        CItpTcLinksetId,
        CItpTcPointCode,
        CItpTcQos,
        CItpTcRouteTableName, 
        CItpTcTableLoadStatus
                FROM CISCO-ITP-TC-MIB
       
        ciscoMgmt
                FROM CISCO-SMI;        
                
ciscoItpRtMIB MODULE-IDENTITY
        LAST-UPDATED    "200307100000Z"
        ORGANIZATION    "Cisco Systems, Inc."
        CONTACT-INFO
                "       Cisco Systems, Inc
                        Customer Service

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

                   Tel: +1 800 553-NETS

                E-mail: cs-ss7s@cisco.com"
        DESCRIPTION
          "This MIB is for managing information required to 
           route messages transported over Signalling System 
           No. 7 (SS7) Network via Cisco IP Transfer
           Point.  
           
           The Cisco IP Transfer Point (ITP) is a hardware 
           and software solution that transports SS7 traffic 
           using IP.  Each ITP node provides the functions
           necessary to act as a SS7 signalling point.  Each 
           signalling point is connected to other signalling 
           point using IP based or traditional TDM links.
           
           The relevant ITU documents describing this technology 
           are the ITU Q series, including ITU Q.700: Introduction
           to CCITT Signalling System No. 7 and ITU Q.701 
           Functional description of the message transfer part
           (MTP) of Signalling System No. 7.
           

           Definitions and overview:
           
           Route:
           A route consists of one or more linksets used to transport
           MTP3 Message Signal Units(MSU) between signalling points.  
           A route is an association between a destination point 
           code(DPC) and a linkset, i.e., a linkset that can be used
           to send an MSU to the given DPC.
           
           Routeset:
           A routeset is a set of routes to a given DPC.  Each route
           within a routeset is on a possible path toward the DPC.
           Each route within the routeset has associated with it a
           route priority.
           
           In the following simple configuration, two routes exist
           that can be used to transport MSUs from STP1 to STP4.
           
             ---------         STP1-STP2         --------- 
             - STP1  ----------------------------- STP2  - 
             ---------                           --------- 
                 |                                   |
                 | STP1-STP3               STP2-STP4 |
                 |                                   |
             ---------         STP3-STP4         --------- 
             - STP3  ----------------------------- STP4  - 
             ---------                           --------- 
           
           Routeset on STP1 for DPC = STP4:
               STP1-STP2,
               STP1-STP3

           
           Linkset:
           A linkset is a set of signalling links connecting
           two signalling points.
           
           Combined Linkset: 
           Two linksets with equal number of links and capacity
           that form routes of equal priority to a given DPC are
           called Combined Linksets.  It is primarily used for
           load sharing and redundancy.  In the following, example,
           linksets 'SSP1-STP1' and 'SSP1-STP2' form a combined 
           linsket.
             
              
                   SSP1-STP1             ---------
                |------------------------- STP1  -
                |                        ---------
               - - 
             -     -
            -  SSP1 -  
             -     -
               - - 
                |  SSP1-STP2            ---------
                |------------------------ STP2  -
                                        ---------
           
           Routing:  
           The routing of SS7 Message signalling Units(MSU) is based 
           on the DPC.  Message Signalling Units are sent from an
           originating point code(OPC) to DPC.  Each MSU will 
           traverse one or more linksets as it is routed to its 
           final destination.  When an MSU arrives at a signalling
           point and the DPC does not match the signalling point's
           point code the MSU must be directed toward the DPC.  Each
           signalling point has enough routing information to 
           determine which linkset should be used to transmit the
           MSU toward its final destination.
           
           Route statement:  
           Each ITP Signalling Point has route statements needed to
           determine which linkset should be used to transmit 
           message signalling units to destinations.  Each route
           statement consists of a destination, a priority and a
           linkset name.  The destination is specified as a 
           combination of DPC and mask.  The priority, also know
           as cost, is used to define the order in which the routes
           are selected.  The linkset name specifies which linkset
           to use to reach the destination.
           
           Route table:  
           Each ITP Signalling Point has a table of routes.  
           These route entries are used to determine which linkset
           should be selected to transmit message signalling units 
           to a given destination.  
           
           There are two basic type of routing.  The first type
           is fully-qualified and uses all bits of the target DPC.  
           The other type is summary routing that uses a subset
           of the bits in the target DPC and is used to represent 
           groups of point codes rather than a single point code.
           
           Example of route table entries.
           
           Example 1: variant = ITU
           
           DPC/MASK  Priority  Linkset-name
           --------  --------  -----------------------
           5.5.5/14  3         STP1-STP2
           5.5.5/14  7         STP1-STP3

           Description: Two route table entries that define a
           primary route using linkset 'STP1-STP2' and an alternate
           route using linkset 'STP1-STP3' to point-code 5.5.5.
           
           Example 2: variant = ITU
           
           DPC/MASK  Priority  Linkset-name
           --------  --------  -----------------------
           5.5.5/14  3         STP1-STP2
           5.5.5/14  3         STP1-STP3
           5.5.5/14  7         STP1-STP4

           Description: Two route table entrys that define a
           combined linkset consisting of linkset 'STP1-STP2' and
           'STP1-STP3' to point code 5.5.5.  An alternate route is
           also defined using linkset 'STP1-STP4'.
           
           Example 3: variant = ANSI
           
           DPC/MASK  Priority  Linkset-name
           --------  --------  -----------------------
           5.5.0/16  3         STP1-STP2
           
           Description: A route table entry that defines routing
           to a cluster.  The cluster represents all point codes
           in the range from 5.5.0-5.5.255.
           
           Example 4: variant = ANSI
           
           DPC/MASK  Priority  Linkset-name
           --------  --------  -----------------------
           5.5.0/16  3         STP1-STP3
           5.5.5/24  3         STP1-STP2
           

           Description: The mixing of fully-qualified and summary
           route table entrys allow for different routes to be
           defined for certain DPC in a cluster.  In this 
           configuration, the fully-qualified route will be the 
           primary and the summary route will act as a backup.
                            
           Route table:  
           A group of route table entrys used to route MSU for a 
           particular instance of a signalling point.
           
           A sample route table.

           DPC/MASK  Priority  Linkset-name
           --------  --------  -----------------------
           0.0.0/0   7         STP1-STP4
           5.5.0/16  3         STP1-STP3
           5.5.5/24  3         STP1-STP2
           .
           .
           122.5.5   5         STP1-STP2
           .
           .
           243.200.1 6         STP1-STP3
           "
           
        REVISION        "200307100000Z"
        DESCRIPTION
                "Updated description to provide overview and 
                 additional information. 
                 
                 The ability to allow multiple instances of 
                 Signalling Points to run in the same device
                 has introduce a new index structure.  All
                 objects in this MIB will be deprecated and 
                 replaced by objects in the CISCO-ITP-GACT-MIB.my
                 MIB."
                 
                     
        REVISION        "200201070000Z"
        DESCRIPTION
                "The following objects were added to provide information
                 on time and status of route table loads using the 
                 file format.
                 
                     cItpRtConfigLoad 
                     cItpRtConfigLoadStatus
                     
                 The following objects were added to provide 
                 information on route state changes.
                     
                     cItpRtStateChangeCount
                     cItpRtStateChangeNotifEnabled
                     cItpRtMaxDynamicRoutes
                     cItpRtChangeNotifWindowTime
                     cItpRtChangeNotifMaxPerWindow
                     cItpRtNotifInfoSuppressedFlag 
                     cItpRtNotifInfoStateChanges   
                     cItpRouteStateChange"
                
        REVISION        "200108290000Z"
        DESCRIPTION
                "Initial version of this MIB module."
        ::= { ciscoMgmt 228 }

-- Top-level structure of the MIB

cItpRouteNotifications     OBJECT IDENTIFIER ::= { ciscoItpRtMIB    0 }
cItpRtMIBObjects           OBJECT IDENTIFIER ::= { ciscoItpRtMIB    1 }
cItpRtMIBConformance       OBJECT IDENTIFIER ::= { ciscoItpRtMIB    2 }


cItpRtScalars              OBJECT IDENTIFIER ::= { cItpRtMIBObjects 1 }
cItpRtTables               OBJECT IDENTIFIER ::= { cItpRtMIBObjects 2 }
cItpRtNotificationsInfo    OBJECT IDENTIFIER ::= { cItpRtMIBObjects 3 }

--  *************************************************************
--  *                                                           *
--  * SP - Scalars                                              *
--  *                                                           *
--  *************************************************************
cItpRtConfigLastChanged           OBJECT-TYPE
    SYNTAX                        TimeStamp 
    MAX-ACCESS                    read-only
    STATUS                        deprecated
    DESCRIPTION
            "The value of sysUpTime at the time of the last
             creation or deletion of an entry in the cItpRouteTable.
             If the local network management subsystem is 
             re-initialization, then this object contains the 
             sysUpTime at the time when this occurred. This value 
             can be used to prevent unnecessary walks of the
             cItpRouteTable."
    ::= { cItpRtScalars 1 }
    
cItpRtConfigLoad                  OBJECT-TYPE
    SYNTAX                        TimeStamp 
    MAX-ACCESS                    read-only
    STATUS                        deprecated
    DESCRIPTION
            "The value of sysUpTime at the time of the last
             load of the route table using file format."
    ::= { cItpRtScalars 2 }
    
cItpRtConfigLoadStatus            OBJECT-TYPE
    SYNTAX                        CItpTcTableLoadStatus 
    MAX-ACCESS                    read-only
    STATUS                        deprecated
    DESCRIPTION
            "The status of the current load or status from
             the prior load operation.  This object will have
             a value of loadInProgress while the load operation
             is in progress.  The cItpRtConfigLoad contains
             a timestamp indicating when the load operation
             completed."
    ::= { cItpRtScalars 3 }
    
cItpRtStateChangeCount            OBJECT-TYPE
    SYNTAX                        Counter32
    MAX-ACCESS                    read-only
    STATUS                        deprecated 
    DESCRIPTION
            "A count of the number of routes that have changed
             states. This value is incremented whenever the 
             destination state of a route changes.  
             This value is used to provide an indicator
             of the stability of the routing table information."
    ::= { cItpRtScalars 4 }

cItpRtStateChangeNotifEnabled    OBJECT-TYPE
     SYNTAX                      TruthValue
     MAX-ACCESS                  read-write
     STATUS                      deprecated 
     DESCRIPTION          
              "A control to enable or disable cItpRouteStateChange
               notifications as follows:
             'true'  Indicates that the cItpRouteStateChange 
                     notification should be generated when the state
                     of any route changes. That is, the notification
                     generation is enabled.
             'false' Indicates that cItpRouteStateChange
                     notification generation is disabled."
     DEFVAL { false }
    ::= { cItpRtScalars 5 }
    
cItpRtChangeNotifDelayTime       OBJECT-TYPE
    SYNTAX                       Unsigned32 (0..60)
    UNITS                        "seconds"
    MAX-ACCESS                   read-write
    STATUS                       deprecated 
    DESCRIPTION
        "This object specifies the maximum amount of time to delay
         before generating the cItpRouteStateChange notification.
         The delay is introduced to allow multiple route state 
         changes to be bundled into a single notification.
         
         If the value of this object is equal to 0, the device will 
         generate cItpRouteStateChange notification as each route 
         changes states.

         If the value of this object is greater than 0, the device 
         will not generate notifications as routes change state. 
         As routes changes state they are accumulated until the time
         specified in cItpRtChangeNotifDelayTime has elapsed or 
         enough state changes have been accumulated to fill up the 
         cItprtNotifInfoStateChanges object.
         
         This object is ignored by the agent when the
         cItpRtStateChangeNotifEnabled object is set to the 'false' 
         value."
     DEFVAL { 10 }
    ::= { cItpRtScalars  6 }
    
cItpRtMaxDynamicRoutes           OBJECT-TYPE
    SYNTAX                       Integer32 (100..1000)
    MAX-ACCESS                   read-write
    STATUS                       deprecated
    DESCRIPTION
            "The maximum number of dynamic SS7 routes. This
             object is used to limit the size of the route table
             by preventing unbounded growth of dynamic entries.
             Dynamic entries are created when certain MTP3 
             management messages are received or sent. The removal 
             of dynamic routes is performed periodically  and the
             older dynamic routes are removed until the specified 
             number is reached."  
             
     DEFVAL { 500 }
    ::= { cItpRtScalars  7 }
    
cItpRtChangeNotifWindowTime      OBJECT-TYPE
    SYNTAX                       Integer32 (30..900)
    UNITS                        "seconds"
    MAX-ACCESS                   read-write
    STATUS                       deprecated 
    DESCRIPTION
        "This object specifies the time interval used to monitor
         the rate of route state changes notifications.  This object
         in combination with cItpRtChangeNotifMaxPerWindow are used
         to determine the notification transit rate and suppress 
         route state notifications." 
     DEFVAL { 60 }
    ::= { cItpRtScalars  8 }
    
cItpRtChangeNotifMaxPerWindow    OBJECT-TYPE
    SYNTAX                       Integer32 (10..9000)
    MAX-ACCESS                   read-write
    STATUS                       deprecated 
    DESCRIPTION
        "This object specifies the maximum number of route
         state changes that can occur in the time interval 
         specified in the cItpRtChangeNotifMaxPerWindow
         object.  If additional state changes can occur in
         the specified time interval the notifications 
         are suppressed."
     DEFVAL { 60 }
    ::= { cItpRtScalars  9 }
    
--  *************************************************************
--  *                                                           *
--  * SP - Route Table                                          *
--  *                                                           *
--  *************************************************************
cItpRouteTable                    OBJECT-TYPE
    SYNTAX                        SEQUENCE OF CItpRouteTableEntry 
    MAX-ACCESS                    not-accessible
    STATUS                        deprecated
    DESCRIPTION
          "The route table for determining the linkset that a
           packet must traverse to arrive at its destination node
           given by the destination point code."
    ::= { cItpRtTables  1 }

cItpRouteTableEntry               OBJECT-TYPE
    SYNTAX                        CItpRouteTableEntry 
    MAX-ACCESS                    not-accessible
    STATUS                        deprecated
    DESCRIPTION
            "Each table entry represents a configured route
             statement."
    INDEX   {
             cItpRouteTableName,
             cItpRouteDpc,
             cItpRouteMask,
             cItpRouteDestLsCost,
             cItpRouteDestLinkset
    }
    ::= { cItpRouteTable  1 }

CItpRouteTableEntry  ::= SEQUENCE {
    cItpRouteTableName                CItpTcRouteTableName,
    cItpRouteDpc                      CItpTcPointCode,
    cItpRouteDestLsCost               Unsigned32,
    cItpRouteDestLinkset              CItpTcLinksetId,
    cItpRouteMask                     Unsigned32,
    cItpRouteQos                      CItpTcQos,
    cItpRouteStatus                   INTEGER,
    cItpRouteNonAdjStatus             INTEGER
}

cItpRouteTableName                OBJECT-TYPE
    SYNTAX                        CItpTcRouteTableName 
    MAX-ACCESS                    not-accessible
    STATUS                        deprecated
    DESCRIPTION
            "The configured name for this route table."
    ::= { cItpRouteTableEntry  1 }

cItpRouteDpc                      OBJECT-TYPE
    SYNTAX                        CItpTcPointCode 
    MAX-ACCESS                    not-accessible
    STATUS                        deprecated
    DESCRIPTION
            "The destination point code."
    ::= { cItpRouteTableEntry  2 }

cItpRouteDestLsCost               OBJECT-TYPE
    SYNTAX                        Unsigned32 (1..9)
    MAX-ACCESS                    not-accessible
    STATUS                        deprecated
    DESCRIPTION
            "The cost assigned to this linkset matching this
            route. Higher numbers represent higher cost."
    ::= { cItpRouteTableEntry  3 }

cItpRouteDestLinkset              OBJECT-TYPE
    SYNTAX                        CItpTcLinksetId 
    MAX-ACCESS                    not-accessible
    STATUS                        deprecated
    DESCRIPTION
            "The linkset that the packet is to be forwarded to on
            matching this route."
    ::= { cItpRouteTableEntry  4 }

cItpRouteMask                     OBJECT-TYPE
    SYNTAX                        Unsigned32 (0..16777215)
    MAX-ACCESS                    not-accessible
    STATUS                        deprecated
    DESCRIPTION
            "The mask used to define which part of
            cItpRouteDpc is significant when comparing
            the cItpRouteDpc to the destination code
            point in the packet to be routed."
    ::= { cItpRouteTableEntry  5 }
    
cItpRouteQos                      OBJECT-TYPE
    SYNTAX                        CItpTcQos
    MAX-ACCESS                    read-only
    STATUS                        deprecated
    DESCRIPTION
            "The quality of service classification to be assigned 
             to the ip packets used to transport the SS7 messages.
             The value to specify for packets
             when they will be transported on SCTP/IP based 
             linkset."  
    ::= { cItpRouteTableEntry  6 }
    
cItpRouteStatus                  OBJECT-TYPE
    SYNTAX                       INTEGER {
                                           unknown(1),
                                           available(2),
                                           restricted(3),
                                           unavailable(4)
                                 }
    MAX-ACCESS                   read-only
    STATUS                       deprecated
    DESCRIPTION
            "List of the possible route status values.
                'unknown'     : Status can not be determined.
                'available'   : Route is available.
                'restricted'  : Traffic is restricted on route.
                'unavailable' : Route is unable to service traffic."
                
    ::= { cItpRouteTableEntry  7 }
    
cItpRouteNonAdjStatus            OBJECT-TYPE
    SYNTAX                       INTEGER {
                                           unknown(1),
                                           allowed(2),
                                           restricted(3),
                                           prohibited(4)
                                 }
    MAX-ACCESS                   read-only
    STATUS                       deprecated
    DESCRIPTION
            "List of the possible non-adjacent status values.
                'unknown'     : Status can not be determined.
                'allowed'     : traffic is allowed.
                'restricted'  : Traffic is restricted on route.
                'prohibited'  : Route is prohibited from providing
                                traffic."
    ::= { cItpRouteTableEntry  8 }
        
        
    
-- *************************************************************
-- *                                                           *
-- * Notifications Information                                 *
-- *                                                           *
-- *************************************************************
cItpRtNotifInfoSuppressedFlag OBJECT-TYPE
     SYNTAX                 TruthValue
     MAX-ACCESS             read-only
     STATUS                 deprecated 
     DESCRIPTION          
         "A flag to indicate whether cItpRouteStateChange 
          notifications have been suppressed in the current time 
          interval specified by the cItpRtChangeNotifWindowTime 
          object.
          
        'true'  Indicates that the device has suppressed the sending 
                of cItpRouteStateChange notifications for the 
                remainder of the time interval. 
              
        'false' Indicates that the device has not suppressed the 
                sending of cItpRouteStateChange notifications in 
                the current time interval." 
    ::= { cItpRtNotificationsInfo 1 }
    
cItpRtNotifInfoStateChanges OBJECT-TYPE
     SYNTAX                 OCTET STRING (SIZE(0..480))
     MAX-ACCESS             read-only
     STATUS                 deprecated 
     DESCRIPTION
        "This object contains a list of route state changes 
         accumulated until the list is full or the time
         time interval specified in cItpRtChangeNotifDelayTime
         has passed.
         
         It consists of one or more tuples packed
         together in the format of '<tuple1><tuple2>...<tuple15>'.
         
         Each tuple consist of 32 octets in the following format.

         '<cItpRouteTableName>       20 octets null padded
          <cItpRouteDpc>              4 octets
          <cItpRouteMask>             4 octets
          destination status          1 octet
             1 - unknown state          
             2 - route is accessible    
             3 - route is inaccessible  
             4 - route is restricted'            
          reserved1                   1 octet(set to null)
          reserved2                   1 octet(set to null)
          reserved3                   1 octet(set to null)
             
         The maximum number of tuples is 15."
    ::= { cItpRtNotificationsInfo 2 }
-- *************************************************************
-- *                                                           *
-- * Notifications                                             *
-- *                                                           *
-- *************************************************************
cItpRouteStateChange NOTIFICATION-TYPE
     OBJECTS {
              cItpRtStateChangeCount,
              cItpRtNotifInfoSuppressedFlag,
              cItpRtNotifInfoStateChanges
     }
     STATUS  deprecated 
     DESCRIPTION
             "This notification is generated whenever one or more
              route destination status changes states and includes
              the count of all route state changes.  This 
              notification contains a list of route state changes
              in the cItpRtNotifInfoStateChanges object.  State
              changes are accumulated until the 
              cItpRtNotifInfoStateChanges is full or the maximum
              delay time is reached.  The delay time is specified
              by the cItpRtChangeNotifDelayTime object.
              
              It may be necessary to suppress the sending of 
              notification when a large number route change 
              state, due the failure of some common resource.
              The number of notifications can be controlled by 
              specifying values for cItpRtChangeNotifWindowTime 
              and cItpRtChangeNotifMaxPerWindow objects. When the 
              number of route state changes exceed the specified
              value the last notification will indicate that
              notifications are suppressed for the remainder
              of the window."
     ::= { cItpRouteNotifications 1 }
     
-- *************************************************************
-- *                                                           *
-- * Conformance Information                                   *
-- *                                                           *
-- *************************************************************
cItpRtMIBCompliances OBJECT IDENTIFIER ::=
        { cItpRtMIBConformance 1 }
cItpRtMIBGroups      OBJECT IDENTIFIER ::=
        { cItpRtMIBConformance 2 }

-- Compliance

cItpRtMIBCompliance MODULE-COMPLIANCE
    STATUS deprecated -- superceded by cItpRtMIBComplianceRev1
    DESCRIPTION
            "The compliance statement for entities which implement
            the Cisco CISCO-ITP-RT-MIB.my MIB"
    MODULE -- this module
            MANDATORY-GROUPS {
                    cItpRtScalarGroup,
                    cItpRouteGroup 
            }
    ::= { cItpRtMIBCompliances 1 }
    
cItpRtMIBComplianceRev1 MODULE-COMPLIANCE
    STATUS deprecated
    DESCRIPTION
            "The compliance statement for entities which implement
             the Cisco CISCO-ITP-RT-MIB.my MIB"
    MODULE -- this module
            MANDATORY-GROUPS {
                    cItpRtScalarGroup,
                    cItpRouteGroup, 
                    cItpRtNotificationsGroup,
                    cItpRtScalarGroupRev1
            }
    ::= { cItpRtMIBCompliances 2 }
    
-- Units of Conformance

cItpRtScalarGroup OBJECT-GROUP
    OBJECTS {
             cItpRtConfigLastChanged
    }
    STATUS deprecated
    DESCRIPTION
            "Route scalars Group."
    ::= { cItpRtMIBGroups 1 }

cItpRouteGroup OBJECT-GROUP            
    OBJECTS {
             cItpRouteQos,                      
             cItpRouteStatus,     
             cItpRouteNonAdjStatus
    }
    STATUS deprecated
    DESCRIPTION
            "Route table group."
    ::= { cItpRtMIBGroups 2 }
    

        
cItpRtNotificationsGroup NOTIFICATION-GROUP
        NOTIFICATIONS {
                cItpRouteStateChange
        }                      
        STATUS deprecated
        DESCRIPTION
                "Route notification objects."
    ::= { cItpRtMIBGroups 3 }

cItpRtScalarGroupRev1 OBJECT-GROUP
    OBJECTS {
             cItpRtConfigLoad,
             cItpRtConfigLoadStatus,
             cItpRtStateChangeCount,
             cItpRtStateChangeNotifEnabled,
             cItpRtChangeNotifDelayTime,
             cItpRtMaxDynamicRoutes,
             cItpRtChangeNotifWindowTime,
             cItpRtChangeNotifMaxPerWindow,
             cItpRtNotifInfoSuppressedFlag, 
             cItpRtNotifInfoStateChanges   
             
    }
    STATUS deprecated
    DESCRIPTION
            "Route revision one scalars group."
    ::= { cItpRtMIBGroups 4 }
END
