Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
app-notes:set-up-snmp [2025/01/23 14:38] – [4. Setting up an LXC container and then implementing Node RED] grayapp-notes:set-up-snmp [2025/08/29 14:32] (current) – [7. An overview of SNMP parameters and OIDs] gray
Line 14: Line 14:
  
   * NetModule Wireless Router with wireless connection   * NetModule Wireless Router with wireless connection
-  * NetModule Software [[https://share.netmodule.com/public/system-software/4.8/|4.8.0.x]] or newer +  * NetModule Software [[https://share.netmodule.com/public/system-software/5.0/|5.0.0.100]] or newer
-  * A license is required for the LXC container+
   * Not available for legacy products NB1600, NB2700, NB3700, NB3710   * Not available for legacy products NB1600, NB2700, NB3700, NB3710
 +
 +**
 +<WRAP center round important 95%>
 +The wiki was tested with router software 4.9.0.102 and the LXC container with Debian armhf bookworn.
 +</WRAP>
 +**
  
 ===== - Set up SNMP on the router ===== ===== - Set up SNMP on the router =====
Line 52: Line 57:
 For more information, you can also refer to the manual. For more information, you can also refer to the manual.
  
-  * NetModule manual 4.6.0.108 [[https://share.netmodule.com/public/system-software/4.6/4.6.0.108/NB2800_Manual_4.6.0.108.pdf| Manual PDF]] or+  * NetModule manual 4.6.0.109 [[https://share.netmodule.com/public/system-software/4.6/4.6.0.109/NB2800_Manual_4.6.0.109.pdf| Manual PDF]] or
  
-  * NetModule manual 4.8.0.103 [[https://share.netmodule.com/public/system-software/4.8/4.8.0.103/NB2800_Manual_4.8.0.103.pdf| Manual PDF]] +  * NetModule manual 4.8.0.105 [[https://share.netmodule.com/public/system-software/4.8/4.8.0.105/NB2800_Manual_4.8.0.105.pdf| Manual PDF]] or newer
  
 +----
 +
 +   * SNMP Overview of OIDs and Access to Them / [[app-notes:snmp-overview]]
 +
 +----
 ===== - Setting up the SNMP client side for the query ===== ===== - Setting up the SNMP client side for the query =====
  
Line 125: Line 135:
 VENDOR-MIB.txt VENDOR-MIB.txt
 </konsole> </konsole>
 +
 +----
  
 ===== - Run some SNMP queries for testing and to see which queries are possible ===== ===== - Run some SNMP queries for testing and to see which queries are possible =====
Line 171: Line 183:
 </konsole> </konsole>
  
 +----
  
 ===== - Setting up an LXC container and then implementing Node RED ===== ===== - Setting up an LXC container and then implementing Node RED =====
Line 179: Line 191:
 ---- ----
  
-* Set up an LXC container / [[app-notes:set-up-lxc]]+      * Set up an LXC container / [[app-notes:set-up-lxc]]
  
 ---- ----
Line 185: Line 197:
 Once the LXC container has been installed, we can install Node-RED. Once the LXC container has been installed, we can install Node-RED.
  
- +For further installation, we need the ''curl'' program and the ''npm'' package on the container. We will then deploy Node-RED on the router using a script.
-For the further installation, we need the ''curl'' program on the container. We will then roll out Node-RED on the router using a script.+
  
 <konsole> <konsole>
Line 201: Line 212:
 root@LXCNAME:/# root@LXCNAME:/#
 </konsole> </konsole>
 +
 +<konsole>
 +root@LXCNAME:/# apt install npm 
 +Reading package lists... Done
 +Building dependency tree... Done
 +Reading state information... Done
 +The following additional packages will be installed:
 +binutils binutils-arm-linux-gnueabihf binutils-common build-essential
 +...
 +x11-utils x11-xserver-utils xdg-user-dirs xdg-utils xz-utils zutty
 +0 upgraded, 614 newly installed, 0 to remove and 0 not upgraded.
 +Need to get 169 MB of archives.
 +After this operation, 684 MB of additional disk space will be used.
 +...
 +done.
 +root@LXCNAME:/#
 +</konsole>
 +
  
 Next, the Node-RED program is installed via a script file. Next, the Node-RED program is installed via a script file.
 +
 +Further information on the installation script can be found at this link.
 +
 + * Node-RED script information [[https://github.com/node-red/linux-installers| github link]] 
 +
 +**
 +<WRAP center round important 70%>
 +Node-RED core is installed in version 4.0.9 and Node.js in version 18.19.0.
 +</WRAP>
 +**
  
 The script command for this: The script command for this:
-''bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered) --node18"''+<code> 
 +bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/ 
 +master/deb/update-nodejs-and-nodered)  
 +</code>
  
 <konsole> <konsole>
Line 215: Line 257:
  
 Are you really sure you want to install as root ? (y/N) ? ''y'' Are you really sure you want to install as root ? (y/N) ? ''y''
 +</konsole>
  
-If I want to see the installation steps, please also say ''yes'' here 
  
 +
 +<konsole>
 +If I want to see the installation steps, please also say ''yes'' here
 Are you really sure you want to do this ? [y/N] ? ''y'' Are you really sure you want to do this ? [y/N] ? ''y''
  
 I don't have a Pi where I install Node-RED on it, so ''no'' here I don't have a Pi where I install Node-RED on it, so ''no'' here
- 
 Would you like to install the Pi-specific nodes ? [y/N] ? ''n'' Would you like to install the Pi-specific nodes ? [y/N] ? ''n''
 +</konsole>
  
 +<konsole>
 Running Node-RED update for user root at /root on debian Running Node-RED update for user root at /root on debian
-Stop Node-RED                       \u2714+  Stop Node-RED                       \u2714
   Remove old version of Node-RED      \u2714   Remove old version of Node-RED      \u2714
-  Remove old version of Node.js       \u2714   20.18.2-1nodesource1 +  Remove old version of Node.js       \u2714   18.19.0+dfsg-6~deb12u2 
-  Install Node 18.20.6-1nodesource1   \u2714   v18.20.  Npm 10.8.2+  Install Node 18.20.6-1nodesource1   \u2714   v18.20.  Npm 10.8.2
   Clean npm cache                     \u2714   Clean npm cache                     \u2714
-  Install Node-RED core               \u2714   4.0.8+  Install Node-RED core               \u2714   4.0.9
   Move global nodes to local          -   Move global nodes to local          -
   Npm rebuild existing nodes          \u2714   Npm rebuild existing nodes          \u2714
   Install extra Pi nodes              -   Install extra Pi nodes              -
   Add shortcut commands               \u2714   Add shortcut commands               \u2714
-  Update systemd script               \u2714 +  Update systemd script               \u2714                                      
-                                       +  Any errors will be logged to   /var/log/nodered-install.log
-Any errors will be logged to   /var/log/nodered-install.log+
 All done. All done.
 </konsole> </konsole>
  
 +Further settings for the Node-Red interface 
 +
 +The script command for this: 
 +<code>
 +root@LXCNAME:~# node-red admin init
 +</code>
 +
 +<konsole>
 +✔ Settings file · /root/.node-red/settings.js
 +? That file already exists. Are you sure you want to overwrite it? … 
 +▸ Yes
 +▸ No
 +
 +User Security
 +=============
 +? Do you want to setup user security? … 
 +▸ Yes
 +▸ No
 +</konsole>
 +
 +<konsole>
 +✔ Do you want to setup user security? · Yes
 +✔ Username · admin
 +✔ Password · *********
 +? User permissions … 
 +▸ full access
 +▸ read-only access
 +
 +? Add another user? … 
 +▸ Yes
 +▸ No
 +</konsole>
 +
 +<konsole>
 +✔ Do you want to enable the Projects feature? … 
 +▸ Yes
 +▸ No
 +
 +✔ Do you want to enable the Projects feature? · Yes
 +? What project workflow do you want to use? … 
 +▸ manual - you must manually commit changes
 +▸ auto - changes are automatically committed
 +</konsole>
 +
 +<konsole>
 +Editor settings
 +===============
 +? Select a theme for the editor. To use any theme other than "default", you will need to install @node-red-contrib-themes/theme-collection in your Node-RED user directory. … 
 +▸ default
 +* aurora
 +* cobalt2
 +* dark
 +* dracula
 +* espresso-libre
 +* midnight-red
 +* monoindustrial
 +* monokai
 +* oceanic-next
 +* oled
 +* solarized-dark
 +* solarized-light
 +* tokyo-night
 +* zenburn
 +</konsole>
 +
 +<konsole>
 +✔ Select the text editor component to use in the Node-RED Editor … 
 +▸ monaco (default)
 +▸ ace
 +
 +Node settings
 +=============
 +? Allow Function nodes to load external modules? (functionExternalModules) … 
 +▸ Yes
 +▸ No
 +</konsole>
 +
 +
 +
 +If you want to test the whole thing first, you can start the Node-RED server manually by entering the command ''"node-red-start"''
 +
 +<konsole>
 +root@LXCNAME:/# node-red-start
 +Start Node-RED
 +23 Jan 14:41:17 - [info]
 +Welcome to Node-RED
 +===================
 +</konsole>
 +
 +If you want this to happen automatically when you start the LXC container, you have to set it up with the command ''"systemctl enable nodered.service"''.
 +
 +<konsole>
 +root@LXCNAME:/# systemctl enable nodered.service
 +Created symlink /etc/systemd/system/multi-user.target.wants/nodered.service → /lib/systemd/system/nodered.service.
 +root@LXCNAME:/#
 +</konsole>
 +
 +Once you have stored the systemctl for Node-RED, you still have to restart the container for the service to start.
 +
 +You can access the Node-RED interface via a web browser. Simply enter the IP address of the container and port 1880.
 +
 +The Node-RED interface will then be displayed.
 +
 +{{:pictures:node-red.png?800|}}
 +
 +----
 +
 +
 +===== - Installing further app-nodes via palette management =====
 +
 +For Node-RED, further ''"app nodes"'' need to be installed.
 +
 +On the right side of the web interface, you can install additional nodes for Node-RED.
 +A tab opens under point 1. You can install the nodes under point 2.
 +
 +{{ :app-notes:nodes_install.png?400 |}}
 +
 +A separate window will open for the installation, where you can carry out the installation.
 +The ''“Installation”'' item is responsible for installation. You can search for existing nodes and install them under the search field in item 2.
 +
 +{{:app-notes:snmp_node_install.png?800|}}
 +
 +After installation, the new nodes are available on the left side of the web interface.
 +
 +{{ :app-notes:new_nodes_snmp.png?400 |}}
 +
 +----
 +
 +This SNMP example can be inserted using the Import function.
 +The tab is located on the rights page of the web interface.
 +
 +{{ :app-notes:snmp_import.png?400 |}}
 +
 +A separate window will open again. You can import a file or copy the code directly into the field.
 +
 +{{ :app-notes:code_import.png?800 |}}
 +
 +You can copy the code directly into the field here.
 +
 +++++show code| 
 +<code - snmp_flow.json>
 +[
 +    {
 +        "id": "0f8b45d24400e10c",
 +        "type": "inject",
 +        "z": "d569c6febec62c83",
 +        "name": "",
 +        "props": [
 +            {
 +                "p": "payload"
 +            }
 +        ],
 +        "repeat": "",
 +        "crontab": "",
 +        "once": false,
 +        "onceDelay": 0.1,
 +        "topic": "",
 +        "payload": "",
 +        "payloadType": "date",
 +        "x": 380,
 +        "y": 2920,
 +        "wires": [
 +            [
 +                "610cbd94bd2086d8",
 +                "c404300970958915"
 +            ]
 +        ]
 +    },
 +    {
 +        "id": "610cbd94bd2086d8",
 +        "type": "snmp",
 +        "z": "d569c6febec62c83",
 +        "host": "192.168.1.1",
 +        "version": "2c",
 +        "timeout": 5,
 +        "community": "admin",
 +        "auth": "noAuthNoPriv",
 +        "authprot": "MD5",
 +        "privprot": "DES",
 +        "oids": "1.3.6.1.4.1.31496.10.40.3.0",
 +        "name": "Serial Number 192.168.1.1",
 +        "x": 660,
 +        "y": 2920,
 +        "wires": [
 +            [
 +                "0122e94d25b84f22"
 +            ]
 +        ]
 +    },
 +    {
 +        "id": "c404300970958915",
 +        "type": "snmp walker",
 +        "z": "d569c6febec62c83",
 +        "host": "192.168.1.1",
 +        "version": "2c",
 +        "timeout": 5,
 +        "community": "admin",
 +        "auth": "noAuthNoPriv",
 +        "authprot": "MD5",
 +        "privprot": "DES",
 +        "oids": "1.3.6.1.4.1.31496",
 +        "name": "",
 +        "x": 650,
 +        "y": 3060,
 +        "wires": [
 +            [
 +                "99c7a99a86a6fcc4"
 +            ]
 +        ]
 +    },
 +    {
 +        "id": "0122e94d25b84f22",
 +        "type": "debug",
 +        "z": "d569c6febec62c83",
 +        "name": "Serial Number",
 +        "active": true,
 +        "tosidebar": true,
 +        "console": false,
 +        "tostatus": false,
 +        "complete": "payload",
 +        "targetType": "msg",
 +        "statusVal": "",
 +        "statusType": "auto",
 +        "x": 960,
 +        "y": 2920,
 +        "wires": []
 +    },
 +    {
 +        "id": "99c7a99a86a6fcc4",
 +        "type": "debug",
 +        "z": "d569c6febec62c83",
 +        "name": "debug 2",
 +        "active": true,
 +        "tosidebar": true,
 +        "console": false,
 +        "tostatus": false,
 +        "complete": "false",
 +        "statusVal": "",
 +        "statusType": "auto",
 +        "x": 940,
 +        "y": 3060,
 +        "wires": []
 +    }
 +]
 +</code>
 +++++
 +
 +After execution, these objects are stored in the flow.
 +
 +{{ :app-notes:snmp_flow.png?800 |}}
 +
 +When this node is executed, the serial number is output by the router under this OID.
 +
 +{{ :app-notes:snmp_debug.png?400 |}}
 +
 +----
 +
 +===== - Receiving SNMP traps in Node-RED =====
 +
 +
 +For SNMP traps, the node ''“snmp-trap-listener”'' must be installed.
 +
 +{{ :app-notes:snmp_trap_install.png?800 |}}
 +
 +On the lens side of the web interface, the nodes are added under ''“Input”''.
 +
 +{{ :app-notes:snmp_trap_flow.png?400 |}}
 +
 +----
 +
 +Insert the node back into the flow using the import function.
 +
 +++++show code| 
 +<code - trap_flow.json>
 +[
 +    {
 +        "id": "f34feb8de1ea8e2b",
 +        "type": "snmp-trap-listener",
 +        "z": "2a7afdf73f55f989",
 +        "port": 162,
 +        "snmpV1": false,
 +        "snmpV2": false,
 +        "snmpV3": true,
 +        "communities": [
 +            {
 +                "community": "admin"
 +            }
 +        ],
 +        "users": [
 +            {
 +                "name": "admin",
 +                "authProtocol": "sha",
 +                "authKey": "admin2025",
 +                "privProtocol": "aes",
 +                "privKey": "admin2025"
 +            }
 +        ],
 +        "ipfilter": "192.168.1.0",
 +        "ipmask": "24",
 +        "x": 370,
 +        "y": 520,
 +        "wires": [
 +            [
 +                "d4affa97afa2f8a9"
 +            ]
 +        ]
 +    },
 +    {
 +        "id": "d4affa97afa2f8a9",
 +        "type": "debug",
 +        "z": "2a7afdf73f55f989",
 +        "name": "Digital DO1",
 +        "active": true,
 +        "tosidebar": true,
 +        "console": false,
 +        "tostatus": false,
 +        "complete": "payload",
 +        "targetType": "msg",
 +        "statusVal": "",
 +        "statusType": "auto",
 +        "x": 630,
 +        "y": 520,
 +        "wires": []
 +    }
 +]
 +</code>
 +++++
 +
 +After execution, these objects are stored in the flow. 
 +
 +{{ :app-notes:snmp_trap_import.png?800 |}}
 +
 +----
 +
 +Store an SNMP trap event on the router for Dio-out1.
 +
 +{{ :app-notes:snmp_events_trap.png?800 |}}
 +
 +Under tcpdump, make a recording of the SNMP trap when switching from dio-out1.
 +
 +<konsole>
 +$ tcpdump -i any -n  port 162
 +tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
 +listening on any, link-type LINUX_SLL (Linux cooked v1), capture size 262144 bytes
 +00:27:14.842826 IP 192.168.1.1.55303 > 192.168.1.100.162:  F=ap U="admin" [!scoped PDU]aa_86_be_0e_08_24_23_1d_15_aa_40_02_bc_4d_ff_c7_cd_4d_c2_af_9c_e3_37_c8_75_00_ff_a2_07_d9_df_c9_38_ab_27_d8_b0_a2_0f_08_31_cb_eb_2b_f5_53_d4_4e_6e_e6_15_40_9b_75_c8_02_e2_12_a7_48_2e_65_ad_6f_e7_aa_7a_f6_64_71_ef_4f_13_53_27_0c_15_78_fb_16_ef_aa_e0_5c
 +00:27:14.842907 IP 192.168.1.1.55303 > 192.168.1.100.162:  F=ap U="admin" [!scoped PDU]aa_86_be_0e_08_24_23_1d_15_aa_40_02_bc_4d_ff_c7_cd_4d_c2_af_9c_e3_37_c8_75_00_ff_a2_07_d9_df_c9_38_ab_27_d8_b0_a2_0f_08_31_cb_eb_2b_f5_53_d4_4e_6e_e6_15_40_9b_75_c8_02_e2_12_a7_48_2e_65_ad_6f_e7_aa_7a_f6_64_71_ef_4f_13_53_27_0c_15_78_fb_16_ef_aa_e0_5c
 +</konsole>
 +
 +When this node is executed, the SNMP trap is issued by the router under this OID.
 +
 +{{ :app-notes:snmp_trap_debug.png?400 |}}
 +
 +Information about the OIDs of the trap output.
 +
 +<konsole>
 +dio-out1-on NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "DIO OUT1 turned on"
 +    ::= { events 205 }
 +</konsole>
 +
 +An overview of OID traps:
 +
 +++++show code| 
 +<code - OID_trap.txt>
 +
 +
 +-- ****************************************************************************
 +-- trap objects
 +-- ****************************************************************************
 +
 +
 +events          OBJECT IDENTIFIER ::= { traps 0 }
 +
 +sdk-trap NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "SDK trap"
 +    ::= { events 1 }
 +
 +wan-up NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "WAN link came up"
 +    ::= { events 101 }
 +
 +wan-down NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "WAN link went down"
 +    ::= { events 102 }
 +
 +dio-in1-on NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "DIO IN1 turned on"
 +    ::= { events 201 }
 +
 +dio-in1-off NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "DIO IN1 turned off"
 +    ::= { events 202 }
 +
 +dio-in2-on NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "DIO IN2 turned on"
 +    ::= { events 203 }
 +
 +dio-in2-off NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "DIO IN2 turned off"
 +    ::= { events 204 }
 +
 +dio-out1-on NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "DIO OUT1 turned on"
 +    ::= { events 205 }
 +
 +dio-out1-off NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "DIO OUT1 turned off"
 +    ::= { events 206 }
 +
 +dio-out2-on NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "DIO OUT2 turned on"
 +    ::= { events 207 }
 +
 +dio-out2-off NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "DIO OUT2 turned off"
 +    ::= { events 208 }
 +
 +gps-up NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "GPS signal is available"
 +    ::= { events 301 }
 +
 +gps-down NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "GPS signal is not available"
 +    ::= { events 302 }
 +
 +openvpn-up NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "OpenVPN connection came up"
 +    ::= { events 401 }
 +
 +openvpn-down NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "OpenVPN connection went down"
 +    ::= { events 402 }
 +
 +ipsec-up NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "IPsec connection came up"
 +    ::= { events 403 }
 +
 +ipsec-down NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "IPsec connection went down"
 +    ::= { events 404 }
 +
 +pptp-up NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "PPTP connection came up"
 +    ::= { events 406 }
 +
 +pptp-down NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "PPTP connection went down"
 +    ::= { events 407 }
 +
 +mobileip-up NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "Mobile IP connection came up"
 +    ::= { events 410 }
 +
 +mobileip-down NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "Mobile IP connection went down"
 +    ::= { events 411 }
 +
 +gre-up NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "GRE connection came up"
 +    ::= { events 412 }
 +
 +gre-down NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "GRE connection went down"
 +    ::= { events 413 }
 +
 +l2tp-up NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "L2TP connection came up"
 +    ::= { events 414 }
 +
 +l2tp-down NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "L2TP connection went down"
 +    ::= { events 415 }
 +
 +system-login-failed NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "User login failed"
 +    ::= { events 501 }
 +
 +system-login-succeeded NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "User login succeeded"
 +    ::= { events 502 }
 +
 +system-logout NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "User logged out"
 +    ::= { events 503 }
 +
 +system-rebooting NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "System reboot has been triggered"
 +    ::= { events 504 }
 +
 +system-startup NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "System has been started"
 +    ::= { events 505 }
 +
 +test NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "test event"
 +    ::= { events 506 }
 +
 +sdk-startup NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "SDK has been started"
 +    ::= { events 507 }
 +
 +system-time-updated NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "System time has been updated"
 +    ::= { events 508 }
 +
 +system-poweroff NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "System poweroff has been triggered"
 +    ::= { events 509 }
 +
 +system-error NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "System is in error state"
 +    ::= { events 510 }
 +
 +system-no-error NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "System left error state"
 +    ::= { events 511 }
 +
 +sms-sent NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "SMS has been sent"
 +    ::= { events 601 }
 +
 +sms-notsent NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "SMS has not been sent"
 +    ::= { events 602 }
 +
 +sms-received NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "SMS has been received"
 +    ::= { events 603 }
 +
 +sms-report-received NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "SMS report has been received"
 +    ::= { events 604 }
 +
 +call-incoming NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "A voice call is coming in"
 +    ::= { events 701 }
 +
 +call-outgoing NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "Outgoing voice call is being established"
 +    ::= { events 702 }
 +
 +ddns-update-succeeded NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "Dynamic DNS update succeeded"
 +    ::= { events 801 }
 +
 +ddns-update-failed NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "Dynamic DNS update failed"
 +    ::= { events 802 }
 +
 +usb-storage-added NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "USB storage device has been added"
 +    ::= { events 901 }
 +
 +usb-storage-removed NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "USB storage device has been removed"
 +    ::= { events 902 }
 +
 +usb-eth-added NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "USB Ethernet device has been added"
 +    ::= { events 903 }
 +
 +usb-eth-removed NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "USB Ethernet device has been removed"
 +    ::= { events 904 }
 +
 +usb-serial-added NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "USB serial device has been added"
 +    ::= { events 905 }
 +
 +usb-serial-removed NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "USB serial device has been removed"
 +    ::= { events 906 }
 +
 +redundancy-master NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "System is now master router"
 +    ::= { events 1001 }
 +
 +redundancy-backup NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "System is now backup router"
 +    ::= { events 1002 }
 +
 +poe-off NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "POE turned off"
 +    ::= { events 1101 }
 +
 +poe-on NOTIFICATION-TYPE
 +    STATUS current
 +    DESCRIPTION "POE turned on"
 +    ::= { events 1102 }
 +
 +
 +
 +</code>
 +++++
 +
 +----
 +
 +===== - Overview of SNMP trap parameters and OIDs =====
 +
 +
 +| **The VENDOR-MIB tables**                                                                                                             ||||
 +| OID Name                                          | Datatype  | OID                               | Values                               |
 +| **NB Admin Table [.1.3.6.1.4.1.31496.10.0.100]**                                                |||                                      |
 +| SDK trap                                          | STRING    | .1.3.6.1.4.1.31496.10.0.100.1      events 1                            |
 +| WAN link came up                                  | STRING    | .1.3.6.1.4.1.31496.10.0.100.101    events 101                          |
 +| WAN link went down                                | STRING    | .1.3.6.1.4.1.31496.10.0.100.102    events 102                          |
 +| DIO IN1 turned on                                 | STRING    | .1.3.6.1.4.1.31496.10.0.100.201    events 201                          |
 +| DIO IN1 turned off                                | STRING    | .1.3.6.1.4.1.31496.10.0.100.202    events 202                          |
 +| DIO IN2 turned on                                 | STRING    | .1.3.6.1.4.1.31496.10.0.100.203    events 203                          |
 +| DIO IN2 turned off                                | STRING    | .1.3.6.1.4.1.31496.10.0.100.204    events 204                          |
 +| DIO OUT1 turned on                                | STRING    | .1.3.6.1.4.1.31496.10.0.100.205    events 205                          |
 +| DIO OUT1 turned off                               | STRING    | .1.3.6.1.4.1.31496.10.0.100.206    events 206                          |
 +| DIO OUT2 turned on                                | STRING    | .1.3.6.1.4.1.31496.10.0.100.207    events 207                          |
 +| DIO OUT2 turned off                               | STRING    | .1.3.6.1.4.1.31496.10.0.100.208    events 208                          |
 +| GPS signal is available                           | STRING    | .1.3.6.1.4.1.31496.10.0.100.301    events 301                          |
 +| GPS signal is not available                       | STRING    | .1.3.6.1.4.1.31496.10.0.100.302    events 302                          |
 +| OpenVPN connection came up                        | STRING    | .1.3.6.1.4.1.31496.10.0.100.401    events 401                          |
 +| OpenVPN connection went down                      | STRING    | .1.3.6.1.4.1.31496.10.0.100.402    events 402                          |
 +| IPsec connection came up                          | STRING    | .1.3.6.1.4.1.31496.10.0.100.403    events 403                          |
 +| IPsec connection went down                        | STRING    | .1.3.6.1.4.1.31496.10.0.100.404    events 404                          |
 +| PPTP connection came up                           | STRING    | .1.3.6.1.4.1.31496.10.0.100.406    events 406                          |
 +| PPTP connection went down                         | STRING    | .1.3.6.1.4.1.31496.10.0.100.407    events 407                          |
 +| Mobile IP connection came up                      | STRING    | .1.3.6.1.4.1.31496.10.0.100.410    events 410                          |
 +| Mobile IP connection went down                    | STRING    | .1.3.6.1.4.1.31496.10.0.100.411    events 411                          |
 +| GRE connection came up                            | STRING    | .1.3.6.1.4.1.31496.10.0.100.412    events 412                          |
 +| GRE connection went down                          | STRING    | .1.3.6.1.4.1.31496.10.0.100.413    events 413                          |
 +| L2TP connection came up                           | STRING    | .1.3.6.1.4.1.31496.10.0.100.414    events 414                          |
 +| L2TP connection went down                         | STRING    | .1.3.6.1.4.1.31496.10.0.100.415    events 415                          |
 +| User login failed                                 | STRING    | .1.3.6.1.4.1.31496.10.0.100.501    events 501                          |
 +| User login succeeded                              | STRING    | .1.3.6.1.4.1.31496.10.0.100.502    events 502                          |
 +| User logged out                                   | STRING    | .1.3.6.1.4.1.31496.10.0.100.503    events 503                          |
 +| System reboot has been triggered                  | STRING    | .1.3.6.1.4.1.31496.10.0.100.504    events 504                          |
 +| System has been started                           | STRING    | .1.3.6.1.4.1.31496.10.0.100.505    events 505                          |
 +| test event                                        | STRING    | .1.3.6.1.4.1.31496.10.0.100.506    events 506                          |
 +| SDK has been started                              | STRING    | .1.3.6.1.4.1.31496.10.0.100.507    events 507                          |
 +| System time has been updated                      | STRING    | .1.3.6.1.4.1.31496.10.0.100.508    events 508                          |
 +| System poweroff has been triggered                | STRING    | .1.3.6.1.4.1.31496.10.0.100.509    events 509                          |
 +| System is in error state                          | STRING    | .1.3.6.1.4.1.31496.10.0.100.510    events 510                          |
 +| System left error state                           | STRING    | .1.3.6.1.4.1.31496.10.0.100.511    events 511                          |
 +| SMS has been sent                                 | STRING    | .1.3.6.1.4.1.31496.10.0.100.601    events 601                          |
 +| SMS has not been sent                             | STRING    | .1.3.6.1.4.1.31496.10.0.100.602    events 602                          |
 +| SMS has been received                             | STRING    | .1.3.6.1.4.1.31496.10.0.100.603    events 603                          |
 +| SMS report has been received                      | STRING    | .1.3.6.1.4.1.31496.10.0.100.604    events 604                          |
 +| A voice call is coming in                         | STRING    | .1.3.6.1.4.1.31496.10.0.100.701    events 701                          |
 +| Outgoing voice call is being established          | STRING    | .1.3.6.1.4.1.31496.10.0.100.702    events 702                          |
 +| Dynamic DNS update succeeded                      | STRING    | .1.3.6.1.4.1.31496.10.0.100.801    events 801                          |
 +| Dynamic DNS update failed                         | STRING    | .1.3.6.1.4.1.31496.10.0.100.802    events 802                          |
 +| USB storage device has been added                 | STRING    | .1.3.6.1.4.1.31496.10.0.100.901    events 901                          |
 +| USB storage device has been removed               | STRING    | .1.3.6.1.4.1.31496.10.0.100.902    events 902                          |
 +| USB Ethernet device has been added                | STRING    | .1.3.6.1.4.1.31496.10.0.100.903    events 903                          |
 +| USB Ethernet device has been removed              | STRING    | .1.3.6.1.4.1.31496.10.0.100.904    events 904                          |
 +| USB serial device has been added                  | STRING    | .1.3.6.1.4.1.31496.10.0.100.905    events 905                          |
 +| USB serial device has been removed                | STRING    | .1.3.6.1.4.1.31496.10.0.100.906    events 906                          |
 +| System is now master router                       | STRING    | .1.3.6.1.4.1.31496.10.0.100.1001  |  events 1001                         |
 +| System is now backup router                       | STRING    | .1.3.6.1.4.1.31496.10.0.100.1002  |  events 1002                         |
 +| POE turned off                                    | STRING    | .1.3.6.1.4.1.31496.10.0.100.1101  |  events 1101                         |
 +| POE turned on                                     | STRING    | .1.3.6.1.4.1.31496.10.0.100.1102  |  events 1102                         |