SNMP Syntax for Setting Up Streams
The Haivision Audio/Video Transport Stream MIB (HAI-AVT-STREAM-MIB) is composed of multiple tables described below.
Table | Index | Description |
---|---|---|
haiAvtStreamNewID.0 | none | Next available stream ID. |
haiAvtStreamInverseTable | IP address type IP address Port | Table to retrieve the stream ID from the IP address and port. |
haiAvtStreamTable | Stream ID | Stream configuration and status. |
haiAvtStreamStatsTable | Stream ID | Stream statistics. |
MIB object names and values are similar to their CLI parameter counterparts while following MIB syntax (for example, haiAvtStreamPort
for port, directRtp
for directRTP).
Streams are created and deleted using the SNMPv2 RowStatus object (haiAvtStreamRowStatus
). All RowStatus values are supported (active, notInService
, notReady
, createAndGo
, createAndWait
, destroy
). See the description in the SNMPv2-TC.txt file of the MIBs directory. Stream writable objects can only be set at creation time (RowStatus is createAndGo
or createAndWait
) or while the stream is not active (RowStatus is notInService
or notReady
).
Examples
The following example, using netsnmp
CLI commands on the Makito X decoder, creates a streaming session with IP Multicast Address 233.252.0.106
on port 2000
. The Stream ID 0 (haiAvtStreamTable
index) is used to create a stream; this value will be set to the first available Stream ID (>=1) on createAndGo
or when set to active after createAndWait
:
>snmpset -v2c -c admin localhost haiAvtStreamAddrType.0 = ipv4 haiAvtStreamAddr.0 d 233.252.0.106 haiAvtStreamPort.0 u 2000 haiAvtStreamRowStatus.0 i createAndGo
The example below shows the same command, using the prefix (-IS
) and suffix (-Is
) options to remove repetition:
>snmpset -v2c -c admin –IS haiAvtStream –Is .0 localhost AddrType = ipv4 Addr d 233.252.0.106 Port u 2000 RowStatus i createAndGo
To retrieve the Stream ID of the stream just created, the haiAvtStreamInverseTable
is used:
>snmpget -v2c -c admin localhost haiAvtStreamInverseID.ipv4.4.233.252.0.106.2000
HAI-AVT-STREAM-MIB::haiAvtStreamInverseID.ipv4.”233.252.0.106”.2000 = HaiAvtStreamID: 5
To create a Stream with a known ID, the haiAvtStreamNewID.0
object reports the next available Stream ID.
>snmpget -v2c -c admin localhost haiAvtStreamNewID.0
HAI-AVT-STREAM-MIB::haiAvtStreamNewID.0 = HaiAvtStreamID: 5
>snmpset -v2c -c admin –IS haiAvtStream –Is .5 localhost AddrType = ipv4 Addr d 233.252.0.106 Port u 2000 Encapsulation i tsUdp RowStatus i createAndGo
The stream just created is not started until it is attached to a decoder and its output. The System Inventory variable haiHdcSysInvVideoDecs.0
can tell how many decoders are present.
The following commands verify how many decoders are present, link stream 5 to decoder 2, and start it.
>snmpget -v2c -c admin localhost haiHdcSysInvVideoDecs.0
HAI-HDC-MIB::haiHdcSysInvVideoDecs.0 = INTEGER: 2
>snmpset -v2c -c admin localhost haiHdcVideoDecStreamID.2 = 5 haiHdcVideoDecAdminStatus.2 = start
Finally the decoder output is routed to an audio/video output connector. The SDI outputs are normally hard-linked to their corresponding decoder. The decoder/output configuration is set in the haiHdcVideoOutTable
. The analogAudio and hdmi output can be feed by any of the decoders present using the haiHdcVideoOutSourceID
OID.
The following commands list the Video Output Table and feed the hdmi output with decoder 2:
>snmptable -v2c -c admin localhost haiHdcVideoOutTable
SNMP table: HAI-HDC-MIB::haiHdcVideoOutTable
haiHdcVideoOutName haiHdcVideoOutSourceID haiHdcVideoOutSourceName haiHdcVideoOutAudioLevel
AUDIO 1 Decoder 1 6 dBu
SDI 1 1 Decoder 1 ?
SDI 2 2 Decoder 2 ?
HDMI 1 Decoder 1 ?
>snmpset -v2c -c admin localhost haiHdcVideoOutSourceID.hdmi.1 = 2
HAI-HDC-MIB::haiHdcVideoOutSourceID.hdmi.1 = INTEGER: 2