You are here:

MonitorTools.com > Technical documentation > SNMP > MIB > Cisco > CISCO-GGSN-MIB
ActiveXperts Network Monitor 2019##AdminFavorites

CISCO-GGSN-MIB by vendor Cisco

CISCO-GGSN-MIB file content

The SNMP protocol is used to for conveying information and commands between agents and managing entities. SNMP uses the User Datagram Protocol (UDP) as the transport protocol for passing data between managers and agents. The reasons for using UDP for SNMP are, firstly it has low overheads in comparison to TCP, which uses a 3-way hand shake for connection. Secondly, in congested networks, SNMP over TCP is a bad idea because TCP in order to maintain reliability will flood the network with retransmissions.

Management information (MIB) is represented as a collection of managed objects. These objects together form a virtual information base called MIB. An agent may implement many MIBs, but all agents must implement a particular MIB called MIB-II [16]. This standard defines variables for things such as interface statistics (interface speeds, MTU, octets sent, octets received, etc.) as well as various other things pertaining to the system itself (system location, system contact, etc.). The main goal of MIB-II is to provide general TCP/IP management information.

Use ActiveXperts Network Monitor 2019 to import vendor-specific MIB files, inclusing CISCO-GGSN-MIB.


Vendor: Cisco
Mib: CISCO-GGSN-MIB  [download]  [view objects]
Tool: ActiveXperts Network Monitor 2019 [download]    (ships with advanced SNMP/MIB tools)
-- $ID$
-- ********************************************************************
-- CISCO-GGSN-MIB.my: MIB file for GGSN 
-- 
-- Dec   2001, Rajesh M. L.
--
-- Copyright (c), 2000, 2001, 2002, 2003, 2004 by Cisco Systems, Inc.
-- All rights reserved.
-- ********************************************************************
-- $Endlog$


CISCO-GGSN-MIB DEFINITIONS ::= BEGIN
 
IMPORTS
        MODULE-IDENTITY,
        NOTIFICATION-TYPE,
        OBJECT-TYPE,
        Integer32,
        Counter32,
        Counter64,
        Unsigned32,
        Gauge32
                FROM SNMPv2-SMI
        CiscoAlarmSeverity,
        CiscoInetAddressMask
                FROM CISCO-TC
        InterfaceIndexOrZero
                FROM IF-MIB
        DisplayString,
        TruthValue,
        TimeStamp,
        RowStatus
                FROM SNMPv2-TC
        InetAddressType,
        InetAddress,
        InetAddressDNS
                FROM INET-ADDRESS-MIB
        cGtpPathAddressType,
        cGtpPathAddress,
        cGtpPathPort
                FROM CISCO-GTP-MIB
        SnmpAdminString
            FROM SNMP-FRAMEWORK-MIB
        MODULE-COMPLIANCE,
        OBJECT-GROUP,
        NOTIFICATION-GROUP
                FROM SNMPv2-CONF
        ciscoMgmt
                FROM CISCO-SMI;


cGgsnMIB    MODULE-IDENTITY
        LAST-UPDATED    "200402230100Z"
        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-gprs@cisco.com"
        DESCRIPTION
                "This MIB module manages the Gateway GPRS Support
                Node (GGSN) devices. 

                A GGSN device provides interworking with external 
                packet-data network of a particular GPRS service
                provider. It provides a combination of IP routing
                and GPRS specific functionality to support mobile
                users.
               
                GTP version1 is introduced in  UMTS release 99 and
                Cisco GGSN will support both GTP version 1 (GTP v1)
                and version zero (GTP v0) simultaneously. 

                GTP v1 supports multiple PDP contexts sharing one 
                IP address.  TFTs are introduced to achieve this.
                Each TFT is associated with a PDP context and there
                may exist one PDP context without TFT amongst all 
                PDP contexts sharing the same IP address. Each TFT 
                has one to eight packet filters each assigned with
                a precedence index.  These packet filters are 
                evaluated one at a time against the packet header 
                information in sequence of their precedence index.
                A match is claimed if all the filters are matched
                and the PDP context that the TFT belongs to will be
                selected, else the checks are performed against the 
                filters of another PDP context.  If the packet 
                header doesn't contain any TFT packet filter
                information, then the PDP context without the TFT is 
                selected for further processing.

                Note on notifications:

                When an alarm occurs on the device, if the alarm's
                severity is higher than the severity filter threshold,
                a notification is generated by the device; and if
                cGgsnNotifEnabled is 'true', then the device's
                SNMP-engine configuration will be searched to
                determine where to send the notification. 

                Acronyms and terms:

                 APN    Access Point Name
                 ETSI   European Telecommunications Standards Institute
                 GGSN   Gateway GPRS Support Node
                 GPRS   General Packet Radio Service
                 GSM    Global System for Mobile communication
                 GTP    GPRS Tunneling Protocol
                 G-PDU  GTP PDU 
                 MS     Mobile Station
                 PDP    Packet Data Protocol
                 PDU    Protocol Data Unit
                 PLMN   Public Land Mobile Network
                 SGSN   Serving GPRS support Node
                 TFT    Traffic Flow Template
                 T-PDU  the payload of G-PDU 
                 UMTS   Universal Mobile Telecommunications System
                 IMS    IP Multimedia Subsystem
                 COPS   Common Open Policy Service protocol
                 PEP    Policy Enforcement Point
                 PDF    Policy Decision Function
                 P-CSCF Proxy Call Session Control Function
                 PLMN   Public Land Mobile Network
                 UE     User Equipment

                REFERENCE

                [1] GSM 03.60: Digital cellular telecommunications
                    system (Phase 2+); General Packet Radio Service
                    (GPRS); Service description; Stage 2. V7.1.0

                [2] GSM 09.60: Digital cellular telecommunication
                    system (Phase 2+); General Packet Radio Service
                    (GPRS); GPRS Tunnelling Protocol (GTP) across
                    Gn and Gp Interface. V7.3.0

                [3] 3GPP; Technical Specification Group Services
                    and System Aspects; QoS Concept and Architecture.
                    3G TS 23.107 v3.2.0.

                [4] 3GPP; Technical Specification Group Core Network;
                    General Packet Radio Service(GPRS); GPRS 
                    Tunnelling Protocol (GTP) across Gn and Gp 
                    Interface (Release 1999). 3G TS 29.060 v3.5.0.

                [5] 3GPP: Technical Specification Group Core Network;
                    Policy control over Go interface (Release 5).
                    3GPP TS 29.207 V5.2.0"
        REVISION       "200402230100Z"
        DESCRIPTION
                "+ Added cGgsnInServiceNotif,
                   cGgsnMaintenanceNotif, 
                   cGgsnMemThresholdReachedNotif, 
                   cGgsnMemThresholdClearedNotif, 
                   cGgsnPdfStateUpNotif, cGgsnPdfStateDownNotif to 
                   cGgsnNotifications.

                 + Added cGgsnPdfTable, cGgsnPcscfTable,
                   cGgsnMemoryThreshold, cGgsnServiceMode,
                   cGgsnPlmnTable, cGgsnSessionTimeout, 
                   cGgsnThruputIntervalOne, cGgsnThruputIntervalTwo,
                   cGgsnCompliance3GppGgsn, cGgsnCreateReqV1UpdExistPdp,
                   cGgsnRadAttrSessTimeout, cGgsnDownlinkVerifyMsDisable
                   to cGgsnConfigurations.

                 + Added cGgsnVersionNotSupportedRejPdps,
                   cGgsnUnkownMessageRejPdps, cGgsnMsgTooShortRejPdps,
                   cGgsnMandIeMissingRejPdps, 
                   cGgsnMandIeIncorrectRejPdps,
                   cGgsnOptIeInvalidRejPdps, cGgsnIeUnknownRejPdps,
                   cGgsnIeOutOfOrderRejPdps, cGgsnIeUnexpectedRejPdps,
                   cGgsnIeDuplicatedRejPdps, cGgsnOptIeIncorrectRejPdps,
                   cGgsnPdpWithoutTftExistsRejPdps
                   to cGgsnPdpsRejStatistics.

                 + Added cGgsnSgsnStatTable to cGgsnStatistics.
                 
                 + Added cGgsnHCSentGPDUOctets and deprecated
                   cGgsnSentGPDUOctets.

                 + Added cGgsnHCReceivedGPDUOctets and deprecated
                   cGgsnReceivedGPDUOctets.
     
                 + Added cGgsnServiceModeStatus to cGgsnStatus.

                 + Added cGgsnPdfServerAddrType, cGgsnPdfServerAddr
                   to cGgsnNotifInfo."
        REVISION       "200312310100Z"
        DESCRIPTION
                "+ Added cGgsnPlmnIpAddrRangeTable to 
                   cGgsnConfigurations.
                 + Added cGgsnTftSemanticErrorPdps, 
                   cGgsnTftSyntacticErrorPdps,
                   cGgsnPktFilterSemanticErrorPdps,
                   cGgsnPktFilterSyntacticErrorPdps to cGgsnStatistics.
                 + Added cGgsnActiveGtpVersion0Pdps,
                   cGgsnActiveGtpVersion1Pdps, cGgsnGtpEncapInterface
                   to cGgsnStatus."
        REVISION       "200112081500Z"
        DESCRIPTION
                "Initial version of this MIB module."
        ::= {ciscoMgmt 240}

--
-- Object definitions
-- 

cGgsnMIBObjects         OBJECT IDENTIFIER 
                            ::= { cGgsnMIB 1 }

cGgsnStatistics         OBJECT IDENTIFIER
                            ::= { cGgsnMIBObjects 1 }
cGgsnNotifMgmt          OBJECT IDENTIFIER
                            ::= { cGgsnMIBObjects 2 }
cGgsnConfigurations     OBJECT IDENTIFIER
                            ::= { cGgsnMIBObjects 3 }
cGgsnStatus             OBJECT IDENTIFIER
                            ::= { cGgsnMIBObjects 4 }
cGgsnNotifInfo          OBJECT IDENTIFIER
                            ::= { cGgsnMIBObjects 5 }

--
-- MIBObjects
--
 
-- 
-- Statistics 
-- 

cGgsnSentSigMessages           OBJECT-TYPE
    SYNTAX                     Counter32
    UNITS                      "packets"
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
         "The number of GTP signalling messages sent.

         Trigger Condition: This counter is updated whenever a 
         GTP signalling messages is sent out, including retries."
     ::= { cGgsnStatistics 1 }

cGgsnReceivedSigMessages       OBJECT-TYPE
    SYNTAX                     Counter32
    UNITS                      "packets"
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
         "The number of GTP signalling messages received.

         Trigger Condition: This counter is updated whenever a 
         GTP signalling message is received."
     ::= { cGgsnStatistics 2 }

cGgsnUnexpectedSigMessages     OBJECT-TYPE
    SYNTAX                     Counter32
    UNITS                      "packets"
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
        "The number of unexpected GTP signalling messages received.

        Trigger Condition: This counter is updated whenever an 
        unexpected Signalling message is received. 
        Condition includes,
          a) A Response message for which there is no corresponding 
             outstanding Request.
          b) A GTP control plane message a GSN is not expected to 
             handle (such as a PDU Notification Request received by 
             a GGSN).
          c) Charging messages in GTP path and vice-versa.
          d) LFN bit not being set when CG path uses short-header 
             and vice-versa."
    ::= { cGgsnStatistics 3 }

cGgsnSentGPDUs                 OBJECT-TYPE
    SYNTAX                     Counter32
    UNITS                      "packets"
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
        "The number of G-PDU messages sent.

        Trigger Condition: This counter is updated whenever a G-PDU 
        is sent out by the GGSN."
    ::= { cGgsnStatistics 4 }

cGgsnReceivedGPDUs             OBJECT-TYPE
    SYNTAX                     Counter32
    UNITS                      "packets"
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
         "The number of G-PDU messages received.

         Trigger Condition: This counter is incremented for each 
         G-PDU received."
     ::= { cGgsnStatistics 5 }

cGgsnSentGPDUOctets            OBJECT-TYPE
    SYNTAX                     Counter32
    UNITS                      "bytes"
    MAX-ACCESS                 read-only
    STATUS                     deprecated
    DESCRIPTION
        "The number of total bytes sent in G-PDU messages.

        Trigger Condition: This counter is updated whenever a G-PDU 
        is sent out by the GGSN."
    ::= { cGgsnStatistics 6 }

cGgsnReceivedGPDUOctets        OBJECT-TYPE
    SYNTAX                     Counter32
    UNITS                      "bytes"
    MAX-ACCESS                 read-only
    STATUS                     deprecated
    DESCRIPTION
        "The number of total bytes received in G-PDU messages.

        Trigger Condition: This counter is incremented for each 
         G-PDU received."
    ::= { cGgsnStatistics 7 }

cGgsnUnexpectedGPDUs           OBJECT-TYPE
    SYNTAX                     Counter32
    UNITS                      "packets"
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
        "The number of unexpected G-PDU messages, for example,
        non existent PDP contexts and ACL denial.

        Trigger Condition: This counter is updated whenever an 
        unexpected G-PDU message is received.
        Conditions include,
          a) G-PDU for a non existent PDP.
          b) ACL denial." 
    ::= { cGgsnStatistics 8 }

cGgsnActivationRejectedPdps    OBJECT-TYPE
    SYNTAX                     Counter32
    UNITS                      "packets"
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
         "The number of PDP contexts that the activation request
         was rejected.

         Trigger Condition: This counter is updated when a PDP 
         activation request is rejected. 
         The cause for rejection can be 
           a) Resource limitations like max PDP limit is reached,
              Out of memory.
           b) Config restrictions like trying to create NIPDP on an 
              APN on which the same is disabled, 
           c) Creating secondary contexts on PPP/PPP-Regen PDPs."
    ::= { cGgsnStatistics 9 }

cGgsnOutOfResourcePdps         OBJECT-TYPE
    SYNTAX                     Counter32
    UNITS                      "packets"
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
         "The number of PDP contexts that the activation request
         rejected due to the GGSN running out of resources for
         transmitting GTP packets. Examples:
          - Out of memory;
          - The number of PDPs on GGSN reached limit;
          - all dynamic PDP address are occupied;

         Trigger Condition: 
           a) Out of memory.
           b) Number of PDPs on GGSN reached limit.
           c) Number of of PPP-regen PDPs reaches max limit.
           d) All dynamic PDP address are occupied.
           e) Incorrect configs for create pdp req.
           f) Qos negotiation fails.
           g) Create PDP req received for non-transparent APN but 
              no radius server is present for authorization.
           h) Attempt to create a PDP with IP address that is 
              already in use.
           i) Attempt to create a PPP-Regen PDP but the vtemplate 
              for PPP-regen is not properly configured or VPDN 
              configs are not proper.
           j) Number of pending signalling messages that needs to 
              be processed by the GGSN is beyond the max limit(100)."
    ::= { cGgsnStatistics 10 }

cGgsnParserErrorMessages       OBJECT-TYPE
    SYNTAX                     Counter32
    UNITS                      "packets"
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
         "The number of GTP messages received with wrong value.
         It includes the following cases:

          - mandatory and optional information element in the GTP
            packet is duplicated, missing, unknown, incorrect or
            out of order.

          - the GTP message is too short to hold the GTP header for
            the supported version.

          - the GTP messages running an unsupported version of GTP.

          - Unknown GTP message type.

         Trigger Condition: This counter is triggered when a 
         signalling message is received with parsing related errors 
         such as missing/unknown/invalid/unexpected/duplicate 
         mandatory/optional IE's in the messages."
    ::= { cGgsnStatistics 11 }

cGgsnTotalCreatedPdps          OBJECT-TYPE
    SYNTAX                     Counter32
    UNITS                      "packets"
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
         "This object represents the total number of PDP contexts 
         created.

         Trigger Condition: This counter is updated whenever a PDP 
         context is created. This includes static, dynamic, IP, 
         PPP, network init PDPs."
    ::= { cGgsnStatistics 12 }

cGgsnTotalDeletedPdps          OBJECT-TYPE
    SYNTAX                     Counter32
    UNITS                      "packets"
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
         "This object represents the total number of PDP contexts
         deleted.

         Trigger Condition: This counter is updated whenever a PDP 
         context is deleted. This includes static, dynamic, IP, PPP, 
         network init PDPs."
    ::= { cGgsnStatistics 13 }

cGgsnTotalNetworkInitPdps      OBJECT-TYPE
    SYNTAX                     Counter32
    UNITS                      "packets"
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
         "This object represents the total number of PDP contexts
         activated by the GGSN that were initiated by the PDN.

         Trigger Condition: This counter will be updated on successful 
         creation of network initiated PDP."
    ::= { cGgsnStatistics 14 }

cGgsnTotalPppPdpsCreated       OBJECT-TYPE
    SYNTAX                     Counter32
    UNITS                      "packets"
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
         "This object represents the total number of PPP PDP 
         contexts created.

         Trigger Condition: This counter is updated whenever a 
         PPP PDP context is created."
    ::= { cGgsnStatistics 15 }

cGgsnTotalPppPdpsDeleted       OBJECT-TYPE
    SYNTAX                     Counter32
    UNITS                      "packets"
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
         "This object represents the total number of PPP PDP
         contexts deleted.

         Trigger Condition: This counter is updated whenever a 
         PPP PDP context is deleted."
    ::= { cGgsnStatistics 16 }

cGgsnOutOfResourcePppRegenPdps OBJECT-TYPE
    SYNTAX                     Counter32
    UNITS                      "packets"
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
         "This object represents the total number of create PDP 
         context and delete PDP context requests rejected due to 
         unavailable resource on the GGSN for PPP regeneration.

         Trigger Condition:
           a) Out of memory.
           b) Number of PPP-regen PDPs reaches max limit.
           c) All dynamic PDP address are occupied.
           d) Attempt to create a PPP-Regen PDP but the vtemplate 
              for PPP-regen is not properly configured or VPDN 
              configs are not proper."
    ::= { cGgsnStatistics 17 }

cGgsnDroppedPppRegenPdps       OBJECT-TYPE
    SYNTAX                     Counter32
    UNITS                      "packets"
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
         "This object represents the total number of create PDP 
         context and delete PDP context requests that were dropped 
         due to the threshold limit being reached for maximum number
         of PPP regeneration sessions allowed on the GGSN.

         Trigger Condition: This counter is updated when a new PPP 
         regen PDP activation request is received by GGSN and max 
         allowed PPP Regen session is reached."
    ::= { cGgsnStatistics 18 }

cGgsnTftSemanticErrorPdps     OBJECT-TYPE
    SYNTAX                    Counter32
    MAX-ACCESS                read-only
    STATUS                    current
    DESCRIPTION
         "This object represents the total number of received PDP 
         context messages that had TFTs with semantic errors.

         Trigger Condition: This counter is triggered by the create,
         update PDP context request message."
    REFERENCE
         "3GPP; Technical Specification Group Core Network;
         General Packet Radio Service(GPRS); GPRS
         Tunnelling Protocol (GTP) across Gn and Gp
         Interface (Release 1999). 3G TS 29.060 v3.5.0.
         "
    ::= { cGgsnStatistics 19 }

cGgsnTftSyntacticErrorPdps    OBJECT-TYPE
    SYNTAX                    Counter32
    MAX-ACCESS                read-only
    STATUS                    current
    DESCRIPTION
         "This object represents the total number of received PDP 
         context messages that had TFTs with syntactic errors.

         Trigger Condition: This counter is triggered by the create,
         update PDP context request message."
    REFERENCE
         "3GPP; Technical Specification Group Core Network;
         General Packet Radio Service(GPRS); GPRS
         Tunnelling Protocol (GTP) across Gn and Gp
         Interface (Release 1999). 3G TS 29.060 v3.5.0.
         "
    ::= { cGgsnStatistics 20 }

cGgsnPktFilterSemanticErrorPdps OBJECT-TYPE
    SYNTAX                    Counter32
    MAX-ACCESS                read-only
    STATUS                    current
    DESCRIPTION
         "This object represents the total number of received PDP 
         context messages that had packet filters with semantic errors.

         Trigger Condition: This counter is triggered by the create,
         update PDP context request message."
    REFERENCE
         "3GPP; Technical Specification Group Core Network;
         General Packet Radio Service(GPRS); GPRS
         Tunnelling Protocol (GTP) across Gn and Gp
         Interface (Release 1999). 3G TS 29.060 v3.5.0.
         "
    ::= { cGgsnStatistics 21 }

cGgsnPktFilterSyntacticErrorPdps OBJECT-TYPE
    SYNTAX                    Counter32
    MAX-ACCESS                read-only
    STATUS                    current
    DESCRIPTION
         "This object represents the total number of received PDP 
         context messages that had packet filters with syntactic
         errors.

         Trigger Condition: This counter is triggered by the create,
         update PDP context request message."
    REFERENCE
         "3GPP; Technical Specification Group Core Network;
         General Packet Radio Service(GPRS); GPRS
         Tunnelling Protocol (GTP) across Gn and Gp
         Interface (Release 1999). 3G TS 29.060 v3.5.0.
         "
    ::= { cGgsnStatistics 22 }

cGgsnHCSentGPDUOctets         OBJECT-TYPE
    SYNTAX                     Counter64
    UNITS                      "bytes"
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
        "The number of total bytes sent in G-PDU messages.

        Trigger Condition: This counter is updated whenever a G-PDU
        is sent out by the GGSN."
    ::= { cGgsnStatistics 23 }

cGgsnHCReceivedGPDUOctets     OBJECT-TYPE
    SYNTAX                     Counter64
    UNITS                      "bytes"
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
        "The number of total bytes received in G-PDU messages.

        Trigger Condition: This counter is incremented for each
        G-PDU received."
    ::= { cGgsnStatistics 24 }


--
-- Rejected PDP Statistics per cause
--

cGgsnPdpsRejStatistics        OBJECT IDENTIFIER
    ::= { cGgsnStatistics 25 }

cGgsnVersionNotSupportedRejPdps   OBJECT-TYPE
    SYNTAX                        Counter32
    UNITS                         "packets"
    MAX-ACCESS                    read-only
    STATUS                        current
    DESCRIPTION
        "The number of PDP contexts that were rejected due to the 
        cause of Version Not Supported.

        Trigger Condition: This counter is triggered by create/update
        PDP / PPP PDP context request message."
    ::= { cGgsnPdpsRejStatistics 1 }

cGgsnUnkownMessageRejPdps         OBJECT-TYPE
    SYNTAX                        Counter32
    UNITS                         "packets"
    MAX-ACCESS                    read-only
    STATUS                        current
    DESCRIPTION
        "The number of PDP contexts that were rejected due to the 
        cause of Unknown Message.

        Trigger Condition: This counter is triggered by create/update
        PDP / PPP PDP context request message."
    ::= { cGgsnPdpsRejStatistics 2 }

cGgsnMsgTooShortRejPdps           OBJECT-TYPE
    SYNTAX                        Counter32
    UNITS                         "packets"
    MAX-ACCESS                    read-only
    STATUS                        current
    DESCRIPTION
        "The number of PDP contexts that were rejected due to the 
        cause of Message Too Short.

        Trigger Condition: This counter is triggered by create/update
        PDP / PPP PDP context request message."
    ::= { cGgsnPdpsRejStatistics 3 }

cGgsnMandIeMissingRejPdps         OBJECT-TYPE
    SYNTAX                        Counter32
    UNITS                         "packets"
    MAX-ACCESS                    read-only
    STATUS                        current
    DESCRIPTION
        "The number of PDP contexts that were rejected due to the 
        cause of Mandatory IE Missing.

        Trigger Condition: This counter is triggered by create/update
        PDP / PPP PDP context request message."
    ::= { cGgsnPdpsRejStatistics 4 }

cGgsnMandIeIncorrectRejPdps       OBJECT-TYPE
    SYNTAX                        Counter32
    UNITS                         "packets"
    MAX-ACCESS                    read-only
    STATUS                        current
    DESCRIPTION
        "The number of PDP contexts that were rejected due to the 
        cause of Mandatory IE Incorrect.

        Trigger Condition: This counter is triggered by create/update
        PDP / PPP PDP context request message."
    ::= { cGgsnPdpsRejStatistics 5 }

cGgsnOptIeInvalidRejPdps          OBJECT-TYPE
    SYNTAX                        Counter32
    UNITS                         "packets"
    MAX-ACCESS                    read-only
    STATUS                        current
    DESCRIPTION
        "The number of PDP contexts that rejected due to the 
        cause of Optional IE Invalid.

        Trigger Condition: This counter is triggered by create/update
        PDP / PPP PDP context request message."
    ::= { cGgsnPdpsRejStatistics 6 }

cGgsnIeUnknownRejPdps             OBJECT-TYPE
    SYNTAX                        Counter32
    UNITS                         "packets"
    MAX-ACCESS                    read-only
    STATUS                        current
    DESCRIPTION
        "The number of PDP contexts that rejected due to the 
        cause of IE Unknown.

        Trigger Condition: This counter is triggered by create/update
        PDP / PPP PDP context request message."
    ::= { cGgsnPdpsRejStatistics 7 }

cGgsnIeOutOfOrderRejPdps          OBJECT-TYPE
    SYNTAX                        Counter32
    UNITS                         "packets"
    MAX-ACCESS                    read-only
    STATUS                        current
    DESCRIPTION
        "The number of PDP contexts that rejected due to the 
        cause of IE Out of Order.

        Trigger Condition: This counter is triggered by create/update
        PDP / PPP PDP context request message."
    ::= { cGgsnPdpsRejStatistics 8 }

cGgsnIeUnexpectedRejPdps          OBJECT-TYPE
    SYNTAX                        Counter32
    UNITS                         "packets"
    MAX-ACCESS                    read-only
    STATUS                        current
    DESCRIPTION
        "The number of PDP contexts that rejected due to the 
        cause of IE Unexpected.

        Trigger Condition: This counter is triggered by create/update
        PDP / PPP PDP context request message."
    ::= { cGgsnPdpsRejStatistics 9 }

cGgsnIeDuplicatedRejPdps          OBJECT-TYPE
    SYNTAX                        Counter32
    UNITS                         "packets"
    MAX-ACCESS                    read-only
    STATUS                        current
    DESCRIPTION
        "The number of PDP contexts that rejected due to the 
        cause of IE Duplicated.

        Trigger Condition: This counter is triggered by create/update
        PDP / PPP PDP context request message."
    ::= { cGgsnPdpsRejStatistics 10 }

cGgsnOptIeIncorrectRejPdps        OBJECT-TYPE
    SYNTAX                        Counter32
    UNITS                         "packets"
    MAX-ACCESS                    read-only
    STATUS                        current
    DESCRIPTION
        "The number of PDP contexts that rejected due to the 
        cause of Optional IE Incorrect.

        Trigger Condition: This counter is triggered by create/update
        PDP / PPP PDP context request message."
    ::= { cGgsnPdpsRejStatistics 11 }

cGgsnPdpWithoutTftExistsRejPdps   OBJECT-TYPE
    SYNTAX                        Counter32
    UNITS                         "packets"
    MAX-ACCESS                    read-only
    STATUS                        current
    DESCRIPTION
        "The number of PDP contexts that are rejected due to
        the cause of PDP context without TFT already exists.

        Trigger Condition: This counter is triggered by create/update
        PDP / PPP PDP context request message."
    ::= { cGgsnPdpsRejStatistics 12 }

cGgsnSgsnStatTable                OBJECT-TYPE
    SYNTAX                        SEQUENCE OF CGgsnSgsnStatEntry
    MAX-ACCESS                    not-accessible
    STATUS                        current
    DESCRIPTION
        "This table has the statistics of the interface (Gi, Gn, Gp)
        upstream and downstream traffic per SGSN for a 
        configurable duration set in cGgsnThruputIntervalOne and
        cGgsnThruputIntervalTwo.

        Creation of row(s) will happen when there is a valid value set 
        to cGgsnThruputIntervalOne or cGgsnThruputIntervalTwo and
        when a PATH is established.

        Deletion of row(s) will happen when either the PATH gets
        removed or the throughput intervals(cGgsnThruputIntervalOne,
        cGgsnThruputIntervalTwo) is unset."
    ::= { cGgsnStatistics 26 }

cGgsnSgsnStatEntry                OBJECT-TYPE
    SYNTAX                        CGgsnSgsnStatEntry
    MAX-ACCESS                    not-accessible
    STATUS                        current
    DESCRIPTION
        "An entry in this table." 
    INDEX { cGtpPathAddressType,
            cGtpPathAddress,
            cGtpPathPort, 
            cGgsnSgsnThruPutInterval }
    ::= { cGgsnSgsnStatTable 1 }

CGgsnSgsnStatEntry        ::= SEQUENCE {
    cGgsnSgsnThruPutInterval         Integer32,
    cGgsnSgsnThruPutLastCollected    Integer32,
    cGgsnSgsnUpStreamPktCnt          Gauge32,
    cGgsnSgsnUpStreamByteCnt         Gauge32,
    cGgsnSgsnDownStreamPktCnt        Gauge32,
    cGgsnSgsnDownStreamByteCnt       Gauge32 
}

cGgsnSgsnThruPutInterval             OBJECT-TYPE
    SYNTAX                           Integer32 (1..65535)
    UNITS                            "minutes"
    MAX-ACCESS                       not-accessible
    STATUS                           current
    DESCRIPTION
        "This object should be one of the values set in the objects
        cGgsnThruputIntervalOne or cGgsnThruputIntervalTwo except
        for value '0', which means the throughput collection is
        disabled."
    ::= { cGgsnSgsnStatEntry 1 }

cGgsnSgsnThruPutLastCollected        OBJECT-TYPE
    SYNTAX                           Integer32 (0..65535)
    UNITS                            "minutes"
    MAX-ACCESS                       read-only
    STATUS                           current
    DESCRIPTION
        "This object represents the delta value between the time
        when this data is collected and the time it is been
        retrieved."
    ::= { cGgsnSgsnStatEntry 2 }

cGgsnSgsnUpStreamPktCnt              OBJECT-TYPE
    SYNTAX                           Gauge32
    UNITS                            "packets"
    MAX-ACCESS                       read-only
    STATUS                           current
    DESCRIPTION
        "This object represents the total number of upstream
        packets sent on this SGSN data path. Data flow from
        MS to PDN is considered to be upstream traffic.

        When the throughput intervals (cGgsnThruputIntervalOne or
        cGgsnThruputIntervalTwo) is set to some valid value this
        object is set to '0' (meaning, a fresh throughput collection
        is started). Until the first expiry of the throughput 
        interval , this object will be '0'. On further periodic expiry,
        the throughput upstream packet count per SGSN is collected and 
        updated to this object" 
    ::= { cGgsnSgsnStatEntry 3 }

cGgsnSgsnUpStreamByteCnt             OBJECT-TYPE
    SYNTAX                           Gauge32
    UNITS                            "bytes"
    MAX-ACCESS                       read-only
    STATUS                           current
    DESCRIPTION
        "This object represents the total number of upstream
        bytes sent on this SGSN data path. Data flow from
        MS to PDN is considered to be upstream traffic.

        When the throughput intervals (cGgsnThruputIntervalOne or
        cGgsnThruputIntervalTwo) is set to some valid value this
        object is set to '0' (meaning, a fresh throughput collection
        is started). Until the first expiry of the throughput 
        interval , this object will be '0'. On further periodic expiry,
        the throughput upstream byte count per SGSN is collected and 
        updated to this object"
    ::= { cGgsnSgsnStatEntry 4 }

cGgsnSgsnDownStreamPktCnt            OBJECT-TYPE
    SYNTAX                           Gauge32
    UNITS                            "packets"
    MAX-ACCESS                       read-only
    STATUS                           current
    DESCRIPTION
        "This object represents the total number of downstream
        packets sent on this SGSN data path. Data flow from
        PDN to MS is considered to be downstream traffic.

        When the throughput intervals (cGgsnThruputIntervalOne or
        cGgsnThruputIntervalTwo) is set to some valid value this
        object is set to '0' (meaning, a fresh throughput collection
        is started). Until the first expiry of the throughput 
        interval , this object will be '0'. On further periodic expiry,
        the throughput downstream packet count per SGSN is collected 
        and updated to this object"
    ::= { cGgsnSgsnStatEntry 5 }

cGgsnSgsnDownStreamByteCnt           OBJECT-TYPE
    SYNTAX                           Gauge32
    UNITS                            "bytes"
    MAX-ACCESS                       read-only
    STATUS                           current
    DESCRIPTION
        "This object represents the total number of downstream
        bytes sent on this SGSN data path. Data flow from
        PDN to MS is considered to be downstream traffic.

        When the throughput intervals (cGgsnThruputIntervalOne or
        cGgsnThruputIntervalTwo) is set to some valid value this
        object is set to '0' (meaning, a fresh throughput collection
        is started). Until the first expiry of the throughput 
        interval , this object will be '0'. On further periodic expiry,
        the throughput downstream byte count per SGSN is collected and 
        updated to this object"
    ::= { cGgsnSgsnStatEntry 6 }

--
--  Notification and alarm related objects
--

cGgsnNotifEnabled              OBJECT-TYPE
    SYNTAX                     TruthValue
    MAX-ACCESS                 read-write
    STATUS                     current
    DESCRIPTION
        "Indicates whether cGgsnNotification notification will
        be sent when a notification is generated by the device.
          - 'true',  it will enable the device to send a notification,
                     as well as logging the notification to the
                     cGgsnHistNotifTable.
          - 'false', it will prevent the device from sending out a
                     notification, but it will still log the
                     notification into cGgsnHistNotifTable."
    DEFVAL { false }
    ::= { cGgsnNotifMgmt 1 }

cGgsnNotifLeastSeverLevel      OBJECT-TYPE
    SYNTAX                     CiscoAlarmSeverity
    MAX-ACCESS                 read-write
    STATUS                     current
    DESCRIPTION
        "Indicates the least severity level of the cGgsnNotification
        notifications to be generated by the device. Thus, notifications
        are not generated for alarms with a severity level less urgent 
        than the value of this object. This object cannot be set to
        cleared(1) or indeterminate(2)."
   DEFVAL { info }
   ::= { cGgsnNotifMgmt 2 }

cGgsnGeneratedNotifs           OBJECT-TYPE
    SYNTAX                     Counter32
    UNITS                      "notifications"
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
        "The number of cGgsnNotification notifications that have
        been generated since sysUpTime."
    ::= { cGgsnNotifMgmt 3 }

cGgsnIgnoredAlarms             OBJECT-TYPE
    SYNTAX                     Counter32
    UNITS                      "notifications"
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
        "The number of alarms which are less severe than
        cGgsnNotifLeastSeverLevel since sysUpTime, and thus,
        for which no notification was generated."
    ::= { cGgsnNotifMgmt 4 }

cGgsnHistNotifMaxLength        OBJECT-TYPE
    SYNTAX                     Integer32 (1..2147483647)
    UNITS                      "entries"
    MAX-ACCESS                 read-write
    STATUS                     current
    DESCRIPTION
        "The maximum number of entries to be retained in the
        cGgsnHistNotifTable. When the table is full, the oldest 
        entries are removed to make space for new entries." 
    DEFVAL  { 100 }
    ::= { cGgsnNotifMgmt 5 }

cGgsnHistNotifLatestIndex      OBJECT-TYPE
    SYNTAX                     Unsigned32 (1..4294967295)
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
        "The value of cGgsnHistNotifIndex for the most recently 
         created entry in cGgsnHistNotifTable."
    ::= { cGgsnNotifMgmt 6 }

cGgsnHistNotifTable            OBJECT-TYPE
    SYNTAX                     SEQUENCE OF CGgsnHistNotifEntry
    MAX-ACCESS                 not-accessible
    STATUS                     current
    DESCRIPTION
        "A history table of the most recent cGgsnNotification
        notifications generated by this device.
        If a new cGgsnNotification notification is generated when
        the number of entries is equal to cGgsnHistNotifMaxLength,
        then the oldest entry is deleted and replaced with an entry
        for the latest notification."
    ::= { cGgsnNotifMgmt 7 }

cGgsnHistNotifEntry            OBJECT-TYPE
    SYNTAX                     CGgsnHistNotifEntry
    MAX-ACCESS                 not-accessible
    STATUS                     current
    DESCRIPTION
        "Detailed information concerning a particular notification
        that previously generated from this device."
    INDEX   { cGgsnHistNotifIndex }
    ::= { cGgsnHistNotifTable 1 }

CGgsnHistNotifEntry        ::= SEQUENCE {
    cGgsnHistNotifIndex           Unsigned32,
    cGgsnHistNotifType            INTEGER,
    cGgsnHistNotifSeverity        CiscoAlarmSeverity,
    cGgsnHistNotifTimestamp       TimeStamp,
    cGgsnHistNotifGgsnIpAddrType  InetAddressType,
    cGgsnHistNotifGgsnIpAddr      InetAddress,
    cGgsnHistNotifInfo            DisplayString
    }

cGgsnHistNotifIndex            OBJECT-TYPE
    SYNTAX                     Unsigned32 (1..4294967295)
    MAX-ACCESS                 not-accessible
    STATUS                     current
    DESCRIPTION
        "A monotonically increasing integer for the sole purpose of
        indexing notifications. When it reaches the maximum value,
        it wraps the value back to 1."
    ::= { cGgsnHistNotifEntry 1 }

cGgsnHistNotifType             OBJECT-TYPE
    SYNTAX   INTEGER {
               ggsnServiceUp(1),   -- GGSN service has started
               ggsnServiceDown(2), -- GGSN service is shutdown
               mapSgsnUp(3),       -- MAP-SGSN service has started
               mapSgsnDown(4),     -- MAP-SGSN service is shutdown
               noResource(5),      -- MS initiated PDP count reaches 
                                   -- the limit OR
                                   -- Network initiated PDP count 
                                   -- reaches the limit
               noRADIUS(6),        -- RADIUS Server is not configured
               noDHCPServer(7),    -- DHCP server is not configured
               ipAllocationFail(8),-- IP address allocation failed
               authenticationFail(9), -- Authentication failed
               apnUnreachable(10)  -- Access point is not reachable
             }

    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
        "This object indicates the type of notification."
    ::= { cGgsnHistNotifEntry 2 }

cGgsnHistNotifSeverity         OBJECT-TYPE
    SYNTAX                     CiscoAlarmSeverity
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
        "This object indicates the severity level of the
        notification. This object cannot be set to cleared(1)
        or indeterminate(2)."
    ::= { cGgsnHistNotifEntry 3 }

cGgsnHistNotifTimestamp        OBJECT-TYPE
    SYNTAX                     TimeStamp
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
        "This object indicates the value of sysUpTime when
        this notification was generated."
    ::= { cGgsnHistNotifEntry 4 }

cGgsnHistNotifGgsnIpAddrType   OBJECT-TYPE
    SYNTAX                     InetAddressType
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
        "This object indicates the type of Internet address
         by which cGgsnHistNotifGgsnIpAddr is reachable."
    ::= { cGgsnHistNotifEntry 5 }

cGgsnHistNotifGgsnIpAddr       OBJECT-TYPE
    SYNTAX                     InetAddress
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
        "The object indicates the IP address that uniquely
        identifies the device which generated the notification."
    ::= { cGgsnHistNotifEntry 6 }

cGgsnHistNotifInfo             OBJECT-TYPE
    SYNTAX                     DisplayString (SIZE (1..64))
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
        "A textual description of cGgsnHistNotifType, which
        potentially contains additional information (more than
        just the type of alarm).
        If the text of the message exceeds 64 bytes, the message
        will be truncated to 63 bytes and a '*' character will
        be appended to indicate the message has been truncated."
   ::= { cGgsnHistNotifEntry 7 }

--
-- Configurations
--

cGgsnDefaultIpAllocationMethod  OBJECT-TYPE
    SYNTAX                      INTEGER {
                                   disable(1),
                                   dhcp(2),
                                   radius(3)
                                }
    MAX-ACCESS                  read-write
    STATUS                      current
    DESCRIPTION
        "Specifies the default method by which the GGSN obtains 
         address leases for mobile user sessions.

            - 'disable', which indicates that dynamic address 
            allocation is disabled.

            - 'dhcp', which indicates that the DHCP server 
            will be used.

            - 'radius', which indicates that the radius server
            will be used."

        DEFVAL { disable }
        ::= { cGgsnConfigurations 1 }

cGgsnIdlePdpPurgeTimer         OBJECT-TYPE
    SYNTAX                     Unsigned32 (0..255)
    UNITS                      "hours"
    MAX-ACCESS                 read-write
    STATUS                     current
    DESCRIPTION
        "This object specifies the time that the GGSN waits
         before purging idle PDP contexts. A value '0' will
         disable the purge timer."
    DEFVAL { 72 }
    ::= { cGgsnConfigurations 2 }

cGgsnIpDupProtectTable         OBJECT-TYPE
    SYNTAX                     SEQUENCE OF CGgsnIpDupProtectEntry
    MAX-ACCESS                 not-accessible
    STATUS                     current
    DESCRIPTION
        "This table contains the range of IP address used in the 
        GPRS PLMN. These IP addresses are used to avoid IP address 
        duplication in GPRS network. IP address duplication occurs 
        when a MS uses an IP address which is already used in the PLMN.
        The IP addresses configured inside GPRS network should be in 
        these ranges and MS IP address should not be in this range."
    ::= { cGgsnConfigurations 3 }

cGgsnIpDupProtectEntry         OBJECT-TYPE
    SYNTAX                     CGgsnIpDupProtectEntry
    MAX-ACCESS                 not-accessible
    STATUS                     current
    DESCRIPTION
        "Entry containing the start and end IP address in the address 
         range. An Entry with start IP > end IP is not allowed.
         No new entry will be accepted if that would cause any IP
         address(es) to be represented by more than one row in this 
         table."
    INDEX    { cGgsnMsExcludeRangeStartIpType,
               cGgsnMsExcludeRangeStartIp,
               cGgsnMsExcludeRangeEndIpType,
               cGgsnMsExcludeRangeEndIp }
    ::= { cGgsnIpDupProtectTable 1 }

CGgsnIpDupProtectEntry   ::= SEQUENCE {
    cGgsnMsExcludeRangeStartIpType    InetAddressType,
    cGgsnMsExcludeRangeStartIp        InetAddress,
    cGgsnMsExcludeRangeEndIpType      InetAddressType,
    cGgsnMsExcludeRangeEndIp          InetAddress,
    cGgsnIpDupProtectRowStatus        RowStatus
    }

cGgsnMsExcludeRangeStartIpType OBJECT-TYPE
    SYNTAX                     InetAddressType
    MAX-ACCESS                 not-accessible
    STATUS                     current
    DESCRIPTION
        "The type of Internet address by which 
        cGgsnMsExcludeRangeStartIp is reachable. The value of this 
        object should be same as cGgsnMsExcludeRangeEndIpType.
        Only ipv4(1) addresses are supported."
    ::= { cGgsnIpDupProtectEntry 1 }

cGgsnMsExcludeRangeStartIp     OBJECT-TYPE
    SYNTAX                     InetAddress (SIZE (4..20))
    MAX-ACCESS                 not-accessible
    STATUS                     current
    DESCRIPTION
        "Starting IP address in the address range." 
    ::= { cGgsnIpDupProtectEntry 2 }

cGgsnMsExcludeRangeEndIpType   OBJECT-TYPE
    SYNTAX                     InetAddressType
    MAX-ACCESS                 not-accessible
    STATUS                     current
    DESCRIPTION
        "The type of Internet address by which cGgsnMsExcludeRangeEndIp
        is reachable. The value of this object should be same as
        cGgsnMsExcludeRangeStartIpType. Only ipv4(1) addresses are 
        supported."
    ::= { cGgsnIpDupProtectEntry 3 }

cGgsnMsExcludeRangeEndIp       OBJECT-TYPE
    SYNTAX                     InetAddress (SIZE (4..20))
    MAX-ACCESS                 not-accessible
    STATUS                     current
    DESCRIPTION
        "Ending IP address in the address range." 
    ::= { cGgsnIpDupProtectEntry 4 }

cGgsnIpDupProtectRowStatus     OBJECT-TYPE
    SYNTAX                     RowStatus
    MAX-ACCESS                 read-create
    STATUS                     current
    DESCRIPTION
        "This object is used to create a new row or delete an
        existing row in this table.

        To create a row, set this object to 'createAndGo'.
        To delete a row, set this object to 'destroy'."
    ::= { cGgsnIpDupProtectEntry 5 }

cGgsnDefaultAggregTable        OBJECT-TYPE
    SYNTAX                     SEQUENCE OF CGgsnDefaultAggregEntry
    MAX-ACCESS                 not-accessible
    STATUS                     current
    DESCRIPTION
        "This table contains the list of default aggregate routes 
        configured on the GGSN. GGSN uses a static host route to 
        forward user data packets for each PDP context received 
        from Gi interface to Gn interface. Using the aggregate 
        route (address range), the total number of static routes 
        implemented in the GGSN for PDP requests can be greatly 
        reduced."
    ::= { cGgsnConfigurations 4 }

cGgsnDefaultAggregEntry        OBJECT-TYPE
    SYNTAX                     CGgsnDefaultAggregEntry
    MAX-ACCESS                 not-accessible
    STATUS                     current
    DESCRIPTION
        "An Entry contains the IP network prefix which is used to 
        combine the routes of PDP requests for the same network as 
        a single route on the GGSN."
    INDEX    { cGgsnDefaultAggregIpAddrType,
               cGgsnDefaultAggregIpAddr,
               cGgsnDefaultAggregIpMask
             }
    ::= { cGgsnDefaultAggregTable 1 }

CGgsnDefaultAggregEntry         ::= SEQUENCE {
    cGgsnDefaultAggregIpAddrType    InetAddressType,
    cGgsnDefaultAggregIpAddr        InetAddress,
    cGgsnDefaultAggregIpMask        CiscoInetAddressMask,
    cGgsnDefaultAggregRowStatus     RowStatus
    }


cGgsnDefaultAggregIpAddrType   OBJECT-TYPE
    SYNTAX                     InetAddressType
    MAX-ACCESS                 not-accessible
    STATUS                     current
    DESCRIPTION
        "This object specifies the type of Internet address denoted by
        cGgsnDefaultAggregIpAddr. Only ipv4(1) addresses are supported."
    ::= { cGgsnDefaultAggregEntry 1  }

cGgsnDefaultAggregIpAddr       OBJECT-TYPE
    SYNTAX                     InetAddress (SIZE (4..20))
    MAX-ACCESS                 not-accessible
    STATUS                     current
    DESCRIPTION
        "This object specifies the IP address whose network prefix
        is going to be defined by cGgsnDefaultAggregIpMask."
    ::= { cGgsnDefaultAggregEntry 2 }

cGgsnDefaultAggregIpMask       OBJECT-TYPE
    SYNTAX                     CiscoInetAddressMask
    MAX-ACCESS                 not-accessible
    STATUS                     current
    DESCRIPTION
        "This object specifies the net-mask pertaining to 
        cGgsnDefaultAggregIpAddr."
    ::= { cGgsnDefaultAggregEntry 3 }

cGgsnDefaultAggregRowStatus    OBJECT-TYPE
    SYNTAX                     RowStatus
    MAX-ACCESS                 read-create
    STATUS                     current
    DESCRIPTION
        "This object is used to create a new row or delete an
        existing row in this table.

        To create a row, set this object to 'createAndGo'.
        To delete a row, set this object to 'destroy'.
        The values 'createAndWait' and 'notInService' are
        not supported."
    ::= { cGgsnDefaultAggregEntry 4 }

cGgsnDefaultAaaAuthServerGroup OBJECT-TYPE
    SYNTAX                     DisplayString
    MAX-ACCESS                 read-write
    STATUS                     current
    DESCRIPTION
        "This object specifies the AAA radius server group
        that is used for authentication by all APN's on this GGSN."
    ::= { cGgsnConfigurations 5 }

cGgsnDefaultAaaAccServerGroup  OBJECT-TYPE
    SYNTAX                     DisplayString
    MAX-ACCESS                 read-write
    STATUS                     current
    DESCRIPTION
        "This object specifies the AAA radius server group
        that is used for accounting  by all APN's on this GGSN."
    ::= { cGgsnConfigurations 6 }

cGgsnPppVirtualTemplate        OBJECT-TYPE
    SYNTAX                     InterfaceIndexOrZero
    MAX-ACCESS                 read-write
    STATUS                     current
    DESCRIPTION
        "This object represents the virtual template interface used
        by PPP Type PDP's."
    ::= { cGgsnConfigurations 7 }

cGgsnPppRegenVirtualTemplate   OBJECT-TYPE
    SYNTAX                     InterfaceIndexOrZero
    MAX-ACCESS                 read-write
    STATUS                     current
    DESCRIPTION
        "This object represents the virtual template interface used
        for PPP Regeneration by the APN's on which PPP Regeneration 
        is configured.

        The value zero indicates that no interface is specified."
    DEFVAL { 0 }
    ::= { cGgsnConfigurations 8 }

cGgsnPlmnIpAddrRangeTable      OBJECT-TYPE
    SYNTAX                     SEQUENCE OF CGgsnPlmnIpAddrRangeEntry
    MAX-ACCESS                 not-accessible
    STATUS                     current
    DESCRIPTION
        "This table contains the range of IP addresses that belong 
        to the PLMN nodes in a GPRS network. This range does not 
        include address of various entities like RADIUS, DHCP, DNS 
        servers, etc., which are not part of PLMN."
    ::= { cGgsnConfigurations 9 }

cGgsnPlmnIpAddrRangeEntry      OBJECT-TYPE
    SYNTAX                     CGgsnPlmnIpAddrRangeEntry
    MAX-ACCESS                 not-accessible
    STATUS                     current
    DESCRIPTION
        "Entry containing the first and last IP address in the address
         range. An Entry with first-IP > last-IP is not allowed. No 
         new entry will be accepted if that would cause any IP 
         address(es) to be represented by more than one row in this 
         table."
    INDEX    { cGgsnPlmnAddrRangeIpAddrType,
               cGgsnPlmnAddrRangeFirstIp,
               cGgsnPlmnAddrRangeLastIp }
    ::= { cGgsnPlmnIpAddrRangeTable 1 }

CGgsnPlmnIpAddrRangeEntry      ::= SEQUENCE {
    cGgsnPlmnAddrRangeIpAddrType   InetAddressType,
    cGgsnPlmnAddrRangeFirstIp      InetAddress,
    cGgsnPlmnAddrRangeLastIp       InetAddress,
    cGgsnPlmnAddrRangeRowStatus    RowStatus,
    cGgsnPlmnAddrRangeUsage        INTEGER
    }

cGgsnPlmnAddrRangeIpAddrType   OBJECT-TYPE
    SYNTAX                     InetAddressType
    MAX-ACCESS                 not-accessible
    STATUS                     current
    DESCRIPTION
        "The address type for cGgsnPlmnAddrRangeFirstIp and 
        cGgsnPlmnAddrRangeLastIp addresses. Only ipv4(1) addresses are
        supported."
    ::= { cGgsnPlmnIpAddrRangeEntry 1 }

cGgsnPlmnAddrRangeFirstIp      OBJECT-TYPE
    SYNTAX                     InetAddress (SIZE (4..20))
    MAX-ACCESS                 not-accessible
    STATUS                     current
    DESCRIPTION
        "First IP address in the address range."
    ::= { cGgsnPlmnIpAddrRangeEntry 2 }

cGgsnPlmnAddrRangeLastIp       OBJECT-TYPE
    SYNTAX                     InetAddress (SIZE (4..20))
    MAX-ACCESS                 not-accessible
    STATUS                     current
    DESCRIPTION
        "Last IP address in the address range."
    ::= { cGgsnPlmnIpAddrRangeEntry 3 }

cGgsnPlmnAddrRangeRowStatus    OBJECT-TYPE
    SYNTAX                     RowStatus
    MAX-ACCESS                 read-create
    STATUS                     current
    DESCRIPTION
        "This object is used to create a new row or delete an
        existing row in this table.

        To create a row, set this object to 'createAndGo'.
        To delete a row, set this object to 'destroy'.
        To modify a row, the row needs to be deleted and created fresh
        with new values."
    ::= { cGgsnPlmnIpAddrRangeEntry 4 }

cGgsnPlmnAddrRangeUsage        OBJECT-TYPE
    SYNTAX                     INTEGER {
                                       security(1),
                                       sgsn(2)
                               }
    MAX-ACCESS                 read-create
    STATUS                     current
    DESCRIPTION
        "This object specifies how the address range will be used by 
        the GGSN.  

        When set to 'security', the address range is used for GGSN
        security feature i.e. any TPDU with destination address that
        falls in this address range will be discarded.

        When set to 'sgsn', the address range denotes the sgsn address
        range in the local PLMN which can be used to check roaming MS."
    DEFVAL { security }
    ::= { cGgsnPlmnIpAddrRangeEntry 5 }

--
-- IMS Configurations
--

cGgsnImsConfigurations        OBJECT IDENTIFIER
    ::= { cGgsnConfigurations 10 }

cGgsnPdfTable              OBJECT-TYPE
    SYNTAX                      SEQUENCE OF CGgsnPdfEntry
    MAX-ACCESS                  not-accessible
    STATUS                      current
    DESCRIPTION
        "This table contains the details of PDF server that the GGSN
        supports. The table elements describes their properties.

        PDF's are the server's to which the client GGSN makes the
        TCP connection using the COPS protocol over the Go
        interface. GGSN can have connections with multiple
        PDF's."
    ::= { cGgsnImsConfigurations 1 }

cGgsnPdfEntry                   OBJECT-TYPE
    SYNTAX                      CGgsnPdfEntry
    MAX-ACCESS                  not-accessible
    STATUS                      current
    DESCRIPTION
        "Entry containing the PDF servers details (name and
        IP address) and also how the GGSN should communicate
        with PDF, like timeout when there is no response,
        number of retries."
    INDEX    { cGgsnPdfGroupName,
               cGgsnPdfDomainName,
               cGgsnPdfIpAddressType,
               cGgsnPdfIpAddress }
    ::= { cGgsnPdfTable 1 }

CGgsnPdfEntry                ::= SEQUENCE {
    cGgsnPdfGroupName          SnmpAdminString,
    cGgsnPdfDomainName         InetAddressDNS,
    cGgsnPdfIpAddressType      InetAddressType,
    cGgsnPdfIpAddress          InetAddress,
    cGgsnPdfRowStatus          RowStatus,
    cGgsnPdfReconnectTimeOut   Unsigned32,
    cGgsnPdfReconnectRetries   Unsigned32,
    cGgsnPdfReconExpPdpDelete  TruthValue,
    cGgsnPdfReqRetryTimeOut    Unsigned32,
    cGgsnPdfReqRetries         Unsigned32
    }

cGgsnPdfGroupName               OBJECT-TYPE
    SYNTAX                      SnmpAdminString (SIZE(1..100))
    MAX-ACCESS                  not-accessible
    STATUS                      current
    DESCRIPTION
        "This object specifies the PDF group name. Currently
        this group name is just an identity to this group."
    ::= { cGgsnPdfEntry 1 }

cGgsnPdfDomainName              OBJECT-TYPE
    SYNTAX                      InetAddressDNS (SIZE(1..100))
    MAX-ACCESS                  not-accessible
    STATUS                      current
    DESCRIPTION
        "This is a Fully Qualified Domain Name (FQDN), which has
         to be configured along with the IP address of the PDF.
         There will be no name resolving for the FQDN, it will 
         be used as it is."
    ::= { cGgsnPdfEntry 2 }

cGgsnPdfIpAddressType           OBJECT-TYPE
    SYNTAX                      InetAddressType
    MAX-ACCESS                  not-accessible
    STATUS                      current
    DESCRIPTION
        "This object specifies the type of IP address of
        the PDF server."
    ::= { cGgsnPdfEntry 3 }

cGgsnPdfIpAddress               OBJECT-TYPE
    SYNTAX                      InetAddress
    MAX-ACCESS                  not-accessible
    STATUS                      current
    DESCRIPTION
        "This object specifies the IP address of the PDF
        server. The type of the address is specified by
        the object cGgsnPdfIpAddressType."
    ::= { cGgsnPdfEntry 4 }

cGgsnPdfRowStatus               OBJECT-TYPE
    SYNTAX                      RowStatus
    MAX-ACCESS                  read-create
    STATUS                      current
    DESCRIPTION
        "This object is used to create a new row or delete an
        existing row in this table.

        To create a row, set this object to 'createAndGo(4)'.
        To delete a row, set this object to 'destroy(6)'."
    ::= { cGgsnPdfEntry 5 }

cGgsnPdfReconnectTimeOut        OBJECT-TYPE
    SYNTAX                      Unsigned32 (1..60)
    UNITS                       "minutes"
    MAX-ACCESS                  read-create
    STATUS                      current
    DESCRIPTION
        "Whenever a connection outage is detected (by keepalive
        mechanism etc.) by GGSN to the PDF server. The GGSN waits for
        the interval configured in this object. Once this timer is
        expired, another attempt is made for connection 
        establishment."
    DEFVAL { 1 }
    ::= { cGgsnPdfEntry 6 }

cGgsnPdfReconnectRetries        OBJECT-TYPE
    SYNTAX                      Unsigned32 (0..10 | 65535)
    MAX-ACCESS                  read-create
    STATUS                      current
    DESCRIPTION
        "This is the number of attempts for connection establishment
        after the timeout value set in cGgsnPdfReconnectTimeOut.
        After the configured number of retries, all the COPS sessions
        (and associated PDP contexts) are cleared.

        The value '65535' which is default, will be infinite retries."
    DEFVAL { 65535 }
    ::= { cGgsnPdfEntry 7 }

cGgsnPdfReconExpPdpDelete       OBJECT-TYPE
    SYNTAX                      TruthValue
    MAX-ACCESS                  read-create
    STATUS                      current
    DESCRIPTION
        "This objects defines the handling of the PDP context in
        the connection loss scenario. When this object is set to
        true, then on connection loss, the PDP delete will be
        initiated."
    DEFVAL { false }
    ::= { cGgsnPdfEntry 8 }

cGgsnPdfReqRetryTimeOut         OBJECT-TYPE
    SYNTAX                      Unsigned32 (1..60)
    UNITS                       "seconds"
    MAX-ACCESS                  read-create
    STATUS                      current
    DESCRIPTION
        "For each COPS REQ sent to PDF, GGSN will start a request retry
        timer with this value. If DEC is not received within the
        timeout, the REQ is resent for cGgsnPdfReqRetries times."
    DEFVAL { 1 }
    ::= { cGgsnPdfEntry 9 }

cGgsnPdfReqRetries              OBJECT-TYPE
    SYNTAX                      Unsigned32 (0..10)
    MAX-ACCESS                  read-create
    STATUS                      current
    DESCRIPTION
        "This is the number of retries which has to be sent for the
        COPS REQ being sent. If DEC is not received even after sending
        the COPS REQ for configured number of retries, the PDP context
        activation/modification (which had triggered this REQ) is
        rejected."
    DEFVAL { 3 }
    ::= { cGgsnPdfEntry 10 }


cGgsnPcscfTable                 OBJECT-TYPE
    SYNTAX                      SEQUENCE OF CGgsnPcscfEntry
    MAX-ACCESS                  not-accessible
    STATUS                      current
    DESCRIPTION
        "This table contains the entries of P-CSCF groups with the
        addresses configured. One or more IP address can be
        configured per group name. This group in turn will be mapped
        to the APN.

        P-CSCF is a network element providing session management
        services. When the UE request the GGSN for P-CSCF 
        address through activate PDP Request, these addresses
        will be returned to the UE in the order which they are
        configured."

    ::= { cGgsnImsConfigurations 2 }

cGgsnPcscfEntry                 OBJECT-TYPE
    SYNTAX                      CGgsnPcscfEntry
    MAX-ACCESS                  not-accessible
    STATUS                      current
    DESCRIPTION
        "An entry is created when the user configures the
        group name and an IP address is set." 
    INDEX    { cGgsnPcscfGroupName,
               cGgsnPcscfIpAddressType,
               cGgsnPcscfIpAddress }
    ::= { cGgsnPcscfTable 1 }

CGgsnPcscfEntry        ::= SEQUENCE {
    cGgsnPcscfGroupName         SnmpAdminString,
    cGgsnPcscfIpAddressType     InetAddressType,
    cGgsnPcscfIpAddress         InetAddress,
    cGgsnPcscfRowStatus         RowStatus
}

cGgsnPcscfGroupName             OBJECT-TYPE
    SYNTAX                      SnmpAdminString (SIZE(1..100))
    MAX-ACCESS                  not-accessible
    STATUS                      current
    DESCRIPTION
        "This group name is the identifier for the P-CSCF
         addresses configured."
    ::= { cGgsnPcscfEntry 1 }

cGgsnPcscfIpAddressType          OBJECT-TYPE
    SYNTAX                       InetAddressType
    MAX-ACCESS                   not-accessible
    STATUS                       current
    DESCRIPTION
        "This object specifies the type of the P-CSCF
        IP address."
    ::= { cGgsnPcscfEntry 2 }

cGgsnPcscfIpAddress              OBJECT-TYPE
    SYNTAX                       InetAddress
    MAX-ACCESS                   not-accessible
    STATUS                       current
    DESCRIPTION
        "This object specifies the IP address of the P-CSCF.
        The type of this address is specified by the object
        cGgsnPcscfIpAddressType."
    ::= { cGgsnPcscfEntry 3 }

cGgsnPcscfRowStatus             OBJECT-TYPE
    SYNTAX                      RowStatus
    MAX-ACCESS                  read-create
    STATUS                      current
    DESCRIPTION
        "This object is used to create a new row or delete an
        existing row in this table.

        To create a row, set this object to 'createAndGo(4)'.
        To delete a row, set this object to 'destroy(6)'."
    ::= { cGgsnPcscfEntry 4 }

cGgsnMemoryThreshold             OBJECT-TYPE
    SYNTAX                       Unsigned32(0..1024)
    UNITS                        "98304Bytes"
    MAX-ACCESS                   read-write
    STATUS                       current
    DESCRIPTION
        "GGSN memory overload protection is a mechanism to
        prevent GGSN from completely running out of memory
        when GGSN is running near its capacity or in some
        failure scenarios like CG down. A protection mechanism
        was put into place where charging triggers would be
        ignored, PDP create would be rejected, PDP update
        request will delete PDP, once the available memory on 
        the GGSN drops below a configured threshold. 
         
        Charging triggers occurs due to certain criteria's like
        volume limit, time limit. When one of the conditions is
        met , the CDR's are closed and will be updated to the
        charging gateway."
    DEFVAL { 0 }
    ::= { cGgsnConfigurations 11 }

cGgsnServiceMode                 OBJECT-TYPE
    SYNTAX                       INTEGER {
                                    inService(1),
                                    maintenance(2)
                                 }
    MAX-ACCESS                   read-write
    STATUS                       current
    DESCRIPTION
        "GGSN supports this GPRS service mode for maintenance
        purposes. Two modes are supported in GGSN, operational and
        maintenance mode. 'inService' mode represents nominal 
        operation, and there will be no change in the way the GGSN 
        operates.  'maintenance' mode imposes restrictions, such as 
        some of the configurations allowed by the GGSN, and no new 
        PDPs will be accepted.  'maintenance' mode can be useful to 
        make some changes to the configuration of the GGSN without 
        affecting the existing PDPs.

        'maintenance' mode gloablly applies to the GGSN, which means 
        the whole box will be put in maintenance mode. There also 
        exists APN level maintenance mode, which is defined in 
        CISCO-GPRS_ACC-PT-MIB, and charging maintenance mode which
        is defined in CISCO-GPRS-CHARGING-MIB, which is out of 
        scope of this MIB.

        Internally GGSN maintains three states (inService, 
        maintenance and outOfService ), which can be viewed with
        cGgsnServiceModeStatus.

        The SNMP entity generates notification when switching modes. 
        It uses the cGgsnInServiceNotif and cGgsnMaintenanceNotif
        for this purpose."
    DEFVAL { inService }
    ::= { cGgsnConfigurations 12 }

cGgsnPlmnTable                    OBJECT-TYPE
    SYNTAX                        SEQUENCE OF CGgsnPlmnEntry
    MAX-ACCESS                    not-accessible
    STATUS                        current
    DESCRIPTION
        "Mobile Country Code (MCC) and Mobile Network Code (MNC)
        together identify a GPRS PLMN of an operator. PLMN Ids
        other than home PLMNs are considered as foreign. There
        will be some situations where some foreign PLMNs has to
        be treated as trusted PLMNs. 

        This table contains the list of PLMNs, there can be one
        home PLMN entry and multiple trusted PLMN entry." 
    ::= { cGgsnConfigurations 13 }

cGgsnPlmnEntry                    OBJECT-TYPE
    SYNTAX                        CGgsnPlmnEntry
    MAX-ACCESS                    not-accessible
    STATUS                        current
    DESCRIPTION
        "Entry containing list of home PLMN Ids and the Trusted
        PLMN Ids."
    INDEX { cGgsnPlmnMcc,
            cGgsnPlmnMnc }
    ::= { cGgsnPlmnTable 1 }

CGgsnPlmnEntry              ::= SEQUENCE {
    cGgsnPlmnMcc                  SnmpAdminString,
    cGgsnPlmnMnc                  SnmpAdminString,
    cGgsnPlmnRowStatus            RowStatus,
    cGgsnPlmnScope                INTEGER
    }

cGgsnPlmnMcc                      OBJECT-TYPE
    SYNTAX                        SnmpAdminString(SIZE(3))
    MAX-ACCESS                    not-accessible
    STATUS                        current
    DESCRIPTION
        "The Mobile Country Code (MCC) is part of the PLMN Id."
    REFERENCE
        "Digital cellular telecommunications system (Phase 2+);
        Numbering, addressing and identification
        (GSM 03.03 version 7.3.0 Release 1998)
        Available SMG only"
    ::= { cGgsnPlmnEntry 1 }

cGgsnPlmnMnc                      OBJECT-TYPE
    SYNTAX                        SnmpAdminString(SIZE(2..3))
    MAX-ACCESS                    not-accessible
    STATUS                        current
    DESCRIPTION
        "The Mobile Network Code (MNC) is part of the PLMN Id."
    REFERENCE
        "Digital cellular telecommunications system (Phase 2+);
        Numbering, addressing and identification
        (GSM 03.03 version 7.3.0 Release 1998)
        Available SMG only"
    ::= { cGgsnPlmnEntry 2 }

cGgsnPlmnRowStatus                OBJECT-TYPE
    SYNTAX                        RowStatus
    MAX-ACCESS                    read-create
    STATUS                        current
    DESCRIPTION
        "This object is used to create a new row or delete an
        existing row in this table.

        To create a row, set this object to 'createAndGo'.
        To delete a row, set this object to 'destroy'.
        To modify a row, the row needs to be deleted and created fresh
        with new values."
    ::= { cGgsnPlmnEntry 3 }

cGgsnPlmnScope                    OBJECT-TYPE
    SYNTAX                        INTEGER {
                                     home(1),
                                     trusted(2)
                                  }
    MAX-ACCESS                    read-create
    STATUS                        current
    DESCRIPTION
        "This object specifies whether the PLMN is home or
        trusted. Only one PLMN entry can be home"
    DEFVAL { home }
    ::= { cGgsnPlmnEntry 4 }

cGgsnSessionTimeout               OBJECT-TYPE
    SYNTAX                        Unsigned32(0 | 30..4294967)
    UNITS                         "seconds"
    MAX-ACCESS                    read-write
    STATUS                        current
    DESCRIPTION
        "This object specifies the PDP context timeout value. The 
        PDP context will be terminated after this timer expiry.

        The value present in this will have meaning when the object
        cGgsnRadAttrSessTimeout is set to 'true' and if the
        attribute#27 not received from the AAA."
    DEFVAL { 0 }
    ::= { cGgsnConfigurations 14 }

cGgsnThruputIntervalOne           OBJECT-TYPE
    SYNTAX                        Unsigned32(0..65535)
    UNITS                         "minutes"
    MAX-ACCESS                    read-write
    STATUS                        current
    DESCRIPTION
        "This object and cGgsnThruputIntervalTwo specifies the
        interval at which the data throughput needs to be
        collected per APN/SGSN.

        Once this object is set to some valid value, the data
        throughput collections gets started for per configured
        APN and per PATH created. The data throughput collection
        is updated periodically (each expiry of configured throughput
        interval) to the corresponding objects (cGgsnSgsnStatTable 
        for per SGSN and cgprsAccPtThruputStatsTable for per APN).

        When this object is set to '0', the collection for this
        interval get stopped and the data related to this interval
        is deleted from the tables (cGgsnSgsnStatTable and
        cgprsAccPtThruputStatsTable).

        INCONSISTENT value SNMP error will happen when trying to set
        cGgsnThruputIntervalOne and cGgsnThruputIntervalTwo with same
        value expect '0'. Setting the same value to the same object
        will reset the value / collection status for that interval."
    DEFVAL { 0 }
    ::= { cGgsnConfigurations 15 }

cGgsnThruputIntervalTwo           OBJECT-TYPE
    SYNTAX                        Unsigned32(0..65535)
    UNITS                         "minutes"
    MAX-ACCESS                    read-write
    STATUS                        current
    DESCRIPTION
        "This object specifies the time interval TWO for 
        collecting the throughput per APN/SGSN.

        This object is same as cGgsnThruputIntervalOne. It's just
        an option for a second throughput collection for a different
        throughput interval time.
 
        The value 0 means the timer TWO will be disabled.

        INCONSISTENT value SNMP error will happen when trying to set
        cGgsnThruputIntervalOne and cGgsnThruputIntervalTwo with same
        value expect '0'. Setting the same value to the same object
        will reset the value / collection status for that interval."
    DEFVAL { 0 }
    ::= { cGgsnConfigurations 16 }

cGgsnCompliance3GppGgsn           OBJECT-TYPE
    SYNTAX                        INTEGER {
                                      default(0),
                                      release40(1)
                                  }
    MAX-ACCESS                    read-write
    STATUS                        current
    DESCRIPTION
        "This object specifies the compliance level for the
        particular GGSN version present in cGgsnVersion. This 
        object can be used to set back the compliance level to
        the previous GGSN version.

        When set to 'default', the compliance level for that
        GGSN version indicated by the object cGgsnVersion will 
        be considered.

        Currently, when the cGgsnVersion is holding a value of
        'release50', the compliance level can be set back to
        'release40'."
    REFERENCE
        "3GPP TS 29.060 v3.15.0/v4.6.0/v5.4.0"
    DEFVAL { default }
    ::= { cGgsnConfigurations 17 }

cGgsnCreateReqV1UpdExistPdp       OBJECT-TYPE
    SYNTAX                        TruthValue
    MAX-ACCESS                    read-write
    STATUS                        current
    DESCRIPTION
        "This object is used for backward compatibility due to
        to implementation of CR 311 (Release 5).

        CR 311: The SGSN shall not send a Create PDP Context Request 
        for an already active context. If a new Create PDP Context 
        Request is incoming on TEID 0 for an already active PDP 
        context, this Create PDP Context Request must be considered 
        related to a new session. The existing PDP context shall be 
        torn down locally, and the associated PDP contexts deleted 
        locally, before the new session is created. If a new Create 
        PDP Context Request is incoming on a TEID which is different 
        from 0 and this TEID is already allocated to one or more 
        activated PDP contexts, and the NSAPI IE value in this message
        matches the NSAPI value of an active PDP context, the GGSN 
        shall send back a Create PDP Context Response with a rejection 
        cause code. It is implementation dependent deciding whether 
        to teardown or keep the existing PDP context.

        'false' - The changes due to CR 311 will be applicable.
        'true'  - The changes due to CR 311 will not be taken
                  into account.

        This object has no meaning when the object 
        cGgsnCompliance3GppGgsn holds a value of 'release40'." 
    REFERENCE
        "3GPP TS 29.060 v3.15.0/v4.6.0/v5.4.0"
    DEFVAL { false }
    ::= { cGgsnConfigurations 18 }

cGgsnRadAttrSessTimeout           OBJECT-TYPE
    SYNTAX                        TruthValue
    MAX-ACCESS                    read-write
    STATUS                        current
    DESCRIPTION
        "This object is used for enabling the session timeout feature
        on the global (router) level set using cGgsnSessionTimeout, APN 
        level (cgprsAccPtAbsoluteSessionTimer, which is defined in 
        CISCO-GPRS-ACC-PT-MIB and is outside the scope of this MIB) 
        and also parse the RADIUS attribute #27 present in the 
        access-accept request.

        'true'  - Session timeout is enabled.
        'false' - Session timeout is disabled."
    DEFVAL { false }
    ::= { cGgsnConfigurations 19 }

cGgsnDownlinkVerifyMsDisable      OBJECT-TYPE
    SYNTAX                        TruthValue
    MAX-ACCESS                    read-write
    STATUS                        current
    DESCRIPTION
        "This object enables the feature which will allow the GGSN
        to route IP packets beyond MS. This works only if a static
        route is added in GGSN to the node beyond the MS.

        On enabling this feature, GGSN will route the packets in
        both process switch path and cef switch path. This is 
        supported only for IP PDP type.

        This feature has some limitations:
        - This is not scalable, since the operator has to add static
          route to all the node beyond the MS.
        - Only works for MS having static address.
        - In case of GTPv1 the MS has to select TFT's so as to allow
          traffic flow in the downlink direction.
        - IP address assignment/Radius for the devices behind the MS 
          needs to be done within the scope of that network; the GGSN 
          will not provide this facility in anyway for the hosts 
          behind the MS. 
        - In case for MWAM and Cat6500/7600 environment, the static 
          route should be added only on that particular GGSN on the 
          MWAM from where the MS is reachable.

        'true' - Routing beyond MS is enabled.
        'false' - Routing beyond MS is disabled."
    DEFVAL { false }
    ::= { cGgsnConfigurations 20 } 
    

--
-- Status 
--

cGgsnVersion                   OBJECT-TYPE
    SYNTAX                     INTEGER {
                                        release14(1),
                                        release30(2),
                                        release40(3),
                                        release31(4),
                                        release50(5)
                               }
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
        "This object specifies the which release of GPRS
        image is currently running on the GGSN."
    ::= { cGgsnStatus 1 }

cGgsnActiveNetworkInitPdps     OBJECT-TYPE
    SYNTAX                     Gauge32
    UNITS                      "packets"
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
         "This object represents the number of network initiated
         PDP contexts that are currently active.

         Trigger Condition: This counter is incremented /
         decremented by the create/delete PDP context request
         message respectively."
    ::= { cGgsnStatus 2 }

cGgsnActivePppPdps             OBJECT-TYPE
    SYNTAX                     Gauge32
    UNITS                      "packets"
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
         "This object represents the number of PPP PDP contexts
          that are currently active.

         Trigger Condition: This counter is incremented /
         decremented by the create/delete PPP PDP context request
         message respectively."
    ::= { cGgsnStatus 3 }

cGgsnActivePppRegenPdps        OBJECT-TYPE
    SYNTAX                     Gauge32
    UNITS                      "packets"
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
         "This object represents the number of PPP-Regen PDP contexts
          that are currently active.

         Trigger Condition: This counter is incremented /
         decremented by the create/delete PPP Regeneration PDP
         context request message respectively."
    ::= { cGgsnStatus 4 }

cGgsnPendingPppRegenPdps       OBJECT-TYPE
    SYNTAX                     Gauge32
    UNITS                      "packets"
    MAX-ACCESS                 read-only
    STATUS                     current
    DESCRIPTION
         "This object represents the current number of pending 
         PPP regeneration sessions.

         Trigger Condition: This counter is triggered 
         by the create PPP Regeneration PDP context request 
         message."
    ::= { cGgsnStatus 5 }

cGgsnActiveGtpVersion0Pdps    OBJECT-TYPE
    SYNTAX                    Gauge32
    MAX-ACCESS                read-only
    STATUS                    current
    DESCRIPTION
         "This object represents the current number of active GTP v0 PDP
         contexts.

         Trigger Condition: This counter is incremented /
         decremented by the create/delete PDP context request
         message respectively."
    ::= { cGgsnStatus 6 }

cGgsnActiveGtpVersion1Pdps    OBJECT-TYPE
    SYNTAX                    Gauge32
    MAX-ACCESS                read-only
    STATUS                    current
    DESCRIPTION
         "This object represents the current number of active GTP v1 PDP
         contexts.

         Trigger Condition: This counter is incremented /
         decremented by the create/delete PDP context request
         message respectively."
    ::= { cGgsnStatus 7 }

cGgsnGtpEncapInterface        OBJECT-TYPE
    SYNTAX                    InterfaceIndexOrZero
    MAX-ACCESS                read-only
    STATUS                    current
    DESCRIPTION
         "This object represents the ifIndex of the interface on which
         which gtp encapsulation is configured. Only one interface can
         be configured with gtp encapsulation on the GGSN. A zero value
         indicates that no interface is configured with gtp 
         encapsulation."
    ::= { cGgsnStatus 8 }

cGgsnServiceModeStatus        OBJECT-TYPE
    SYNTAX                    INTEGER {
                                  inService(1),
                                  maintenance(2),
                                  outOfServiceInProgress(3),
                                  outOfService(4)
                              }
    MAX-ACCESS                read-only
    STATUS                    current
    DESCRIPTION
        "This object represents the internal service mode which 
        GGSN maintains. The service switching is done with object
        cGgsnServiceMode."
    ::= { cGgsnStatus 9 }

-- Notif Info

cGgsnPdfServerAddrType          OBJECT-TYPE
    SYNTAX                      InetAddressType
    MAX-ACCESS                  accessible-for-notify
    STATUS                      current
    DESCRIPTION
        "This object specifies the type of IP address of
        the PDF server."
    ::= { cGgsnNotifInfo 1 }

cGgsnPdfServerAddr              OBJECT-TYPE
    SYNTAX                      InetAddress
    MAX-ACCESS                  accessible-for-notify
    STATUS                      current
    DESCRIPTION
        "This object specifies the IP address of the PDF
        server. The type of this address is specified by
        the object cGgsnPdfServerAddrType."
    ::= { cGgsnNotifInfo 2 }

--
--  Notification Definitions
--

cGgsnNotifPrefix       OBJECT IDENTIFIER
                           ::= { cGgsnMIB 2 }
cGgsnNotifications     OBJECT IDENTIFIER
                           ::= { cGgsnNotifPrefix 0 }

--
-- notifications
--

cGgsnNotification      NOTIFICATION-TYPE
    OBJECTS                {
                            cGgsnHistNotifType,
                            cGgsnHistNotifSeverity,
                            cGgsnHistNotifTimestamp,
                            cGgsnHistNotifGgsnIpAddrType,
                            cGgsnHistNotifGgsnIpAddr,
                            cGgsnHistNotifInfo
                           }
    STATUS            current
    DESCRIPTION
        "This notification indicates the occurrence of a GGSN 
        related alarm. If and when additional useful information
        is available for specific types of alarms, then that  
        information may be appended to the end of the
        notification in additional varbinds."
    ::= { cGgsnNotifications 1 }

cGgsnInServiceNotif            NOTIFICATION-TYPE
    STATUS                     current
    DESCRIPTION
        "A notification of this type is generated when GGSN is
        placed in inService mode which is specified by
        cGgsnServiceModeStatus."
    ::= { cGgsnNotifications 2 }

cGgsnMaintenanceNotif          NOTIFICATION-TYPE
    STATUS                     current
    DESCRIPTION
        "A notification of this type is generated when GGSN is
        placed in maintenance mode which is specified by
        cGgsnServiceModeStatus."
    ::= { cGgsnNotifications 3 }

cGgsnMemThresholdReachedNotif  NOTIFICATION-TYPE
    STATUS                     current
    DESCRIPTION
        "A notification of this type is generated when GGSN
        reaches the memory threshold value specified by
        cGgsnMemoryThreshold."
    ::= { cGgsnNotifications 4 }

cGgsnMemThresholdClearedNotif  NOTIFICATION-TYPE
    STATUS                     current
    DESCRIPTION
        "A notification of this type is generated when GGSN 
        retains the memory and falls below threshold value 
        speficied by cGgsnMemoryThreshold."
    ::= { cGgsnNotifications 5 }

cGgsnPdfStateUpNotif           NOTIFICATION-TYPE
    OBJECTS { cGgsnPdfServerAddrType,
              cGgsnPdfServerAddr
    }
    STATUS                     current
    DESCRIPTION
        "A notification of this type is generated when PDF
        connection comes UP."
    ::= { cGgsnNotifications 6 }

cGgsnPdfStateDownNotif         NOTIFICATION-TYPE
    OBJECTS { cGgsnPdfServerAddrType,
              cGgsnPdfServerAddr
    }
    STATUS                     current
    DESCRIPTION
        "A notification of this type is generated when PDF
        connection goes DOWN."
    ::= { cGgsnNotifications 7 }

-- 
-- Conformances definitions
-- 

cGgsnMIBConformances   OBJECT IDENTIFIER
                           ::= { cGgsnMIB 3 }

cGgsnMIBCompliances    OBJECT IDENTIFIER
                           ::= { cGgsnMIBConformances 1}
cGgsnMIBGroups         OBJECT IDENTIFIER
                           ::= { cGgsnMIBConformances 2}

--
-- Compliances statements
--

cGgsnMIBCompliance   MODULE-COMPLIANCE
        STATUS           obsolete
        DESCRIPTION
             "The compliance statements for entities which
             implement the CISCO GGSN MIB.

             This is deprecated by cGgsnMIBComplianceRev1."
        MODULE      -- this module
        MANDATORY-GROUPS { cGgsnStatisticsGroup,
                           cGgsnNotifMgmtGroup,
                           cGgsnConfigurationsGroup,
                           cGgsnNotifGroup,
                           cGgsnStatusGroup
                         }
        ::= { cGgsnMIBCompliances 1 }

cGgsnMIBComplianceRev1   MODULE-COMPLIANCE
        STATUS           deprecated
        DESCRIPTION
             "The compliance statements for entities which
             implement the CISCO GGSN MIB.

             This is deprecated by cGgsnMIBComplianceRev2"
        MODULE      -- this module
        MANDATORY-GROUPS { cGgsnStatisticsGroup,
                           cGgsnNotifMgmtGroup,
                           cGgsnConfigurationsGroupRev1,
                           cGgsnNotifGroup,
                           cGgsnStatusGroup
                         }
        GROUP            cGgsnUmtsGroup
        DESCRIPTION
             "This group is mandatory for a GGSN that supports GTP v1."
        OBJECT           cGgsnHistNotifGgsnIpAddrType
        SYNTAX           INTEGER { unknown(0),
                                   ipv4(1)
                         }
        DESCRIPTION
             "Support for ipv6(2) and dns(16) is not mandatory."
        OBJECT           cGgsnIpDupProtectRowStatus
        SYNTAX           INTEGER { active(1),
                                   createAndGo(4),
                                   destroy(6)
                                 }
        DESCRIPTION
             "The states notInService(2), notReady(3) and 
             createAndWait(5) need not be supported."
        OBJECT           cGgsnDefaultAggregRowStatus
        SYNTAX           INTEGER { active(1),
                                   createAndGo(4),
                                   destroy(6)
                                 }
        DESCRIPTION
             "The states notInService(2), notReady(3) and 
             createAndWait(5) need not be supported."
        OBJECT           cGgsnPlmnAddrRangeRowStatus
        SYNTAX           INTEGER { active(1),
                                   createAndGo(4),
                                   destroy(6)
                                 }
        DESCRIPTION
             "The states notInService(2), notReady(3) and 
             createAndWait(5) need not be supported."

        ::= { cGgsnMIBCompliances 2 }

cGgsnMIBComplianceRev2   MODULE-COMPLIANCE
        STATUS           current
        DESCRIPTION
             "The compliance statements for entities which
             implement the CISCO GGSN MIB."
        MODULE      -- this module
        MANDATORY-GROUPS { cGgsnStatisticsGroupRev1,
                           cGgsnNotifMgmtGroup,
                           cGgsnConfigurationsGroupRev2,
                           cGgsnNotifGroupRev1,
                           cGgsnStatusGroupRev1
                         }
        GROUP            cGgsnUmtsGroup
        DESCRIPTION
             "This group is mandatory for a GGSN that supports GTP v1."
        OBJECT           cGgsnHistNotifGgsnIpAddrType
        SYNTAX           INTEGER { unknown(0),
                                   ipv4(1)
                         }
        DESCRIPTION
             "Support for ipv6(2) and dns(16) is not mandatory."
        OBJECT           cGgsnIpDupProtectRowStatus
        SYNTAX           INTEGER { active(1),
                                   createAndGo(4),
                                   destroy(6)
                                 }
        DESCRIPTION
             "The states notInService(2), notReady(3) and
             createAndWait(5) need not be supported."
        OBJECT           cGgsnDefaultAggregRowStatus
        SYNTAX           INTEGER { active(1),
                                   createAndGo(4),
                                   destroy(6)
                                 }
        DESCRIPTION
             "The states notInService(2), notReady(3) and
             createAndWait(5) need not be supported."
        OBJECT           cGgsnPlmnAddrRangeRowStatus
        SYNTAX           INTEGER { active(1),
                                   createAndGo(4),
                                   destroy(6)
                                 }
        DESCRIPTION
             "The states notInService(2), notReady(3) and
             createAndWait(5) need not be supported."
        OBJECT           cGgsnPdfRowStatus
        SYNTAX           INTEGER { active(1),
                                   createAndGo(4),
                                   destroy(6)
                                 }
        DESCRIPTION
             "The states notInService(2), notReady(3) and
             createAndWait(5) need not be supported."
        OBJECT           cGgsnPcscfRowStatus
        SYNTAX           INTEGER { active(1),
                                   createAndGo(4),
                                   destroy(6)
                                 }
        DESCRIPTION
             "The states notInService(2), notReady(3) and
             createAndWait(5) need not be supported."
        OBJECT           cGgsnPlmnRowStatus
        SYNTAX           INTEGER { active(1),
                                   createAndGo(4),
                                   destroy(6)
                                 }
        DESCRIPTION
             "The states notInService(2), notReady(3) and
             createAndWait(5) need not be supported."
        ::= { cGgsnMIBCompliances 3 }


-- units of conformance

cGgsnStatisticsGroup   OBJECT-GROUP
    OBJECTS                {
                           cGgsnSentSigMessages,
                           cGgsnReceivedSigMessages,
                           cGgsnUnexpectedSigMessages,
                           cGgsnSentGPDUs,
                           cGgsnReceivedGPDUs,
                           cGgsnSentGPDUOctets,
                           cGgsnReceivedGPDUOctets,
                           cGgsnUnexpectedGPDUs,
                           cGgsnActivationRejectedPdps,
                           cGgsnOutOfResourcePdps,
                           cGgsnParserErrorMessages,
                           cGgsnTotalCreatedPdps,
                           cGgsnTotalDeletedPdps,
                           cGgsnTotalNetworkInitPdps,
                           cGgsnTotalPppPdpsCreated,
                           cGgsnTotalPppPdpsDeleted,
                           cGgsnOutOfResourcePppRegenPdps,
                           cGgsnDroppedPppRegenPdps
                           }
    STATUS                 deprecated
    DESCRIPTION
        " A collection of statistics on GGSN."
    ::= { cGgsnMIBGroups 1 }

cGgsnNotifMgmtGroup   OBJECT-GROUP
    OBJECTS                {
                           cGgsnNotifEnabled,
                           cGgsnNotifLeastSeverLevel,
                           cGgsnGeneratedNotifs,
                           cGgsnIgnoredAlarms,
                           cGgsnHistNotifMaxLength,
                           cGgsnHistNotifLatestIndex,
                           cGgsnHistNotifType,
                           cGgsnHistNotifSeverity,
                           cGgsnHistNotifTimestamp,
                           cGgsnHistNotifGgsnIpAddrType,
                           cGgsnHistNotifGgsnIpAddr,
                           cGgsnHistNotifInfo
                           }
    STATUS                 current
    DESCRIPTION
        " A collection of objects related with notification
        management on GGSN."
    ::= { cGgsnMIBGroups 2 }

cGgsnConfigurationsGroup   OBJECT-GROUP
    OBJECTS                {
                           cGgsnDefaultIpAllocationMethod,
                           cGgsnIdlePdpPurgeTimer,
                           cGgsnIpDupProtectRowStatus,
                           cGgsnDefaultAggregRowStatus,
                           cGgsnDefaultAaaAuthServerGroup,
                           cGgsnDefaultAaaAccServerGroup,
                           cGgsnPppVirtualTemplate,
                           cGgsnPppRegenVirtualTemplate
                           }
    STATUS                 deprecated
    DESCRIPTION
        " A collection of objects related with configurations on
         GGSN. This is deprecated by cGgsnConfigurationsGroupRev1."
    ::= { cGgsnMIBGroups 3 }

cGgsnNotifGroup         NOTIFICATION-GROUP
    NOTIFICATIONS       { cGgsnNotification }
    STATUS              deprecated
    DESCRIPTION
        "A collection of notifications."
    ::= { cGgsnMIBGroups 4 }

cGgsnStatusGroup           OBJECT-GROUP
    OBJECTS                {
                           cGgsnVersion,
                           cGgsnActiveNetworkInitPdps,
                           cGgsnActivePppPdps,
                           cGgsnActivePppRegenPdps,
                           cGgsnPendingPppRegenPdps
                           }
    STATUS                 deprecated
    DESCRIPTION
        " A collection of objects representing status on GGSN."
    ::= { cGgsnMIBGroups 5 }

cGgsnConfigurationsGroupRev1  OBJECT-GROUP
    OBJECTS                   {
                              cGgsnDefaultIpAllocationMethod,
                              cGgsnIdlePdpPurgeTimer,
                              cGgsnIpDupProtectRowStatus,
                              cGgsnDefaultAggregRowStatus,
                              cGgsnDefaultAaaAuthServerGroup,
                              cGgsnDefaultAaaAccServerGroup,
                              cGgsnPppVirtualTemplate,
                              cGgsnPppRegenVirtualTemplate,
                              cGgsnPlmnAddrRangeRowStatus
                              }
    STATUS                    deprecated
    DESCRIPTION
        " A collection of objects related with configurations on GGSN."
    ::= { cGgsnMIBGroups 6 }

cGgsnUmtsGroup             OBJECT-GROUP
    OBJECTS                {
                           cGgsnTftSemanticErrorPdps, 
                           cGgsnTftSyntacticErrorPdps, 
                           cGgsnPktFilterSemanticErrorPdps, 
                           cGgsnPktFilterSyntacticErrorPdps,
                           cGgsnPlmnAddrRangeUsage,
                           cGgsnActiveGtpVersion0Pdps,
                           cGgsnActiveGtpVersion1Pdps,
                           cGgsnGtpEncapInterface
                           }
    STATUS                 current
    DESCRIPTION
        " A collection of objects pertaining to GTP v1."
    ::= { cGgsnMIBGroups 7 }

cGgsnStatisticsGroupRev1   OBJECT-GROUP
    OBJECTS                {
                           cGgsnSentSigMessages,
                           cGgsnReceivedSigMessages,
                           cGgsnUnexpectedSigMessages,
                           cGgsnSentGPDUs,
                           cGgsnReceivedGPDUs,
                           cGgsnUnexpectedGPDUs,
                           cGgsnActivationRejectedPdps,
                           cGgsnOutOfResourcePdps,
                           cGgsnParserErrorMessages,
                           cGgsnTotalCreatedPdps,
                           cGgsnTotalDeletedPdps,
                           cGgsnTotalNetworkInitPdps,
                           cGgsnTotalPppPdpsCreated,
                           cGgsnTotalPppPdpsDeleted,
                           cGgsnOutOfResourcePppRegenPdps,
                           cGgsnDroppedPppRegenPdps,
                           cGgsnHCSentGPDUOctets,
                           cGgsnHCReceivedGPDUOctets,
                           cGgsnVersionNotSupportedRejPdps,
                           cGgsnUnkownMessageRejPdps,
                           cGgsnMsgTooShortRejPdps,
                           cGgsnMandIeMissingRejPdps,
                           cGgsnMandIeIncorrectRejPdps,
                           cGgsnOptIeInvalidRejPdps,
                           cGgsnIeUnknownRejPdps,
                           cGgsnIeOutOfOrderRejPdps,
                           cGgsnIeUnexpectedRejPdps,
                           cGgsnIeDuplicatedRejPdps,
                           cGgsnOptIeIncorrectRejPdps,
                           cGgsnPdpWithoutTftExistsRejPdps,
                           cGgsnSgsnThruPutLastCollected,
                           cGgsnSgsnUpStreamPktCnt,
                           cGgsnSgsnUpStreamByteCnt,
                           cGgsnSgsnDownStreamPktCnt,
                           cGgsnSgsnDownStreamByteCnt
                           }
    STATUS                 current
    DESCRIPTION
        " A collection of statistics on GGSN."
    ::= { cGgsnMIBGroups 8 }

cGgsnNotifGroupRev1        NOTIFICATION-GROUP
    NOTIFICATIONS          { 
                           cGgsnNotification,
                           cGgsnInServiceNotif,
                           cGgsnMaintenanceNotif,
                           cGgsnMemThresholdReachedNotif,
                           cGgsnMemThresholdClearedNotif,
                           cGgsnPdfStateUpNotif,
                           cGgsnPdfStateDownNotif
                           }
    STATUS              current
    DESCRIPTION
        "A collection of notifications."
    ::= { cGgsnMIBGroups 9 }

cGgsnConfigurationsGroupRev2  OBJECT-GROUP
    OBJECTS                   {
                              cGgsnDefaultIpAllocationMethod,
                              cGgsnIdlePdpPurgeTimer,
                              cGgsnIpDupProtectRowStatus,
                              cGgsnDefaultAggregRowStatus,
                              cGgsnDefaultAaaAuthServerGroup,
                              cGgsnDefaultAaaAccServerGroup,
                              cGgsnPppVirtualTemplate,
                              cGgsnPppRegenVirtualTemplate,
                              cGgsnPlmnAddrRangeRowStatus,
                              cGgsnPdfRowStatus,
                              cGgsnPdfReconnectTimeOut,
                              cGgsnPdfReconnectRetries,
                              cGgsnPdfReconExpPdpDelete,
                              cGgsnPdfReqRetryTimeOut,
                              cGgsnPdfReqRetries,
                              cGgsnPcscfRowStatus,
                              cGgsnMemoryThreshold,
                              cGgsnServiceMode,
                              cGgsnPlmnRowStatus,
                              cGgsnPlmnScope,
                              cGgsnSessionTimeout,
                              cGgsnThruputIntervalOne,
                              cGgsnThruputIntervalTwo,
                              cGgsnCompliance3GppGgsn,
                              cGgsnCreateReqV1UpdExistPdp,
                              cGgsnRadAttrSessTimeout,
                              cGgsnDownlinkVerifyMsDisable
                              }
    STATUS                    current
    DESCRIPTION
        " A collection of objects related with configurations on GGSN."
    ::= { cGgsnMIBGroups 10 }

cGgsnStatusGroupRev1       OBJECT-GROUP
    OBJECTS                {
                           cGgsnVersion,
                           cGgsnActiveNetworkInitPdps,
                           cGgsnActivePppPdps,
                           cGgsnActivePppRegenPdps,
                           cGgsnPendingPppRegenPdps,
                           cGgsnServiceModeStatus
                           }
    STATUS                 current
    DESCRIPTION
        " A collection of objects representing status on GGSN."
    ::= { cGgsnMIBGroups 11 }

cGgsnNotifInfoGroup        OBJECT-GROUP
    OBJECTS                {
                           cGgsnPdfServerAddrType,
                           cGgsnPdfServerAddr
                           }
    STATUS                 current
    DESCRIPTION
        " A collection of objects representing Notif Info on GGSN."
    ::= { cGgsnMIBGroups 12 }
END