The NetworkMessage flags used with the discovery response messages shall use the following bit values.

The setting of the flags ensures a known value for the first five fields in the NetworkMessage for Publishers expected by the Subscriber. The actual security settings for the NetworkMessage are indicated by the SecurityHeader.

The encoding of the discovery response header structure is specified in Table 87.

Table 87 – Discovery Response Header Structure

Name

Type

Description

ResponseType

Byte

The following types of discovery response messages are defined.

0Reserved

1Publisher Endpoint message (see 7.2.2.4.2.3)

2DataSet Metadata message (see 7.2.2.4.2.4)

3DataSetWriter configuration message (see 7.2.2.4.2.5)

SequenceNumber

UInt16

A strictly monotonically increasing sequence number assigned to each discovery response sent in the scope of a PublisherId.

The encoding of the available Endpoints of a Publisher is specified in Table 88.

Table 88 – Publisher Endpoints Message Structure

Name

Type

Description

Endpoints

EndpointDescription[]

The OPC UA Server Endpoints of the Publisher. The EndpointDescription is defined in OPC 10000-4.

statusCode

StatusCode

Status code indicating the capability of the Publisher to provide Endpoints.

The encoding of the DataSet metadata message structure is specified in Table 89. It contains the current layout and DataSetMetaData for the DataSet.

The ConfigurationVersion in the DataSetMessage header shall match the ConfigurationVersion in the DataSetMetaData.

The Publisher shall send this message without a corresponding discovery request if the DataSetMetaData changed for the DataSet.

Table 89 – DataSetMetaData Message Structure

Name

Type

Description

DataSetWriterId

UInt16

DataSetWriterId of the DataSet described with the MetaData.

MetaData

DataSetMetaDataType

The current DataSet metadata for the DataSet related to the DataSetWriterId. The DataSetMetaDataType is defined in 6.2.2.1.2.

statusCode

StatusCode

Status code indicating the capability of the Publisher to provide MetaData for the DataSetWriterId.

The encoding of the DataSetWriter configuration data message structure is specified in Table 90. It contains the current configuration of the WriterGroup and the DataSetWriter for the DataSet.

The Publisher shall send this message without a corresponding discovery request if the configuration of the WriterGroup changed.

Table 90 – DataSetWriter Configuration Message Structure

Name

Type

Description

DataSetWriterIds

UInt16[]

DataSetWriterIds contained in the configuration information.

DataSetWriterConfig

WriterGroupDataType

The current WriterGroup and DataSetWriter settings for the DataSet related to the DataSetWriterId. The WriterGroupDataType is defined in 6.2.5.6.

The field DataSetWriters of the WriterGroupDataType shall contain only the entry for the requested or changed DataSetWriters in the WriterGroup.

statusCodes

StatusCode[]

Status codes indicating the capability of the Publisher to provide configuration information for the DataSetWriterIds. The size of the array shall match the size of the DataSetWriterIds array.