Diagnostics and Stream Statistics

Prev Next

Diagnostics

The Diagnostics page offer information and functions useful for checking Zephyr iPort PLUS for proper operation, and for troubleshooting should problems arise. There are three ways that you can be alerted to problems and obtain diagnostics.

Syslog – Problems can be logged to an external standard Linux-style syslog device. Syslog is mostly intended for our engineers. Should you have a problem that might be diagnosable via these logs, our support people will ask you to download and email us the files.

In the Diagnostics page, you can set the Syslog severity level filter to determine how much detail you want. On the low end of the scale, 'Emergency: system is unusable', will only bother you when the system has crashed. At the other end of the spectrum is 'Notice: normal but significant condition', for a more proactive information flow. Syslog error events and thresholds are set up individually for each codec under the Options section.

SNMP – Zephyr iPort PLUS uses SNMP (Simple Network Management Protocol) to provide diagnostic information about software version and product ID, device status, Livewire interface and codecs.

Internal Log - Zephyr iPort PLUS can log problems with various levels of detail to either an internal or external file that can be downloaded and inspected. The internal file is the easiest to use. Simply download it with a web browser. Note however that this file is really a loop in RAM, meaning that when it is full, it starts to overwrite the old records. About 10K lines of text can be recorded. Note also that this log is in volatile memory, so it will be lost after a reboot.

On the other hand, the external file requires a simple client to be run on a PC, but the amount of data is not limited, and the log will not be lost when Zephyr iPort PLUS is rebooted.

All three of these options are configured from the Diagnostics page.

Additionally, if you purchased the Content Delay option, there is a Storage Maintenance section where you can check up on the health of the solid state drive, scan, format storage, and delete unwanted audio content.

SNMP Configuration

SNMP (Simple Network Management Protocol), enables a management workstation or another SNMP client application on the same LAN to communicate directly with Zephyr iPort PLUS, and for the iPort to initiate an alarm on the network. Although the S in SNMP stands for Simple, the reality can be anything but. SNMP is a complex utility, and the ground rules really depend on whatever SNMP Manager you are using. Be sure to read and understand the instructions for your SNMP Manager. Having done all of that, it may also be a good idea to have a current networking reference textbook close at hand.

Zephyr iPort PLUS will interface directly with an SNMP Manager. It communicates through an MIB (Management Information Base) The MIB is a definition file that presents the management data in a more human-friendly manner. Let's look at an example.

The raw data is ordered in a tree structure, where every item has a tree-based identifier, such as “1.3.6.1.4.1.42463.1.11”, for example. SNMP protocol itself can only deliver these raw numeric id’s. The MIB file associates meaning with the position in the tree. Now, if the same MIB is used at the both ends, you can better understand what's going on. For example, if your SNMP client does not have MIB, it will display:

1.3.6.1.4.1.42463.1.11 = “2.0.0a”

On the other hand, if the Zephyr iPort PLUS MIB is uploaded to the SNMP client, it will display:

active software version = “2.0.0a”

Note that with the current firmware version, Zephyr iPort PLUS does not make its MIB file available for downloading, but you can download it here

The following text summarizes the contents of the MIB file in Zephyr iPort PLUS:

TELOS-MIB DEFINITIONS ::= BEGIN

-- MIB for Telos products

IMPORTS
	enterprises    		              FROM RFC1155-SMI
	TRAP-TYPE                             FROM RFC-1215
	OBJECT-TYPE                           FROM RFC-1212;

Telos	 	 	OBJECT IDENTIFIER ::= { enterprises 42463 }
system	 	 	OBJECT IDENTIFIER ::= { Telos 1 }
device-status	 	OBJECT IDENTIFIER ::= { Telos 2 }
Livewire-interface	OBJECT IDENTIFIER ::= { Telos 3 }
codecs			OBJECT IDENTIFIER ::= { Telos 10 }


--
--  system
--


-- product id
product-id OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..20))
    ACCESS      read-only
    STATUS      optional
    DESCRIPTION
	"Device's product id (engine, PS, iPort)."
    ::= { system 10 }

-- software version
software-version OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..40))
    ACCESS      read-only
    STATUS      optional
    DESCRIPTION
	"Device's active software version."
    ::= { system 11 }


--
--  device status
--

device-status-traps	 OBJECT IDENTIFIER ::= { device-status 2 }

-- operational state change
trap-operational-state-change    TRAP-TYPE
    ENTERPRISE  device-status-traps
    VARIABLES   {operational-state}
    DESCRIPTION
        "Trap, operational state changed"
    ::= 10 

-- CPU temp-normal
trap-CPU-temp-normal    TRAP-TYPE
    ENTERPRISE  device-status-traps
    VARIABLES   {CPU-temp}
    DESCRIPTION
        "Trap, CPU temperature normal"
    ::= 11  

-- CPU temp-high
trap-CPU-temp-high    TRAP-TYPE
    ENTERPRISE  device-status-traps
    VARIABLES   {CPU-temp}
    DESCRIPTION
        "Trap, CPU temperature high"
    ::= 12 

-- CPU load-normal
trap-CPU-load-normal    TRAP-TYPE
    ENTERPRISE  device-status-traps
    VARIABLES   {CPU-load}
    DESCRIPTION
        "Trap, CPU load normal"
    ::= 13 

-- CPU load-high
trap-CPU-load-high    TRAP-TYPE
    ENTERPRISE  device-status-traps
    VARIABLES   {CPU-load}
    DESCRIPTION
        "Trap, CPU load high"
    ::= 14 

-- CPU load-critical
trap-CPU-load-critical    TRAP-TYPE
    ENTERPRISE  device-status-traps
    VARIABLES   {CPU-load}
    DESCRIPTION
        "Trap, CPU load critical"
    ::= 15 

--  end device status traps


-- operational state
operational-state     OBJECT-TYPE
    SYNTAX      INTEGER { ok(1),
			 generalError(2)
			}
    ACCESS      read-only
    STATUS      optional
    DESCRIPTION
	"ok or general error"
    ::= { device-status 10 }


-- CPU temp
CPU-temp        OBJECT-TYPE
    SYNTAX      INTEGER
    ACCESS      read-only
    STATUS      optional
    DESCRIPTION
	"CPU temperature"
    ::= { device-status 11 }

-- CPU load
CPU-load        OBJECT-TYPE
    SYNTAX      INTEGER
    ACCESS      read-only
    STATUS      optional
    DESCRIPTION
	"CPU load"
    ::= { device-status 12 }


--
--  Livewire interface
--

Livewire-interface-traps	 OBJECT IDENTIFIER ::= { Livewire-interface 2 }

-- link state change
trap-link-state-change    TRAP-TYPE
    ENTERPRISE  Livewire-interface-traps
    VARIABLES   {link-state}
    DESCRIPTION
        "Trap, Livewire link state changed"
    ::= 10 

-- sync state change
trap-sync-state-change    TRAP-TYPE
    ENTERPRISE  Livewire-interface-traps
    VARIABLES   {sync-state}
    DESCRIPTION
        "Trap, Livewire sync state changed"
    ::= 11

--  end Livewire interface traps

-- link state
link-state        OBJECT-TYPE
    SYNTAX      INTEGER { fdx(1),
			 unplugged(2),
			 hdx(3)
			}
    ACCESS      read-only
    STATUS      optional
    DESCRIPTION
	"link state"
    ::= { Livewire-interface 10 }

-- sync state
sync-state        OBJECT-TYPE
    SYNTAX      INTEGER { locked(1),
			 notlocked(2),
			 noSyncSignal(3)
			}
    ACCESS      read-only
    STATUS      optional
    DESCRIPTION
	"sync state"
    ::= { Livewire-interface 11 }

-- link speed
link-speed        OBJECT-TYPE
    SYNTAX      INTEGER { 100Mbs(1),
			 1Gbs(2)
			}
    ACCESS      read-only
    STATUS      optional
    DESCRIPTION
	"link speed"
    ::= { Livewire-interface 12 }

-- link load in
link-load-in        OBJECT-TYPE
    SYNTAX      INTEGER 
    ACCESS      read-only
    STATUS      optional
    DESCRIPTION
	"link load in"
    ::= { Livewire-interface 13 }

-- link load out
link-load-out        OBJECT-TYPE
    SYNTAX      INTEGER 
    ACCESS      read-only
    STATUS      optional
    DESCRIPTION
	"link load out"
    ::= { Livewire-interface 14 }


--
--  codecs
--

-- cdNumber
cdNumber        OBJECT-TYPE
    SYNTAX      INTEGER 
    ACCESS      read-only
    STATUS      optional
    DESCRIPTION
	"total codec count"
    ::= { codecs 11 }

cdTable		OBJECT-TYPE
    SYNTAX      SEQUENCE OF CDEntry
    ACCESS      read-only
    STATUS      current
    DESCRIPTION
	"This table contains encoder and decoder GPIO traps
	 and encoder and decoder state information."
    ::= { codecs 12 }
    
cdEntry		OBJECT-TYPE
    SYNTAX      CDEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
	"A row describing a given codec"
    INDEX   { codec-index }
    ::= {cdTable 1 }


CDEntry ::= SEQUENCE {
	codec-index	INTEGER,
	codec-traps	OBJECT IDENTIFIER,
	encoder		OBJECT IDENTIFIER,
	decoder		OBJECT IDENTIFIER
}


-- codec index
codec-index        OBJECT-TYPE
    SYNTAX      INTEGER 
    ACCESS      read-only
    STATUS      optional
    DESCRIPTION
	"codec nomber"
    ::= { cdEntry 1 }


-- codec traps
codec-traps	 OBJECT IDENTIFIER ::= { cdEntry 2 }

-- enc LW receive OK
trap-enc-LW-receive-OK    TRAP-TYPE
    ENTERPRISE  codec-traps
    VARIABLES   {codec-index}
    DESCRIPTION
        "Trap, encoder LW receive state changed to OK"
    ::= 10 

-- enc LW receive lost
trap-enc-LW-receive-lost    TRAP-TYPE
    ENTERPRISE  codec-traps
    VARIABLES   {codec-index}
    DESCRIPTION
        "Trap, encoder LW receive state changed to lost"
    ::= 11 

-- enc LW audio OK
trap-enc-LW-audio-OK    TRAP-TYPE
    ENTERPRISE  codec-traps
    VARIABLES   {codec-index}
    DESCRIPTION
        "Trap, encoder LW audio state changed to OK"
    ::= 12

-- enc LW audio lost
trap-enc-LW-audio-lost    TRAP-TYPE
    ENTERPRISE  codec-traps
    VARIABLES   {codec-index}
    DESCRIPTION
        "Trap, encoder LW audio state lost"
    ::= 13

-- enc LW buffer error
trap-enc-LW-buffer-error    TRAP-TYPE
    ENTERPRISE  codec-traps
    VARIABLES   {codec-index}
    DESCRIPTION
        "Trap, encoder LW buffer error detected"
    ::= 14

-- enc general alarm
trap-enc-general-alarm    TRAP-TYPE
    ENTERPRISE  codec-traps
    VARIABLES   {codec-index}
    DESCRIPTION
        "Trap, encoder general alarm detected"
    ::= 15


-- dec WAN receive OK
trap-dec-WAN-receive-OK    TRAP-TYPE
    ENTERPRISE  codec-traps
    VARIABLES   {codec-index}
    DESCRIPTION
        "Trap, decoder WAN receive state changed to OK"
    ::= 30 

-- dec WAN receive lost
trap-dec-WAN-receive-lost    TRAP-TYPE
    ENTERPRISE  codec-traps
    VARIABLES   {codec-index}
    DESCRIPTION
        "Trap, decoder WAN receive state changed to lost"
    ::= 31 

-- dec LW audio OK
trap-dec-LW-audio-OK    TRAP-TYPE
    ENTERPRISE  codec-traps
    VARIABLES   {codec-index}
    DESCRIPTION
        "Trap, decoder LW audio state changed to OK"
    ::= 32

-- dec LW audio lost
trap-dec-LW-audio-lost    TRAP-TYPE
    ENTERPRISE  codec-traps
    VARIABLES   {codec-index}
    DESCRIPTION
        "Trap, decoder LW audio state lost"
    ::= 33
    
-- dec WAN jitter alarm
trap-dec-WAN-jitter-alarm    TRAP-TYPE
    ENTERPRISE  codec-traps
    VARIABLES   {codec-index}
    DESCRIPTION
        "Trap, decoder WAN jitter alarm"
    ::= 34

-- dec WAN sequence alarm
trap-dec-WAN-sequence-alarm    TRAP-TYPE
    ENTERPRISE  codec-traps
    VARIABLES   {codec-index}
    DESCRIPTION
        "Trap, decoder WAN sequence alarm"
    ::= 35
    
-- dec WAN FER alarm
trap-dec-WAN-FER-alarm    TRAP-TYPE
    ENTERPRISE  codec-traps
    VARIABLES   {codec-index}
    DESCRIPTION
        "Trap, decoder WAN FER alarm"
    ::= 36

-- dec general alarm
trap-dec-general-alarm    TRAP-TYPE
    ENTERPRISE  codec-traps
    VARIABLES   {codec-index}
    DESCRIPTION
        "Trap, decoder general alarm detected"
    ::= 37


-- end codec traps


-- encoder
--
encoder        OBJECT IDENTIFIER ::= { cdEntry 10 }

-- operational state
enc-operational-state        OBJECT-TYPE
    SYNTAX      INTEGER { on(1),
			 off(2)
			}
    ACCESS      read-only
    STATUS      optional
    DESCRIPTION
	"encoder operational state"
    ::= { encoder 10 }

-- LW receive state
enc-LW-receive-state        OBJECT-TYPE
    SYNTAX      INTEGER { ok(1),
			 lost(2)
			}
    ACCESS      read-only
    STATUS      optional
    DESCRIPTION
	"encoder LW receive state"
    ::= { encoder 11 }

-- LW audio state
enc-LW-audio-state        OBJECT-TYPE
    SYNTAX      INTEGER { ok(1),
			 lost(2)
			}
    ACCESS      read-only
    STATUS      optional
    DESCRIPTION
	"encoder LW audio state"
    ::= { encoder 12 }


-- decoder
--
decoder        OBJECT IDENTIFIER ::= { cdEntry 11 }

-- operational state
dec-operational-state        OBJECT-TYPE
    SYNTAX      INTEGER { on(1),
			 off(2)
			}
    ACCESS      read-only
    STATUS      optional
    DESCRIPTION
	"decoder operational state"
    ::= { decoder 10 }

-- LW receive state
dec-WAN-receive-state        OBJECT-TYPE
    SYNTAX      INTEGER { ok(1),
			 lost(2)
			}
    ACCESS      read-only
    STATUS      optional
    DESCRIPTION
	"decoder LW receive state"
    ::= { decoder 11 }

-- LW audio state
dec-LW-audio-state        OBJECT-TYPE
    SYNTAX      INTEGER { ok(1),
			 lost(2)
			}
    ACCESS      read-only
    STATUS      optional
    DESCRIPTION
	"decoder LW audio state"
    ::= { decoder 12 }

The Zephyr iPort PLUS SNMP extension agent requires Windows SNMP feature to be installed. To install this feature, navigate to Start, Control Panel, Programs and Features and select Turn Windows features on or off. Select “Simple Network Management Protocol (SNMP)” and press OK to install it.

Once the Windows SNMP feature is installed, it needs to be configured. Open Windows Services control panel by navigating to Start, Control Panel, Administrative Tools and with administrative privileges open Services item:

Locate the “SNMP Service” item, right-click and select Properties.

Enter Contact and Location information in the Agent tab and select the SNMP Service type.\

Configure the access information in the Security tab. Use community “public” and READ_ONLY rights to set up a public access.

If needed, set up an IP address which will receive the generated traps in the Traps tab.\

Press Apply. You may also need to restart the SNMP Service for these changes to take effect.

SNMP Security

SNMP ‘Communities’ serve as passwords for this function. Go into the Read: and Write: boxes to enter text that is specified for the read/write strings on the SNMP Manager monitoring device. As with similar text-entry screens, execute a Save after entering.

SNMP Traps

When Zephyr iPort PLUS initiates an alarm as opposed to being queried or polled for one, the alarm is known as a ‘trap.’

SNMP Ports

The default SNMP Ports, General Port 161 and Trap Port 162, are the default for most SNMP operations. These may be changed as needed in the usual way.

Stream Statistics

The Stream Statistics page gives you a summary of key metrics for: encode and decode streams, Livewire receive streams, Virtual mixer inputs and Vmode External inputs. It will keep a running tally until you click the Clear Counters button. If you would like a hard copy you can save the page as an HTML document, or print it as a PDF file.

What's Next?

If you've read this manual straight through from Chapter 1, congratulations, you made it to the end. You have learned just about everything there is to know about this subject, and are hereby awarded a Ph.D. in Zephyr iPort PLUS!