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 |
---|---|---|
| none | Next available stream ID |
|
| Table to retrieve the stream ID from the IP address and port |
|
| Stream configuration and status |
|
| Stream statistics |
|
| Transport Stream programs. Only SPTS (Single Program Transport Stream) supported. |
|
| Contents (video, audio, ad insertion, and/or metadata). Elementary Streams (ES) for Transport Stream. Only one entry for non-TS in which case Program Index is 1. One to three entries exist for Transport Streams. |
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
).
Objects from the haiAvtStreamPgmTable
and haiAvtStreamContentTable
cannot be set before the corresponding haiAvtStreamTable
row is created and can only be set when the stream entry is not active (haiAvtStreamRowStatus
is not active).
Examples
The following example, using netsnmp
CLI commands on the Makito X Series encoder, creates a streaming session to IP Address 198.51.100.106
at port 2000, and starts streaming immediately. 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 198.51.100.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 198.51.100.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.198.51.100.106.2000
HAI-AVT-STREAM-MIB::haiAvtStreamInverseID.ipv4."198.51.100.106".2000 = HaiAvtStreamID: 5
To create a Stream with a known ID, the haiAvtStreamNewID.0
object reports the next available Stream ID. In the example below, the Transport Stream Program number is set to 7
and the video encoder 1
is selected for the video content. Note that createAndWait
is used so the program and content table can be set after stream creation.
>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 198.51.100.106
Port u 2000 Encapsulation i tsUdp RowStatus i createAndWait
>snmpset -v2c -c admin –IS haiAvtStream localhost PgmNumber.5.1 i 7 PgmNbContents.5.1 i 2 ContentType.5.1.1 i video ContentToolID.5.1.1 i 1 ContentType.5.1.2 i audio ContentToolID.5.1.2 i 0
>snmpset -v2c -c admin localhost haiAvtStreamRowStatus.5 i active