Audiocodes Digital Trunk Secondary Data Source

Audiocodes.GW.Management.Pack.Trunk.Digital.Discovery.Secondary.DataSource (DataSourceModuleType)

Element properties:

TypeDataSourceModuleType
IsolationAny
AccessibilityInternal
RunAsSystem.PrivilegedMonitoringAccount
OutputTypeSystem.Discovery.Data

Member Modules:

ID Module Type TypeId RunAs 
Scheduler DataSource System.SimpleScheduler Default
Script ProbeAction Microsoft.Windows.ScriptPropertyBagProbe Default
SnmpProbe ProbeAction System.NetworkManagement.SnmpProbe Default
Mapper ConditionDetection System.Discovery.ClassSnapshotDataMapper Default

Overrideable Parameters:

IDParameterTypeSelector
Intervalint$Config/IntervalSeconds$
SyncTimestring$Config/SyncTime$

Source Code:

<DataSourceModuleType ID="Audiocodes.GW.Management.Pack.Trunk.Digital.Discovery.Secondary.DataSource" Accessibility="Internal" RunAs="System!System.PrivilegedMonitoringAccount" Batching="false">
<Configuration>
<IncludeSchemaTypes>
<SchemaType>System!System.Discovery.MapperSchema</SchemaType>
</IncludeSchemaTypes>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" minOccurs="1" name="IntervalSeconds" type="xsd:integer"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" minOccurs="1" name="SyncTime" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" minOccurs="1" name="IP" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" minOccurs="1" name="CommunityString" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" minOccurs="1" name="Index" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" minOccurs="1" name="ClassId" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" minOccurs="1" name="InstanceSettings" type="SettingsType"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="Interval" Selector="$Config/IntervalSeconds$" ParameterType="int"/>
<OverrideableParameter ID="SyncTime" Selector="$Config/SyncTime$" ParameterType="string"/>
</OverrideableParameters>
<ModuleImplementation Isolation="Any">
<Composite>
<MemberModules>
<DataSource ID="Scheduler" TypeID="System!System.SimpleScheduler">
<IntervalSeconds>$Config/IntervalSeconds$</IntervalSeconds>
<SyncTime>$Config/SyncTime$</SyncTime>
</DataSource>
<ProbeAction ID="SnmpProbe" TypeID="NetworkLibrary!System.NetworkManagement.SnmpProbe">
<IsWriteAction>false</IsWriteAction>
<IP>$Config/IP$</IP>
<CommunityString>$Config/CommunityString$</CommunityString>
<SnmpVarBinds>
<SnmpVarBind>
<OID>.1.3.6.1.4.1.5003.9.10.9.2.1.1.1.1.$Config/Index$</OID>
<Syntax>0</Syntax>
<Value VariantType="8"/>
</SnmpVarBind>
<SnmpVarBind>
<OID>.1.3.6.1.4.1.5003.9.10.9.2.1.1.1.2.$Config/Index$</OID>
<Syntax>0</Syntax>
<Value VariantType="8"/>
</SnmpVarBind>
<SnmpVarBind>
<OID>.1.3.6.1.4.1.5003.9.10.9.2.1.1.1.3.$Config/Index$</OID>
<Syntax>4</Syntax>
<Value VariantType="8"/>
</SnmpVarBind>
<SnmpVarBind>
<OID>.1.3.6.1.4.1.5003.9.10.9.2.1.1.1.4.$Config/Index$</OID>
<Syntax>0</Syntax>
<Value VariantType="8"/>
</SnmpVarBind>
<SnmpVarBind>
<OID>.1.3.6.1.4.1.5003.9.10.9.2.1.1.1.5.$Config/Index$</OID>
<Syntax>0</Syntax>
<Value VariantType="8"/>
</SnmpVarBind>
<SnmpVarBind>
<OID>.1.3.6.1.4.1.5003.9.10.9.2.1.1.1.6.$Config/Index$</OID>
<Syntax>0</Syntax>
<Value VariantType="8"/>
</SnmpVarBind>
<SnmpVarBind>
<OID>.1.3.6.1.4.1.5003.9.10.9.2.1.1.1.7.$Config/Index$</OID>
<Syntax>0</Syntax>
<Value VariantType="8"/>
</SnmpVarBind>
</SnmpVarBinds>
</ProbeAction>
<ProbeAction ID="Script" TypeID="Windows!Microsoft.Windows.ScriptPropertyBagProbe">
<ScriptName>AudiocodesTrunkDigitalSecondaryDescoveryDataSource.vbs</ScriptName>
<Arguments>"$Data/SnmpVarBinds/SnmpVarBind[OID='.1.3.6.1.4.1.5003.9.10.9.2.1.1.1.7.$Config/Index$'][1]/Value$" "$Data/SnmpVarBinds/SnmpVarBind[OID='.1.3.6.1.4.1.5003.9.10.9.2.1.1.1.6.$Config/Index$'][1]/Value$" "$Data/SnmpVarBinds/SnmpVarBind[OID='.1.3.6.1.4.1.5003.9.10.9.2.1.1.1.5.$Config/Index$'][1]/Value$" "$Data/SnmpVarBinds/SnmpVarBind[OID='.1.3.6.1.4.1.5003.9.10.9.2.1.1.1.4.$Config/Index$'][1]/Value$" "$Config/IP$.1.3.6.1.4.1.5003.9.10.9.2.1.1.1.3.$Config/Index$.txt" "$Data/SnmpVarBinds/SnmpVarBind[OID='.1.3.6.1.4.1.5003.9.10.9.2.1.1.1.2.$Config/Index$'][1]/Value$" "$Data/SnmpVarBinds/SnmpVarBind[OID='.1.3.6.1.4.1.5003.9.10.9.2.1.1.1.1.$Config/Index$'][1]/Value$" ".1.3.6.1.4.1.5003.9.10.9.2.1.1.1.3.$Config/Index$"</Arguments>
<ScriptBody><Script>
Option Explicit
Dim oApi, oBag, oArgs
Set oApi = CreateObject("MOM.ScriptAPI")
Set oBag = oApi.CreatePropertyBag()
Set oArgs = WScript.Arguments
Dim sStatusColor, sStatusState, sChannels, sV5InterfaceNum, sV5LinkID, sDChannel, sAlarm, folderName
Dim oShell, fso, file, args, line, oid, value

'Call oAPI.LogScriptEvent("AudiocodesTrunkDigitalSecondaryDescoveryDataSource.vbs", 400, 3, "sStatusColor: " &amp; CStr(oArgs(6)) &amp; "; sStatusState: " &amp; CStr(oArgs(5)) &amp; "sChannels: " &amp; CStr(oArgs(4)) &amp; "; sV5InterfaceNum: " &amp; CStr(oArgs(3)) &amp; "; sV5LinkID: " &amp; CStr(oArgs(2)) &amp; "sDChannel: " &amp; CStr(oArgs(1)) &amp; "; sAlarm: " &amp; CStr(oArgs(0)))

sStatusColor = CStr(oArgs(6))
sStatusState = CStr(oArgs(5))
sChannels = CStr(oArgs(4))
sV5InterfaceNum = CStr(oArgs(3))
sV5LinkID = CStr(oArgs(2))
sDChannel = CStr(oArgs(1))
sAlarm = CStr(oArgs(0))

Set fso = CreateObject("Scripting.FileSystemObject")
Set oShell = CreateObject("WScript.Shell")
folderName = oShell.ExpandEnvironmentStrings("%AudiocodesTempFolder%")
if fso.FileExists(folderName &amp; "\" &amp; sChannels) then
select case sStatusColor
case "0"
Call oBag.AddValue("LedStatusColor", "off")
case "1"
Call oBag.AddValue("LedStatusColor", "red")
case "2"
Call oBag.AddValue("LedStatusColor", "green")
case else
Call oBag.AddValue("LedStatusColor", "Unknown: " &amp; sStatusColor)
end select

select case sStatusState
case "0"
Call oBag.AddValue("LedStatusState", "steady")
case "1"
Call oBag.AddValue("LedStatusState", "blink")
case else
Call oBag.AddValue("LedStatusState", "Unknown: " &amp; sStatusState)
end select

Set file = fso.OpenTextFile(folderName &amp; "\" &amp; sChannels)
oid = oArgs(7)
line = file.ReadLine
value = Mid(line, Len(oid &amp; " = "), Len(line) - Len(oid &amp; " = ") - Len(" [Octets]") + 1)
Call oBag.AddValue("Channels", value)
Call oBag.AddValue("V5InterfaceNum", sV5InterfaceNum)
Call oBag.AddValue("V5LinkID", sV5LinkID)

select case sDChannel
case "0"
Call oBag.AddValue("DChannel", "dChannelEstablished")
case "1"
Call oBag.AddValue("DChannel", "dChannelNotEstablished")
case "10"
Call oBag.AddValue("DChannel", "dChannelNotApplicable")
case else
Call oBag.AddValue("DChannel", "Unknown: " &amp; sDChannel)
end select

select case sAlarm
case "0"
Call oBag.AddValue("Alarm", "greyDisabled")
case "1"
Call oBag.AddValue("Alarm", "greenActive")
case "2"
Call oBag.AddValue("Alarm", "redLosLof")
case "3"
Call oBag.AddValue("Alarm", "blueAis")
case "4"
Call oBag.AddValue("Alarm", "yellowRai")
case "5"
Call oBag.AddValue("Alarm", "orangeDChannel")
case "6"
Call oBag.AddValue("Alarm", "purpleLowerLayerDown")
case else
Call oBag.AddValue("Alarm", "Unknown: " &amp; sAlarm)
end select

Call oAPI.Return(oBag)
end if
Set oArgs = Nothing
Set oBag = Nothing
Set oApi = Nothing
</Script></ScriptBody>
<TimeoutSeconds>60</TimeoutSeconds>
</ProbeAction>
<ConditionDetection ID="Mapper" TypeID="System!System.Discovery.ClassSnapshotDataMapper">
<ClassId>$Config/ClassId$</ClassId>
<InstanceSettings>$Config/InstanceSettings$</InstanceSettings>
</ConditionDetection>
</MemberModules>
<Composition>
<Node ID="Mapper">
<Node ID="Script">
<Node ID="SnmpProbe">
<Node ID="Scheduler"/>
</Node>
</Node>
</Node>
</Composition>
</Composite>
</ModuleImplementation>
<OutputType>System!System.Discovery.Data</OutputType>
</DataSourceModuleType>