-- ====================================================================
-- Copyright (c) 2011 by FS.COM Inc.. All rights reserved.
--
-- Description: The MIB is designed to get 3G wireless safenet solution statistic information.
-- Reference: fs Enterprise MIB
-- =====================================================================

FS-4G-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        DisplayString,TEXTUAL-CONVENTION,TimeStamp
            FROM SNMPv2-TC
        IpAddress, Integer32, Counter32, Counter64, OBJECT-TYPE,
        MODULE-IDENTITY, Gauge32, NOTIFICATION-TYPE, Unsigned32
            FROM SNMPv2-SMI
        MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
            FROM SNMPv2-CONF
        fsMgmt
            FROM FS-SMI;

    fs4GMonitor MODULE-IDENTITY
        LAST-UPDATED "201403110000Z"            
        ORGANIZATION
            "FS.COM Inc.."
        CONTACT-INFO
            "Tel: 400-865-2852 
             E-mail: https://www.fs.com/live_chat_service_mail.html"  
        DESCRIPTION
            "The MIB is designed to get statistic information of
             4G wireless safenet. With this MIB, we can get information of a certain
             4G user or all users."
        REVISION      "201403110000Z"
        DESCRIPTION
                "Initial version of this MIB module."
        ::= { fsMgmt 127 }       
                               
                       
-- ========================================================================
-- Node definitions
-- ========================================================================
--Begin the node of fs4gObjects.

    fs4GObjects OBJECT IDENTIFIER ::= { fs4GMonitor 1 }

-- ===============================================
-- Begin the table of fs4GTable.
-- ===============================================

    fs4GTable OBJECT-TYPE
        SYNTAX SEQUENCE OF FS4GEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The 4G connection infomation fot every user. There is one
             entry in this table for each active 4G connection."
        ::= { fs4GObjects 1 }

    fs4GEntry OBJECT-TYPE
        SYNTAX FS4GEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Information about fs4GTunnelTable."
        INDEX { fs4GRouterSlotNumber }
        ::= { fs4GTable 1 }
    
    FS4GEntry ::=
        SEQUENCE {
            fs4GUsername
                DisplayString,
            fs4GApn
                DisplayString,
            fs4GOnlineStatus
                INTEGER, 
            fs4GIMEI
                DisplayString,
            fs4GIPAddrType
                INTEGER,
            fs4GIPAddr
                IpAddress,
            fs4GUplineTime
                TimeStamp,
            fs4GActiveTime
                Integer32,
            fs4GRSRP
                Integer32,
            fs4GSignalStrengthPercent
                Integer32,
            fs4GISP
                INTEGER,
            fs4GSysMode
                INTEGER,
            fs4GServiceStatus                
                INTEGER,
            fs4GRoamingStatus
                INTEGER,
            fs4GDomain        
                INTEGER,
            fs4GSIMStatus
                INTEGER,
            fs4GCellID
                Integer32,
            fs4GLAC
                Integer32,
            fs4GIMSI
                DisplayString,
            fs4GPhoneNumber
                DisplayString,
            fs4GifIndex
                INTEGER,
            fs4GInOctets
                Counter64,
            fs4GOutOctets
                Counter64,
            fs4GInSpeed
                Counter64,
            fs4GOutSpeed
                Counter64,
            fs4GBSLONG
                Integer32,
            fs4GBSLAT
                Integer32,
            fs4GRouterType
                DisplayString,
            fs4GRouterSN
                DisplayString,
            fs4GRouterSlotNumber
                DisplayString,
            fs4GLineCardType
                DisplayString,
            fs4GDialdMode
		INTEGER,
            fs4GDialOnDemandIfIndex
                INTEGER,
            fs4GTrafficPreventMode
                INTEGER,
            fs4GTrafficPreventIfIndex
                INTEGER,
            fs4GTrafficPreventListID
                INTEGER,
            fs4GTrafficPreventListName
                DisplayString
        }
        
    fs4GUsername OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The Username of 4G User."
        ::= { fs4GEntry 1 }
    
    fs4GApn OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The access-point of 4G User."
        ::= { fs4GEntry 2 }
   
    fs4GOnlineStatus OBJECT-TYPE
        SYNTAX INTEGER
            {
                minimum-function(0),
                fully-function(1),
                offline-mode(2),
                sim-activate(3),
                sim-deactivate(4)
            }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "the status of 4G user. online or offline"
        ::= { fs4GEntry 3 }
    
    fs4GIMEI OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "the IMEI number of 4G user."
        ::= { fs4GEntry 4 }
    
    fs4GIPAddrType OBJECT-TYPE
         SYNTAX INTEGER {
            ipv4Addr(1),
            ipv6Addr(2)
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The IP Address type of remote user."
        ::= { fs4GEntry 5 }
    
    fs4GIPAddr OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The 4G remote users's IP address."
        ::= { fs4GEntry 6 }
    
    fs4GUplineTime OBJECT-TYPE
        SYNTAX TimeStamp
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The value of up line time for this 4G user."
        ::= { fs4GEntry 7 } 

    fs4GActiveTime OBJECT-TYPE
        SYNTAX Integer32 (0..2147483647)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The duration of the 4G connection has been active for one user. 
            2147483647 is defined as invalid value."
        ::= { fs4GEntry 8 }
    
    fs4GRSRP OBJECT-TYPE
        SYNTAX Integer32 (-150..0)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The RSRP of the 4G connection for this user."
        ::= { fs4GEntry 9 } 
    
    fs4GSignalStrengthPercent OBJECT-TYPE
        SYNTAX Integer32 (0..100)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The percent of signal strength of the 4G connection for this user."
        ::= { fs4GEntry 10 }
    
    fs4GISP OBJECT-TYPE
        SYNTAX INTEGER
            {   
                unknow(0),
                chinaUnicom(1),
                chinaTelecom(2),
                chinaMobile(3)            
            }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "the ISP of 4G networsk."
        ::= { fs4GEntry 11 }
    
    fs4GSysMode OBJECT-TYPE
        SYNTAX INTEGER
            {
                no-service(0),
                gsm-gprs(3),
                wcdma(5),
                td-scdma(15),
                lte(17)          
            }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "the system mode of 4G networsk."
        ::= { fs4GEntry 12 }
    
    fs4GServiceStatus OBJECT-TYPE
        SYNTAX INTEGER
            {
                noService(0),
                restricted(1),
                valid(2),
                restrictedRegional(3),
                powerSavingAndDeepSleepState(4)       
            }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "the sevice status of 4G user."
        ::= { fs4GEntry 13 }
    
    fs4GRoamingStatus OBJECT-TYPE
        SYNTAX INTEGER
            {
                noRoaming(0),
                roaming(1)       
            }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "the roaming status of 4G  user."
        ::= { fs4GEntry 14 }
    
    fs4GDomain OBJECT-TYPE
        SYNTAX INTEGER
            {
                noService(0),
                onlyCS(1),
                onlyPS(2),
                pSCS(3),
                ePS(4)
            }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "the Domain status of 4G user ."
        ::= { fs4GEntry 15 } 
    
    fs4GSIMStatus OBJECT-TYPE
        SYNTAX INTEGER
            {
                invalidUsimCard(0),
                validUsimCard(1),
                noUsimCard(255)         
            }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "the SIM card status of 4G user."
        ::= { fs4GEntry 16 }
        
    fs4GCellID OBJECT-TYPE
        SYNTAX Integer32 (0..100)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The access Cell id  of 4G User."
        ::= { fs4GEntry 17 }
        
      fs4GLAC OBJECT-TYPE
        SYNTAX Integer32 (0..100)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The Location Area Code  of 4G User."
        ::= { fs4GEntry 18 }
    
    fs4GIMSI OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The IMSI  of 4G User."
        ::= { fs4GEntry 19 } 
         
    fs4GPhoneNumber OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The Phone Number of 4G User."
        ::= { fs4GEntry 20 } 
        
    fs4GifIndex OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The Index of 4G Interface."
        ::= { fs4GEntry 21 } 
        
    fs4GInOctets OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The total number of octets received by this 4G user."
        ::= { fs4GEntry 22 }

    fs4GOutOctets OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The total number of octets sent by this 4G user."
        ::= { fs4GEntry 23 } 
 
    fs4GInSpeed OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The Speed(bps) of packets received by this 4G user."
        ::= { fs4GEntry 24 }

    fs4GOutSpeed OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The Speed(bps) of packets snet by this 4G user."
        ::= { fs4GEntry 25 }
    
    fs4GBSLONG OBJECT-TYPE
        SYNTAX Integer32 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The longitude of 4G User."
        ::= { fs4GEntry 26 } 

    fs4GBSLAT OBJECT-TYPE
        SYNTAX Integer32 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The latitude of 4G User."
        ::= { fs4GEntry 27 }
        
    fs4GRouterType OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Equipment tpye of 4G router."
        ::= { fs4GEntry 28 }

    fs4GRouterSN OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The serial number of 4G router."
        ::= { fs4GEntry 29 } 
 
    fs4GRouterSlotNumber OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of the activity slot in 4G router."
        ::= { fs4GEntry 30 }

    fs4GLineCardType OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The tpye of 4G router line card."
        ::= { fs4GEntry 31 }

    fs4GDialdMode OBJECT-TYPE
        SYNTAX INTEGER
            {
                auto-dial(0),
                dial-on-demand(1)
            }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The dial mode of 4G user "
        ::= { fs4GEntry 32 }

    fs4GDialOnDemandIfIndex OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The Index of trigger dial-up interface."
        ::= { fs4GEntry 33 }
		
    fs4GTrafficPreventMode OBJECT-TYPE
        SYNTAX INTEGER
            {
                disable(0),
                enable(1)
            }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The status of the traffic prevent function appliled currently "
        ::= { fs4GEntry 34 }
		
    fs4GTrafficPreventIfIndex OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The Index of traffic-prevent interface."
        ::= { fs4GEntry 35 }	

    fs4GTrafficPreventListID OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The Index of traffic-prevent Acl list id."
        ::= { fs4GEntry 36 }

    fs4GTrafficPreventListName OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The Index of traffic-prevent Acl list name."
        ::= { fs4GEntry 37 }	
	     

--Begin the node of fs4GTrap.

    fs4GTrap OBJECT IDENTIFIER ::= { fs4GMonitor 2 }

-- ===============================================
-- Begin the fs4GTrapObject.
-- ===============================================    
    fs4GNotifications OBJECT IDENTIFIER ::= { fs4GTrap 1 }
    
    fs4GUpLine NOTIFICATION-TYPE
        OBJECTS { fs4GRouterSlotNumber,	
                  fs4GIMSI,
                  fs4GUsername,
                  fs4GRouterSN,
                  fs4GPhoneNumber,
                  fs4GDialdMode,
                  fs4GDialOnDemandIfIndex,
                  fs4GTrafficPreventMode,
                  fs4GTrafficPreventIfIndex,
                  fs4GIPAddr,
                  fs4GTrafficPreventListID,
                  fs4GTrafficPreventListName
                }
        STATUS current
        DESCRIPTION
            "This notification is generated when 4G user up line."
        ::= { fs4GNotifications 1 }
    
    fs4GDownLine NOTIFICATION-TYPE
        OBJECTS { fs4GRouterSlotNumber,	
                  fs4GIMSI,
                  fs4GUsername,
                  fs4GRouterSN,
                  fs4GPhoneNumber,
                  fs4GDialdMode,
                  fs4GDialOnDemandIfIndex,
                  fs4GTrafficPreventMode,
                  fs4GTrafficPreventIfIndex,
                  fs4GIPAddr,
                  fs4GTrafficPreventListID,
                  fs4GTrafficPreventListName
                }
        STATUS current
        DESCRIPTION
            "This notification is generated when 4G user down line."
        ::= { fs4GNotifications 2 }
		
    fs4GSignalThreshold NOTIFICATION-TYPE
        OBJECTS {   fs4GRouterSlotNumber, 
                    fs4GIMSI, 
                    fs4GRSRP,
                    fs4GSignalStrengthPercent 
                }
        STATUS current
        DESCRIPTION
            "This notification is generated when 4G signal is lower 
            than the specific Threshold value."
        ::= { fs4GNotifications 3 }
                
    fs4GTrafficInformation NOTIFICATION-TYPE
        OBJECTS {   fs4GRouterSlotNumber,
                    fs4GIMSI,
                    fs4GInOctets,
                    fs4GOutOctets
                }
        STATUS current
        DESCRIPTION
            "This notification is used for reporting the traffic information of 4G user regularly. "
        ::= { fs4GNotifications 4 }
		
    fs4GBackupMaster NOTIFICATION-TYPE
        OBJECTS { fs4GRouterSlotNumber,	
                  fs4GIMSI,
                  fs4GUsername,
                  fs4GRouterSN,
                  fs4GPhoneNumber,
                  fs4GDialdMode,
                  fs4GDialOnDemandIfIndex,
                  fs4GTrafficPreventMode,
                  fs4GTrafficPreventIfIndex,
                  fs4GIPAddr,
                  fs4GTrafficPreventListID,
                  fs4GTrafficPreventListName
                }
        STATUS current
        DESCRIPTION
            "This notification is generated when 4G is switching to master line."
        ::= { fs4GNotifications 5 }
    
    fs4GBackupSlave NOTIFICATION-TYPE
        OBJECTS { fs4GRouterSlotNumber,	
                  fs4GIMSI,
                  fs4GUsername,
                  fs4GRouterSN,
                  fs4GPhoneNumber,
                  fs4GDialdMode,
                  fs4GDialOnDemandIfIndex,
                  fs4GTrafficPreventMode,
                  fs4GTrafficPreventIfIndex,
                  fs4GIPAddr,
                  fs4GTrafficPreventListID,
                  fs4GTrafficPreventListName
                }
        STATUS current
        DESCRIPTION
            "This notification is generated when 4G is switching to slave line."
        ::= { fs4GNotifications 6 }
    
END
