From OpenNMS
For a study / deconstruction of the existing MIB (as of Asterisk 1.4), see MIB_Study_Asterisk.
Contents |
Proposed new MIB outline
+ private
|-+ enterprises
| |-+ digium
| | |-+ asterisk
| | |-+ asteriskNew(6)
| | | |-+ asteriskConfig(1)
| | | | |-+ astVersionMajor(1) Unsigned32
| | | | |-+ astVersionMinor(2) Unsigned32
| | | | |-+ astVersionPatchLevel(3) Unsigned32
| | | | |-+ astSCMRevision(4) Unsigned32
| | | | |-+ astEffectiveUID(5) Unsigned32
| | | | |-+ astEffectiveUserName(6) DisplayString
| | | | |-+ astEffectiveGID(7) Unsigned32
| | | | |-+ astEffectiveGroupName(8) DisplayString
| | | | |-+ astFeatureConfig(9)
| | | | | |-+ astParkConfig(1)
| | | | | | |-+ astParkCfExtension(1) DisplayString
| | | | | | |-+ astParkCfPosMin(2) Integer32
| | | | | | |-+ astParkCfPosMax(3) Integer32
| | | | | | |-+ astParkCfContext(4) DisplayString
| | | | | | |-+ astParkCfMaxSeconds(5) Integer32
| | | | | | |-+ astParkCfCourtesyTone(6) DisplayString
| | | | | | |-+ astParkCfCourtesyToneParty(7) INTEGER { parked(1), caller(2), both(3) }
| | | | | | |-+ astParkCfCallTransfers(8) INTEGER { callee(1), caller(2), both(3), none(4) }
| | | | | | |-+ astParkCfCallReparking(9) INTEGER { callee(1), caller(2), both(3), none(4) }
| | | | | | |-+ astParkCfADSIPark(10) TruthValue
| | | | | | |-+ astParkCfFindSlot(11) INTEGER { next(1), first(2) }
| | | | | | |-+ astParkCfMusicClass(12) Integer32 -- see astMOHCfClassIndex
| | | | | | + astXferConfig(2)
| | | | | | |-+ astXferCfDigitTimeout(1) Integer32
| | | | | | |-+ astXferCfSound(2) DisplayString
| | | | | | |-+ astXferCfPickupExten(3) DisplayString
| | | | | | |-+ astXferCfFeatureDigitTimeout(4) Integer32
| | | | | | |-+ astXferCfNoAnswerTimeout(5) Integer32
| | | | | |-+ astModulesConfig(3)
| | | | | | |-+ astModulesCfAutoLoad(1) TruthValue
| | | | | | |-+ astModulesCfPreLoadTable(2)
| | | | | | | |-+ astModulesCfPreLoadEntry(1)
| | | | | | | | |-+ astModulesCfPreLoadIndex(1)
| | | | | | | | |-+ astModulesCfPreLoadName(2)
| | | | | | |-+ astModulesCfNoLoadTable(3)
| | | | | | | |-+ astModulesCfNoLoadEntry(1)
| | | | | | | | |-+ astModulesCfNoLoadIndex(1)
| | | | | | | | |-+ astModulesCfNoLoadName(2)
| | | | | | |-+ astModulesCfLoadTable(4)
| | | | | | | |-+ astModulesCfLoadEntry(1)
| | | | | | | | |-+ astModulesCfLoadIndex(1)
| | | | | | | | |-+ astModulesCfLoadName(2)
| | | | | |-+ astUsersConfig(4)
| | | | | | |-+ astUsersConfigGeneral(1)
| | | | | | | |-+ astUsersCfGenFullName(1) DisplayString
| | | | | | | |-+ astUsersCfGenUserBase(2) DisplayString
| | | | | | | |-+ astUsersCfGenHasVoicemail(3) TruthValue
| | | | | | | |-+ astUsersCfGenVmSecret(4) DisplayString
| | | | | | | |-+ astUsersCfGenHasSIP(5) TruthValue
| | | | | | | |-+ astUsersCfGenHasIAX(6) TruthValue
| | | | | | | |-+ astUsersCfGenHasH323(7) TruthValue
| | | | | | | |-+ astUsersCfGenHasManager(8) TruthValue
| | | | | | | |-+ astUsersCfGenCallWaiting(9) TruthValue
| | | | | | | |-+ astUsersCfGenThreeWayCalling(10) TruthValue
| | | | | | | |-+ astUsersCfGenCWCID(11) TruthValue
| | | | | | | |-+ astUsersCfGenTransfer(12) TruthValue
| | | | | | | |-+ astUsersCfGenCanPark(13) TruthValue
| | | | | | | |-+ astUsersCfGenCanCallForward(14) TruthValue
| | | | | | | |-+ astUsersCfGenCallReturn(15) TruthValue
| | | | | | | |-+ astUsersCfGenCallGroup(16) Unsigned32
| | | | | | | |-+ astUsersCfGenPickupGroup(17) Unsigned32
| | | | | | |-+ astUsersConfigTable(2)
| | | | | | | |-+ astUsersConfigEntry(1)
| | | | | | | | |-+ astUsersCfIndex(1) Integer32
| | | | | | | | |-+ astUsersCfUserName(2) DisplayString
| | | | | | | | |-+ astUsersCfFullName(3) DisplayString
| | | | | | | | |-+ astUsersCfEmailAddr(4) DisplayString
| | | | | | | | |-+ astUsersCfSecret(5) DisplayString
| | | | | | | | |-+ astUsersCfZapChan(6) Integer32
| | | | | | | | |-+ astUsersCfHasVoicemail(7) TruthValue
| | | | | | | | |-+ astUsersCfVMSecret(8) DisplayString
| | | | | | | | |-+ astUsersCfHasSIP(9) TruthValue
| | | | | | | | |-+ astUsersCfHasIAX(10) TruthValue
| | | | | | | | |-+ astUsersCfHasH323(11) TruthValue
| | | | | | | | |-+ astUsersCfHasManager(12) TruthValue
| | | | | | | | |-+ astUsersCfCallWaiting(13) TruthValue
| | | | | | | | |-+ astUsersCfContext(14) DisplayString
| | | |-+ asteriskFootprint(2)
| | | | |-+ astProcesses(1)
| | | | | |-+ astFootprintPID(1) Unsigned32
| | | | | |-+ astFootprintThreadCount(2) Gauge32
| | | | | |-+ astFootprintThreadTable(3)
| | | | | | |-+ astThreadEntry(1)
| | | | | | | |-+ astThreadIndex(1) Unsigned32
| | | | | | | |-+ astThreadName(3) DisplayString
| | | | | | | |-+ astThreadStartTime(4) TimeTicks
| | | | | | | |-+ astThreadSrcFile(5) DisplayString
| | | | | | | |-+ astThreadFuncName(6) DisplayString
| | | |-+ asteriskPerformance(3)
| | | | |-+ astPerfXlateTimeTable(1)
| | | | | |-+ astPerfXlateTimeEntry(1)
| | | | | | |-+ astPerfXlateTimeSrcCodec(1) CodecIdentifier
| | | | | | |-+ astPerfXlateTimeDestCodec(2) CodecIdentifier
| | | | | | |-+ astPerfXlateTimeCodecPairDescr(3) DisplayString
| | | | | | |-+ astPerfXlateTimeMsPerSec(4) Unsigned32
| | | | |-+ astPerfCodecUsageTable(2)
| | | | | |-+ astPerfCodecEntry (1)
| | | | | | |-+ astPerfCodecIndex (1) AsteriskCodec
| | | | | | |-+ astPerfCodecDescr (2) DisplayString
| | | | | | |-+ astPerfCodecCapped (3) TruthValue
| | | | | | |-+ astPerfCodecTotal (4) Gauge32
| | | | | | |-+ astPerfCodecInUse (5) Gauge32
| | | | |-+ astPerfIAX(3)
| | | | | |-+ astPerfIAXStats(1)
| | | | | | |-+ astPerfIAXFramesOutstandingIngress(1) Gauge32
| | | | | | |-+ astPerfIAXFramesOutstandingEgress(2) Gauge32
| | | | | | |-+ astPerfIAXTransmitsTimed(3) Gauge32
| | | | | | |-+ astPerfIAXTransmitsUntimed(4) Gauge32
| | | | | | |-+ astPerfIAXTrunkMaxMTU(5) Integer32
| | | | | | |-+ astPerfIAXTrunkNMaxMTU(6) Integer32
| | | | | | |-+ astPerfIAXTrunkGlobalMaxMTU(7) Integer32
| | | | | | |-+ astPerfIAXPktQueueDead(8) Gauge32
| | | | | | |-+ astPerfIAXPktQueueFinal(9) Gauge32
| | | | | | |-+ astPerfIAXPktQueueTotal(10) Gauge32
New SMI Syntaxes
AsteriskCodec ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Represents an audio or video codec in the context of the Asterisk Open Source PBX."
SYNTAX INTEGER {
g723(1), -- G.723.1
gsm(2),
ulaw(4), -- G.711
alaw(8), -- G.711
g726aal2(16), -- G.726 AAL2
adpcm(32),
slin(64), -- 16-bit signed linear PCM
lpc10(128),
g729(256), -- G.729A
speex(512), -- Ogg Speex
ilbc(1024),
g726(2048), -- G.726 RFC3551
g722(4096),
jpeg(65536),
png(131072),
h261(262144), -- H.261 Video
h263(524288), -- H.263 Video
h263p(1048576), -- H.263+ Video
h264(2097152) -- H.264 Video
}
Optional MIB Extensions
- AstriDevCon badJokeTable
- Others?
Other Stuff that should be here
Statistics by codec
For the case of e.g. G.729, it's important to be able to track the number of channels currently using a scarce resource. Currently I don't think this is exposed anywhere in the MIB.
iax2 show netstats
core show stats
New Data API Layer
- Identify current components that should be customers
- Identify core data that needs exposing to serve these customers
- Start moving customers, one at a time, to new API
Concerns:
- How to represent data internally in a generic enough way that every customer can use it
- Getting the layer in for 1.6 -- discussion probably harder / slower than coding
- Concurrency -- rest of the system changing around / under us






