Hi
I have CMTS C100G Casa Systems and I want to develop an application with php that allows me to list the cable modems (mac)
and know which upstream port of the CMTS they are connected to and know their DSPwr(dB), USPwr(dB), DSSNR(dB) levels
My intention is to save this in a database.
For example, to identify the percentage of cable modems through an Upstream port that exceed the USPwr(dB) level by more than 50 dB or cable modems (mac) that have levels outside the expected range.
Please help me how can I do this in the cmts, if I have to make a script to connect with telnet to the cmts or by snmp queries to the cmts I can do it.
please help me
I'd go the SNMP way, PHP has a good snmp support, snmpwalk the data, you can query everything you wiill want to see. Take a look at https://mibs.observium.org/mib/DOCS-IF3-MIB/
Hi
Please help me with the oids needed to do this:
List all cable modems and know their levels: DSPwr(dB), USPwr(dB), DSSNR(dB)
know which Upstream port each cable modem is connected
My intention is to save the results of the oid queries in a database
with this make queries in the database to identify and list the modems that have levels out of range and group by Upstream port.
The data you are requesting from the CMTS is actually data retrieved from the CM.
DsPwr - (received at cable modem)
DsSNR - (Quality of DS power at cable modem)
UsPwr - (transmitted at cable modem)
You can get this info from a CMTS, if you have remote-query configured and enabled on the CMTS.
On Casa this can be enabled with
cable modem remote-query [community] [refreshInterval]
then you can query from the CASA-CABLE-CMQUERY-MIB
casaQueryCmMacAddress index of table - will give you the mac address of the modem in question, note mac addess is in binary form meaning it is stored as 6 bytes rather than 12 bytes of ascii
casaQueryCmIpAddress (1.3.6.1.4.1.20858.10.18.1.1.1.2) - will give you the IP address of the modem in question
casaQueryCmTxTimeOffset (1.3.6.1.4.1.20858.10.18.1.1.1.3) - A measure of the current round trip time at the CM, or the
maximum round trip time seen by the CMTS. Used for timing
of CM upstream transmissions to ensure synchronized
arrivals at the CMTS. Units are in terms of
(6.25 microseconds/64).
casaQueryCmMicroReflection (1.3.6.1.4.1.20858.10.18.1.1.1.4) dBc - Total microreflections including in-channel response
as perceived on this interface, measured in dBc below
the signal level.
This object is not assumed to return an absolutely
accurate value, but should give a rough indication
of microreflections received on this interface.
It is up to the implementor to provide information
as accurate as possible.
casaQueryCmStatusTxPower (1.3.6.1.4.1.20858.10.18.1.1.1.5) dBmV (in tenths) - The operational transmit power of the cable modem upstream channel,the most current value (CM)
or the value of 0
casaQueryCmStatusRxPower (1.3.6.1.4.1.20858.10.18.1.1.1.5) - dBmV (in tenths) - The operational receive power of the cable modem downstream channel.
casaQueryCmSigQSignalNoise (1.3.6.1.4.1.20858.10.18.1.1.1.7) dB (in Tenths) - Signal/Noise ratio as perceived for this channel.
describes the Signal/Noise of the downstream
channel of CM .
casaQueryCmtsSigQSignalNoise (1.3.6.1.4.1.20858.10.18.1.1.1.8) dB (in Tenths) - Signal/Noise ratio as perceived for this channel.
describes the average Signal/Noiseof the upstream
channel at CMTS.
cmSysDesc (1.3.6.1.4.1.20858.10.18.1.1.1.9) - The model and software version of this CM
as parsed from its sysDescr.
configFile (1.3.6.1.4.1.20858.10.18.1.1.1.10) - The configuration file of the modem.
getting the upstream interface is a little trickier, the proper way to do it is to:
1) query the docsIfCmtsMacToCmTable (1.3.6.1.2.1.10.127.1.3.7) , this is done by doing an snmpGet to docsIfCmtsCmPtr (1.3.6.1.2.1.10.127.1.3.7.1.2) with an index that equals the mac address read in previous table. This will give you the pointer to the cable modem.
2) with the pointer to the cable modem you can query the docsIfCmtsCmStatusTable, specifically the docsIfCmtsCmStatusUpChannelIfIndex (1.3.6.1.2.1.10.127.1.3.3.1.5) with the CM pointer as the index. This will give you the ifIndex of the primary upstream the modem is using.
3) with the ifIndex of the primary upstream you can query the ifTable or ifXtable for the ifDescr (1.3.6.1.2.1.2.2.1.2) or ifName (1.3.6.1.2.1.31.1.1.1.1
) respectfully, with the ifIndex as the index, to get the human readable name of the upstream interface.