Snmpwalk problem
"Ramachandrappa, Nataraju Karidasarahalli" <[email protected]>
| Newsgroups | gmane.network.net-snmp.user |
|---|---|
| Message-ID | <A13FA4B2F7631E4B854D1AAA0307844903412C45@bgeexc04.asiapacific.cpqcorp.net> |
Hello Team, We have written one agent for our own MIB. I am having the following issue: If I give snmp walk for the MIB i.e.,snmpwalk -v 2c -c demo localhost 1.3.6.1.4.1.11.255 command, some of the scalar handlers gets called multiple times. This leads to broken pipe problem. Please let know why scalar handlers gets called multiple times and how to solve this problem. For u r reference I have attached the MIB and scalar code. Thanks in advance... Thnkas nataraju
hpSTBMIBScalar.c
(application/octet-stream, 60.7 KB)
/*
* Note: this file originally auto-generated by mib2c using
* : mib2c.scalar.conf,v 1.8 2004/10/14 12:57:34 dts12 Exp $
*/
#include <net-snmp/net-snmp-config.h>
#include <net-snmp/net-snmp-includes.h>
#include <net-snmp/agent/net-snmp-agent-includes.h>
#include "hpSTBMIBScalar.h"
// Variables for the hpSTBAgent
char *strValue;
int validatescalar = 0;
int intValue = 0;
double megabyte = 1024 *1024 ;
char messageLog[1024];
/** Initializes the hpSTBMIBScalar module */
void
init_hpSTBMIBScalar(void)
{
static oid stbVendor_oid[] =
{ 1, 3, 6, 1, 4, 1, 11, 255, 1, 1, 1 };
static oid stbModel_oid[] =
{ 1, 3, 6, 1, 4, 1, 11, 255, 1, 1, 2 };
static oid stbSerialNumber_oid[] =
{ 1, 3, 6, 1, 4, 1, 11, 255, 1, 1, 3 };
static oid stbMACAddress_oid[] =
{ 1, 3, 6, 1, 4, 1, 11, 255, 1, 1, 4 };
static oid stbHWIdentification_oid[] =
{ 1, 3, 6, 1, 4, 1, 11, 255, 1, 1, 5 };
static oid stbSoftwareVersion_oid[] =
{ 1, 3, 6, 1, 4, 1, 11, 255, 1, 1, 6 };
static oid stbHWTechLevel_oid[] =
{ 1, 3, 6, 1, 4, 1, 11, 255, 1, 1, 7 };
static oid stbCurrentCPUUsage_oid[] =
{ 1, 3, 6, 1, 4, 1, 11, 255, 1, 2, 1 };
static oid stbCurrentMemoryUsage_oid[] =
{ 1, 3, 6, 1, 4, 1, 11, 255, 1, 2, 2 };
static oid stbTotalMemory_oid[] =
{ 1, 3, 6, 1, 4, 1, 11, 255, 1, 2, 3 };
static oid stbHostname_oid[] =
{ 1, 3, 6, 1, 4, 1, 11, 255, 1, 3, 1 };
static oid stbIPAddressType_oid[] =
{ 1, 3, 6, 1, 4, 1, 11, 255, 1, 3, 2 };
static oid stbIPAddress_oid[] =
{ 1, 3, 6, 1, 4, 1, 11, 255, 1, 3, 3 };
static oid stbNetMaskAddressType_oid[] =
{ 1, 3, 6, 1, 4, 1, 11, 255, 1, 3, 4 };
static oid stbNetMask_oid[] =
{ 1, 3, 6, 1, 4, 1, 11, 255, 1, 3, 5 };
static oid stbGatewayIPType_oid[] =
{ 1, 3, 6, 1, 4, 1, 11, 255, 1, 3, 6 };
static oid stbGatewayIP_oid[] =
{ 1, 3, 6, 1, 4, 1, 11, 255, 1, 3, 7 };
static oid stbDomainName_oid[] =
{ 1, 3, 6, 1, 4, 1, 11, 255, 1, 3, 8 };
static oid stbTimeServerIPAddressType_oid[] =
{ 1, 3, 6, 1, 4, 1, 11, 255, 1, 3, 10 };
static oid stbTimeServerIPAddress_oid[] =
{ 1, 3, 6, 1, 4, 1, 11, 255, 1, 3, 11 };
static oid stbDHCPEnabled_oid[] =
{ 1, 3, 6, 1, 4, 1, 11, 255, 1, 3, 12 };
static oid stbTrapInitiator_oid[] =
{ 1, 3, 6, 1, 4, 1, 11, 255, 1, 5, 4 };
static oid stbPVREnabled_oid[] =
{ 1, 3, 6, 1, 4, 1, 11, 255, 1, 6, 1 };
static oid stbPVRTotalStorageCapacity_oid[] =
{ 1, 3, 6, 1, 4, 1, 11, 255, 1, 6, 2 };
static oid stbPVRFreeStorageCapacity_oid[] =
{ 1, 3, 6, 1, 4, 1, 11, 255, 1, 6, 3 };
static oid stbBrowser_oid[] =
{ 1, 3, 6, 1, 4, 1, 11, 255, 1, 7, 1 };
static oid stbBrowserVersion_oid[] =
{ 1, 3, 6, 1, 4, 1, 11, 255, 1, 7, 2 };
static oid stbBrowserHomePage_oid[] =
{ 1, 3, 6, 1, 4, 1, 11, 255, 1, 7, 3 };
static oid stbProxyIPAddressType_oid[] =
{ 1, 3, 6, 1, 4, 1, 11, 255, 1, 7, 4 };
static oid stbProxyIPAddress_oid[] =
{ 1, 3, 6, 1, 4, 1, 11, 255, 1, 7, 5 };
static oid stbProxyPort_oid[] =
{ 1, 3, 6, 1, 4, 1, 11, 255, 1, 7, 6 };
static oid stbRAMCache_oid[] =
{ 1, 3, 6, 1, 4, 1, 11, 255, 1, 7, 7 };
static oid stbChannelWatchedEnabled_oid[] =
{ 1, 3, 6, 1, 4, 1, 11, 255, 1, 9 };
static oid stbStreamingSessionQoSReportEnabled_oid[] =
{ 1, 3, 6, 1, 4, 1, 11, 255, 1, 10 };
static oid stbLocalTime_oid[] =
{ 1, 3, 6, 1, 4, 1, 11, 255, 1, 11 };
static oid stbEventMinTimeInterval_oid[] =
{ 1, 3, 6, 1, 4, 1, 11, 255, 1, 12 };
DEBUGMSGTL(("hpSTBMIBScalar", "Initializing\n"));
netsnmp_register_scalar(netsnmp_create_handler_registration
("stbVendor", handle_stbVendor, stbVendor_oid,
OID_LENGTH(stbVendor_oid),
HANDLER_CAN_RONLY));
netsnmp_register_scalar(netsnmp_create_handler_registration
("stbModel", handle_stbModel, stbModel_oid,
OID_LENGTH(stbModel_oid), HANDLER_CAN_RONLY));
netsnmp_register_scalar(netsnmp_create_handler_registration
("stbSerialNumber", handle_stbSerialNumber,
stbSerialNumber_oid,
OID_LENGTH(stbSerialNumber_oid),
HANDLER_CAN_RONLY));
netsnmp_register_scalar(netsnmp_create_handler_registration
("stbMACAddress", handle_stbMACAddress,
stbMACAddress_oid,
OID_LENGTH(stbMACAddress_oid),
HANDLER_CAN_RONLY));
netsnmp_register_scalar(netsnmp_create_handler_registration
("stbHWIdentification",
handle_stbHWIdentification,
stbHWIdentification_oid,
OID_LENGTH(stbHWIdentification_oid),
HANDLER_CAN_RONLY));
netsnmp_register_scalar(netsnmp_create_handler_registration
("stbSoftwareVersion",
handle_stbSoftwareVersion,
stbSoftwareVersion_oid,
OID_LENGTH(stbSoftwareVersion_oid),
HANDLER_CAN_RONLY));
netsnmp_register_scalar(netsnmp_create_handler_registration
("stbHWTechLevel", handle_stbHWTechLevel,
stbHWTechLevel_oid,
OID_LENGTH(stbHWTechLevel_oid),
HANDLER_CAN_RONLY));
netsnmp_register_scalar(netsnmp_create_handler_registration
("stbCurrentCPUUsage",
handle_stbCurrentCPUUsage,
stbCurrentCPUUsage_oid,
OID_LENGTH(stbCurrentCPUUsage_oid),
HANDLER_CAN_RONLY));
netsnmp_register_scalar(netsnmp_create_handler_registration
("stbCurrentMemoryUsage",
handle_stbCurrentMemoryUsage,
stbCurrentMemoryUsage_oid,
OID_LENGTH(stbCurrentMemoryUsage_oid),
HANDLER_CAN_RONLY));
netsnmp_register_scalar(netsnmp_create_handler_registration
("stbTotalMemory", handle_stbTotalMemory,
stbTotalMemory_oid,
OID_LENGTH(stbTotalMemory_oid),
HANDLER_CAN_RONLY));
netsnmp_register_scalar(netsnmp_create_handler_registration
("stbHostname", handle_stbHostname,
stbHostname_oid, OID_LENGTH(stbHostname_oid),
HANDLER_CAN_RONLY));
netsnmp_register_scalar(netsnmp_create_handler_registration
("stbIPAddressType", handle_stbIPAddressType,
stbIPAddressType_oid,
OID_LENGTH(stbIPAddressType_oid),
HANDLER_CAN_RONLY));
netsnmp_register_scalar(netsnmp_create_handler_registration
("stbIPAddress", handle_stbIPAddress,
stbIPAddress_oid,
OID_LENGTH(stbIPAddress_oid),
HANDLER_CAN_RONLY));
netsnmp_register_scalar(netsnmp_create_handler_registration
("stbNetMaskAddressType",
handle_stbNetMaskAddressType,
stbNetMaskAddressType_oid,
OID_LENGTH(stbNetMaskAddressType_oid),
HANDLER_CAN_RONLY));
netsnmp_register_scalar(netsnmp_create_handler_registration
("stbNetMask", handle_stbNetMask,
stbNetMask_oid, OID_LENGTH(stbNetMask_oid),
HANDLER_CAN_RONLY));
netsnmp_register_scalar(netsnmp_create_handler_registration
("stbGatewayIPType", handle_stbGatewayIPType,
stbGatewayIPType_oid,
OID_LENGTH(stbGatewayIPType_oid),
HANDLER_CAN_RONLY));
netsnmp_register_scalar(netsnmp_create_handler_registration
("stbGatewayIP", handle_stbGatewayIP,
stbGatewayIP_oid,
OID_LENGTH(stbGatewayIP_oid),
HANDLER_CAN_RONLY));
netsnmp_register_scalar(netsnmp_create_handler_registration
("stbDomainName", handle_stbDomainName,
stbDomainName_oid,
OID_LENGTH(stbDomainName_oid),
HANDLER_CAN_RONLY));
netsnmp_register_scalar(netsnmp_create_handler_registration
("stbTimeServerIPAddressType",
handle_stbTimeServerIPAddressType,
stbTimeServerIPAddressType_oid,
OID_LENGTH(stbTimeServerIPAddressType_oid),
HANDLER_CAN_RONLY));
netsnmp_register_scalar(netsnmp_create_handler_registration
("stbTimeServerIPAddress",
handle_stbTimeServerIPAddress,
stbTimeServerIPAddress_oid,
OID_LENGTH(stbTimeServerIPAddress_oid),
HANDLER_CAN_RONLY));
netsnmp_register_scalar(netsnmp_create_handler_registration
("stbDHCPEnabled", handle_stbDHCPEnabled,
stbDHCPEnabled_oid,
OID_LENGTH(stbDHCPEnabled_oid),
HANDLER_CAN_RONLY));
netsnmp_register_scalar(netsnmp_create_handler_registration
("stbTrapInitiator", handle_stbTrapInitiator,
stbTrapInitiator_oid,
OID_LENGTH(stbTrapInitiator_oid),
HANDLER_CAN_RONLY));
netsnmp_register_scalar(netsnmp_create_handler_registration
("stbPVREnabled", handle_stbPVREnabled,
stbPVREnabled_oid,
OID_LENGTH(stbPVREnabled_oid),
HANDLER_CAN_RONLY));
netsnmp_register_scalar(netsnmp_create_handler_registration
("stbPVRTotalStorageCapacity",
handle_stbPVRTotalStorageCapacity,
stbPVRTotalStorageCapacity_oid,
OID_LENGTH(stbPVRTotalStorageCapacity_oid),
HANDLER_CAN_RONLY));
netsnmp_register_scalar(netsnmp_create_handler_registration
("stbPVRFreeStorageCapacity",
handle_stbPVRFreeStorageCapacity,
stbPVRFreeStorageCapacity_oid,
OID_LENGTH(stbPVRFreeStorageCapacity_oid),
HANDLER_CAN_RONLY));
netsnmp_register_scalar(netsnmp_create_handler_registration
("stbBrowser", handle_stbBrowser,
stbBrowser_oid, OID_LENGTH(stbBrowser_oid),
HANDLER_CAN_RONLY));
netsnmp_register_scalar(netsnmp_create_handler_registration
("stbBrowserVersion", handle_stbBrowserVersion,
stbBrowserVersion_oid,
OID_LENGTH(stbBrowserVersion_oid),
HANDLER_CAN_RONLY));
netsnmp_register_scalar(netsnmp_create_handler_registration
("stbBrowserHomePage",
handle_stbBrowserHomePage,
stbBrowserHomePage_oid,
OID_LENGTH(stbBrowserHomePage_oid),
HANDLER_CAN_RONLY));
netsnmp_register_scalar(netsnmp_create_handler_registration
("stbProxyIPAddressType",
handle_stbProxyIPAddressType,
stbProxyIPAddressType_oid,
OID_LENGTH(stbProxyIPAddressType_oid),
HANDLER_CAN_RONLY));
netsnmp_register_scalar(netsnmp_create_handler_registration
("stbProxyIPAddress", handle_stbProxyIPAddress,
stbProxyIPAddress_oid,
OID_LENGTH(stbProxyIPAddress_oid),
HANDLER_CAN_RONLY));
netsnmp_register_scalar(netsnmp_create_handler_registration
("stbProxyPort", handle_stbProxyPort,
stbProxyPort_oid,
OID_LENGTH(stbProxyPort_oid),
HANDLER_CAN_RONLY));
netsnmp_register_scalar(netsnmp_create_handler_registration
("stbRAMCache", handle_stbRAMCache,
stbRAMCache_oid, OID_LENGTH(stbRAMCache_oid),
HANDLER_CAN_RONLY));
netsnmp_register_scalar(netsnmp_create_handler_registration
("stbChannelWatchedEnabled",
handle_stbChannelWatchedEnabled,
stbChannelWatchedEnabled_oid,
OID_LENGTH(stbChannelWatchedEnabled_oid),
HANDLER_CAN_RONLY));
netsnmp_register_scalar(netsnmp_create_handler_registration
("stbStreamingSessionQoSReportEnabled",
handle_stbStreamingSessionQoSReportEnabled,
stbStreamingSessionQoSReportEnabled_oid,
OID_LENGTH
(stbStreamingSessionQoSReportEnabled_oid),
HANDLER_CAN_RONLY));
netsnmp_register_scalar(netsnmp_create_handler_registration
("stbLocalTime", handle_stbLocalTime,
stbLocalTime_oid,
OID_LENGTH(stbLocalTime_oid),
HANDLER_CAN_RONLY));
netsnmp_register_scalar(netsnmp_create_handler_registration
("stbEventMinTimeInterval",
handle_stbEventMinTimeInterval,
stbEventMinTimeInterval_oid,
OID_LENGTH(stbEventMinTimeInterval_oid),
HANDLER_CAN_RONLY));
}
int
handle_stbVendor(netsnmp_mib_handler *handler,
netsnmp_handler_registration *reginfo,
netsnmp_agent_request_info *reqinfo,
netsnmp_request_info *requests)
{
/*
* a instance handler also only hands us one request at a time, so
* we don't need to loop over a list of requests; we'll only get one.
*/
strValue = GetMibStrValue("stbVendor");
validatescalar = strcmp(strValue,"INVALID");
if (validatescalar == 0)
{
Log("ERROR: Unable to read stbVendor from conf file.");
}
switch (reqinfo->mode) {
case MODE_GET:
snmp_set_var_typed_value(requests->requestvb, ASN_OCTET_STR,
(u_char *) strValue , strlen(strValue) );
break;
default:
/*
* we should never get here, so this is a really bad error
*/
snmp_log(LOG_ERR, "unknown mode (%d) in handle_stbVendor\n",
reqinfo->mode);
return SNMP_ERR_GENERR;
}
return SNMP_ERR_NOERROR;
}
int
handle_stbModel(netsnmp_mib_handler *handler,
netsnmp_handler_registration *reginfo,
netsnmp_agent_request_info *reqinfo,
netsnmp_request_info *requests)
{
/*
* a instance handler also only hands us one request at a time, so
* we don't need to loop over a list of requests; we'll only get one.
*/
strValue = GetMibStrValue("stbModel");
validatescalar = strcmp(strValue,"INVALID");
if (validatescalar == 0)
{
Log("ERROR: Unable to read stbModel from conf file.");
}
switch (reqinfo->mode) {
case MODE_GET:
snmp_set_var_typed_value(requests->requestvb, ASN_OCTET_STR,
(u_char *) strValue , strlen(strValue) );
// Log the Message
strcpy(messageLog,"");
sprintf(messageLog,"%s %s","Log: Value of stbModel is sent as ",strValue);
Log(messageLog);
break;
default:
/*
* we should never get here, so this is a really bad error
*/
snmp_log(LOG_ERR, "unknown mode (%d) in handle_stbModel\n",
reqinfo->mode);
return SNMP_ERR_GENERR;
}
return SNMP_ERR_NOERROR;
}
int
handle_stbSerialNumber(netsnmp_mib_handler *handler,
netsnmp_handler_registration *reginfo,
netsnmp_agent_request_info *reqinfo,
netsnmp_request_info *requests)
{
/*
* a instance handler also only hands us one request at a time, so
* we don't need to loop over a list of requests; we'll only get one.
*/
strValue = GetMibStrValue("stbSerialNumber");
validatescalar = strcmp(strValue,"INVALID");
if (validatescalar == 0)
{
Log("ERROR: Unable to read stbSerialNumber from conf file.");
}
switch (reqinfo->mode) {
case MODE_GET:
snmp_set_var_typed_value(requests->requestvb, ASN_OCTET_STR,
(u_char *) strValue , strlen(strValue) );
// Log the Message
strcpy(messageLog,"");
sprintf(messageLog,"%s %s","Log: Value of stbSerialNumber is sent as ",strValue);
Log(messageLog);
break;
default:
/*
* we should never get here, so this is a really bad error
*/
snmp_log(LOG_ERR, "unknown mode (%d) in handle_stbSerialNumber\n",
reqinfo->mode);
return SNMP_ERR_GENERR;
}
return SNMP_ERR_NOERROR;
}
int
handle_stbMACAddress(netsnmp_mib_handler *handler,
netsnmp_handler_registration *reginfo,
netsnmp_agent_request_info *reqinfo,
netsnmp_request_info *requests)
{
/*
* a instance handler also only hands us one request at a time, so
* we don't need to loop over a list of requests; we'll only get one.
*/
strValue = GetMibStrValue("stbMACAddress");
validatescalar = strcmp(strValue,"INVALID");
if (validatescalar == 0)
{
Log("ERROR: Unable to read stbMACAddress from conf file.");
}
switch (reqinfo->mode) {
case MODE_GET:
snmp_set_var_typed_value(requests->requestvb, ASN_OCTET_STR,
(u_char *) strValue , strlen(strValue) );
// Log the Message
strcpy(messageLog,"");
sprintf(messageLog,"%s %s","Log: Value of stbMACAddress is sent as ",strValue);
Log(messageLog);
break;
default:
/*
* we should never get here, so this is a really bad error
*/
snmp_log(LOG_ERR, "unknown mode (%d) in handle_stbMACAddress\n",
reqinfo->mode);
return SNMP_ERR_GENERR;
}
return SNMP_ERR_NOERROR;
}
int
handle_stbHWIdentification(netsnmp_mib_handler *handler,
netsnmp_handler_registration *reginfo,
netsnmp_agent_request_info *reqinfo,
netsnmp_request_info *requests)
{
/*
* a instance handler also only hands us one request at a time, so
* we don't need to loop over a list of requests; we'll only get one.
*/
strValue = GetMibStrValue("stbHWIdentification");
validatescalar = strcmp(strValue,"INVALID");
if (validatescalar == 0)
{
Log("ERROR: Unable to read stbHWIdentification from conf file.");
}
switch (reqinfo->mode) {
case MODE_GET:
snmp_set_var_typed_value(requests->requestvb, ASN_OCTET_STR,
(u_char *) strValue , strlen(strValue) );
// Log the Message
strcpy(messageLog,"");
sprintf(messageLog,"%s %s","Log: Value of stbHWIdentification is sent as ",strValue);
Log(messageLog);
break;
default:
/*
* we should never get here, so this is a really bad error
*/
snmp_log(LOG_ERR,
"unknown mode (%d) in handle_stbHWIdentification\n",
reqinfo->mode);
return SNMP_ERR_GENERR;
}
return SNMP_ERR_NOERROR;
}
int
handle_stbSoftwareVersion(netsnmp_mib_handler *handler,
netsnmp_handler_registration *reginfo,
netsnmp_agent_request_info *reqinfo,
netsnmp_request_info *requests)
{
/*
* a instance handler also only hands us one request at a time, so
* we don't need to loop over a list of requests; we'll only get one.
*/
strValue = GetMibStrValue("stbSoftwareVersion");
validatescalar = strcmp(strValue,"INVALID");
if (validatescalar == 0)
{
Log("ERROR: Unable to read stbSoftwareVersion from conf file.");
}
switch (reqinfo->mode) {
case MODE_GET:
snmp_set_var_typed_value(requests->requestvb, ASN_OCTET_STR,
(u_char *) strValue , strlen(strValue) );
// Log the Message
strcpy(messageLog,"");
sprintf(messageLog,"%s %s","Log: Value of stbSoftwareVersion is sent as ",strValue);
Log(messageLog);
break;
default:
/*
* we should never get here, so this is a really bad error
*/
snmp_log(LOG_ERR,
"unknown mode (%d) in handle_stbSoftwareVersion\n",
reqinfo->mode);
return SNMP_ERR_GENERR;
}
return SNMP_ERR_NOERROR;
}
int
handle_stbHWTechLevel(netsnmp_mib_handler *handler,
netsnmp_handler_registration *reginfo,
netsnmp_agent_request_info *reqinfo,
netsnmp_request_info *requests)
{
/*
* a instance handler also only hands us one request at a time, so
* we don't need to loop over a list of requests; we'll only get one.
*/
strValue = GetMibStrValue("stbHWTechLevel");
validatescalar = strcmp(strValue,"INVALID");
if (validatescalar == 0)
{
Log("ERROR: Unable to read stbHWTechLevel from conf file.");
}
switch (reqinfo->mode) {
case MODE_GET:
snmp_set_var_typed_value(requests->requestvb, ASN_OCTET_STR,
(u_char *) strValue , strlen(strValue) );
// Log the Message
strcpy(messageLog,"");
sprintf(messageLog,"%s %s","Log: Value of stbHWTechLevel is sent as ",strValue);
Log(messageLog);
break;
default:
/*
* we should never get here, so this is a really bad error
*/
snmp_log(LOG_ERR, "unknown mode (%d) in handle_stbHWTechLevel\n",
reqinfo->mode);
return SNMP_ERR_GENERR;
}
return SNMP_ERR_NOERROR;
}
int
handle_stbCurrentCPUUsage(netsnmp_mib_handler *handler,
netsnmp_handler_registration *reginfo,
netsnmp_agent_request_info *reqinfo,
netsnmp_request_info *requests)
{
/*
* a instance handler also only hands us one request at a time, so
* we don't need to loop over a list of requests; we'll only get one.
*/
int cpuuser=0;
cpuutil = cpu_stats();
total = (cpuutil.user + cpuutil.system + cpuutil.idle + cpuutil.iowait)/100.0;
intValue = cpuutil.user /total;
switch (reqinfo->mode) {
case MODE_GET:
snmp_set_var_typed_value(requests->requestvb, ASN_INTEGER,
(u_char *) & intValue , sizeof(intValue) );
// Log the Message
strcpy(messageLog,"");
sprintf(messageLog,"%s %d","Log: Value of CurrentCPUUsage is sent as ",intValue);
Log(messageLog);
break;
default:
/*
* we should never get here, so this is a really bad error
*/
snmp_log(LOG_ERR,
"unknown mode (%d) in handle_stbCurrentCPUUsage\n",
reqinfo->mode);
return SNMP_ERR_GENERR;
}
return SNMP_ERR_NOERROR;
}
int
handle_stbCurrentMemoryUsage(netsnmp_mib_handler *handler,
netsnmp_handler_registration *reginfo,
netsnmp_agent_request_info *reqinfo,
netsnmp_request_info *requests)
{
/*
* a instance handler also only hands us one request at a time, so
* we don't need to loop over a list of requests; we'll only get one.
*/
double totalram,freeram,usedram;
sysinfo(&si);
totalram = si.totalram / megabyte;
freeram = si.freeram /megabyte;
usedram = totalram - freeram;
intValue = usedram * 1024;
switch (reqinfo->mode) {
case MODE_GET:
snmp_set_var_typed_value(requests->requestvb, ASN_INTEGER,
(u_char *) & intValue , sizeof(intValue) );
// Log the Message
strcpy(messageLog,"");
sprintf(messageLog,"%s %d","Log: Value of CurrentMemoryUsage is sent as ",intValue);
Log(messageLog);
break;
default:
/*
* we should never get here, so this is a really bad error
*/
snmp_log(LOG_ERR,
"unknown mode (%d) in handle_stbCurrentMemoryUsage\n",
reqinfo->mode);
return SNMP_ERR_GENERR;
}
return SNMP_ERR_NOERROR;
}
int
handle_stbTotalMemory(netsnmp_mib_handler *handler,
netsnmp_handler_registration *reginfo,
netsnmp_agent_request_info *reqinfo,
netsnmp_request_info *requests)
{
/*
* a instance handler also only hands us one request at a time, so
* we don't need to loop over a list of requests; we'll only get one.
*/
sysinfo(&si);
// intValue = si.totalram / megabyte;
intValue = si.totalram / 1024;
switch (reqinfo->mode) {
case MODE_GET:
snmp_set_var_typed_value(requests->requestvb, ASN_INTEGER,
(u_char *) & intValue , sizeof(intValue) );
// Log the Message
sprintf(messageLog,"%s %d","Log: Value of Current Total Memory is sent as ",intValue);
Log(messageLog);
break;
default:
/*
* we should never get here, so this is a really bad error
*/
snmp_log(LOG_ERR, "unknown mode (%d) in handle_stbTotalMemory\n",
reqinfo->mode);
return SNMP_ERR_GENERR;
}
return SNMP_ERR_NOERROR;
}
int
handle_stbHostname(netsnmp_mib_handler *handler,
netsnmp_handler_registration *reginfo,
netsnmp_agent_request_info *reqinfo,
netsnmp_request_info *requests)
{
/*
* a instance handler also only hands us one request at a time, so
* we don't need to loop over a list of requests; we'll only get one.
*/
strValue = GetMibStrValue("stbHostname");
validatescalar = strcmp(strValue,"INVALID");
if (validatescalar == 0)
{
Log("ERROR: Unable to read stbHostname from conf file.");
}
switch (reqinfo->mode) {
case MODE_GET:
snmp_set_var_typed_value(requests->requestvb, ASN_OCTET_STR,
(u_char *) strValue , strlen(strValue) );
// Log the Message
strcpy(messageLog,"");
sprintf(messageLog,"%s %s","Log: Value of stbHostname is sent as ",strValue);
Log(messageLog);
break;
default:
/*
* we should never get here, so this is a really bad error
*/
snmp_log(LOG_ERR, "unknown mode (%d) in handle_stbHostname\n",
reqinfo->mode);
return SNMP_ERR_GENERR;
}
return SNMP_ERR_NOERROR;
}
int
handle_stbIPAddressType(netsnmp_mib_handler *handler,
netsnmp_handler_registration *reginfo,
netsnmp_agent_request_info *reqinfo,
netsnmp_request_info *requests)
{
/*
* a instance handler also only hands us one request at a time, so
* we don't need to loop over a list of requests; we'll only get one.
*/
intValue = GetMibIntValue("stbIPAddressType");
if (intValue == 0)
{
Log("ERROR: Failed to read stbIPAddressType from conf File." );
}
switch (reqinfo->mode) {
case MODE_GET:
snmp_set_var_typed_value(requests->requestvb, ASN_INTEGER,
(u_char *) & intValue , sizeof(intValue) );
// Log the Message
strcpy(messageLog,"");
sprintf(messageLog,"%s %d","Log: Value of stbIPAddressType is sent as ",intValue);
Log(messageLog);
break;
default:
/*
* we should never get here, so this is a really bad error
*/
snmp_log(LOG_ERR, "unknown mode (%d) in handle_stbIPAddressType\n",
reqinfo->mode);
return SNMP_ERR_GENERR;
}
return SNMP_ERR_NOERROR;
}
int
handle_stbIPAddress(netsnmp_mib_handler *handler,
netsnmp_handler_registration *reginfo,
netsnmp_agent_request_info *reqinfo,
netsnmp_request_info *requests)
{
/*
* a instance handler also only hands us one request at a time, so
* we don't need to loop over a list of requests; we'll only get one.
*/
strValue = GetMibStrValue("stbIPAddress");
validatescalar = strcmp(strValue,"INVALID");
if (validatescalar == 0)
{
Log("ERROR: Unable to read stbIPAddress from conf file.");
}
switch (reqinfo->mode) {
case MODE_GET:
snmp_set_var_typed_value(requests->requestvb, ASN_OCTET_STR,
(u_char *) strValue , strlen(strValue) );
// Log the Message
strcpy(messageLog,"");
sprintf(messageLog,"%s %s","Log: Value of stbIPAddress is sent as ",strValue);
Log(messageLog);
break;
default:
/*
* we should never get here, so this is a really bad error
*/
snmp_log(LOG_ERR, "unknown mode (%d) in handle_stbIPAddress\n",
reqinfo->mode);
return SNMP_ERR_GENERR;
}
return SNMP_ERR_NOERROR;
}
int
handle_stbNetMaskAddressType(netsnmp_mib_handler *handler,
netsnmp_handler_registration *reginfo,
netsnmp_agent_request_info *reqinfo,
netsnmp_request_info *requests)
{
/*
* a instance handler also only hands us one request at a time, so
* we don't need to loop over a list of requests; we'll only get one.
*/
intValue = GetMibIntValue("stbNetMaskAddressType");
if (intValue == 0)
{
Log("ERROR: Failed to read stbNetMaskAddressType from conf File." );
}
switch (reqinfo->mode) {
case MODE_GET:
snmp_set_var_typed_value(requests->requestvb, ASN_INTEGER,
(u_char *) & intValue , sizeof(intValue) );
// Log the Message
strcpy(messageLog,"");
sprintf(messageLog,"%s %d","Log: Value of stbNetMaskAddressType is sent as ",intValue);
Log(messageLog);
break;
default:
/*
* we should never get here, so this is a really bad error
*/
snmp_log(LOG_ERR,
"unknown mode (%d) in handle_stbNetMaskAddressType\n",
reqinfo->mode);
return SNMP_ERR_GENERR;
}
return SNMP_ERR_NOERROR;
}
int
handle_stbNetMask(netsnmp_mib_handler *handler,
netsnmp_handler_registration *reginfo,
netsnmp_agent_request_info *reqinfo,
netsnmp_request_info *requests)
{
/*
* a instance handler also only hands us one request at a time, so
* we don't need to loop over a list of requests; we'll only get one.
*/
strValue = GetMibStrValue("stbNetMask");
validatescalar = strcmp(strValue,"INVALID");
if (validatescalar == 0)
{
Log("ERROR: Unable to read stbNetMask from conf file.");
}
switch (reqinfo->mode) {
case MODE_GET:
snmp_set_var_typed_value(requests->requestvb, ASN_OCTET_STR,
(u_char *) strValue , strlen(strValue) );
// Log the Message
strcpy(messageLog,"");
sprintf(messageLog,"%s %s","Log: Value of stbNetMask is sent as ",strValue);
Log(messageLog);
break;
default:
/*
* we should never get here, so this is a really bad error
*/
snmp_log(LOG_ERR, "unknown mode (%d) in handle_stbNetMask\n",
reqinfo->mode);
return SNMP_ERR_GENERR;
}
return SNMP_ERR_NOERROR;
}
int
handle_stbGatewayIPType(netsnmp_mib_handler *handler,
netsnmp_handler_registration *reginfo,
netsnmp_agent_request_info *reqinfo,
netsnmp_request_info *requests)
{
/*
* a instance handler also only hands us one request at a time, so
* we don't need to loop over a list of requests; we'll only get one.
*/
intValue = GetMibIntValue("stbGatewayIPType");
if (intValue == 0)
{
Log("ERROR: Failed to read stbGatewayIPType from conf File." );
}
switch (reqinfo->mode) {
case MODE_GET:
snmp_set_var_typed_value(requests->requestvb, ASN_INTEGER,
(u_char *) & intValue , sizeof(intValue) );
// Log the Message
strcpy(messageLog,"");
sprintf(messageLog,"%s %d","Log: Value of stbGatewayIPType is sent as ",intValue);
Log(messageLog);
break;
default:
/*
* we should never get here, so this is a really bad error
*/
snmp_log(LOG_ERR, "unknown mode (%d) in handle_stbGatewayIPType\n",
reqinfo->mode);
return SNMP_ERR_GENERR;
}
return SNMP_ERR_NOERROR;
}
int
handle_stbGatewayIP(netsnmp_mib_handler *handler,
netsnmp_handler_registration *reginfo,
netsnmp_agent_request_info *reqinfo,
netsnmp_request_info *requests)
{
/*
* a instance handler also only hands us one request at a time, so
* we don't need to loop over a list of requests; we'll only get one.
*/
strValue = GetMibStrValue("stbGatewayIP");
validatescalar = strcmp(strValue,"INVALID");
if (validatescalar == 0)
{
Log("ERROR: Unable to read stbGatewayIP from conf file.");
}
switch (reqinfo->mode) {
case MODE_GET:
snmp_set_var_typed_value(requests->requestvb, ASN_OCTET_STR,
(u_char *) strValue , strlen(strValue) );
// Log the Message
strcpy(messageLog,"");
sprintf(messageLog,"%s %s","Log: Value of stbGatewayIP is sent as ",strValue);
Log(messageLog);
break;
default:
/*
* we should never get here, so this is a really bad error
*/
snmp_log(LOG_ERR, "unknown mode (%d) in handle_stbGatewayIP\n",
reqinfo->mode);
return SNMP_ERR_GENERR;
}
return SNMP_ERR_NOERROR;
}
int
handle_stbDomainName(netsnmp_mib_handler *handler,
netsnmp_handler_registration *reginfo,
netsnmp_agent_request_info *reqinfo,
netsnmp_request_info *requests)
{
/*
* a instance handler also only hands us one request at a time, so
* we don't need to loop over a list of requests; we'll only get one.
*/
strValue = GetMibStrValue("stbDomainName");
validatescalar = strcmp(strValue,"INVALID");
if (validatescalar == 0)
{
Log("ERROR: Unable to read stbDomainName from conf file.");
}
switch (reqinfo->mode) {
case MODE_GET:
snmp_set_var_typed_value(requests->requestvb, ASN_OCTET_STR,
(u_char *) strValue , strlen(strValue) );
// Log the Message
strcpy(messageLog,"");
sprintf(messageLog,"%s %s","Log: Value of stbDomainName is sent as ",strValue);
Log(messageLog);
break;
default:
/*
* we should never get here, so this is a really bad error
*/
snmp_log(LOG_ERR, "unknown mode (%d) in handle_stbDomainName\n",
reqinfo->mode);
return SNMP_ERR_GENERR;
}
return SNMP_ERR_NOERROR;
}
int
handle_stbTimeServerIPAddressType(netsnmp_mib_handler *handler,
netsnmp_handler_registration *reginfo,
netsnmp_agent_request_info *reqinfo,
netsnmp_request_info *requests)
{
/*
* a instance handler also only hands us one request at a time, so
* we don't need to loop over a list of requests; we'll only get one.
*/
intValue = GetMibIntValue("stbTimeServerIPAddressType");
if (intValue == 0)
{
Log("ERROR: Failed to read stbTimeServerIPAddressType from conf File." );
}
switch (reqinfo->mode) {
case MODE_GET:
snmp_set_var_typed_value(requests->requestvb, ASN_INTEGER,
(u_char *) & intValue , sizeof(intValue) );
// Log the Message
strcpy(messageLog,"");
sprintf(messageLog,"%s %d","Log: Value of stbTimeServerIPAddressType is sent as ",intValue);
Log(messageLog);
break;
default:
/*
* we should never get here, so this is a really bad error
*/
snmp_log(LOG_ERR,
"unknown mode (%d) in handle_stbTimeServerIPAddressType\n",
reqinfo->mode);
return SNMP_ERR_GENERR;
}
return SNMP_ERR_NOERROR;
}
int
handle_stbTimeServerIPAddress(netsnmp_mib_handler *handler,
netsnmp_handler_registration *reginfo,
netsnmp_agent_request_info *reqinfo,
netsnmp_request_info *requests)
{
/*
* a instance handler also only hands us one request at a time, so
* we don't need to loop over a list of requests; we'll only get one.
*/
strValue = GetMibStrValue("stbTimeServerIPAddress");
validatescalar = strcmp(strValue,"INVALID");
if (validatescalar == 0)
{
Log("ERROR: Unable to read stbTimeServerIPAddress from conf file.");
}
switch (reqinfo->mode) {
case MODE_GET:
snmp_set_var_typed_value(requests->requestvb, ASN_OCTET_STR,
(u_char *) strValue , strlen(strValue) );
// Log the Message
strcpy(messageLog,"");
sprintf(messageLog,"%s %s","Log: Value of stbTimeServerIPAddress is sent as ",strValue);
Log(messageLog);
break;
default:
/*
* we should never get here, so this is a really bad error
*/
snmp_log(LOG_ERR,
"unknown mode (%d) in handle_stbTimeServerIPAddress\n",
reqinfo->mode);
return SNMP_ERR_GENERR;
}
return SNMP_ERR_NOERROR;
}
int
handle_stbDHCPEnabled(netsnmp_mib_handler *handler,
netsnmp_handler_registration *reginfo,
netsnmp_agent_request_info *reqinfo,
netsnmp_request_info *requests)
{
/*
* a instance handler also only hands us one request at a time, so
* we don't need to loop over a list of requests; we'll only get one.
*/
intValue = GetMibIntValue("stbDHCPEnabled");
if (intValue == 0)
{
Log("ERROR: Failed to read stbDHCPEnabled from conf File." );
}
switch (reqinfo->mode) {
case MODE_GET:
snmp_set_var_typed_value(requests->requestvb, ASN_INTEGER,
(u_char *) & intValue , sizeof(intValue) );
// Log the Message
strcpy(messageLog,"");
sprintf(messageLog,"%s %s","Log: Value of stbDHCPEnabled is sent as ",strValue);
Log(messageLog);
break;
default:
/*
* we should never get here, so this is a really bad error
*/
snmp_log(LOG_ERR, "unknown mode (%d) in handle_stbDHCPEnabled\n",
reqinfo->mode);
return SNMP_ERR_GENERR;
}
return SNMP_ERR_NOERROR;
}
int
handle_stbTrapInitiator(netsnmp_mib_handler *handler,
netsnmp_handler_registration *reginfo,
netsnmp_agent_request_info *reqinfo,
netsnmp_request_info *requests)
{
/*
* a instance handler also only hands us one request at a time, so
* we don't need to loop over a list of requests; we'll only get one.
*/
intValue = GetMibIntValue("stbTrapInitiator");
if (intValue == 0)
{
Log("ERROR: Failed to read stbTrapInitiator from conf File." );
}
switch (reqinfo->mode) {
case MODE_GET:
snmp_set_var_typed_value(requests->requestvb, ASN_INTEGER,
(u_char *) & intValue , sizeof(intValue) );
// Log the Message
strcpy(messageLog,"");
sprintf(messageLog,"%s %d","Log: Value of stbTrapInitiator is sent as ",intValue);
Log(messageLog);
break;
default:
/*
* we should never get here, so this is a really bad error
*/
snmp_log(LOG_ERR, "unknown mode (%d) in handle_stbTrapInitiator\n",
reqinfo->mode);
return SNMP_ERR_GENERR;
}
return SNMP_ERR_NOERROR;
}
int
handle_stbPVREnabled(netsnmp_mib_handler *handler,
netsnmp_handler_registration *reginfo,
netsnmp_agent_request_info *reqinfo,
netsnmp_request_info *requests)
{
/*
* a instance handler also only hands us one request at a time, so
* we don't need to loop over a list of requests; we'll only get one.
*/
intValue = GetMibIntValue("stbPVREnabled");
if (intValue == 0)
{
Log("ERROR: Failed to read stbPVREnabled from conf File." );
}
switch (reqinfo->mode) {
case MODE_GET:
snmp_set_var_typed_value(requests->requestvb, ASN_INTEGER,
(u_char *) & intValue , sizeof(intValue) );
// Log the Message
strcpy(messageLog,"");
sprintf(messageLog,"%s %d","Log: Value of stbPVREnabled is sent as ",intValue);
Log(messageLog);
break;
default:
/*
* we should never get here, so this is a really bad error
*/
snmp_log(LOG_ERR, "unknown mode (%d) in handle_stbPVREnabled\n",
reqinfo->mode);
return SNMP_ERR_GENERR;
}
return SNMP_ERR_NOERROR;
}
int
handle_stbPVRTotalStorageCapacity(netsnmp_mib_handler *handler,
netsnmp_handler_registration *reginfo,
netsnmp_agent_request_info *reqinfo,
netsnmp_request_info *requests)
{
/*
* a instance handler also only hands us one request at a time, so
* we don't need to loop over a list of requests; we'll only get one.
*/
intValue = GetMibIntValue("stbPVRTotalStorageCapacity");
if (intValue == 0)
{
Log("ERROR: Failed to read stbPVRTotalStorageCapacity from conf File. " );
}
switch (reqinfo->mode) {
case MODE_GET:
snmp_set_var_typed_value(requests->requestvb, ASN_UNSIGNED,
(u_char *) & intValue , sizeof(intValue) );
// Log the Message
strcpy(messageLog,"");
sprintf(messageLog,"%s %d","Log: Value of stbPVRTotalStorageCapacity is sent as ",intValue);
Log(messageLog);
break;
default:
/*
* we should never get here, so this is a really bad error
*/
snmp_log(LOG_ERR,
"unknown mode (%d) in handle_stbPVRTotalStorageCapacity\n",
reqinfo->mode);
return SNMP_ERR_GENERR;
}
return SNMP_ERR_NOERROR;
}
int
handle_stbPVRFreeStorageCapacity(netsnmp_mib_handler *handler,
netsnmp_handler_registration *reginfo,
netsnmp_agent_request_info *reqinfo,
netsnmp_request_info *requests)
{
/*
* a instance handler also only hands us one request at a time, so
* we don't need to loop over a list of requests; we'll only get one.
*/
intValue = GetMibIntValue("stbPVRFreeStorageCapacity");
if (intValue == 0)
{
Log("ERROR: Failed to read stbPVRFreeStorageCapacity from conf File. " );
}
switch (reqinfo->mode) {
case MODE_GET:
snmp_set_var_typed_value(requests->requestvb, ASN_UNSIGNED,
(u_char *) & intValue , sizeof(intValue) );
// Log the Message
strcpy(messageLog,"");
sprintf(messageLog,"%s %d","Log: Value of stbPVRFreeStorageCapacity is sent as ",intValue);
Log(messageLog);
break;
default:
/*
* we should never get here, so this is a really bad error
*/
snmp_log(LOG_ERR,
"unknown mode (%d) in handle_stbPVRFreeStorageCapacity\n",
reqinfo->mode);
return SNMP_ERR_GENERR;
}
return SNMP_ERR_NOERROR;
}
int
handle_stbBrowser(netsnmp_mib_handler *handler,
netsnmp_handler_registration *reginfo,
netsnmp_agent_request_info *reqinfo,
netsnmp_request_info *requests)
{
/*
* a instance handler also only hands us one request at a time, so
* we don't need to loop over a list of requests; we'll only get one.
*/
strValue = GetMibStrValue("stbBrowser");
validatescalar = strcmp(strValue,"INVALID");
if (validatescalar == 0)
{
Log("ERROR: Unable to read stbBrowser from conf file.");
}
switch (reqinfo->mode) {
case MODE_GET:
snmp_set_var_typed_value(requests->requestvb, ASN_OCTET_STR,
(u_char *) strValue , strlen(strValue) );
// Log the Message
strcpy(messageLog,"");
sprintf(messageLog,"%s %s","Log: Value of stbBrowser is sent as ",strValue);
Log(messageLog);
break;
default:
/*
* we should never get here, so this is a really bad error
*/
snmp_log(LOG_ERR, "unknown mode (%d) in handle_stbBrowser\n",
reqinfo->mode);
return SNMP_ERR_GENERR;
}
return SNMP_ERR_NOERROR;
}
int
handle_stbBrowserVersion(netsnmp_mib_handler *handler,
netsnmp_handler_registration *reginfo,
netsnmp_agent_request_info *reqinfo,
netsnmp_request_info *requests)
{
/*
* a instance handler also only hands us one request at a time, so
* we don't need to loop over a list of requests; we'll only get one.
*/
strValue = GetMibStrValue("stbBrowserVersion");
validatescalar = strcmp(strValue,"INVALID");
if (validatescalar == 0)
{
Log("ERROR: Unable to read stbBrowserVersion from conf file.");
}
switch (reqinfo->mode) {
case MODE_GET:
snmp_set_var_typed_value(requests->requestvb, ASN_OCTET_STR,
(u_char *) strValue , strlen(strValue) );
// Log the Message
strcpy(messageLog,"");
sprintf(messageLog,"%s %s","Log: Value of stbBrowserVersion is sent as ",strValue);
Log(messageLog);
break;
default:
/*
* we should never get here, so this is a really bad error
*/
snmp_log(LOG_ERR,
"unknown mode (%d) in handle_stbBrowserVersion\n",
reqinfo->mode);
return SNMP_ERR_GENERR;
}
return SNMP_ERR_NOERROR;
}
int
handle_stbBrowserHomePage(netsnmp_mib_handler *handler,
netsnmp_handler_registration *reginfo,
netsnmp_agent_request_info *reqinfo,
netsnmp_request_info *requests)
{
/*
* a instance handler also only hands us one request at a time, so
* we don't need to loop over a list of requests; we'll only get one.
*/
strValue = GetMibStrValue("stbBrowserHomePage");
validatescalar = strcmp(strValue,"INVALID");
if (validatescalar == 0)
{
Log("ERROR: Unable to read stbBrowserHomePage from conf file.");
}
switch (reqinfo->mode) {
case MODE_GET:
snmp_set_var_typed_value(requests->requestvb, ASN_OCTET_STR,
(u_char *) strValue , strlen(strValue) );
// Log the Message
strcpy(messageLog,"");
sprintf(messageLog,"%s %s","Log: Value of stbBrowserHomePage is sent as ",strValue);
Log(messageLog);
break;
default:
/*
* we should never get here, so this is a really bad error
*/
snmp_log(LOG_ERR,
"unknown mode (%d) in handle_stbBrowserHomePage\n",
reqinfo->mode);
return SNMP_ERR_GENERR;
}
return SNMP_ERR_NOERROR;
}
int
handle_stbProxyIPAddressType(netsnmp_mib_handler *handler,
netsnmp_handler_registration *reginfo,
netsnmp_agent_request_info *reqinfo,
netsnmp_request_info *requests)
{
/*
* a instance handler also only hands us one request at a time, so
* we don't need to loop over a list of requests; we'll only get one.
*/
intValue = GetMibIntValue("stbProxyIPAddressType");
if (intValue == 0)
{
Log("ERROR: Failed to read stbProxyIPAddressType from conf File." );
}
switch (reqinfo->mode) {
case MODE_GET:
snmp_set_var_typed_value(requests->requestvb, ASN_INTEGER,
(u_char *) & intValue , sizeof(intValue) );
// Log the Message
strcpy(messageLog,"");
sprintf(messageLog,"%s %d","Log: Value of stbProxyIPAddressType is sent as ",intValue);
Log(messageLog);
break;
default:
/*
* we should never get here, so this is a really bad error
*/
snmp_log(LOG_ERR,
"unknown mode (%d) in handle_stbProxyIPAddressType\n",
reqinfo->mode);
return SNMP_ERR_GENERR;
}
return SNMP_ERR_NOERROR;
}
int
handle_stbProxyIPAddress(netsnmp_mib_handler *handler,
netsnmp_handler_registration *reginfo,
netsnmp_agent_request_info *reqinfo,
netsnmp_request_info *requests)
{
/*
* a instance handler also only hands us one request at a time, so
* we don't need to loop over a list of requests; we'll only get one.
*/
strValue = GetMibStrValue("stbProxyIPAddress");
validatescalar = strcmp(strValue,"INVALID");
if (validatescalar == 0)
{
Log("ERROR: Unable to read stbProxyIPAddress from conf file.");
}
switch (reqinfo->mode) {
case MODE_GET:
snmp_set_var_typed_value(requests->requestvb, ASN_OCTET_STR,
(u_char *) strValue , strlen(strValue) );
// Log the Message
strcpy(messageLog,"");
sprintf(messageLog,"%s %s","Log: Value of stbProxyIPAddress is sent as ",strValue);
Log(messageLog);
break;
default:
/*
* we should never get here, so this is a really bad error
*/
snmp_log(LOG_ERR,
"unknown mode (%d) in handle_stbProxyIPAddress\n",
reqinfo->mode);
return SNMP_ERR_GENERR;
}
return SNMP_ERR_NOERROR;
}
int
handle_stbProxyPort(netsnmp_mib_handler *handler,
netsnmp_handler_registration *reginfo,
netsnmp_agent_request_info *reqinfo,
netsnmp_request_info *requests)
{
/*
* a instance handler also only hands us one request at a time, so
* we don't need to loop over a list of requests; we'll only get one.
*/
intValue = GetMibIntValue("stbProxyPort");
if (intValue == 0)
{
Log("ERROR: Failed to read stbProxyPort from conf File. " );
}
switch (reqinfo->mode) {
case MODE_GET:
snmp_set_var_typed_value(requests->requestvb, ASN_UNSIGNED,
(u_char *) & intValue , sizeof(intValue) );
// Log the Message
strcpy(messageLog,"");
sprintf(messageLog,"%s %d","Log: Value of stbProxyPort is sent as ",intValue);
Log(messageLog);
break;
default:
/*
* we should never get here, so this is a really bad error
*/
snmp_log(LOG_ERR, "unknown mode (%d) in handle_stbProxyPort\n",
reqinfo->mode);
return SNMP_ERR_GENERR;
}
return SNMP_ERR_NOERROR;
}
int
handle_stbRAMCache(netsnmp_mib_handler *handler,
netsnmp_handler_registration *reginfo,
netsnmp_agent_request_info *reqinfo,
netsnmp_request_info *requests)
{
/*
* a instance handler also only hands us one request at a time, so
* we don't need to loop over a list of requests; we'll only get one.
*/
intValue = GetMibIntValue("stbRAMCache");
if (intValue == 0)
{
Log("ERROR: Failed to read stbRAMCache from conf File. " );
}
switch (reqinfo->mode) {
case MODE_GET:
snmp_set_var_typed_value(requests->requestvb, ASN_UNSIGNED,
(u_char *) & intValue , sizeof(intValue) );
// Log the Message
strcpy(messageLog,"");
sprintf(messageLog,"%s %d","Log: Value of stbRAMCache is sent as ",intValue);
Log(messageLog);
break;
default:
/*
* we should never get here, so this is a really bad error
*/
snmp_log(LOG_ERR, "unknown mode (%d) in handle_stbRAMCache\n",
reqinfo->mode);
return SNMP_ERR_GENERR;
}
return SNMP_ERR_NOERROR;
}
int
handle_stbChannelWatchedEnabled(netsnmp_mib_handler *handler,
netsnmp_handler_registration *reginfo,
netsnmp_agent_request_info *reqinfo,
netsnmp_request_info *requests)
{
/*
* a instance handler also only hands us one request at a time, so
* we don't need to loop over a list of requests; we'll only get one.
*/
intValue = GetMibIntValue("stbChannelWatchedEnabled");
if (intValue == 0)
{
Log("ERROR: Failed to read stbChannelWatchedEnabled from conf File." );
}
switch (reqinfo->mode) {
case MODE_GET:
snmp_set_var_typed_value(requests->requestvb, ASN_INTEGER,
(u_char *) & intValue , sizeof(intValue) );
// Log the Message
strcpy(messageLog,"");
sprintf(messageLog,"%s %d","Log: Value of stbChannelWatchedEnabled is sent as ",intValue);
Log(messageLog);
break;
default:
/*
* we should never get here, so this is a really bad error
*/
snmp_log(LOG_ERR,
"unknown mode (%d) in handle_stbChannelWatchedEnabled\n",
reqinfo->mode);
return SNMP_ERR_GENERR;
}
return SNMP_ERR_NOERROR;
}
int
handle_stbStreamingSessionQoSReportEnabled(netsnmp_mib_handler *handler,
netsnmp_handler_registration
*reginfo,
netsnmp_agent_request_info
*reqinfo,
netsnmp_request_info *requests)
{
/*
* a instance handler also only hands us one request at a time, so
* we don't need to loop over a list of requests; we'll only get one.
*/
intValue = GetMibIntValue("stbStreamingSessionQoSReportEnabled");
if (intValue == 0)
{
Log("ERROR: Failed to read stbStreamingSessionQoSReportEnabled from conf File." );
}
switch (reqinfo->mode) {
case MODE_GET:
snmp_set_var_typed_value(requests->requestvb, ASN_INTEGER,
(u_char *) & intValue , sizeof(intValue) );
// Log the Message
strcpy(messageLog,"");
sprintf(messageLog,"%s %d","Log: Value of stbStreamingSessionQoSReportEnabled is sent as ",intValue);
Log(messageLog);
break;
default:
/*
* we should never get here, so this is a really bad error
*/
snmp_log(LOG_ERR,
"unknown mode (%d) in handle_stbStreamingSessionQoSReportEnabled\n",
reqinfo->mode);
return SNMP_ERR_GENERR;
}
return SNMP_ERR_NOERROR;
}
int
handle_stbLocalTime(netsnmp_mib_handler *handler,
netsnmp_handler_registration *reginfo,
netsnmp_agent_request_info *reqinfo,
netsnmp_request_info *requests)
{
/*
* a instance handler also only hands us one request at a time, so
* we don't need to loop over a list of requests; we'll only get one.
*/
//strValue = GetMibStrValue("stbLocalTime");
//validatescalar = strcmp(strValue,"INVALID");
strValue = getLocalTime();
switch (reqinfo->mode) {
case MODE_GET:
snmp_set_var_typed_value(requests->requestvb, ASN_OCTET_STR,
(u_char *) strValue , strlen(strValue) );
// Log the Message
strcpy(messageLog,"");
sprintf(messageLog,"%s %s","Log: Value of stbLocalTime is sent as ",strValue);
Log(messageLog);
break;
default:
/*
* we should never get here, so this is a really bad error
*/
snmp_log(LOG_ERR, "unknown mode (%d) in handle_stbLocalTime\n",
reqinfo->mode);
return SNMP_ERR_GENERR;
}
return SNMP_ERR_NOERROR;
}
int
handle_stbEventMinTimeInterval(netsnmp_mib_handler *handler,
netsnmp_handler_registration *reginfo,
netsnmp_agent_request_info *reqinfo,
netsnmp_request_info *requests)
{
/*
* a instance handler also only hands us one request at a time, so
* we don't need to loop over a list of requests; we'll only get one.
*/
intValue = GetMibIntValue("stbEventMinTimeInterval");
if (intValue == 0)
{
Log("ERROR: Failed to read stbEventMinTimeInterval from conf File. " );
}
switch (reqinfo->mode) {
case MODE_GET:
snmp_set_var_typed_value(requests->requestvb, ASN_UNSIGNED,
(u_char *) & intValue , sizeof(intValue) );
// Log the Message
strcpy(messageLog,"");
sprintf(messageLog,"%s %d","Log: Value of stbEventMinTimeInterval is sent as ",intValue);
Log(messageLog);
break;
default:
/*
* we should never get here, so this is a really bad error
*/
snmp_log(LOG_ERR,
"unknown mode (%d) in handle_stbEventMinTimeInterval\n",
reqinfo->mode);
return SNMP_ERR_GENERR;
}
return SNMP_ERR_NOERROR;
}
STB-SNMP-MIB1.7.txt
(text/plain, 48.2 KB)
STB-MGMT-MIB DEFINITIONS ::= BEGIN
IMPORTS
enterprises,
MODULE-IDENTITY,
OBJECT-IDENTITY,
OBJECT-TYPE,
NOTIFICATION-TYPE,
IpAddress,Unsigned32
FROM SNMPv2-SMI
TEXTUAL-CONVENTION, DisplayString,
MacAddress, DateAndTime,
TimeInterval, TruthValue
FROM SNMPv2-TC
SnmpAdminString
FROM SNMP-FRAMEWORK-MIB
InetAddressType, InetAddress
FROM INET-ADDRESS-MIB
OBJECT-GROUP,
NOTIFICATION-GROUP
FROM SNMPv2-CONF;
stbMgmtMIB MODULE-IDENTITY
LAST-UPDATED "200512230000Z"
ORGANIZATION "Hewlett Packard Development Company LLC"
CONTACT-INFO
" Sandra Derodeff
Postal: Hewlett Packard Company
3000, Hanover Street,
California, United States
Postal Code : 94304-1112
Tel : +1 650 236 3062
Email : [email protected]
"
DESCRIPTION
"This MIB defines the management parameters that a Set Top Box
(STB) to support to enable Fault and QoS monitoring from
a management console like OpenView. All attributes defined
in this MIB are read-only implying that modification operations
on the Set-Top Box will not be possible"
REVISION "200512220000Z" -- Dec 22 , 2005
DESCRIPTION
"Changed index for player history table"
REVISION "200512200000Z" -- Dec 20 , 2005
DESCRIPTION
"Added Clear notification for the CPU and Memory Utilization
traps. Added additional errorStatus variable to player table
and streamingQoS Notification. Added additional variables to
stbEPGTable and stbOverallStreamingQoSTable.Changed the naming
convention of variable PacketLossPercent"
REVISION "200512120000Z" -- Dec 12 , 2005
DESCRIPTION
"Added Player History table; modified DHCP table
and incorporated review comments"
REVISION "200511281007Z"
DESCRIPTION
"Added EPG table, modified OID descriptions, replaced
stbDateAndTime with stbLocalTime, added
stbStreamingSessionQoSReportEnabled variable, changed
stbLiveChannelWatched to stbChannelWatched, added size
constraints to the string variables"
REVISION "200511211007Z"
DESCRIPTION
"Revised with additional variables to the player table
and removal of Host name in DNS table"
REVISION "200510031007Z"
DESCRIPTION
"Initial version."
::= { enterprises 11 255 }
-- The STB-MGMT-MIB has the following primary groups
stbMIBObjects OBJECT IDENTIFIER ::= { stbMgmtMIB 1 }
stbMIBEvents OBJECT IDENTIFIER ::= { stbMgmtMIB 2 }
stbMIBConf OBJECT IDENTIFIER ::= { stbMgmtMIB 3 }
STBPlayerType ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Provides the Player Type of the player in the STB"
SYNTAX INTEGER {
ip(0), -- If the Player type is IP
dvb(1) -- For the DVB player
}
STBSmartCardType ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Provides the Smart Card Type present in the STB"
SYNTAX INTEGER {
iso7816 (0),
pcmcia (1),
dvbci (2),
virtual (3)
}
STBPacketLossPercent ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Percentage value scaled by 10. For Example 0.1% is
represented as 1. 100% is represented as 1000."
SYNTAX INTEGER (0..1000)
STBTrapInitiator ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Identifies the initiator of the stbStreamingSessionQoSReport
traps. This notification is usually sent by the player.
However if the player freezes, then it is sent by the agent"
SYNTAX INTEGER {
player (0),
agent (1)
}
STBPlayerBuffThresholdUnit ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Unit for the stbPlayerBuffThreshold variable"
SYNTAX INTEGER {
kb (0), -- kilo bytes
ms (1) --milliseconds
}
STBStreamingProtocolError ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"The fatal errors that lead to the termination
of a streaming session"
SYNTAX INTEGER {
noError (0),
ipAddressNotFound (1),
streamingRequestRejected (2),
streamingRequestTimeOut (3),
urlNotFound (4),
silenceDurationTimeout (5),
socketClosedByPeer (6),
readError (7),
socketWriteError (8),
multicastJoinTimeOut (9),
cannotOpenURL (10)
}
-- Scalars and Tables
--
hp OBJECT IDENTIFIER ::= { enterprises 11 }
stbParameters OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Represents the collection of all STB parameters"
::= { stbMIBObjects 1 }
stbVendor OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"STB Vendor name"
::= { stbParameters 1 }
stbModel OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Model of the STB"
::= { stbParameters 2 }
stbSerialNumber OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Serial number of the STB"
::= { stbParameters 3 }
stbMACAddress OBJECT-TYPE
SYNTAX MacAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"MAC Address of STB"
::= { stbParameters 4 }
stbHWIdentification OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Provides the identification of the STB hardware"
::= { stbParameters 5 }
stbSoftwareVersion OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Provides the software build number of the STB"
::= { stbParameters 6 }
stbHWTechLevel OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"When available, it tells the technical level of the HW
(<=> revision number)"
::= { stbParameters 7 }
stbResources OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Lists the Physical resources of STB"
::= { stbMIBObjects 2 }
stbCurrentCPUUsage OBJECT-TYPE
SYNTAX INTEGER (0..100)
UNITS
"%"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Provides current CPU usage"
DEFVAL { 0 }
::= { stbResources 1 }
stbCurrentMemoryUsage OBJECT-TYPE
SYNTAX INTEGER
UNITS
"KB"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Provides the current RAM usage"
::= { stbResources 2 }
stbTotalMemory OBJECT-TYPE
SYNTAX INTEGER
UNITS
"KB"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Total RAM size on the STB"
::= { stbResources 3 }
stbNetworkParameters OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Lists all network related characteristics for STB"
::= { stbMIBObjects 3 }
stbHostname OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"STB name as identified in the network"
::= { stbNetworkParameters 1 }
stbIPAddressType OBJECT-TYPE
SYNTAX InetAddressType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The address type of the stbIPAddress that
follows."
::= { stbNetworkParameters 2 }
stbIPAddress OBJECT-TYPE
SYNTAX InetAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"IP address of the STB as assigned in the network"
::= { stbNetworkParameters 3 }
stbNetMaskAddressType OBJECT-TYPE
SYNTAX InetAddressType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The address type of the stbNetMask that
follows."
::= { stbNetworkParameters 4 }
stbNetMask OBJECT-TYPE
SYNTAX InetAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Net mask value"
::= { stbNetworkParameters 5 }
stbGatewayIPType OBJECT-TYPE
SYNTAX InetAddressType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The address type of the stbGatewayIP that
follows."
::= { stbNetworkParameters 6 }
stbGatewayIP OBJECT-TYPE
SYNTAX InetAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
" IP address of the default gateway"
::= { stbNetworkParameters 7 }
stbDomainName OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The Domain Name the STB belongs to"
::= { stbNetworkParameters 8 }
stbDNSSvrTable OBJECT-TYPE
SYNTAX SEQUENCE OF StbDNSSvrEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Table that lists all the DNS servers used
for name resolution"
::= { stbNetworkParameters 9 }
stbDNSSvrEntry OBJECT-TYPE
SYNTAX StbDNSSvrEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Represents an instance of the DNS server
with an index and the IP Address type and
IP Address"
INDEX { stbDNSIdx
}
::= { stbDNSSvrTable 1 }
StbDNSSvrEntry ::= SEQUENCE {
stbDNSIdx Unsigned32,
stbDNSIPAddressType InetAddressType,
stbDNSIPAddress InetAddress }
stbDNSIdx OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A unique index for this table"
::= { stbDNSSvrEntry 1 }
stbDNSIPAddressType OBJECT-TYPE
SYNTAX InetAddressType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The address type of the stbDNSIPAddress that
follows."
::= { stbDNSSvrEntry 2 }
stbDNSIPAddress OBJECT-TYPE
SYNTAX InetAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
" IP address of the Domain Name Server"
::= { stbDNSSvrEntry 3 }
stbTimeServerIPAddressType OBJECT-TYPE
SYNTAX InetAddressType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The address type of the stbTimeServerIPAddress that
follows."
::= { stbNetworkParameters 10 }
stbTimeServerIPAddress OBJECT-TYPE
SYNTAX InetAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"IP address of the server that provides the
time via NTP"
::= { stbNetworkParameters 11 }
stbDHCPEnabled OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value true(1) indicates that DHCP is enabled. A false(2)
indicates otherwise."
DEFVAL { false }
::= { stbNetworkParameters 12 }
stbDHCPSvrTable OBJECT-TYPE
SYNTAX SEQUENCE OF StbDHCPSvrEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A table that lists the last 5 DHCP servers that
successfully issued responses to the IP Address allocation
requests sent by the STB"
::= { stbNetworkParameters 13 }
stbDHCPSvrEntry OBJECT-TYPE
SYNTAX StbDHCPSvrEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An instance of the DHCP server"
INDEX { stbDHCPIPAddress
}
::= { stbDHCPSvrTable 1 }
StbDHCPSvrEntry ::= SEQUENCE {
stbDHCPIPAddressType InetAddressType,
stbDHCPIPAddress InetAddress,
stbDHCPLeaseStartTime DateAndTime,
stbDHCPLeaseExpiryTime DateAndTime,
stbDHCPAssignedIPAddressType InetAddressType,
stbDHCPAssignedIPAddress InetAddress
}
stbDHCPIPAddressType OBJECT-TYPE
SYNTAX InetAddressType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The address type of the stbDNSIPAddress that
follows."
::= { stbDHCPSvrEntry 1 }
stbDHCPIPAddress OBJECT-TYPE
SYNTAX InetAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"IP address of the DHCP server"
::= { stbDHCPSvrEntry 2 }
stbDHCPLeaseStartTime OBJECT-TYPE
SYNTAX DateAndTime
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Denotes the Date and Time with the GMT offset
when the STB recieved and processed a DHCPACK message
from the DHCP server. If this step has not been reached,
this MIB object will contain a zero valued 11 byte string."
::= { stbDHCPSvrEntry 3 }
stbDHCPLeaseExpiryTime OBJECT-TYPE
SYNTAX DateAndTime
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Denotes the Date and Time when the STB IP Address
will expired or will expire. This object will contain a
zero valued 11 byte string till the IP Address is obtained
from the DHCP server."
::= { stbDHCPSvrEntry 4 }
stbDHCPAssignedIPAddressType OBJECT-TYPE
SYNTAX InetAddressType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The address type of the stbDHCPAssignedIPAddress that
follows."
::= { stbDHCPSvrEntry 5 }
stbDHCPAssignedIPAddress OBJECT-TYPE
SYNTAX InetAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Represents the IP address leased to the STB by the
DHCP server. The latest entry will have the same value
as the stbIPAddress variable
"
::= { stbDHCPSvrEntry 6 }
stbTFTPSvrTable OBJECT-TYPE
SYNTAX SEQUENCE OF StbTFTPSvrEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Table listing the IP address of the TFTP server(s) used
for Software upgrades. One entry for now."
::= { stbNetworkParameters 14 }
stbTFTPSvrEntry OBJECT-TYPE
SYNTAX StbTFTPSvrEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An instance of the TFTP server"
INDEX { stbTFTPSvrHostName
}
::= { stbTFTPSvrTable 1 }
StbTFTPSvrEntry ::= SEQUENCE {
stbTFTPSvrHostName OCTET STRING,
stbTFTPSvrIPAddressType InetAddressType,
stbTFTPSvrIPAddress InetAddress }
stbTFTPSvrHostName OBJECT-TYPE
SYNTAX OCTET STRING (SIZE(0..64))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The TFTP host name."
::= { stbTFTPSvrEntry 1 }
stbTFTPSvrIPAddressType OBJECT-TYPE
SYNTAX InetAddressType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The address type of the stbTFTPIPAddress that
follows."
::= { stbTFTPSvrEntry 2 }
stbTFTPSvrIPAddress OBJECT-TYPE
SYNTAX InetAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
" IP address of the TFTP Server used for software upgrades"
::= { stbTFTPSvrEntry 3 }
stbMultiCastIPAddressTable OBJECT-TYPE
SYNTAX SEQUENCE OF StbMultiCastIPAddressEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A table that lists the Multicast IP addresses and
the port on which a software upgrade version or a
multicast bootstrap image is available for the STB."
::= { stbNetworkParameters 15 }
stbMultiCastIPAddressEntry OBJECT-TYPE
SYNTAX StbMultiCastIPAddressEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry in the MultiCastIPAddress table. It
represents the MultiCast IP address along with the
Destination UDP port of the MultiCast IPAddress
to which the STB performs a join"
INDEX { stbMultiCastIPAddressIdx
}
::= { stbMultiCastIPAddressTable 1 }
StbMultiCastIPAddressEntry ::= SEQUENCE {
stbMultiCastIPAddressIdx Unsigned32,
stbMultiCastIPAddress IpAddress,
stbMultiCastIPAddressPort Unsigned32 }
stbMultiCastIPAddressIdx OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A unique non-zero number that is used as an index to this table"
::= { stbMultiCastIPAddressEntry 1 }
stbMultiCastIPAddress OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The MultiCast IP Address. Currently this caters to
only IPV4 addresses"
::= { stbMultiCastIPAddressEntry 2 }
stbMultiCastIPAddressPort OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Represents the Destination UDP used by the
Multicast sender"
::= { stbMultiCastIPAddressEntry 3 }
stbEPGTable OBJECT-TYPE
SYNTAX SEQUENCE OF StbEPGEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Table listing of the EPG Guide.
Provides the Channel Name associated with the
Channel Number"
::= { stbMIBObjects 4 }
stbEPGEntry OBJECT-TYPE
SYNTAX StbEPGEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry with channel name and coressponding channel number"
INDEX { stbEPGChannelNumber
}
::= { stbEPGTable 1 }
StbEPGEntry ::= SEQUENCE {
stbEPGChannelNumber Unsigned32,
stbEPGChannelName SnmpAdminString,
stbChannelMultiCastIPAddress IpAddress,
stbChannelMultiCastIPAddressPort Unsigned32}
stbEPGChannelNumber OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The Channel number"
::= { stbEPGEntry 1 }
stbEPGChannelName OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The Channel name associated with the Channel Number"
::= { stbEPGEntry 2 }
stbChannelMultiCastIPAddress OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The MultiCast IP Address of the particular channel"
::= { stbEPGEntry 3 }
stbChannelMultiCastIPAddressPort OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Represents the Destination UDP used by the
Multicast sender"
::= { stbEPGEntry 4 }
stbPlayerParameters OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Represents the collection of all STB Player
related parameters"
::= { stbMIBObjects 5 }
stbPlayerTable OBJECT-TYPE
SYNTAX SEQUENCE OF StbPlayerEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
" This table represents the player charactersistics.
Each entry in this table denotes a player instance."
::= { stbPlayerParameters 1 }
stbPlayerEntry OBJECT-TYPE
SYNTAX StbPlayerEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An instance of the Player currently active in the STB.
Each streaming session is associated with a player. The
player registers with the SNMP Agent when it starts-up
resulting in the creation of a row instance. Similarly
when the player has finished with a streaming session
it de-registers with the SNMP Agent resulting in the
deletion of the associate row"
INDEX { stbPlayerID
}
::= { stbPlayerTable 1 }
StbPlayerEntry ::= SEQUENCE {
stbPlayerID Unsigned32,
stbPlayerName SnmpAdminString,
stbPlayerType STBPlayerType,
stbURLPlayed OCTET STRING,
stbSessionStartTime DateAndTime,
stbSessionDuration TimeInterval,
stbEffectiveSessionDuration TimeInterval,
stbStreamingServerIPAddressType InetAddressType,
stbStreamingServerIPAddress InetAddress,
stbSessionSilenceDuration TimeInterval,
stbChannelNumber OCTET STRING,
stbChannelName SnmpAdminString,
stbAudioPID Unsigned32,
stbVideoPID Unsigned32,
stbStreamRate Unsigned32,
stbVideoCodec DisplayString,
stbVideoRate Unsigned32,
stbAudioCodec DisplayString,
stbAudioRate Unsigned32,
stbVideoSetup OCTET STRING,
stbChannelSwitchTime TimeInterval,
stbPacketLossThreshold STBPacketLossPercent,
stbPlayerBuffSize Unsigned32,
stbPlayerBuffThreshold INTEGER,
stbPlayerBuffThresholdUnit STBPlayerBuffThresholdUnit,
stbNumOfBufferFull Unsigned32,
stbNumOfBufferEmpty Unsigned32,
stbPacketLoss STBPacketLossPercent,
stbNumOfBufferFullThreshold Unsigned32,
stbNumOfBufferEmptyThreshold Unsigned32,
stbStreamingError STBStreamingProtocolError
}
stbPlayerID OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Unique ID of a Player.
Usually the process id of the player"
::= { stbPlayerEntry 1 }
stbPlayerName OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The name of the executable (and absolute path if necessary)"
::= { stbPlayerEntry 2 }
stbPlayerType OBJECT-TYPE
SYNTAX STBPlayerType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Represents the type of player"
::= { stbPlayerEntry 3 }
stbURLPlayed OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Represents URL of the file being played
(over the network or from a local storage).
Includes the streaming protocol."
::= { stbPlayerEntry 4 }
stbSessionStartTime OBJECT-TYPE
SYNTAX DateAndTime
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Represents the Date/Time corresponding to the
beginning of the last streaming session for this
instance of player"
::= { stbPlayerEntry 5 }
stbSessionDuration OBJECT-TYPE
SYNTAX TimeInterval
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Total duration of the last streaming session for
this particular instance"
::= { stbPlayerEntry 6 }
stbEffectiveSessionDuration OBJECT-TYPE
SYNTAX TimeInterval
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Effective streaming duration of the last streaming session
for this player instance = (stbPlayerSessionDuration - duration of pauses)"
::= { stbPlayerEntry 7 }
stbStreamingServerIPAddressType OBJECT-TYPE
SYNTAX InetAddressType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The address type of the stbStreamingServerIPAddress
that follows."
::= { stbPlayerEntry 8 }
stbStreamingServerIPAddress OBJECT-TYPE
SYNTAX InetAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"IP address of the streaming server when relevant
(does not apply to IP Multicast)"
::= { stbPlayerEntry 9 }
stbSessionSilenceDuration OBJECT-TYPE
SYNTAX TimeInterval
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"For the last streaming session, it is the number of seconds
elapsed since last data has been recieved by this
instance of the player"
::= { stbPlayerEntry 10 }
stbChannelNumber OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (0..4))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The Channel number watched at the moment in time.
String is empty if no live or NVOD channel is watched."
::= { stbPlayerEntry 11 }
stbChannelName OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The name of the channel watched at the moment in time.
String is empty if no live or NVOD channel is watched."
DEFVAL { "" }
::= { stbPlayerEntry 12 }
stbAudioPID OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The Audio PID value"
DEFVAL { 0 }
::= { stbPlayerEntry 13 }
stbVideoPID OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The Video PID value"
DEFVAL { 0 }
::= { stbPlayerEntry 14 }
stbStreamRate OBJECT-TYPE
SYNTAX Unsigned32
UNITS
"bits/sec"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"For the current streaming session, this
represents the overall bit rate"
DEFVAL { 0 }
::= { stbPlayerEntry 15 }
stbVideoCodec OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Video Codec used for the current streaming session"
DEFVAL { "" }
::= { stbPlayerEntry 16 }
stbVideoRate OBJECT-TYPE
SYNTAX Unsigned32
UNITS
"bits/sec"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Video rate for the current streaming session"
DEFVAL { 0 }
::= { stbPlayerEntry 17 }
stbAudioCodec OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Specifies the AudioCodec used for the current
streaming session"
DEFVAL { "" }
::= { stbPlayerEntry 18 }
stbAudioRate OBJECT-TYPE
SYNTAX Unsigned32
UNITS
"bits/sec"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Audio rate for the current session"
DEFVAL { 0 }
::= { stbPlayerEntry 19 }
stbVideoSetup OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (0..10))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Possible choices include PAL-I, PAL-M, PAL-N,
PAL-G, PAL-B, PAL-H, NTSC-J , NTSC-M etc"
DEFVAL { "" }
::= { stbPlayerEntry 20 }
stbChannelSwitchTime OBJECT-TYPE
SYNTAX TimeInterval
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"It represents the average channel zapping latency"
::= { stbPlayerEntry 21 }
stbPacketLossThreshold OBJECT-TYPE
SYNTAX STBPacketLossPercent
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Threshold beyond which the PacketLoss alarm will be
generated. Based on MIB-II Threshold -
Based on RTP packet numbering or MPEG-2 TS counter"
::= { stbPlayerEntry 22 }
stbPlayerBuffSize OBJECT-TYPE
SYNTAX Unsigned32
UNITS
"KB"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Total Player Buffer size"
::= { stbPlayerEntry 23 }
stbPlayerBuffThreshold OBJECT-TYPE
SYNTAX INTEGER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Governs the amount of data to buffer before
decoding is started. Must be read in
conjunction with the stbPlayerBuffThresholdUnit variable"
::= { stbPlayerEntry 24 }
stbPlayerBuffThresholdUnit OBJECT-TYPE
SYNTAX STBPlayerBuffThresholdUnit
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Describes the unit value for the stbPlayerBuffThreshold
variable above"
::= { stbPlayerEntry 25 }
stbNumOfBufferFull OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Gives the number of times the buffer
has been full for the URL being streamed
by this instance of the player"
::= { stbPlayerEntry 26 }
stbNumOfBufferEmpty OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Gives the number of times the buffer
has been empty for the URL being streamed
by this instance of the player"
::= { stbPlayerEntry 27 }
stbPacketLoss OBJECT-TYPE
SYNTAX STBPacketLossPercent
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Average % packet loss
(since the beginning of the last URL being streamed)"
::= { stbPlayerEntry 28 }
stbNumOfBufferFullThreshold OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The threshold used to trigger the issuance of a StreamingQoSReport
notification. The notification is issued if the the variable
stbNumOfBufferFull exceeds this threshold value."
::= { stbPlayerEntry 29 }
stbNumOfBufferEmptyThreshold OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Gives a measure of the the threshold for times the buffer
has been Empty for this instance of the player for the
current streaming session or playlist. If the
stbNumOfBufferEmpty crosses this threshold
then the StreamingQoSreport notification will be sent"
::= { stbPlayerEntry 30 }
stbStreamingError OBJECT-TYPE
SYNTAX STBStreamingProtocolError
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Provides information on any fatal errors that were
encountered by the player during the streaming session.
If no Error was encountered by the player, then the appropriate
noError value is returned"
::= { stbPlayerEntry 31 }
stbPlayerHistoryTable OBJECT-TYPE
SYNTAX SEQUENCE OF StbPlayerHistoryEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
" This table represents the history data of the player
charactersistics involved in the last N streaming sessions.
where N is a number that is dependant on the storage capacity
of the STB.
Each entry in this table denotes a historical record of a
player instance."
::= { stbPlayerParameters 2 }
stbPlayerHistoryEntry OBJECT-TYPE
SYNTAX StbPlayerHistoryEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An instance of the Historical record of a Player
instance of the STB. This row entry is created when
a player instance has finished with a streaming
session and has de-registered with the STB Agent.
The row entry is deleted if a new row needs to be added
and the threshold N, representing the total historical
records stored in the STB, has been reached - basically a
fixed length queue concept.
"
INDEX { stbHistoryPlayerID, stbHistorySessionStartTime }
::= { stbPlayerHistoryTable 1 }
StbPlayerHistoryEntry ::= SEQUENCE {
stbHistoryPlayerID Unsigned32,
stbHistoryPlayerName SnmpAdminString,
stbHistoryPlayerType STBPlayerType,
stbHistoryURLPlayed OCTET STRING,
stbHistorySessionStartTime DateAndTime,
stbHistorySessionDuration TimeInterval,
stbHistoryEffectiveSessionDuration TimeInterval,
stbHistoryStreamingServerIPAddressType InetAddressType,
stbHistoryStreamingServerIPAddress InetAddress,
stbHistorySessionSilenceDuration TimeInterval,
stbHistoryChannelNumber OCTET STRING,
stbHistoryChannelName SnmpAdminString,
stbHistoryChannelSwitchTime TimeInterval,
stbHistoryPacketLossThreshold STBPacketLossPercent,
stbHistoryPlayerBuffSize Unsigned32,
stbHistoryPlayerBuffThreshold INTEGER,
stbHistoryPlayerBuffThresholdUnit STBPlayerBuffThresholdUnit,
stbHistoryNumOfBufferFull Unsigned32,
stbHistoryNumOfBufferEmpty Unsigned32,
stbHistoryPacketLoss STBPacketLossPercent,
stbHistoryNumOfBufferFullThreshold Unsigned32,
stbHistoryNumOfBufferEmptyThreshold Unsigned32,
stbHistoryStreamingError STBStreamingProtocolError
}
stbHistoryPlayerID OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Unique ID of a Player."
::= { stbPlayerHistoryEntry 1 }
stbHistoryPlayerName OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The name of the executable (and absolute path if necessary)"
::= { stbPlayerHistoryEntry 2 }
stbHistoryPlayerType OBJECT-TYPE
SYNTAX STBPlayerType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Represents the type of player"
::= { stbPlayerHistoryEntry 3 }
stbHistoryURLPlayed OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (0..255))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Represents URL of the file that was played
(over the network or from a local storage).
Includes the streaming protocol."
::= { stbPlayerHistoryEntry 4 }
stbHistorySessionStartTime OBJECT-TYPE
SYNTAX DateAndTime
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Represents the Date/Time corresponding to the
beginning of the last streaming session for this
instance of player"
::= { stbPlayerHistoryEntry 5 }
stbHistorySessionDuration OBJECT-TYPE
SYNTAX TimeInterval
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Total duration of the last streaming session for
this particular instance"
::= { stbPlayerHistoryEntry 6 }
stbHistoryEffectiveSessionDuration OBJECT-TYPE
SYNTAX TimeInterval
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Represents the Histororical value of the Effective
streaming duration of the last streaming session
for this player instance .
"
::= { stbPlayerHistoryEntry 7 }
stbHistoryStreamingServerIPAddressType OBJECT-TYPE
SYNTAX InetAddressType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The address type of the
stbHistoryStreamingServerIPAddress that follows."
::= { stbPlayerHistoryEntry 8 }
stbHistoryStreamingServerIPAddress OBJECT-TYPE
SYNTAX InetAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"IP address of the streaming server, when relevant,
(does not apply to IP Multicast)"
::= { stbPlayerHistoryEntry 9 }
stbHistorySessionSilenceDuration OBJECT-TYPE
SYNTAX TimeInterval
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The Historical value of the SessionSilenceDuration
for this instance of the player"
::= { stbPlayerHistoryEntry 10 }
stbHistoryChannelNumber OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (0..4))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The Channel number watched at that moment in time.
String is empty if no live or NVOD channel is watched."
::= { stbPlayerHistoryEntry 11 }
stbHistoryChannelName OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The name of the channel watched at that moment in time.
String is empty if no live or NVOD channel is watched."
DEFVAL { "" }
::= { stbPlayerHistoryEntry 12 }
stbHistoryChannelSwitchTime OBJECT-TYPE
SYNTAX TimeInterval
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"It represents the average channel zapping latency"
::= { stbPlayerHistoryEntry 13 }
stbHistoryPacketLossThreshold OBJECT-TYPE
SYNTAX STBPacketLossPercent
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Threshold beyond which the PacketLoss alarm will be
generated. Based on MIB-II Threshold -
Based on RTP packet numbering or MPEG-2 TS counter"
::= { stbPlayerHistoryEntry 14 }
stbHistoryPlayerBuffSize OBJECT-TYPE
SYNTAX Unsigned32
UNITS
"KB"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Total Player Buffer size"
::= { stbPlayerHistoryEntry 15 }
stbHistoryPlayerBuffThreshold OBJECT-TYPE
SYNTAX INTEGER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Governs the amount of data to buffer before
decoding is started. Must be read in
conjunction with the stbHistoryPlayerBuffThresholdUnit
variable"
::= { stbPlayerHistoryEntry 16 }
stbHistoryPlayerBuffThresholdUnit OBJECT-TYPE
SYNTAX STBPlayerBuffThresholdUnit
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Describes the unit value for the
stbHistoryPlayerBuffThreshold variable above"
::= { stbPlayerHistoryEntry 17 }
stbHistoryNumOfBufferFull OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Gives the number of times the buffer
has been full for the URL being streamed
by this instance of the player"
::= { stbPlayerHistoryEntry 18 }
stbHistoryNumOfBufferEmpty OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Gives the Historical number of times the buffer
has been empty for the URL being streamed
by this instance of the player"
::= { stbPlayerHistoryEntry 19 }
stbHistoryPacketLoss OBJECT-TYPE
SYNTAX STBPacketLossPercent
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Average % packet loss
(since the beginning of the last URL being streamed)"
::= { stbPlayerHistoryEntry 20 }
stbHistoryNumOfBufferFullThreshold OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The threshold that was used to trigger the issuance of a
StreamingQoSReport notification"
::= { stbPlayerHistoryEntry 21 }
stbHistoryNumOfBufferEmptyThreshold OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Gives a measure of the the threshold for times the buffer
has been Empty for this instance of the player for the
current streaming session or playlist"
::= { stbPlayerHistoryEntry 22 }
stbHistoryStreamingError OBJECT-TYPE
SYNTAX STBStreamingProtocolError
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Provides information on any fatal errors that were
encountered by the player during the streaming session.
If no Error was encountered by the player, then the appropriate
noError value is returned"
::= { stbPlayerHistoryEntry 23 }
stbOverallStreamingQoSTable OBJECT-TYPE
SYNTAX SEQUENCE OF StbOverallStreamingQoSEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
" This table represents the overall QoS of the Streams.
This table contains 3 entries representing the previous
5-minute, 15 minute and 30 minute QoS statistics across
all the player instances started in the STB during the
period under review"
::= { stbPlayerParameters 3 }
stbOverallStreamingQoSEntry OBJECT-TYPE
SYNTAX StbOverallStreamingQoSEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An instance representing a reporting period. Ex: 5 minutes
or 15 minutes or 30 minutes"
INDEX { stbQoSReportPeriod
}
::= { stbOverallStreamingQoSTable 1 }
StbOverallStreamingQoSEntry ::= SEQUENCE {
stbQoSReportPeriod Unsigned32,
stbPacketLossPCT STBPacketLossPercent,
stbOverallNumOfBufferFull Unsigned32,
stbOverallNumOfBufferEmpty Unsigned32,
stbCPUThresholdExceededDuration Unsigned32,
stbMemThresholdExceededDuration Unsigned32 }
stbQoSReportPeriod OBJECT-TYPE
SYNTAX Unsigned32
UNITS
"minutes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Represents the period for which the overall QoS is
represented in the table. Typical values are 5, 15 and 30"
::= { stbOverallStreamingQoSEntry 1 }
stbPacketLossPCT OBJECT-TYPE
SYNTAX STBPacketLossPercent
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Average % of packet loss over all last streaming sessions"
::= { stbOverallStreamingQoSEntry 2 }
stbOverallNumOfBufferFull OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Total number of times the player's buffer has been seen full
(for all last streaming sessions)"
::= { stbOverallStreamingQoSEntry 3 }
stbOverallNumOfBufferEmpty OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Total number of times the player's buffer has
been seen empty
(for all last streaming sessions)"
::= { stbOverallStreamingQoSEntry 4 }
stbCPUThresholdExceededDuration OBJECT-TYPE
SYNTAX Unsigned32
UNITS
"minutes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The Total time the CPU Usage of the STB was above the
Threshold limit specified in minutes. This value must be
calculated atleast every 2 minutes"
::= { stbOverallStreamingQoSEntry 5 }
stbMemThresholdExceededDuration OBJECT-TYPE
SYNTAX Unsigned32
UNITS
"minutes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The Total time the Memory Usage of the STB was above the
Threshold limit specified in minutes. This value must be
calculated atleast every 2 minutes"
::= { stbOverallStreamingQoSEntry 6 }
stbTrapInitiator OBJECT-TYPE
SYNTAX STBTrapInitiator
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Identifies the initiator of the stbStreamingSessionQoSReport
notification"
::= { stbPlayerParameters 4 }
-- PVR related parameters
stbPVRParameters OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Represents the collection of all local PVR parameters"
::= { stbMIBObjects 6 }
stbPVREnabled OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
" Boolean Value that indicates if local PVR is supported"
::= { stbPVRParameters 1 }
stbPVRTotalStorageCapacity OBJECT-TYPE
SYNTAX Unsigned32
UNITS
"KB"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Provides the Total storage capacity available for PVR"
::= { stbPVRParameters 2 }
stbPVRFreeStorageCapacity OBJECT-TYPE
SYNTAX Unsigned32
UNITS
"KB"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Provides the Free storage capacity available for PVR"
::= { stbPVRParameters 3 }
stbBrowserParameters OBJECT-IDENTITY
STATUS current
DESCRIPTION
"Lists all STB Browser related parameters"
::= { stbMIBObjects 7 }
stbBrowser OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Name of the browser used in the STB"
::= { stbBrowserParameters 1 }
stbBrowserVersion OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (0..4))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Version of the browser used"
::= { stbBrowserParameters 2 }
stbBrowserHomePage OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Home page on the STB browser - typically
points to the middleware"
::= { stbBrowserParameters 3 }
stbProxyIPAddressType OBJECT-TYPE
SYNTAX InetAddressType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The address type of the stbProxyIPAddress that
follows."
::= { stbBrowserParameters 4 }
stbProxyIPAddress OBJECT-TYPE
SYNTAX InetAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"IP address of the proxy server as configured in the browser"
::= { stbBrowserParameters 5 }
stbProxyPort OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Proxy port number configured on the browser"
::= { stbBrowserParameters 6 }
stbRAMCache OBJECT-TYPE
SYNTAX Unsigned32
UNITS
"KB"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"RAM size in KB to be kept aside for Browser cache."
::= { stbBrowserParameters 7 }
stbSmartCardTable OBJECT-TYPE
SYNTAX SEQUENCE OF StbSmartCardEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A table that lists the instances of the smart card in the
STB and its attributes. A row entry is created for every
SmartCard used in the STB"
::= { stbMIBObjects 8 }
stbSmartCardEntry OBJECT-TYPE
SYNTAX StbSmartCardEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An row represnts an instance of Smart Card on the STB"
INDEX { stbSmartCardIdx
}
::= { stbSmartCardTable 1 }
StbSmartCardEntry ::= SEQUENCE {
stbSmartCardIdx Unsigned32,
stbSmartCardVendor SnmpAdminString,
stbSmartCardType STBSmartCardType,
stbSmartCardActStatus TruthValue }
stbSmartCardIdx OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A unique non-zero number that is used as an index to this table"
::= { stbSmartCardEntry 1 }
stbSmartCardVendor OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The Smart card vendor name "
::= { stbSmartCardEntry 2 }
stbSmartCardType OBJECT-TYPE
SYNTAX STBSmartCardType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This represents the type of Smart Card
Examples are : {ISO 7816 (0), PCMCIA Type 2 (1),
DVB-CI -EN50221-(2), Virtual (3)}"
::= { stbSmartCardEntry 3 }
stbSmartCardActStatus OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
" A boolean value representing the Activation status of the
SmartCard instance.
True(1) indicates Enabled
False(2) indicates Disabled"
::= { stbSmartCardEntry 4 }
stbChannelWatchedEnabled OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Boolean flag that indicates if the Channel watched trap
is to be sent upon every channel change.
Values :
1 - enable (trap stbChannelWatched must be issued)
2 - disable (trap stbChannelWatched shall not be issued)
Must be enabled in special debugging cases only since
the manager will possibly be overloaded with traps
on enabling"
::= { stbMIBObjects 9 }
stbStreamingSessionQoSReportEnabled OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Boolean flag that indicates if the
stbStreamingSessionQoSReport trap is to be sent.
Values :
1 - enable (trap stbStreamingSessionQoSReport must be issued)
2 - disable (trap stbStreamingSessionQoSReport shall not be issued)
"
::= { stbMIBObjects 10 }
stbLocalTime OBJECT-TYPE
SYNTAX DateAndTime
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The local time on the STB. An implementation MUST
return all 11 bytes of the DateAndTime
textual-convention so that a manager may retrieve
the offset from GMT time."
::= { stbMIBObjects 11 }
stbEventMinTimeInterval OBJECT-TYPE
SYNTAX Unsigned32
UNITS
"seconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"It may be possible that the STB implementing this MIB
can swamp the Manager with numerous QoS related notifications
This variable would tell the SNMP agent the minimum time
interval to wait between the issuance of two events regarding
the same information. Concerns the CPU load, the memory usage,
streaming session QoS (and not ChannelWatched).
For future use"
::= { stbMIBObjects 12 }
-- Notification Types
--
-- Conformance
--
-- Groups
--
stbMIBGroups OBJECT IDENTIFIER ::= { stbMIBConf 1 }
-- Compliance
--
stbMIBCompls OBJECT IDENTIFIER ::= { stbMIBConf 2 }
stbCPUThresholdExceeded NOTIFICATION-TYPE
OBJECTS {
stbMACAddress,
stbIPAddress,
stbSoftwareVersion,
stbLocalTime,
stbCurrentCPUUsage}
STATUS current
DESCRIPTION
"Threshold generated when the CPU usage
exceeds the pre-defined threshold. The CPU
usage will be checked at regular pre-defined
intervals Ex: 10 minutes and compared with the
internal threshold; any violation will result in
this trap being sent."
::= { stbMIBEvents 1 }
stbMemThresholdExceeded NOTIFICATION-TYPE
OBJECTS {
stbMACAddress,
stbIPAddress,
stbSoftwareVersion,
stbLocalTime,
stbCurrentMemoryUsage}
STATUS current
DESCRIPTION
"Threshold generated when the Memory usage exceeds
the pre-defined threshold.The Memory
usage will be checked at regular pre-defined
intervals Ex: 10 minutes and compared with the
internal threshold; any violation will result in
this trap being sent."
::= { stbMIBEvents 2 }
stbStreamingSessionQoSReport NOTIFICATION-TYPE
OBJECTS {
stbMACAddress,
stbIPAddress,
stbSoftwareVersion,
stbPlayerName,
stbSessionStartTime,
stbSessionDuration,
stbEffectiveSessionDuration,
stbStreamingServerIPAddress,
stbURLPlayed,
stbNumOfBufferFull,
stbNumOfBufferEmpty,
stbPacketLoss,
stbSessionSilenceDuration,
stbStreamingError,
stbTrapInitiator
}
STATUS current
DESCRIPTION
"(1)Trap Issued systematically at the end of a streaming session
if such trap issuance is enabled
(StreamingSessionQoSReportEnabled == 1) OR
Such Trap is also issued during a streaming session
(2) whenever the number of times the player's buffer has
been seen empty / full ( represented by the variables
stbNumOfBufferFull / stbNumOfBufferEmpty)
is a multiple of a pre-defined integer
number specified by stbNumOfBufferFullThreshold /
stbNumOfBufferEmptyThreshold OR
(3) the first time the % of packet losses exceeds a
pre-defined setting (%Packet Loss Threshold).
If silence duration exceeds a pre-defined duration
(not defined in the MIB), which means that no data has been
received by the player during this duration,
the player is supposed to close the streaming session.
"
::= { stbMIBEvents 3 }
stbChannelWatched NOTIFICATION-TYPE
OBJECTS {
stbMACAddress,
stbIPAddress,
stbSoftwareVersion,
stbLocalTime,
stbChannelName,
stbMulticastIPAddress,
stbAudioPID,
stbVideoPID }
STATUS current
DESCRIPTION
"Trap generated when a channel is changed on the STB.
This notification is enabled when the stbChannelWatchedEnabled
MIB variable is set to enabled to avoid flooding the manager
with large information"
::= { stbMIBEvents 4 }
stbCPUThresholdExceededClear NOTIFICATION-TYPE
OBJECTS {
stbMACAddress,
stbIPAddress,
stbSoftwareVersion,
stbLocalTime,
stbCurrentCPUUsage}
STATUS current
DESCRIPTION
"Clear notification generated when the CPU usage
has fallen below the pre-defined threshold.
This Clear notification is sent if a
stbCPUThresholdExceededClear notification has
been previously sent.
"
::= { stbMIBEvents 5 }
stbMemThresholdExceededClear NOTIFICATION-TYPE
OBJECTS {
stbMACAddress,
stbIPAddress,
stbSoftwareVersion,
stbLocalTime,
stbCurrentMemoryUsage}
STATUS current
DESCRIPTION
"Clear notification generated when the Memory usage
falls below th pre-defined threshold. This Clear notification
is sent if a stbMemThresholdExceeded notification has been
previously sent"
::= { stbMIBEvents 6 }
END