MIB Revamp Proposal Asterisk
Subscribe

From OpenNMS

Jump to: navigation, search

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

  1. Identify current components that should be customers
  2. Identify core data that needs exposing to serve these customers
  3. 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