Simple Network Management Protocol
SNMP پروتکلی برای مدیریت شبکه است که شما اون رو می تونید روی هر سیستمی نصب و به مدیریت و البته Monitoring شبکه خودتون بپردازید.البته SNMP v1 & SNMP v2 مشکلات امنیتی زیادی دارد و ورژن ۳ عموما امنیت بالایی دارد.معمولاْ مدیران شبکه و افرادی که آشنایی زیادی با اون ندارند نمی تونند به خوبی اون رو manage کرده و به راحتی می شه سوء استفاده کرد. پروتکل SNMP پروتکلیست جهت کنترل و دریافت اطلاعات از کلیه تجهیزات تحت شبکه ای که این پروتکل را پشتیبانی میکنند.
برای نصب این سرویس روی استریسک و یا الستیکس ابتدا :
که جواب زیر رو به ما میده که نشون میده بای دیفالت روش نصب هست :
خوب حالا تنها یه پکیج میمونه که با دستور زیر نصبش میکنیم:
بعد از اینکه نصبش کامل شد وارد مسیر زیر میشیم :
حالا اینجا باید تو این مسیر دو تا فایل درست کنید به نامهای DIGIUM-MIB.txt و ASTERISK-MIB.txt که محتوای این فایلها رو هم خودتون باید دستی کپی کنین توی فایلها:
و خطهای زیر رو توش قرار بدین و ذخیره اش کنین:
DIGIUM-MIB DEFINITIONS ::= BEGIN
IMPORTS
enterprises, MODULE-IDENTITY
FROM SNMPv2-SMI;
digium MODULE-IDENTITY
LAST-UPDATED "200806202000Z"
ORGANIZATION "Digium, Inc."
CONTACT-INFO
"Mark Spencer
Email: markster@digium.com"
DESCRIPTION
"The Digium private-enterprise MIB"
REVISION "200806202000Z"
DESCRIPTION
"Corrected imports and missing revision for last update.
Addresses bug 12905. - jeffg@opennms.org"
REVISION "200602041900Z"
DESCRIPTION
"Initial revision."
::= { enterprises 22736 }
END
و حالا فایل ASTERISK-MIB.txt
و خطهای زیر رو توش بذارین و ذخیره اش کنید:
ASTERISK-MIB DEFINITIONS ::= BEGIN
IMPORTS
OBJECT-TYPE, MODULE-IDENTITY, Integer32, Counter32, TimeTicks,
Unsigned32, Gauge32
FROM SNMPv2-SMI
TEXTUAL-CONVENTION, DisplayString, TruthValue
FROM SNMPv2-TC
digium
FROM DIGIUM-MIB;
asterisk MODULE-IDENTITY
LAST-UPDATED "200806202025Z"
ORGANIZATION "Digium, Inc."
CONTACT-INFO
"Mark A. Spencer
Postal: Digium, Inc.
445 Jan Davis Drive
Huntsville, AL 35806
USA
Tel: +1 256 428 6000
Email: markster@digium.com
Thorsten Lockert
Postal: Voop AS
Boehmergaten 42
NO-5057 Bergen
Norway
Tel: +47 5598 7200
Email: tholo@voop.no"
DESCRIPTION
"Asterisk is an Open Source PBX. This MIB defined
objects for managing Asterisk instances."
REVISION "200806202025Z"
DESCRIPTION
"smilint police --
Add missing imports; fix initial capitalization
of enumeration elements; add missing range
restrictions for Integer32 indices, correct
spelling of astChanCidANI in its definition.
Addresses bug 12905. - jeffg@opennms.org"
REVISION "200708211450Z"
DESCRIPTION
"Add total and current call counter statistics."
REVISION "200603061840Z"
DESCRIPTION
"Change audio codec identification from 3kAudio to
Audio3k to conform better with specification.
Expand on contact information."
REVISION "200602041900Z"
DESCRIPTION
"Initial published revision."
::= { digium 1 }
asteriskVersion OBJECT IDENTIFIER ::= { asterisk 1 }
asteriskConfiguration OBJECT IDENTIFIER ::= { asterisk 2 }
asteriskModules OBJECT IDENTIFIER ::= { asterisk 3 }
asteriskIndications OBJECT IDENTIFIER ::= { asterisk 4 }
asteriskChannels OBJECT IDENTIFIER ::= { asterisk 5 }
-- asteriskVersion
astVersionString OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Text version string of the version of Asterisk that
the SNMP Agent was compiled to run against."
::= { asteriskVersion 1 }
astVersionTag OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"SubVersion revision of the version of Asterisk that
the SNMP Agent was compiled to run against -- this is
typically 0 for release-versions of Asterisk."
::= { asteriskVersion 2 }
-- asteriskConfiguration
astConfigUpTime OBJECT-TYPE
SYNTAX TimeTicks
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Time ticks since Asterisk was started."
::= { asteriskConfiguration 1 }
astConfigReloadTime OBJECT-TYPE
SYNTAX TimeTicks
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Time ticks since Asterisk was last reloaded."
::= { asteriskConfiguration 2 }
astConfigPid OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The process id of the running Asterisk process."
::= { asteriskConfiguration 3 }
astConfigSocket OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The control socket for giving Asterisk commands."
::= { asteriskConfiguration 4 }
astConfigCallsActive OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of calls currently active on the Asterisk PBX."
::= { asteriskConfiguration 5 }
astConfigCallsProcessed OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of calls processed through the Asterisk PBX since last
restart."
::= { asteriskConfiguration 6 }
-- asteriskModules
astNumModules OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of modules currently loaded into Asterisk."
::= { asteriskModules 1 }
-- asteriskIndications
astNumIndications OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of indications currently defined in Asterisk."
::= { asteriskIndications 1 }
astCurrentIndication OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Default indication zone to use."
::= { asteriskIndications 2 }
astIndicationsTable OBJECT-TYPE
SYNTAX SEQUENCE OF AstIndicationsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Table with all the indication zones currently know to
the running Asterisk instance."
::= { asteriskIndications 3 }
astIndicationsEntry OBJECT-TYPE
SYNTAX AstIndicationsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Information about a single indication zone."
INDEX { astIndIndex }
::= { astIndicationsTable 1 }
AstIndicationsEntry ::= SEQUENCE {
astIndIndex Integer32,
astIndCountry DisplayString,
astIndAlias DisplayString,
astIndDescription DisplayString
}
astIndIndex OBJECT-TYPE
SYNTAX Integer32 (1 .. 2147483647)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Numerical index into the table of indication zones."
::= { astIndicationsEntry 1 }
astIndCountry OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Country for which the indication zone is valid,
typically this is the ISO 2-letter code of the country."
::= { astIndicationsEntry 2 }
astIndAlias OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
""
::= { astIndicationsEntry 3 }
astIndDescription OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Description of the indication zone, usually the full
name of the country it is valid for."
::= { astIndicationsEntry 4 }
-- asteriskChannels
astNumChannels OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Current number of active channels."
::= { asteriskChannels 1 }
astChanTable OBJECT-TYPE
SYNTAX SEQUENCE OF AstChanEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Table with details of the currently active channels
in the Asterisk instance."
::= { asteriskChannels 2 }
astChanEntry OBJECT-TYPE
SYNTAX AstChanEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Details of a single channel."
INDEX { astChanIndex }
::= { astChanTable 1 }
AstChanEntry ::= SEQUENCE {
astChanIndex Integer32,
astChanName DisplayString,
astChanLanguage DisplayString,
astChanType DisplayString,
astChanMusicClass DisplayString,
astChanBridge DisplayString,
astChanMasq DisplayString,
astChanMasqr DisplayString,
astChanWhenHangup TimeTicks,
astChanApp DisplayString,
astChanData DisplayString,
astChanContext DisplayString,
astChanMacroContext DisplayString,
astChanMacroExten DisplayString,
astChanMacroPri Integer32,
astChanExten DisplayString,
astChanPri Integer32,
astChanAccountCode DisplayString,
astChanForwardTo DisplayString,
astChanUniqueId DisplayString,
astChanCallGroup Unsigned32,
astChanPickupGroup Unsigned32,
astChanState INTEGER,
astChanMuted TruthValue,
astChanRings Integer32,
astChanCidDNID DisplayString,
astChanCidNum DisplayString,
astChanCidName DisplayString,
astChanCidANI DisplayString,
astChanCidRDNIS DisplayString,
astChanCidPresentation DisplayString,
astChanCidANI2 Integer32,
astChanCidTON Integer32,
astChanCidTNS Integer32,
astChanAMAFlags INTEGER,
astChanADSI INTEGER,
astChanToneZone DisplayString,
astChanHangupCause INTEGER,
astChanVariables DisplayString,
astChanFlags BITS,
astChanTransferCap INTEGER
}
astChanIndex OBJECT-TYPE
SYNTAX Integer32 (1 .. 2147483647)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Index into the channel table."
::= { astChanEntry 1 }
astChanName OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Name of the current channel."
::= { astChanEntry 2 }
astChanLanguage OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Which language the current channel is configured to
use -- used mainly for prompts."
::= { astChanEntry 3 }
astChanType OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Underlying technology for the current channel."
::= { astChanEntry 4 }
astChanMusicClass OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Music class to be used for Music on Hold for this
channel."
::= { astChanEntry 5 }
astChanBridge OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Which channel this channel is currently bridged (in a
conversation) with."
::= { astChanEntry 6 }
astChanMasq OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Channel masquerading for us."
::= { astChanEntry 7 }
astChanMasqr OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Channel we are masquerading for."
::= { astChanEntry 8 }
astChanWhenHangup OBJECT-TYPE
SYNTAX TimeTicks
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"How long until this channel will be hung up."
::= { astChanEntry 9 }
astChanApp OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Current application for the channel."
::= { astChanEntry 10 }
astChanData OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Arguments passed to the current application."
::= { astChanEntry 11 }
astChanContext OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Current extension context."
::= { astChanEntry 12 }
astChanMacroContext OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Current macro context."
::= { astChanEntry 13 }
astChanMacroExten OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Current macro extension."
::= { astChanEntry 14 }
astChanMacroPri OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Current macro priority."
::= { astChanEntry 15 }
astChanExten OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Current extension."
::= { astChanEntry 16 }
astChanPri OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Current priority."
::= { astChanEntry 17 }
astChanAccountCode OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Account Code for billing."
::= { astChanEntry 18 }
astChanForwardTo OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Where to forward to if asked to dial on this
interface."
::= { astChanEntry 19 }
astChanUniqueId OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Unique Channel Identifier."
::= { astChanEntry 20 }
astChanCallGroup OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Call Group."
::= { astChanEntry 21 }
astChanPickupGroup OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Pickup Group."
::= { astChanEntry 22 }
astChanState OBJECT-TYPE
SYNTAX INTEGER {
stateDown(0),
stateReserved(1),
stateOffHook(2),
stateDialing(3),
stateRing(4),
stateRinging(5),
stateUp(6),
stateBusy(7),
stateDialingOffHook(8),
statePreRing(9)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Channel state."
::= { astChanEntry 23 }
astChanMuted OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Transmission of voice data has been muted."
::= { astChanEntry 24 }
astChanRings OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of rings so far."
::= { astChanEntry 25 }
astChanCidDNID OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Dialled Number ID."
::= { astChanEntry 26 }
astChanCidNum OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Caller Number."
::= { astChanEntry 27 }
astChanCidName OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Caller Name."
::= { astChanEntry 28 }
astChanCidANI OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"ANI"
::= { astChanEntry 29 }
astChanCidRDNIS OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Redirected Dialled Number Service."
::= { astChanEntry 30 }
astChanCidPresentation OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number Presentation/Screening."
::= { astChanEntry 31 }
astChanCidANI2 OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"ANI 2 (info digit)."
::= { astChanEntry 32 }
astChanCidTON OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Type of Number."
::= { astChanEntry 33 }
astChanCidTNS OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Transit Network Select."
::= { astChanEntry 34 }
astChanAMAFlags OBJECT-TYPE
SYNTAX INTEGER {
default(0),
omit(1),
billing(2),
documentation(3)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"AMA Flags."
::= { astChanEntry 35 }
astChanADSI OBJECT-TYPE
SYNTAX INTEGER {
unknown(0),
available(1),
unavailable(2),
offHookOnly(3)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Whether or not ADSI is detected on CPE."
::= { astChanEntry 36 }
astChanToneZone OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Indication zone to use for channel."
::= { astChanEntry 37 }
astChanHangupCause OBJECT-TYPE
SYNTAX INTEGER {
notDefined(0),
unregistered(3),
normal(16),
busy(17),
noAnswer(19),
congestion(34),
failure(38),
noSuchDriver(66)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Why is the channel hung up."
::= { astChanEntry 38 }
astChanVariables OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Channel Variables defined for this channel."
::= { astChanEntry 39 }
astChanFlags OBJECT-TYPE
SYNTAX BITS {
wantsJitter(0),
deferDTMF(1),
writeInterrupt(2),
blocking(3),
zombie(4),
exception(5),
musicOnHold(6),
spying(7),
nativeBridge(8),
autoIncrementingLoop(9)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Flags set on this channel."
::= { astChanEntry 40 }
astChanTransferCap OBJECT-TYPE
SYNTAX INTEGER {
speech(0),
digital(8),
restrictedDigital(9),
audio3k(16),
digitalWithTones(17),
video(24)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Transfer Capabilities for this channel."
::= { astChanEntry 41 }
astNumChanTypes OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of channel types (technologies) supported."
::= { asteriskChannels 3 }
astChanTypeTable OBJECT-TYPE
SYNTAX SEQUENCE OF AstChanTypeEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Table with details of the supported channel types."
::= { asteriskChannels 4 }
astChanTypeEntry OBJECT-TYPE
SYNTAX AstChanTypeEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Information about a technology we support, including
how many channels are currently using this technology."
INDEX { astChanTypeIndex }
::= { astChanTypeTable 1 }
AstChanTypeEntry ::= SEQUENCE {
astChanTypeIndex Integer32,
astChanTypeName DisplayString,
astChanTypeDesc DisplayString,
astChanTypeDeviceState Integer32,
astChanTypeIndications Integer32,
astChanTypeTransfer Integer32,
astChanTypeChannels Gauge32
}
astChanTypeIndex OBJECT-TYPE
SYNTAX Integer32 (1 .. 2147483647)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Index into the table of channel types."
::= { astChanTypeEntry 1 }
astChanTypeName OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Unique name of the technology we are describing."
::= { astChanTypeEntry 2 }
astChanTypeDesc OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Description of the channel type (technology)."
::= { astChanTypeEntry 3 }
astChanTypeDeviceState OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Whether the current technology can hold device states."
::= { astChanTypeEntry 4 }
astChanTypeIndications OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Whether the current technology supports progress indication."
::= { astChanTypeEntry 5 }
astChanTypeTransfer OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Whether the current technology supports transfers, where
Asterisk can get out from inbetween two bridged channels."
::= { astChanTypeEntry 6 }
astChanTypeChannels OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of active channels using the current technology."
::= { astChanTypeEntry 7 }
astChanScalars OBJECT IDENTIFIER ::= { asteriskChannels 5 }
astNumChanBridge OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of channels currently in a bridged state."
::= { astChanScalars 1 }
END
خوب حالا فایل زیر رو با vi باز میکنیم
:
و subagent=yes و enable=yes رو از حالت کامنت در میاریم:
حالا میریم تو کنسول استریسک و ماژولش رو یکبار آنلود و سپس دوباره لود میکنیم:
حالا میریم سراغ فایل اصلی snmp , اول یک بک آپ از این فایل میگیریم:
خوب حالا فایل رو باز میکنیم و همه خط هاش رو پاک میکنیم و خطوط زیر رو توش paste میکنیم:
(با نانو بازش کنید تا راحتتر پاکش کنید crt+k رو بگیرید خط به خط تندتند پاک میکنه )
بعد خطهای زیر رو کپی کنید و تو فایل crt+shift+v بگیرین تا paste بشن
و حالا به فایل زیر هم پرمیژن میدیم:
حالا هم snmp و هم asterisk رو ریست میکنیم؛:
کار تمومه
سرویس رو با دستور زیر هم میتونین استارت میکنیم
و runlevel هاش رو فعال میکنیم:
حالا برا اینکه مطمین بشی که درست نصب و کتنفیگ شده دستور زیر رو بزنین:
باید این جوابو بهتون بده:
و یا :
که باید بهتون جواب زیر رو بده:
موفق و سربلند باشید.
SNMP پروتکلی برای مدیریت شبکه است که شما اون رو می تونید روی هر سیستمی نصب و به مدیریت و البته Monitoring شبکه خودتون بپردازید.البته SNMP v1 & SNMP v2 مشکلات امنیتی زیادی دارد و ورژن ۳ عموما امنیت بالایی دارد.معمولاْ مدیران شبکه و افرادی که آشنایی زیادی با اون ندارند نمی تونند به خوبی اون رو manage کرده و به راحتی می شه سوء استفاده کرد. پروتکل SNMP پروتکلیست جهت کنترل و دریافت اطلاعات از کلیه تجهیزات تحت شبکه ای که این پروتکل را پشتیبانی میکنند.
برای نصب این سرویس روی استریسک و یا الستیکس ابتدا :
کد PHP:
yum list installed net-snmp*
خوب حالا تنها یه پکیج میمونه که با دستور زیر نصبش میکنیم:
کد PHP:
yum install net-snmp-utils
بعد از اینکه نصبش کامل شد وارد مسیر زیر میشیم :
کد PHP:
cd /usr/share/snmp/mibs
حالا اینجا باید تو این مسیر دو تا فایل درست کنید به نامهای DIGIUM-MIB.txt و ASTERISK-MIB.txt که محتوای این فایلها رو هم خودتون باید دستی کپی کنین توی فایلها:
کد PHP:
vi DIGIUM-MIB.txt
و خطهای زیر رو توش قرار بدین و ذخیره اش کنین:
DIGIUM-MIB DEFINITIONS ::= BEGIN
IMPORTS
enterprises, MODULE-IDENTITY
FROM SNMPv2-SMI;
digium MODULE-IDENTITY
LAST-UPDATED "200806202000Z"
ORGANIZATION "Digium, Inc."
CONTACT-INFO
"Mark Spencer
Email: markster@digium.com"
DESCRIPTION
"The Digium private-enterprise MIB"
REVISION "200806202000Z"
DESCRIPTION
"Corrected imports and missing revision for last update.
Addresses bug 12905. - jeffg@opennms.org"
REVISION "200602041900Z"
DESCRIPTION
"Initial revision."
::= { enterprises 22736 }
END
و حالا فایل ASTERISK-MIB.txt
کد PHP:
vi ASTERISK-MIB.txt
و خطهای زیر رو توش بذارین و ذخیره اش کنید:
ASTERISK-MIB DEFINITIONS ::= BEGIN
IMPORTS
OBJECT-TYPE, MODULE-IDENTITY, Integer32, Counter32, TimeTicks,
Unsigned32, Gauge32
FROM SNMPv2-SMI
TEXTUAL-CONVENTION, DisplayString, TruthValue
FROM SNMPv2-TC
digium
FROM DIGIUM-MIB;
asterisk MODULE-IDENTITY
LAST-UPDATED "200806202025Z"
ORGANIZATION "Digium, Inc."
CONTACT-INFO
"Mark A. Spencer
Postal: Digium, Inc.
445 Jan Davis Drive
Huntsville, AL 35806
USA
Tel: +1 256 428 6000
Email: markster@digium.com
Thorsten Lockert
Postal: Voop AS
Boehmergaten 42
NO-5057 Bergen
Norway
Tel: +47 5598 7200
Email: tholo@voop.no"
DESCRIPTION
"Asterisk is an Open Source PBX. This MIB defined
objects for managing Asterisk instances."
REVISION "200806202025Z"
DESCRIPTION
"smilint police --
Add missing imports; fix initial capitalization
of enumeration elements; add missing range
restrictions for Integer32 indices, correct
spelling of astChanCidANI in its definition.
Addresses bug 12905. - jeffg@opennms.org"
REVISION "200708211450Z"
DESCRIPTION
"Add total and current call counter statistics."
REVISION "200603061840Z"
DESCRIPTION
"Change audio codec identification from 3kAudio to
Audio3k to conform better with specification.
Expand on contact information."
REVISION "200602041900Z"
DESCRIPTION
"Initial published revision."
::= { digium 1 }
asteriskVersion OBJECT IDENTIFIER ::= { asterisk 1 }
asteriskConfiguration OBJECT IDENTIFIER ::= { asterisk 2 }
asteriskModules OBJECT IDENTIFIER ::= { asterisk 3 }
asteriskIndications OBJECT IDENTIFIER ::= { asterisk 4 }
asteriskChannels OBJECT IDENTIFIER ::= { asterisk 5 }
-- asteriskVersion
astVersionString OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Text version string of the version of Asterisk that
the SNMP Agent was compiled to run against."
::= { asteriskVersion 1 }
astVersionTag OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"SubVersion revision of the version of Asterisk that
the SNMP Agent was compiled to run against -- this is
typically 0 for release-versions of Asterisk."
::= { asteriskVersion 2 }
-- asteriskConfiguration
astConfigUpTime OBJECT-TYPE
SYNTAX TimeTicks
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Time ticks since Asterisk was started."
::= { asteriskConfiguration 1 }
astConfigReloadTime OBJECT-TYPE
SYNTAX TimeTicks
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Time ticks since Asterisk was last reloaded."
::= { asteriskConfiguration 2 }
astConfigPid OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The process id of the running Asterisk process."
::= { asteriskConfiguration 3 }
astConfigSocket OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The control socket for giving Asterisk commands."
::= { asteriskConfiguration 4 }
astConfigCallsActive OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of calls currently active on the Asterisk PBX."
::= { asteriskConfiguration 5 }
astConfigCallsProcessed OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of calls processed through the Asterisk PBX since last
restart."
::= { asteriskConfiguration 6 }
-- asteriskModules
astNumModules OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of modules currently loaded into Asterisk."
::= { asteriskModules 1 }
-- asteriskIndications
astNumIndications OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of indications currently defined in Asterisk."
::= { asteriskIndications 1 }
astCurrentIndication OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Default indication zone to use."
::= { asteriskIndications 2 }
astIndicationsTable OBJECT-TYPE
SYNTAX SEQUENCE OF AstIndicationsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Table with all the indication zones currently know to
the running Asterisk instance."
::= { asteriskIndications 3 }
astIndicationsEntry OBJECT-TYPE
SYNTAX AstIndicationsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Information about a single indication zone."
INDEX { astIndIndex }
::= { astIndicationsTable 1 }
AstIndicationsEntry ::= SEQUENCE {
astIndIndex Integer32,
astIndCountry DisplayString,
astIndAlias DisplayString,
astIndDescription DisplayString
}
astIndIndex OBJECT-TYPE
SYNTAX Integer32 (1 .. 2147483647)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Numerical index into the table of indication zones."
::= { astIndicationsEntry 1 }
astIndCountry OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Country for which the indication zone is valid,
typically this is the ISO 2-letter code of the country."
::= { astIndicationsEntry 2 }
astIndAlias OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
""
::= { astIndicationsEntry 3 }
astIndDescription OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Description of the indication zone, usually the full
name of the country it is valid for."
::= { astIndicationsEntry 4 }
-- asteriskChannels
astNumChannels OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Current number of active channels."
::= { asteriskChannels 1 }
astChanTable OBJECT-TYPE
SYNTAX SEQUENCE OF AstChanEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Table with details of the currently active channels
in the Asterisk instance."
::= { asteriskChannels 2 }
astChanEntry OBJECT-TYPE
SYNTAX AstChanEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Details of a single channel."
INDEX { astChanIndex }
::= { astChanTable 1 }
AstChanEntry ::= SEQUENCE {
astChanIndex Integer32,
astChanName DisplayString,
astChanLanguage DisplayString,
astChanType DisplayString,
astChanMusicClass DisplayString,
astChanBridge DisplayString,
astChanMasq DisplayString,
astChanMasqr DisplayString,
astChanWhenHangup TimeTicks,
astChanApp DisplayString,
astChanData DisplayString,
astChanContext DisplayString,
astChanMacroContext DisplayString,
astChanMacroExten DisplayString,
astChanMacroPri Integer32,
astChanExten DisplayString,
astChanPri Integer32,
astChanAccountCode DisplayString,
astChanForwardTo DisplayString,
astChanUniqueId DisplayString,
astChanCallGroup Unsigned32,
astChanPickupGroup Unsigned32,
astChanState INTEGER,
astChanMuted TruthValue,
astChanRings Integer32,
astChanCidDNID DisplayString,
astChanCidNum DisplayString,
astChanCidName DisplayString,
astChanCidANI DisplayString,
astChanCidRDNIS DisplayString,
astChanCidPresentation DisplayString,
astChanCidANI2 Integer32,
astChanCidTON Integer32,
astChanCidTNS Integer32,
astChanAMAFlags INTEGER,
astChanADSI INTEGER,
astChanToneZone DisplayString,
astChanHangupCause INTEGER,
astChanVariables DisplayString,
astChanFlags BITS,
astChanTransferCap INTEGER
}
astChanIndex OBJECT-TYPE
SYNTAX Integer32 (1 .. 2147483647)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Index into the channel table."
::= { astChanEntry 1 }
astChanName OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Name of the current channel."
::= { astChanEntry 2 }
astChanLanguage OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Which language the current channel is configured to
use -- used mainly for prompts."
::= { astChanEntry 3 }
astChanType OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Underlying technology for the current channel."
::= { astChanEntry 4 }
astChanMusicClass OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Music class to be used for Music on Hold for this
channel."
::= { astChanEntry 5 }
astChanBridge OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Which channel this channel is currently bridged (in a
conversation) with."
::= { astChanEntry 6 }
astChanMasq OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Channel masquerading for us."
::= { astChanEntry 7 }
astChanMasqr OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Channel we are masquerading for."
::= { astChanEntry 8 }
astChanWhenHangup OBJECT-TYPE
SYNTAX TimeTicks
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"How long until this channel will be hung up."
::= { astChanEntry 9 }
astChanApp OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Current application for the channel."
::= { astChanEntry 10 }
astChanData OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Arguments passed to the current application."
::= { astChanEntry 11 }
astChanContext OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Current extension context."
::= { astChanEntry 12 }
astChanMacroContext OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Current macro context."
::= { astChanEntry 13 }
astChanMacroExten OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Current macro extension."
::= { astChanEntry 14 }
astChanMacroPri OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Current macro priority."
::= { astChanEntry 15 }
astChanExten OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Current extension."
::= { astChanEntry 16 }
astChanPri OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Current priority."
::= { astChanEntry 17 }
astChanAccountCode OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Account Code for billing."
::= { astChanEntry 18 }
astChanForwardTo OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Where to forward to if asked to dial on this
interface."
::= { astChanEntry 19 }
astChanUniqueId OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Unique Channel Identifier."
::= { astChanEntry 20 }
astChanCallGroup OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Call Group."
::= { astChanEntry 21 }
astChanPickupGroup OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Pickup Group."
::= { astChanEntry 22 }
astChanState OBJECT-TYPE
SYNTAX INTEGER {
stateDown(0),
stateReserved(1),
stateOffHook(2),
stateDialing(3),
stateRing(4),
stateRinging(5),
stateUp(6),
stateBusy(7),
stateDialingOffHook(8),
statePreRing(9)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Channel state."
::= { astChanEntry 23 }
astChanMuted OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Transmission of voice data has been muted."
::= { astChanEntry 24 }
astChanRings OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of rings so far."
::= { astChanEntry 25 }
astChanCidDNID OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Dialled Number ID."
::= { astChanEntry 26 }
astChanCidNum OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Caller Number."
::= { astChanEntry 27 }
astChanCidName OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Caller Name."
::= { astChanEntry 28 }
astChanCidANI OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"ANI"
::= { astChanEntry 29 }
astChanCidRDNIS OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Redirected Dialled Number Service."
::= { astChanEntry 30 }
astChanCidPresentation OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number Presentation/Screening."
::= { astChanEntry 31 }
astChanCidANI2 OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"ANI 2 (info digit)."
::= { astChanEntry 32 }
astChanCidTON OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Type of Number."
::= { astChanEntry 33 }
astChanCidTNS OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Transit Network Select."
::= { astChanEntry 34 }
astChanAMAFlags OBJECT-TYPE
SYNTAX INTEGER {
default(0),
omit(1),
billing(2),
documentation(3)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"AMA Flags."
::= { astChanEntry 35 }
astChanADSI OBJECT-TYPE
SYNTAX INTEGER {
unknown(0),
available(1),
unavailable(2),
offHookOnly(3)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Whether or not ADSI is detected on CPE."
::= { astChanEntry 36 }
astChanToneZone OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Indication zone to use for channel."
::= { astChanEntry 37 }
astChanHangupCause OBJECT-TYPE
SYNTAX INTEGER {
notDefined(0),
unregistered(3),
normal(16),
busy(17),
noAnswer(19),
congestion(34),
failure(38),
noSuchDriver(66)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Why is the channel hung up."
::= { astChanEntry 38 }
astChanVariables OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Channel Variables defined for this channel."
::= { astChanEntry 39 }
astChanFlags OBJECT-TYPE
SYNTAX BITS {
wantsJitter(0),
deferDTMF(1),
writeInterrupt(2),
blocking(3),
zombie(4),
exception(5),
musicOnHold(6),
spying(7),
nativeBridge(8),
autoIncrementingLoop(9)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Flags set on this channel."
::= { astChanEntry 40 }
astChanTransferCap OBJECT-TYPE
SYNTAX INTEGER {
speech(0),
digital(8),
restrictedDigital(9),
audio3k(16),
digitalWithTones(17),
video(24)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Transfer Capabilities for this channel."
::= { astChanEntry 41 }
astNumChanTypes OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of channel types (technologies) supported."
::= { asteriskChannels 3 }
astChanTypeTable OBJECT-TYPE
SYNTAX SEQUENCE OF AstChanTypeEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Table with details of the supported channel types."
::= { asteriskChannels 4 }
astChanTypeEntry OBJECT-TYPE
SYNTAX AstChanTypeEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Information about a technology we support, including
how many channels are currently using this technology."
INDEX { astChanTypeIndex }
::= { astChanTypeTable 1 }
AstChanTypeEntry ::= SEQUENCE {
astChanTypeIndex Integer32,
astChanTypeName DisplayString,
astChanTypeDesc DisplayString,
astChanTypeDeviceState Integer32,
astChanTypeIndications Integer32,
astChanTypeTransfer Integer32,
astChanTypeChannels Gauge32
}
astChanTypeIndex OBJECT-TYPE
SYNTAX Integer32 (1 .. 2147483647)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Index into the table of channel types."
::= { astChanTypeEntry 1 }
astChanTypeName OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Unique name of the technology we are describing."
::= { astChanTypeEntry 2 }
astChanTypeDesc OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Description of the channel type (technology)."
::= { astChanTypeEntry 3 }
astChanTypeDeviceState OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Whether the current technology can hold device states."
::= { astChanTypeEntry 4 }
astChanTypeIndications OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Whether the current technology supports progress indication."
::= { astChanTypeEntry 5 }
astChanTypeTransfer OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Whether the current technology supports transfers, where
Asterisk can get out from inbetween two bridged channels."
::= { astChanTypeEntry 6 }
astChanTypeChannels OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of active channels using the current technology."
::= { astChanTypeEntry 7 }
astChanScalars OBJECT IDENTIFIER ::= { asteriskChannels 5 }
astNumChanBridge OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of channels currently in a bridged state."
::= { astChanScalars 1 }
END
خوب حالا فایل زیر رو با vi باز میکنیم
:
کد PHP:
vi /etc/asterisk/res_snmp.conf
حالا میریم تو کنسول استریسک و ماژولش رو یکبار آنلود و سپس دوباره لود میکنیم:
کد PHP:
asterisk -rvv
module unload res_anmp.so
وبعد
module load res_anmp.so
حالا میریم سراغ فایل اصلی snmp , اول یک بک آپ از این فایل میگیریم:
کد PHP:
cp -p /etc/snmp/snmpd.conf /etc/snmp/snmpdoriginal.conf
خوب حالا فایل رو باز میکنیم و همه خط هاش رو پاک میکنیم و خطوط زیر رو توش paste میکنیم:
کد PHP:
nano /etc/snmp/snmpd.conf
بعد خطهای زیر رو کپی کنید و تو فایل crt+shift+v بگیرین تا paste بشن
کد PHP:
syslocation Asterisk Elastix2.4, TEST server
syscontact masoomeh vahid support@linux-zone.org
com2sec local localhost public
com2sec localnet 172.16.16.254 public
com2sec monitornet 172.16.16.0/24 public
group MyROGroup v2c local
group MyROGroup v2c localnet
group MyROGroup v2c monitornet
view all included .1
access MyROGroup "" any noauth 0 all none none
# Asterisk configuration
master agentx
agentXSocket /var/agentx/master
agentXPerms 0660 0550 nobody asterisk
# Asterisk user
rwuser asteriskUser priv
createUser asteriskUser MD5 123456789 DES
sysObjectID .1.3.6.1.4.1.22736
فایل رو ذخیره کنین
حالا سرویسش رو استارت میکنیم:
حالا سرویسش رو استارت میکنیم:
کد PHP:
/etc/init.d/snmpd start
و حالا به فایل زیر هم پرمیژن میدیم:
کد PHP:
chmod 755 /var/agentx
حالا هم snmp و هم asterisk رو ریست میکنیم؛:
کد PHP:
/etc/init.d/snmpd restart
کد PHP:
amportal restart
کار تمومه
سرویس رو با دستور زیر هم میتونین استارت میکنیم
کد PHP:
service snmpd start
کد PHP:
chkconfig snmpd on
حالا برا اینکه مطمین بشی که درست نصب و کتنفیگ شده دستور زیر رو بزنین:
کد PHP:
snmpwalk -On -c public -v 2c localhost ASTERISK-MIB::astChanTypeChannels.7
کد PHP:
.1.3.6.1.4.1.22736.1.5.4.1.7.7 = Gauge32: 0
و یا :
کد PHP:
snmpwalk -v 3 -u asteriskUser -l authPriv -a MD5 -A 123456789 -x DES -X 123456789 127.0.0.1 ASTERISK-MIB::astVersionString
که باید بهتون جواب زیر رو بده:
کد PHP:
ASTERISK-MIB::astVersionString.0 = STRING: 1.8.20.0
موفق و سربلند باشید.