-- =============================================================
-- Copyright (c) 2010-2014 Hewlett-Packard Development Company, L.P.
--
-- Description:
-- Reference:
-- Version: V1.4
-- History:
--   V1.0 2009-04-30 Initial Version by jinyi
--   V1.1 2009-12-30 Added hpnicfAccessMediaChanged by jinyi
--   V1.2 2011-07-22 Added hpnicfWirelessCardInterfaceIndex,
--                   hpnicfWirelessCardModemStatus in hpnicfWirelessCardTable.
--                   Added hpnicf3GCdma1xRttTable, hpnicf3GCdmaEvDoTable, hpnicf3GGsmInfoTable
--                   hpnicf3GCurrentService, hpnicf3GCurrentRssiBind, hpnicf3GImsiBind,
--                   hpnicf3GRssiStrongSignalTrap, hpnicf3GRssiMediumSignalTrap and
--                   hpnicf3GRssiWeakSignalTrap.
--                   Changed MAX-ACCESS of hpnicfWirelessCardIndex by songhao.
--   V1.3 2012-08-02 Added hpnicfWirelessCardModemMode, hpnicfWirelessCardCurNetConn in
--                   hpnicfWirelessCardEntry.
--                   Added hpnicfSmsGroup and hpnicfWirelessCardOnlineTable under hpnicfWirelessCard.
--                   Added hpnicf3GGsmMcc, hpnicf3GGsmMnc in hpnicf3GGsmInfoEntry
--                   Added hpnicfLte under hpnicf3GModemObjects
--                   Added hpnicfSmsSrcNumberBind, hpnicfSmsTimeBind, hpnicfSmsEncodeBind,
--                   hpnicfSmsContentBind, hpnicfSmsTxNotifation, hpnicfSmsRxNotifation by songhao.
--   V1.4 2013-08-13 Added hpnicfLteCurrentRssi,hpnicfLteRssiMediumThreshold and
--                   hpnicfLteRssiWeakThreshold in HpnicfLteInfoEntry.
--                   Added lte(5) in hpnicf3GCurrentService by zuowenzhong.
-- =============================================================
HPN-ICF-3GMODEM-MIB DEFINITIONS ::= BEGIN
IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
    Integer32, Unsigned32
        FROM SNMPv2-SMI
    TEXTUAL-CONVENTION, TruthValue
        FROM SNMPv2-TC
    SnmpAdminString
        FROM SNMP-FRAMEWORK-MIB
    InterfaceIndex
        FROM IF-MIB
    hpnicfCommon
        FROM HPN-ICF-OID-MIB;

hpnicf3GModem MODULE-IDENTITY
    LAST-UPDATED    "200904301200Z"
    ORGANIZATION
        ""
    CONTACT-INFO
        ""
    DESCRIPTION
        "The information about the wireless card and the UIM
         (User Identification Module)."
    REVISION        "200904301200Z"
    DESCRIPTION
        "Initial version of this MIB module."
    ::= { hpnicfCommon 98 }

HpnicfUIMStatusType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "The status of the UIM."
    SYNTAX      INTEGER
        {
            absent(1),      -- the UIM is absent
            initial(2),     -- the UIM is initial
            fault(3),       -- something wrong in UIM
            unprotected(4), -- the UIM is not protected with PIN
                            -- (Personal Identification Number) and can be
                            -- used normally
            protected(5),   -- the UIM is protected with PIN and can be
                            -- used normally
            pinLocked(6),   -- the UIM is locked, and need be unlocked with PIN
            pukLocked(7),   -- the UIM is locked, and need be unlocked with PUK
                            -- (PIN Unblocking Key)
            selfDestruct(8) -- the UIM is destruct by itself
        }

HpnicfSmsEncodeType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "The encode type of Sms (short message service)."
    SYNTAX      INTEGER
        {
            ascii(1),
            ucs2(2)
        }


hpnicf3GModemObjects     OBJECT IDENTIFIER ::= { hpnicf3GModem 1 }

hpnicfWirelessCard OBJECT IDENTIFIER ::= { hpnicf3GModemObjects 1 }
hpnicfUIM OBJECT IDENTIFIER ::= { hpnicf3GModemObjects 2 }
hpnicf3GCdma OBJECT IDENTIFIER ::= { hpnicf3GModemObjects 3 }
hpnicf3GGsm OBJECT IDENTIFIER ::= { hpnicf3GModemObjects 4 }
hpnicfLte OBJECT IDENTIFIER ::= { hpnicf3GModemObjects 5 }


-- The wireless card table
hpnicfWirelessCardTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfWirelessCardEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains one row per wireless card."
    ::= { hpnicfWirelessCard 1 }

hpnicfWirelessCardEntry OBJECT-TYPE
    SYNTAX      HpnicfWirelessCardEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Information about a particular wireless card."
    INDEX { hpnicfWirelessCardIndex }
    ::= { hpnicfWirelessCardTable 1 }

HpnicfWirelessCardEntry ::= SEQUENCE
    {
        hpnicfWirelessCardIndex                Integer32,
        hpnicfWirelessCardModelName            SnmpAdminString,
        hpnicfWirelessCardMfgName              SnmpAdminString,
        hpnicfWirelessCardDescription          SnmpAdminString,
        hpnicfWirelessCardSerialNumber         SnmpAdminString,
        hpnicfWirelessCardCMIIID               SnmpAdminString,
        hpnicfWirelessCardHardwareVersion      SnmpAdminString,
        hpnicfWirelessCardFirmwareVersion      SnmpAdminString,
        hpnicfWirelessCardPRLVersion           SnmpAdminString,
        hpnicfWirelessCardInterfaceIndex       InterfaceIndex,
        hpnicfWirelessCardModemStatus          INTEGER,
        hpnicfWirelessCardModemMode            INTEGER,
        hpnicfWirelessCardCurNetConn           INTEGER
    }

hpnicfWirelessCardIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The index for this entry."
    ::= { hpnicfWirelessCardEntry 1 }

hpnicfWirelessCardModelName OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The model name of this card."
    ::= { hpnicfWirelessCardEntry 2 }

hpnicfWirelessCardMfgName OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The name of the manufacturer of this card."
    ::= { hpnicfWirelessCardEntry 3 }

hpnicfWirelessCardDescription OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The textual description of this card."
    ::= { hpnicfWirelessCardEntry 4 }

hpnicfWirelessCardSerialNumber OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE (0..32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The vendor-specific serial number string for this card."
    ::= { hpnicfWirelessCardEntry 5 }

hpnicfWirelessCardCMIIID OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE (0..32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The card ID of CMII (Ministry of Information Industry of China)."
    ::= { hpnicfWirelessCardEntry 6 }

hpnicfWirelessCardHardwareVersion OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The vendor-specific hardware version string for this card."
    ::= { hpnicfWirelessCardEntry 7 }

hpnicfWirelessCardFirmwareVersion OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The vendor-specific firmware version string for this card."
    ::= { hpnicfWirelessCardEntry 8 }

hpnicfWirelessCardPRLVersion OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The preferred roaming list version for this card."
    ::= { hpnicfWirelessCardEntry 9 }

hpnicfWirelessCardInterfaceIndex OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The interface index in IF-MIB of this card."
    ::= { hpnicfWirelessCardEntry 10 }

hpnicfWirelessCardModemStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                        unknown(1),
                        onLine(2),
                        offLine(3)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The status of modem."
    ::= { hpnicfWirelessCardEntry 11 }

hpnicfWirelessCardModemMode OBJECT-TYPE
    SYNTAX      INTEGER {
                        unknown(1),
                        tdscdma(2),
                        wcdma(3),
                        cdma(4)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The mode of the 3G-Modem."
    ::= { hpnicfWirelessCardEntry 12 }

hpnicfWirelessCardCurNetConn OBJECT-TYPE
    SYNTAX      INTEGER {
                        unknown(1),
                        noService(2),
                        gsm(3),
                        gprs(4),
                        edge(5),
                        hsdpa(6),
                        hsupa(7),
                        hsupaAndhsdpa(8),
                        hspaPlus(9),
                        umts(10),
                        dchspaPlus(11),
                        lte(12),
                        onexrtt(13),
                        evdo(14),
                        onexrttAndevdo(15),
                        tdscdma(16)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The current network connection."
    ::= { hpnicfWirelessCardEntry 13 }


-- SMS group
hpnicfSmsGroup OBJECT IDENTIFIER ::= { hpnicfWirelessCard 2 }

-- SMS scalar objects
hpnicfSmsScalarObjects OBJECT IDENTIFIER ::= { hpnicfSmsGroup 1 }

hpnicfSmsRxNotifSwitch OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The switch of notification when a short message received."
    ::= { hpnicfSmsScalarObjects 1 }


-- SMS operation table
hpnicfSmsOperationTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfSmsOperationEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains one row per short message."
    ::= { hpnicfSmsGroup 2 }

hpnicfSmsOperationEntry OBJECT-TYPE
    SYNTAX      HpnicfSmsOperationEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The infomation about the short message."
    INDEX { hpnicfWirelessCardIndex }
    ::= { hpnicfSmsOperationTable 1 }

HpnicfSmsOperationEntry ::= SEQUENCE
    {
        hpnicfSmsDestNumber        SnmpAdminString,
        hpnicfSmsEncode            HpnicfSmsEncodeType,
        hpnicfSmsContent           OCTET STRING,
        hpnicfSmsSendStatus        INTEGER
    }


hpnicfSmsDestNumber OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE(0..20))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The destination number of the short message."
    ::= { hpnicfSmsOperationEntry 1 }

hpnicfSmsEncode OBJECT-TYPE
    SYNTAX      HpnicfSmsEncodeType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The encoded type of the short message."
    DEFVAL      { 1 }
    ::= { hpnicfSmsOperationEntry 2 }

hpnicfSmsContent OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Content of the short message."
    ::= { hpnicfSmsOperationEntry 3 }

hpnicfSmsSendStatus OBJECT-TYPE
    SYNTAX      INTEGER
        {
            set2Send(1),
            ready2Send(2),
            sending(3),
            sentAlready(4),
            telnumberInvalid(5),
            paramInvalid(6),
            contentTooLong(7),
            codeError(8),
            unknown(9),
            busy(10),
            notPresent(11),
            notSupport(12),
            initializing(13),
            noCenterNum(14),
            noSim(15),
            simNotReady(16),
            sendAtFailed(17),
            sendDisable(18)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Status of the short message sent."
    ::= { hpnicfSmsOperationEntry 4 }

-- Wireless card online table
hpnicfWirelessCardOnlineTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfWirelessCardOnlineEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains one row per wireless card."
    ::= { hpnicfWirelessCard 3 }

hpnicfWirelessCardOnlineEntry OBJECT-TYPE
    SYNTAX      HpnicfWirelessCardOnlineEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Information about online time of a wireless card."
    INDEX { hpnicfWirelessCardIndex, hpnicfWirelessCardOnlineTime }
    ::= { hpnicfWirelessCardOnlineTable 1 }

HpnicfWirelessCardOnlineEntry ::= SEQUENCE
    {
        hpnicfWirelessCardOnlineTime       Unsigned32,
        hpnicfWirelessCardOnlineType       INTEGER
    }

hpnicfWirelessCardOnlineTime OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The index for this entry."
    ::= { hpnicfWirelessCardOnlineEntry 1 }

hpnicfWirelessCardOnlineType OBJECT-TYPE
    SYNTAX    INTEGER
        {
            up(1),
            down(2)
        }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The online type of this wireless card."
    ::= { hpnicfWirelessCardOnlineEntry 2 }


-- The UIM information table
hpnicfUIMInfoTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfUIMInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains one row per UIM."
    ::= { hpnicfUIM 1 }

hpnicfUIMInfoEntry OBJECT-TYPE
    SYNTAX      HpnicfUIMInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The information about the UIM."
    INDEX { hpnicfWirelessCardIndex, hpnicfUIMIndex }
    ::= { hpnicfUIMInfoTable 1 }

HpnicfUIMInfoEntry ::= SEQUENCE
    {
        hpnicfUIMIndex          Integer32,
        hpnicfUIMStatus         HpnicfUIMStatusType,
        hpnicfUIMImsi           SnmpAdminString,
        hpnicfUIMPin            SnmpAdminString,
        hpnicfUIMVoltage        Unsigned32,
        hpnicfUIMProvider       SnmpAdminString,
        hpnicfUIMSignal         Integer32,
        hpnicfUIMTryPinPukTimes Unsigned32,
        hpnicfUIMOldPin         SnmpAdminString
    }

hpnicfUIMIndex OBJECT-TYPE
    SYNTAX      Integer32 (0..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The index for this entry."
    ::= { hpnicfUIMInfoEntry 1 }

hpnicfUIMStatus OBJECT-TYPE
    SYNTAX      HpnicfUIMStatusType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The status about this UIM."
    ::= { hpnicfUIMInfoEntry 2 }

hpnicfUIMImsi OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE (0..32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The IMSI (International Mobile Subscriber Identification Number) about
        this UIM.  If this information is unknown to the agent, then this object
        will be returned a zero-length string."
    ::= { hpnicfUIMInfoEntry 3 }

hpnicfUIMPin OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE (0..9))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The PIN about this UIM.  If this information is unknown to the agent,
        then this object will be returned a zero-length string."
    ::= { hpnicfUIMInfoEntry 4 }

hpnicfUIMVoltage OBJECT-TYPE
    SYNTAX      Unsigned32(0..4294967295)
    UNITS       "milli-volt"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The voltage about this UIM.  If this information is unknown to the
        agent, then this object will be returned 4294967295."
    ::= { hpnicfUIMInfoEntry 5 }

hpnicfUIMProvider OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE (0..32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The provider of mobile network.  If this information is unknown to the
        agent, then this object will be returned a zero-length string."
    ::= { hpnicfUIMInfoEntry 6 }

hpnicfUIMSignal OBJECT-TYPE
    SYNTAX      Integer32(0..31 | 99)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The intensity of the signal about this UIM.
        A value of '99' means no signal."
    ::= { hpnicfUIMInfoEntry 7 }

hpnicfUIMTryPinPukTimes OBJECT-TYPE
    SYNTAX      Unsigned32(0..4294967295)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of remaining times for unlocking PIN or PUK.
        The value is associated the same instance of hpnicfUIMStatus.  If this
        information is unknown to the agent, then this object will be
        returned 4294967295."
    ::= { hpnicfUIMInfoEntry 8 }

hpnicfUIMOldPin OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE (0..9))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
            "The old PIN for this UIM."
    ::= { hpnicfUIMInfoEntry 9 }


-- The CDMA information table of 1xRTT
hpnicf3GCdma1xRttTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hpnicf3GCdma1xRttEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "CDMA 1xRTT table."
    ::= { hpnicf3GCdma 1 }

hpnicf3GCdma1xRttEntry OBJECT-TYPE
    SYNTAX      Hpnicf3GCdma1xRttEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry of hpnicf3GCdma1xRttTable."
    INDEX { hpnicfWirelessCardIndex }
    ::= { hpnicf3GCdma1xRttTable 1 }

Hpnicf3GCdma1xRttEntry ::= SEQUENCE
    {
        hpnicf3GCdma1xRttCurrentRssi           Integer32,
        hpnicf3GCdma1xRttRssiMediumThreshold   Integer32,
        hpnicf3GCdma1xRttRssiWeakThreshold     Integer32,
        hpnicf3GCdma1xRttCurServiceStatus      INTEGER,
        hpnicf3GCdma1xRttCurRoamingStatus      INTEGER
    }

hpnicf3GCdma1xRttCurrentRssi OBJECT-TYPE
    SYNTAX      Integer32 (-2147483648 | -150..0)
    UNITS       "dBm"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The Received Signal Strength Indicator(RSSI) of CDMA 1xRTT."
    ::= { hpnicf3GCdma1xRttEntry 1 }

hpnicf3GCdma1xRttRssiMediumThreshold OBJECT-TYPE
    SYNTAX      Integer32 (-150..0)
    UNITS       "dBm"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The medium signal threshold of CMDA 1xRTT RSSI.  The absolute
        value of hpnicf3GCdma1xRttRssiMediumThreshold should be less than
        or equal to the absolute value of hpnicf3GCdma1xRttRssiWeakThreshold
        (|hpnicf3GCdma1xRttRssiMediumThreshold| <= |hpnicf3GCdma1xRttRssiWeakThreshold|)."
    DEFVAL      { 0 }
    ::= { hpnicf3GCdma1xRttEntry 2 }

hpnicf3GCdma1xRttRssiWeakThreshold OBJECT-TYPE
    SYNTAX      Integer32 (-150..0)
    UNITS       "dBm"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The weak signal threshold of CMDA 1xRTT RSSI.  The absolute
        value of hpnicf3GCdma1xRttRssiMediumThreshold should be less than
        or equal to the absolute value of hpnicf3GCdma1xRttRssiWeakThreshold
        (|hpnicf3GCdma1xRttRssiMediumThreshold| <= |hpnicf3GCdma1xRttRssiWeakThreshold|)."
    DEFVAL      { -150 }
    ::= { hpnicf3GCdma1xRttEntry 3 }

hpnicf3GCdma1xRttCurServiceStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                        unknown(1),
                        available(2),
                        emergency(3),
                        lowPower(4),
                        noService(5)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The status of service."
    ::= { hpnicf3GCdma1xRttEntry 4 }

hpnicf3GCdma1xRttCurRoamingStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                        unknown(1),
                        roaming(2),
                        home(3)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The status of roaming."
    ::= { hpnicf3GCdma1xRttEntry 5 }


-- The CDMA information table of EvDo
hpnicf3GCdmaEvDoTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hpnicf3GCdmaEvDoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "CDMA EvDo table."
    ::= { hpnicf3GCdma 2 }

hpnicf3GCdmaEvDoEntry OBJECT-TYPE
    SYNTAX      Hpnicf3GCdmaEvDoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry of hpnicf3GCdmaEvDoTable."
    INDEX { hpnicfWirelessCardIndex }
    ::= { hpnicf3GCdmaEvDoTable 1 }

Hpnicf3GCdmaEvDoEntry ::= SEQUENCE
    {
        hpnicf3GCdmaEvDoCurrentRssi           Integer32,
        hpnicf3GCdmaEvDoRssiMediumThreshold   Integer32,
        hpnicf3GCdmaEvDoRssiWeakThreshold     Integer32,
        hpnicf3GCdmaEvDoCurServiceStatus      INTEGER,
        hpnicf3GCdmaEvDoCurRoamingStatus      INTEGER
    }

hpnicf3GCdmaEvDoCurrentRssi OBJECT-TYPE
    SYNTAX      Integer32 (-2147483648 | -150..0)
    UNITS       "dBm"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The Received Signal Strength Indicator(RSSI) of CDMA EvDo."
    ::= { hpnicf3GCdmaEvDoEntry 1 }

hpnicf3GCdmaEvDoRssiMediumThreshold OBJECT-TYPE
    SYNTAX      Integer32 (-150..0)
    UNITS       "dBm"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The medium signal threshold of CMDA EvDo RSSI.  The absolute
        value of hpnicf3GCdmaEvDoRssiMediumThreshold should be less than
        or equal to the absolute value of hpnicf3GCdmaEvDoRssiWeakThreshold
        (|hpnicf3GCdmaEvDoRssiMediumThreshold| <= |hpnicf3GCdmaEvDoRssiWeakThreshold|)."
    DEFVAL      { 0 }
    ::= { hpnicf3GCdmaEvDoEntry 2 }

hpnicf3GCdmaEvDoRssiWeakThreshold OBJECT-TYPE
    SYNTAX      Integer32 (-150..0)
    UNITS       "dBm"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The weak signal threshold of CMDA EvDo RSSI.  The absolute
        value of hpnicf3GCdmaEvDoRssiMediumThreshold should be less than
        or equal to the absolute value of hpnicf3GCdmaEvDoRssiWeakThreshold
        (|hpnicf3GCdmaEvDoRssiMediumThreshold| <= |hpnicf3GCdmaEvDoRssiWeakThreshold|)."
    DEFVAL      { -150 }
    ::= { hpnicf3GCdmaEvDoEntry 3 }

hpnicf3GCdmaEvDoCurServiceStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                        unknown(1),
                        available(2),
                        emergency(3),
                        lowPower(4),
                        noService(5)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The status of service."
    ::= { hpnicf3GCdmaEvDoEntry 4 }

hpnicf3GCdmaEvDoCurRoamingStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                        unknown(1),
                        roaming(2),
                        home(3)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The status of roaming."
    ::= { hpnicf3GCdmaEvDoEntry 5 }


-- The GSM information table
hpnicf3GGsmInfoTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF Hpnicf3GGsmInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "GSM information table."
    ::= { hpnicf3GGsm 1 }

hpnicf3GGsmInfoEntry OBJECT-TYPE
    SYNTAX      Hpnicf3GGsmInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry of hpnicf3GGsmInfoTable."
    INDEX { hpnicfWirelessCardIndex }
    ::= { hpnicf3GGsmInfoTable 1 }

Hpnicf3GGsmInfoEntry ::= SEQUENCE
    {
        hpnicf3GGsmCurrentRssi             Integer32,
        hpnicf3GGsmRssiMediumThreshold     Integer32,
        hpnicf3GGsmRssiWeakThreshold       Integer32,
        hpnicf3GGsmImsi                    SnmpAdminString,
        hpnicf3GGsmImei                    SnmpAdminString,
        hpnicf3GGsmApn                     SnmpAdminString,
        hpnicf3GGsmPacketSessionStatus     INTEGER,
        hpnicf3GGsmNetworkSelectionMode    INTEGER,
        hpnicf3GGsmMobileNetworkName       SnmpAdminString,
        hpnicf3GGsmLac                     SnmpAdminString,
        hpnicf3GGsmCellId                  SnmpAdminString,
        hpnicf3GGsmSimStatus               INTEGER,
        hpnicf3GGsmCurServiceStatus        INTEGER,
        hpnicf3GGsmCurRoamingStatus        INTEGER,
        hpnicf3GGsmMcc                     SnmpAdminString,
        hpnicf3GGsmMnc                     SnmpAdminString
    }

hpnicf3GGsmCurrentRssi OBJECT-TYPE
    SYNTAX      Integer32 (-2147483648 | -150..0)
    UNITS       "dBm"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The Received Signal Strength Indicator(RSSI) of GSM."
    ::= { hpnicf3GGsmInfoEntry 1 }

hpnicf3GGsmRssiMediumThreshold OBJECT-TYPE
    SYNTAX      Integer32 (-150..0)
    UNITS       "dBm"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The medium signal threshold of GSM RSSI.  The absolute
        value of hpnicf3GGsmRssiMediumThreshold should be less than
        or equal to the absolute value of hpnicf3GGsmRssiWeakThreshold
        (|hpnicf3GGsmRssiMediumThreshold| <= |hpnicf3GGsmRssiWeakThreshold|)."
    DEFVAL      { 0 }
    ::= { hpnicf3GGsmInfoEntry 2 }

hpnicf3GGsmRssiWeakThreshold OBJECT-TYPE
    SYNTAX      Integer32 (-150..0)
    UNITS       "dBm"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The weak signal threshold of GSM RSSI.  The absolute
        value of hpnicf3GGsmRssiMediumThreshold should be less than
        or equal to the absolute value of hpnicf3GGsmRssiWeakThreshold
        (|hpnicf3GGsmRssiMediumThreshold| <= |hpnicf3GGsmRssiWeakThreshold|)."
    DEFVAL      { -150 }
    ::= { hpnicf3GGsmInfoEntry 3 }

hpnicf3GGsmImsi OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The International Mobile Subscriber Identity(IMSI) of GSM."
    ::= { hpnicf3GGsmInfoEntry 4 }

hpnicf3GGsmImei OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The International Mobile Equipment Identity(IMEI) of GSM."
    ::= { hpnicf3GGsmInfoEntry 5 }

hpnicf3GGsmApn OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE (0..100))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The Access Point Name(APN) of GSM."
    ::= { hpnicf3GGsmInfoEntry 6 }

hpnicf3GGsmPacketSessionStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                        unknown(1),
                        active(2),
                        inactive(3)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The packet session status of GSM."
    ::= { hpnicf3GGsmInfoEntry 7 }

hpnicf3GGsmNetworkSelectionMode    OBJECT-TYPE
    SYNTAX      INTEGER {
                        unknown(1),
                        automatic(2),
                        manual(3)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The network selection mode of GSM."
    ::= { hpnicf3GGsmInfoEntry 8 }

hpnicf3GGsmMobileNetworkName OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The mobile network name of GSM."
    ::= { hpnicf3GGsmInfoEntry 9 }

hpnicf3GGsmLac OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The Location Area Code(LAC) of GSM."
    ::= { hpnicf3GGsmInfoEntry 10 }

hpnicf3GGsmCellId OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The ID of cell."
    ::= { hpnicf3GGsmInfoEntry 11 }

hpnicf3GGsmSimStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                        unknown(1),
                        ok(2),
                        notInsert(3),
                        networkReject(4),
                        blocked(5)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The status of SIM."
    ::= { hpnicf3GGsmInfoEntry 12 }

hpnicf3GGsmCurServiceStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                        unknown(1),
                        available(2),
                        emergency(3),
                        lowPower(4),
                        noService(5)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The status of service."
    ::= { hpnicf3GGsmInfoEntry 13 }

hpnicf3GGsmCurRoamingStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                        unknown(1),
                        roaming(2),
                        home(3)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The status of roaming."
    ::= { hpnicf3GGsmInfoEntry 14 }

hpnicf3GGsmMcc OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The Mobile Country Code(MCC) of GSM."
    ::= { hpnicf3GGsmInfoEntry 15 }

hpnicf3GGsmMnc OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The Mobile Network Code of GSM."
    ::= { hpnicf3GGsmInfoEntry 16 }


-- The LTE infomation table
hpnicfLteInfoTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfLteInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The quality of signal table."
    ::= { hpnicfLte 1 }

hpnicfLteInfoEntry OBJECT-TYPE
    SYNTAX      HpnicfLteInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The quality about the signal."
    INDEX { hpnicfWirelessCardIndex }
    ::= { hpnicfLteInfoTable 1 }

HpnicfLteInfoEntry ::= SEQUENCE
    {
        hpnicfLteCurrentRsrp     Integer32,
        hpnicfLteCurrentRsrq     Integer32,
        hpnicfLteCurrentSinr     Integer32,
        hpnicfLteTxPower         Integer32,
        hpnicfLteCurrentRssi           Integer32,
        hpnicfLteRssiMediumThreshold   Integer32,
        hpnicfLteRssiWeakThreshold     Integer32
    }

hpnicfLteCurrentRsrp OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "dBm"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Reference signal receiving power."
    ::= { hpnicfLteInfoEntry 1 }

hpnicfLteCurrentRsrq OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "dB"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Reference signal receiving quality."
    ::= { hpnicfLteInfoEntry 2 }

hpnicfLteCurrentSinr OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "dB"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Signal to interface plus noise ratio."
    ::= { hpnicfLteInfoEntry 3 }

hpnicfLteTxPower OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "dB"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Transmit power, 0x8000 means invalid."
    ::= { hpnicfLteInfoEntry 4 }

hpnicfLteCurrentRssi OBJECT-TYPE
    SYNTAX      Integer32 (-2147483648 | -150..0)
    UNITS       "dBm"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The Received Signal Strength Indicator(RSSI) of LTE."
    ::= { hpnicfLteInfoEntry 5 }

hpnicfLteRssiMediumThreshold OBJECT-TYPE
    SYNTAX      Integer32 (-150..0)
    UNITS       "dBm"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The medium signal threshold of LTE RSSI.  The absolute
        value of hpnicfLteRssiMediumThreshold should be less than
        or equal to the absolute value of hpnicfLteRssiWeakThreshold
        (|hpnicfLteRssiMediumThreshold| <= |hpnicfLteRssiWeakThreshold|)."
    DEFVAL      { 0 }
    ::= { hpnicfLteInfoEntry 6 }

hpnicfLteRssiWeakThreshold OBJECT-TYPE
    SYNTAX      Integer32 (-150..0)
    UNITS       "dBm"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The weak signal threshold of LTE RSSI.  The absolute
        value of hpnicfLteRssiMediumThreshold should be less than
        or equal to the absolute value of hpnicfLteRssiWeakThreshold
        (|hpnicfLteRssiMediumThreshold| <= |hpnicfLteRssiWeakThreshold|)."
    DEFVAL      { -150 }
    ::= { hpnicfLteInfoEntry 7 }


-- MIB trap definitions
hpnicf3GModemTrap       OBJECT IDENTIFIER ::= { hpnicf3GModem 2 }
hpnicf3GModemTraps       OBJECT IDENTIFIER ::= { hpnicf3GModem 3 }
hpnicf3GModemTrapPrefix  OBJECT IDENTIFIER ::= { hpnicf3GModemTraps 0 }

hpnicfDevSerialNumber OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE (0..32))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
            "The serial number of the current device."
    ::= { hpnicf3GModemTrap 1 }

hpnicfDeviceOUI OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE (0..64))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
            "The OUI (Organizational Unique Identifier) of the current device."
    ::= { hpnicf3GModemTrap 2 }

hpnicfAccessMedia OBJECT-TYPE
    SYNTAX      INTEGER
        {
            unknown(1),
            air(2),
            cable(3)
        }
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
            "The current access media."
    ::= { hpnicf3GModemTrap 3 }

hpnicf3GCurrentService OBJECT-TYPE
    SYNTAX      INTEGER
        {
            unknown(1),
            oneXRtt(2),
            evDo(3),
            gsm(4),
            lte(5)
        }
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
            "The current service type which binded in the notifications."
    ::= { hpnicf3GModemTrap 4 }

hpnicf3GCurrentRssiBind OBJECT-TYPE
    SYNTAX      Integer32 (-2147483648 | -150..0)
    UNITS       "dBm"
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
            "The current RSSI which binded in the notifications."
    ::= { hpnicf3GModemTrap 5 }

hpnicf3GImsiBind OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE (0..32))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
            "The IMSI which binded in the notifications."
    ::= { hpnicf3GModemTrap 6 }

hpnicfSmsSrcNumberBind OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE(0..20))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
            "The source number which binded in the notifications."
    ::= { hpnicf3GModemTrap 7 }

hpnicfSmsTimeBind OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE(1..255))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
            "The sending time which binded in the notifications."
    ::= { hpnicf3GModemTrap 8 }

hpnicfSmsEncodeBind OBJECT-TYPE
    SYNTAX      HpnicfSmsEncodeType
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
            "The encoded type which binded in the notifications."
    ::= { hpnicf3GModemTrap 9 }

hpnicfSmsContentBind OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(0..512))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
            "The content of short message which binded in the notifications."
    ::= { hpnicf3GModemTrap 10 }


hpnicfWirelessCardInserted NOTIFICATION-TYPE
    OBJECTS
        {
            hpnicfDeviceOUI,
            hpnicfDevSerialNumber,
            hpnicfWirelessCardSerialNumber,
            hpnicfUIMImsi
        }
    STATUS      current
    DESCRIPTION
        "A hpnicfWirelessCardInserted notification is generated when a wireless
        card is inserted."
   ::= { hpnicf3GModemTrapPrefix 1 }

hpnicfWirelessCardPulledOut NOTIFICATION-TYPE
    OBJECTS
        {
            hpnicfDeviceOUI,
            hpnicfDevSerialNumber,
            hpnicfWirelessCardSerialNumber,
            hpnicfUIMImsi
        }
    STATUS      current
    DESCRIPTION
        "A hpnicfWirelessCardPulledOut notification is generated when a wireless
        card is pulled out."
   ::= { hpnicf3GModemTrapPrefix 2 }

hpnicfUIMPinInvalid NOTIFICATION-TYPE
    OBJECTS
        {
            hpnicfDeviceOUI,
            hpnicfDevSerialNumber,
            hpnicfWirelessCardSerialNumber,
            hpnicfUIMImsi
        }
    STATUS      current
    DESCRIPTION
        "A hpnicfUIMPinInvalid notification is generated when UIM PIN is invalid."
   ::= { hpnicf3GModemTrapPrefix 3 }

hpnicfUIMPinChanged NOTIFICATION-TYPE
    OBJECTS
        {
            hpnicfDeviceOUI,
            hpnicfDevSerialNumber,
            hpnicfWirelessCardSerialNumber,
            hpnicfUIMImsi,
            hpnicfUIMOldPin,
            hpnicfUIMPin
        }
    STATUS      current
    DESCRIPTION
        "A hpnicfUIMPinInvalid notification is generated when UIM PIN is changed."
   ::= { hpnicf3GModemTrapPrefix 4 }

hpnicfAccessMediaChanged NOTIFICATION-TYPE
    OBJECTS
        {
            hpnicfDeviceOUI,
            hpnicfDevSerialNumber,
            hpnicfWirelessCardSerialNumber,
            hpnicfUIMImsi,
            hpnicfAccessMedia
        }
    STATUS      current
    DESCRIPTION
        "A hpnicfAccessMediaChanged notification is generated when access media
         is changed."
   ::= { hpnicf3GModemTrapPrefix 5 }

hpnicf3GRssiStrongSignalTrap NOTIFICATION-TYPE
    OBJECTS
        {
            hpnicfWirelessCardIndex,
            hpnicfDeviceOUI,
            hpnicfDevSerialNumber,
            hpnicfWirelessCardSerialNumber,
            hpnicf3GCurrentService,
            hpnicf3GCurrentRssiBind,
            hpnicf3GImsiBind
        }
    STATUS      current
    DESCRIPTION
        "A hpnicf3GRssiStrongSignalTrap notification is generated when current RSSI
        exceeds the medium signal threshold."
   ::= { hpnicf3GModemTrapPrefix 6 }

hpnicf3GRssiMediumSignalTrap NOTIFICATION-TYPE
    OBJECTS
        {
            hpnicfWirelessCardIndex,
            hpnicfDeviceOUI,
            hpnicfDevSerialNumber,
            hpnicfWirelessCardSerialNumber,
            hpnicf3GCurrentService,
            hpnicf3GCurrentRssiBind,
            hpnicf3GImsiBind
        }
    STATUS      current
    DESCRIPTION
        "A hpnicf3GRssiMediumSignalTrap notification is generated when the current RSSI
        falls or rises to a value between the medium and weak signal thresholds."
   ::= { hpnicf3GModemTrapPrefix 7 }


hpnicf3GRssiWeakSignalTrap NOTIFICATION-TYPE
    OBJECTS
        {
            hpnicfWirelessCardIndex,
            hpnicfDeviceOUI,
            hpnicfDevSerialNumber,
            hpnicfWirelessCardSerialNumber,
            hpnicf3GCurrentService,
            hpnicf3GCurrentRssiBind,
            hpnicf3GImsiBind
        }
    STATUS      current
    DESCRIPTION
        "A hpnicf3GRssiWeakSignalTrap notification is generated when current RSSI
        falls below the weak signal threshold."
   ::= { hpnicf3GModemTrapPrefix 8 }

hpnicfSmsTxNotification NOTIFICATION-TYPE
    OBJECTS
        {
            hpnicfWirelessCardIndex,
            hpnicfSmsSendStatus
        }
    STATUS  current
    DESCRIPTION
        "A hpnicfSmsTxNotification notification is generated
        when a short message is sent."
    ::= { hpnicf3GModemTrapPrefix 9 }

hpnicfSmsRxNotification NOTIFICATION-TYPE
    OBJECTS
        {
            hpnicfWirelessCardIndex,
            hpnicfSmsSrcNumberBind,
            hpnicfSmsTimeBind,
            hpnicfSmsEncodeBind,
            hpnicfSmsContentBind
        }
    STATUS  current
    DESCRIPTION
        "A hpnicfSmsRxNotification notification is generated
        when a short message is recieved."
    ::= { hpnicf3GModemTrapPrefix 10 }

END
