6.4 Transport Protocol mapping configuration parameters
6.4.1 Datagram Transport Protocol
6.4.1.1 Quality of service parameters
6.4.1.1.1 QosCategory and DatagramQos
The QosDataTypes defined in the following chapters are used in the DatagramQos parameter in different datagram specific transport protocol mapping settings.
The DatagramQos contains an array of QosDataTypes. The array is null or empty if no QoS related parameters are set.
The DatagramQos parameter is always combined with a QosCategory parameter. Depending on the content of the QosCategory String, different elements need to be present within the DatagramQos array.
The specific processing of the QosCategory and DatagramQos content is described in 5.4.6.4.
Standard QosCategory values are defined in Table 118.
| QosCategory | Description |
Null or empty | This category indicates best-effort is used. DatagramQos shall be null or empty. |
| Opc.qos.cat://priority | This category indicates priority is used. DatagramQos shall contain one element of TransmitQosPriorityDataType or ReceiveQosPriorityDataType and optionally further elements which may be omitted. |
6.4.1.1.2 QosDataType structure
This Structure DataType is an abstract base type for Structures with QoS related parameters. The QosDataType is formally defined in Table 119.
| Name | Type | Description |
| QosDataType | Structure |
The QosDataType Structure representation in the AddressSpace is defined in Table 120.
| Attributes | Value |
| BrowseName | QosDataType |
| IsAbstract | True |
| Subtype of Structure defined in OPC 10000-5. | |
| Conformance Units | |
| PubSub Parameters QoS | |
6.4.1.1.3 TransmitQosDataType
This Structure DataType is an abstract base type for Structures with transmit QoS related parameters. The TransmitQosDataType is formally defined in Table 121.
| Name | Type | Description |
| TransmitQosDataType | Structure |
The TransmitQosDataType Structure representation in the AddressSpace is defined in Table 122.
| Attributes | Value |
| BrowseName | TransmitQosDataType |
| IsAbstract | True |
| Subtype of QosDataType defined in 6.4.1.1.2. | |
| Conformance Units | |
| PubSub Parameters QoS | |
6.4.1.1.4 TransmitQosPriorityDataType
6.4.1.1.4.1 PriorityLabel
The PriorityLabel with DataType String specifies the priority of the according sender. The network stack will use the PriorityLabel to look up the priority settings for the transport protocol headers.
The priority labels defined by OPC UA should have the following form:
opc.qos.lbl://<label>
Example values are “opc.qos.lbl://low” or “opc.qos.lbl://high”. The mapping is described in 5.4.6.4.
Note: This version does not define concrete labels. The engineering process needs to provide them and also build up the PriorityMappingTable in OPC 10000-22 accordingly.
6.4.1.1.4.2 TransmitQosPriorityDataType structure
This Structure DataType is used to represent the priority lable specific transmit QoS parameters. It is a subtype of the TransmitQosDataType defined in 6.4.1.1.3.
The TransmitQosPriorityDataType is formally defined in Table 123.
| Name | Type | Description |
| TransmitQosPriorityDataType | Structure | Subtype of TransmitQosDataType defined in 6.4.1.1.3. |
PriorityLabel | String | Defined in 6.4.1.1.4.1. |
Its representation in the AddressSpace is defined in Table 124.
| Attributes | Value |
| BrowseName | TransmitQosPriorityDataType |
| IsAbstract | False |
| Subtype of TransmitQosDataType defined in 6.4.1.1.3. | |
| Conformance Units | |
| PubSub Parameters QoS | |
6.4.1.1.5 ReceiveQosDataType
This Structure DataType is an abstract base type for Structures with receive QoS related parameters. The ReceiveQosDataType is formally defined in Table 125.
| Name | Type | Description |
| ReceiveQosDataType | Structure |
The ReceiveQosDataType Structure representation in the AddressSpace is defined in Table 126.
| Attributes | Value |
| BrowseName | ReceiveQosDataType |
| IsAbstract | True |
| Subtype of QosDataType defined in 6.4.1.1.2. | |
| Conformance Units | |
| PubSub Parameters QoS | |
6.4.1.1.6 ReceiveQosPriorityDataType
6.4.1.1.6.1 PriorityLabel
The PriorityLabel with DataType String specifies the priority of the according sender.
Futher details are defined in 6.4.1.1.4.1.
6.4.1.1.6.2 ReceiveQosPriorityDataType structure
This Structure DataType is used to represent the priority lable specific receive QoS parameters. It is a subtype of the ReceiveQosDataType defined in 6.4.1.1.5.
The ReceiveQosPriorityDataType is formally defined in Table 127.
| Name | Type | Description |
| ReceiveQosPriorityDataType | Structure | Subtype of ReceiveQosDataType defined in 6.4.1.1.5. |
PriorityLabel | String | Defined in 6.4.1.1.6.1. |
Its representation in the AddressSpace is defined in Table 128.
| Attributes | Value |
| BrowseName | ReceiveQosPriorityDataType |
| IsAbstract | False |
| Subtype of ReceiveQosDataType defined in 6.4.1.1.5. | |
| Conformance Units | |
| PubSub Parameters QoS | |
6.4.1.2 Datagram PubSubConnection
6.4.1.2.1 DiscoveryAddress
The DiscoveryAddress parameter contains the network address information used for the discovery probe and announcement messages. The different Structure DataTypes used to represent the Address are defined in 6.2.7.5.3.
6.4.1.2.2 DatagramConnectionTransportDataType structure
This Structure DataType is used to represent the datagram specific transport mapping parameters for PubSubConnections. It is a subtype of the ConnectionTransportDataType defined in 6.2.7.5.2.
The DatagramConnectionTransportDataType is formally defined in Table 129.
| Name | Type | Description | Allow Subtypes |
| DatagramConnectionTransportDataType | Structure | Subtype of ConnectionTransportDataType defined in 6.2.6.4. | |
DiscoveryAddress | NetworkAddressDataType | Defined in 6.4.1.2.1. The NetworkAddressDataType is defined in 6.2.7.5.3. | True |
Its representation in the AddressSpace is defined in Table 130.
| Attributes | Value |
| BrowseName | DatagramConnectionTransportDataType |
| IsAbstract | False |
| Subtype of ConnectionTransportDataType defined in 6.2.7.5.2. | |
| Conformance Units | |
| PubSub Parameters Datagram | |
6.4.1.2.3 DiscoveryAnnounceRate
The DiscoveryAnnounceRate with DataType UInt32 defines the interval in seconds used for cyclic sending of discovery announcement messages related to this connection.
The default value is 0 and defines that discovery announcement messages are only sent as response to discovery probe messages.
6.4.1.2.4 DiscoveryMaxMessageSize
The DiscoveryMaxMessageSize with DataType UInt32 indicates the maximum size in bytes for NetworkMessages created for discovery. It refers to the size of the complete NetworkMessage including padding and signature without any additional headers added by the transport protocol mapping. If the size of a NetworkMessage exceeds the DiscoveryMaxMessageSize, the behaviour depends on the message mapping.
The default value is 0 and defines that the default size for the transport protocol ist used. The default size is defined for the transport protocol mappings in 7.3.
NOTE The value for the DiscoveryMaxMessageSize should be configured in a way that ensures that NetworkMessages together with additional headers added by the transport protocol are still smaller than or equal than the transport protocol MTU.
6.4.1.2.5 QosCategory
Selects the general category of QoS the PubSubConnection requires. Further details are defined in 6.4.1.1.1.
The parameter shall be null or empty if no QoS related parameters are set.
6.4.1.2.6 DatagramQos
The DatagramQos parameter contains QoS related parameters for the PubSubConnection as array of QosDataType Structures. The abstract DataType is defined in 6.4.1.1.2. The concrete subtypes are used to represent different QoS settings for transmit and receive that can be combined in the array.
The array shall not contain multiple instances of a concrete subtype e.g. transmit PriorityLabel entry.
The parameter shall be null or empty if no QoS related parameters are set.
6.4.1.2.7 DatagramConnectionTransport2DataType structure
This Structure DataType is used to represent the datagram specific transport mapping parameters for a PubSubConnection.
It is a subtype of the DatagramConnectionTransportDataType defined in 6.4.1.2.2.
The DatagramConnectionTransport2DataType is formally defined in Table 131.
| Name | Type | Description | Allow Subtypes |
| DatagramConnectionTransport2DataType | Structure | Subtype of ConnectionTransportDataType defined in 6.2.6.4. | |
DiscoveryAnnounceRate | UInt32 | Defined in 6.4.1.2.3. | |
DiscoveryMaxMessageSize | UInt32 | Defined in 6.4.1.2.4. | |
QosCategory | String | Defined in 6.4.1.2.5. | |
DatagramQos | QosDataType[] | Defined in 6.4.1.2.6. | True |
Its representation in the AddressSpace is defined in Table 132.
| Attributes | Value |
| BrowseName | DatagramConnectionTransport2DataType |
| IsAbstract | False |
| Subtype of DatagramConnectionTransportDataType defined in 6.4.1.2.2. | |
| Conformance Units | |
| PubSub Parameters Datagram | |
6.4.1.3 Datagram WriterGroup
6.4.1.3.1 MessageRepeatCount
The MessageRepeatCount with DataType Byte defines how many times every NetworkMessage is repeated. The default value is 0 and disables the repeating.
6.4.1.3.2 MessageRepeatDelay
The MessageRepeatDelay with DataType Duration defines the time between NetworkMessage repeats in milliseconds. The parameter shall be ignored if the parameter MessageRepeatCount is set to 0.
6.4.1.3.3 DatagramWriterGroupTransportDataType structure
This Structure DataType is used to represent the datagram specific transport mapping parameters for WriterGroups. It is a subtype of the WriterGroupTransportDataType defined in 6.2.6.7.2.
The DatagramWriterGroupTransportDataType is formally defined in Table 133.
| Name | Type | Description |
| DatagramWriterGroupTransportDataType | Structure | Subtype of WriterGroupTransportDataType defined in 6.2.6.7.2. |
MessageRepeatCount | Byte | Defined in 6.4.1.3.1. |
MessageRepeatDelay | Duration | Defined in 6.4.1.3.2. |
Its representation in the AddressSpace is defined in Table 134.
| Attributes | Value |
| BrowseName | DatagramWriterGroupTransportDataType |
| IsAbstract | False |
| Subtype of WriterGroupTransportDataType defined in 6.2.6.7.2. | |
| Conformance Units | |
| PubSub Parameters Datagram | |
6.4.1.3.4 Address
The Address parameter contains the network address information for the communication middleware related to the WriterGroup. The different Structure DataTypes used to represent the Address are defined in 6.2.7.5.3.
The parameter shall be null if an address is not set at this level. If the parameter is set, it overwrites the Address on the PubSubConnection.
6.4.1.3.5 QosCategory
Selects the general category of QoS the WriterGroup requires. Further details are defined in 6.4.1.1.1.
The parameter shall be null or empty if no QoS related parameters are set.
6.4.1.3.6 DatagramQos
The DatagramQos parameter contains QoS related parameters for the WriterGroup as array of TransmitQosDataType Structures. The abstract TransmitQosDataType is defined in 6.4.1.1.3. The concrete subtypes are used to represent different QoS settings that can be combined in the array.
The array shall not contain multiple instances of a concrete subtype e.g. transmit PriorityLabel entry.
The parameter shall be null or empty if no QoS related parameters are set.
6.4.1.3.7 DiscoveryAnnounceRate
The DiscoveryAnnounceRate with DataType UInt32 defines the interval in seconds used for cyclic sending of discovery announcement messages related to the WriterGroup.
The default value is 0 and defines that discovery announcement messages are only sent as response to discovery probe messages.
6.4.1.3.8 Topic
The Topic parameter with DataType String contains the unique name of the data stream produced by the WriterGroup within a Message Oriented Middleware.
A unique default name can be created by combining the PublisherId with the WriterGroupId using ‘.’ As separator.
6.4.1.3.9 DatagramWriterGroupTransport2DataType structure
This Structure DataType is used to represent the datagram specific transport mapping parameters for WriterGroups. It is a subtype of the DatagramWriterGroupTransportDataType defined in 6.4.1.3.3.
The DatagramWriterGroupTransportDataType is formally defined in Table 135.
| Name | Type | Description | Allow Subtypes |
| DatagramWriterGroupTransport2DataType | Structure | Subtype of DatagramWriterGroupTransportDataType defined in 6.4.1.3.3. | |
Address | NetworkAddressDataType | Defined in 6.4.1.3.4. | True |
QosCategory | String | Defined in 6.4.1.3.5. | |
DatagramQos | TransmitQosDataType[] | Defined in 6.4.1.3.6. | True |
DiscoveryAnnounceRate | UInt32 | Defined in 6.4.1.3.7. | |
Topic | String | Defined in 6.4.1.3.8. |
Its representation in the AddressSpace is defined in Table 136.
| Attributes | Value |
| BrowseName | DatagramWriterGroupTransport2DataType |
| IsAbstract | False |
| Subtype of DatagramWriterGroupTransportDataType defined in 6.4.1.3.3. | |
| Conformance Units | |
| PubSub Parameters Datagram | |
6.4.1.4 Datagram ReaderGroup parameters
There are no datagram-specific transport mapping parameters defined for the ReaderGroup.
6.4.1.5 Datagram DataSetWriter parameters
There are no datagram-specific transport mapping parameters defined for the DataSetWriter.
6.4.1.6 Datagram DataSetReader
6.4.1.6.1 Address
The Address parameter contains the network address information for the communication middleware related to the DataSetReader. The different Structure DataTypes used to represent the Address are defined in 6.2.7.5.3.
The parameter shall be null if an address is not set at this level. If the parameter is set, it overwrites the Address on the PubSubConnection.
6.4.1.6.2 QosCategory
Selects the general categorty of QoS the DataSetReader requires. Further details are defined in 6.4.1.1.1.
The parameter shall be null or empty if no QoS related parameters are set.
6.4.1.6.3 DatagramQos
The DatagramQos parameter contains the QoS related parameters for the DataSetReader as array of ReceiveQosDataType Structures. The abstract ReceiveQosDataType is defined in 6.4.1.1.5. The concrete subtypes are used to represent different QoS settings that can be combined in the array.
The array shall not contain multiple instances of a concrete subtype e.g. receive PriorityLabel entry.
The parameter shall be null or empty if no QoS related parameters are set.
6.4.1.6.4 Topic
The Topic parameter with DataType String contains the unique name of the data stream from the Publisher that contains the DataSetMessages of interest for the DataSetReader. The Topic is defined by the Publisher.
6.4.1.6.5 DatagramDataSetReaderTransportDataType structure
This Structure DataType is used to represent the datagram transport mapping parameters for DataSetReaders. It is a subtype of the DataSetReaderTransportDataType defined in 6.2.9.13.2.
The DatagramDataSetReaderTransportDataType is formally defined in Table 137.
| Name | Type | Description | Allow Subtypes |
| DatagramDataSetReaderTransportDataType | Structure | Subtype of DataSetReaderTransportDataType defined in 6.2.9.13.2. | |
Address | NetworkAddressDataType | Defined in 6.4.1.6.1. | True |
QosCategory | String | Defined in 6.4.1.6.2. | |
DatagramQos | ReceiveQosDataType[] | Defined in 6.4.1.6.3. | True |
Topic | String | Defined in 6.4.1.6.4. |
Its representation in the AddressSpace is defined in Table 138.
| Attributes | Value |
| BrowseName | DatagramDataSetReaderTransportDataType |
| IsAbstract | False |
| Subtype of DataSetReaderTransportDataType defined in 6.2.9.13.2. | |
| Conformance Units | |
| PubSub Parameters Datagram | |
6.4.1.7 DTLS PubSubConnection parameters
6.4.1.7.1 ClientCipherSuite
The parameter ClientCipherSuite defines the DTLS 1.3 cipher suite that is used for data security of the PubSub communication. Supported cipher suites are described in Part 7. This is the cipher suite sent from the client-side in the DTLS handshake.
Note that the cipher suite describes the data encryption and data authenticity algorithms used. Key agreement and certificate signature algorithms are designated via the OPC UA Client Server Security Policy.
The client cipher suite is configured at the PubSubConnection level. This parameter denotes the single cipher suite that the DTLS client will offer in the DTLS handshake. This cipher suite must match a cipher suite entry configured in ServerCipherSuites for the server side of the DTLS handshake. If this variable is not configured (e.g. set to the null string) then for a given PubSubConnection the device is meant to act as a server.
6.4.1.7.2 ServerCipherSuites
The parameter ServerCipherSuites defines the DTLS 1.3 cipher suite(s) that are used for data security of the PubSub communication. Supported cipher suites are described in OPC 10000-7. This is a list of cipher suites that the server will accept if offered by a client. In DTLS PubSub a client will only offer one cipher suite. The server will then either accept that one cipher suite as it is listed in ServerCipherSuites or reject it if it is not included in ServerCipherSuites.
Note that the cipher suite describes the data encryption and data authenticity algorithms used. Key agreement and certificate signature algorithms are designated via the OPC UA Client Server Security Policy.
6.4.1.7.3 ZeroRTT
The ZeroRTT parameter is a DataType Boolean. This parameter describes whether or not the zero round-trip-time feature of DTLS 1.3 is enabled. If this parameter is not set then it defaults to False. Note that using the Zero Round-Trip-Time feature has implications for security, as PubSub data will be sent before full authentication occurs. It is the responsibility of the user to decide whether or not this is acceptable.
6.4.1.7.4 CertificateGroupId
The CertificateGroupId parameter is the NodeId of the CertificateGroup used for the DTLS Tranpsort. This includes the Certificate and TrustList that are to be used for establishing DTLS sessions. Note that the CertificateGroup used for DTLS may be restricted via profile, see Part 7 for more information on the profiles support DTLS.
6.4.1.7.5 VerifyClientCertificate
The VerifyClientCertificate parameter is a DataType Boolean. This parameter describes whether or not the client certificate will be requested and verified by the server as part of the DTLS handshake. If this parameter is not set then it defaults to True.
6.4.1.7.6 DtlsPubSubConnectionDataType
This Structure DataType is used to represent additional DTLS specific datagram transport mapping parameters for PubSubConnections.
The DtlsPubSubConnectionDataType is formally defined in Table 139.
| Name | Type | Description |
| DtlsPubSubConnectionDataType | Structure | |
ClientCipherSuite | String | Defined in 6.4.1.7.1. |
ServerCipherSuites | String [] | Defined in 6.4.1.7.2. |
ZeroRTT | Boolean | Defined in 6.4.1.7.3. |
CertificateGroupId | NodeId | Defined in 6.4.1.7.4. |
VerifyClientCertificate | Boolean | Defined in 6.4.1.7.5. |
Its representation in the AddressSpace is defined in Table 140.
| Attributes | Value |
| BrowseName | DtlsPubSubConnectionDataType |
| IsAbstract | False |
| Subtype of Structure defined in OPC 10000-5. | |
| Conformance Units | |
| PubSub Parameters Datagram DTLS | |
6.4.2 Broker Transport Protocol
6.4.2.1 Broker quality of service Enumeration
The BrokerTransportQualityOfService Enumeration DataType is formally defined in Table 141.
The mapping of quality of service to the broker transport specific implementation is defined in 7.3.4.5 for MQTT.
| Name | Value | Description |
|---|---|---|
| NotSpecified | 0 | The value is not specified and the value of the parent object shall be used. |
| BestEffort | 1 | The transport shall make the best effort to deliver a message. Worst case this means data loss or data duplication are possible. |
| AtLeastOnce | 2 | The transport guarantees that the message shall be delivered at least once, but duplication is possible. Readers shall de-duplicate based on message id or sequence number. |
| AtMostOnce | 3 | The transport guarantees that the message shall be sent once, but if it is lost it is not sent again. |
| ExactlyOnce | 4 | The transport handshake guarantees that the message shall be delivered to the broker exactly once and not more or less. |
The BrokerTransportQualityOfService representation in the AddressSpace is defined in Table 142.
| Attribute | Value | ||||
| BrowseName | BrokerTransportQualityOfService | ||||
| IsAbstract | False | ||||
| References | Node Class | BrowseName | DataType | TypeDefinition | Others |
|---|---|---|---|---|---|
| Subtype of Enumeration defined in OPC 10000-5 | |||||
| HasProperty | Variable | EnumStrings | LocalizedText [] | PropertyType | |
| Conformance Units | |||||
|---|---|---|---|---|---|
| PubSub Parameters Broker |
6.4.2.2 Broker PubSubConnection
6.4.2.2.1 ResourceUri
The ResourceUri parameter of DataType String enables the transport implementation to look up a configured key from the corresponding KeyCredentialConfigurationType instance defined in OPC 10000-12 to use for authenticating access to the Broker at the connection level or for queues configured below the connection.
The ResourceUri should uniquely identify a user and broker combination in a Publisher. An example for such a Uri is “mqtts://myuser@mydomain.com:8883”.
If null or empty, no authentication or anonymous authentication shall be assumed as default unless authentication settings are provided on a subordinated WriterGroup or a DataSetWriter to authenticate access to individual queues.
6.4.2.2.2 AuthenticationProfileUri
The parameter AuthenticationProfileUri of DataType String allows the selection of the authentication protocol used by the transport implementation. This maps to the ProfileUri Property in the KeyCredentialConfigurationType instance selected through the ResourceUri and AuthenticationProfileUri Strings.
A set of possible AuthenticationProfileUris are in the Profile http://opcfoundation.org/UA-Profile/Server/KeyCredentialManagement. One example for MQTT user name and password is the URI “http://opcfoundation.org/UA-Profile/Authentication/mqtt-username”.
This parameter is optional. If more than one ProfileUri describing the protocol to use for authentication is configured and this value is null or empty, the transport will choose one. If the transport cannot fine a suitable authentication mechanism in the ProfileUri array, the transport sets the State of the PubSubConnection is set to Error.
6.4.2.2.3 BrokerConnectionTransportDataType structure
This Structure DataType is used to represent the broker-specific transport mapping parameters for the PubSubConnection. It is a subtype of the ConnectionTransportDataType defined in 6.2.7.5.2.
The BrokerConnectionTransportDataType is formally defined in Table 143.
| Name | Type | Description |
| BrokerConnectionTransportDataType | Structure | Subtype of the ConnectionTransportDataType defined in 6.2.6.4. |
ResourceUri | String | Defined in 6.4.2.2.1. |
AuthenticationProfileUri | String | Defined in 6.4.2.2.2. |
Its representation in the AddressSpace is defined in Table 144.
| Attributes | Value |
| BrowseName | BrokerConnectionTransportDataType |
| IsAbstract | False |
| Subtype of ConnectionTransportDataType defined in 6.2.7.5.2. | |
| Conformance Units | |
| PubSub Parameters Broker | |
6.4.2.3 Broker WriterGroup
6.4.2.3.1 QueueName
The QueueName parameter with DataType String specifies the queue in the Broker that receives NetworkMessages sent by the Publisher. This could be the name of a queue or topic defined in the Broker.
6.4.2.3.2 ResourceUri
The ResourceUri property of DataType String allows the transport implementation to look up the configured key from the corresponding KeyCredentialConfigurationType instance defined in OPC 10000-12 to use for authenticating access to the specified queue.
If this String is not null or empty, it overrides the ResourceUri of the PubSubConnection authentication settings.
6.4.2.3.3 AuthenticationProfileUri
The parameter AuthenticationProfileUri of DataType String allows the selection of the authentication protocol used by the transport implementation for authenticating access to the specified queue. This maps to the ProfileUri Property in the KeyCredentialConfigurationType instance selected through the ResourceUri and AuthenticationProfileUri Strings.
A set of possible AuthenticationProfileUris are in the Profile http://opcfoundation.org/UA-Profile/Server/KeyCredentialManagement.
If this String is not null or empty, it overrides the AuthenticationProfileUri of the PubSubConnection transport settings defined in 6.4.2.2.2.
6.4.2.3.4 RequestedDeliveryGuarantee
The RequestedDeliveryGuarantee parameter with DataType BrokerTransportQualityOfService specifies the delivery guarantees that shall apply to all NetworkMessages published by the WriterGroup unless otherwise specified on the DataSetWriter transport settings. The DataType BrokerTransportQualityOfService is defined in 6.4.2.1.
The value NotSpecified is not allowed on the WriterGroup. If the selected delivery guarantee cannot be applied, the WriterGroup shall set the state to Error.
6.4.2.3.5 BrokerWriterGroupTransportDataType structure
This Structure DataType is used to represent the broker-specific transport mapping parameters for WriterGroups. It is a subtype of the WriterGroupTransportDataType defined in 6.2.6.7.2.
The BrokerWriterGroupTransportDataType is formally defined in Table 145.
| Name | Type | Description |
| BrokerWriterGroupTransportDataType | Structure | Subtype of WriterGroupTransportDataType defined in 6.2.6.7.2. |
QueueName | String | Defined in 6.4.2.3.1. |
ResourceUri | String | Defined in 6.4.2.3.2. |
AuthenticationProfileUri | String | Defined in 6.4.2.3.3. |
RequestedDeliveryGuarantee | BrokerTransportQualityOfService | Defined in 6.4.2.3.4. |
Its representation in the AddressSpace is defined in Table 146.
| Attributes | Value |
| BrowseName | BrokerWriterGroupTransportDataType |
| IsAbstract | False |
| Subtype of WriterGroupTransportDataType defined in 6.2.6.7.2. | |
| Conformance Units | |
| PubSub Parameters Broker | |
6.4.2.4 Broker ReaderGroup Parameters
There are no broker specific transport mapping parameters defined for the ReaderGroup.
6.4.2.5 Broker DataSetWriter
6.4.2.5.1 QueueName
The QueueName parameter with DataType String specifies the queue in the Broker that receives NetworkMessages sent by the Publisher for the DataSetWriter. This could be the name of a queue or topic defined in the Broker. This parameter is only valid if the NetworkMessages from the WriterGroup for this DataSetWriter contain only DataSetMessages from this DataSetWriter.
If this String is not null or empty, it overrides the QueueName of the WriterGroup transport settings.
6.4.2.5.2 ResourceUri
The ResourceUri property of DataType String allows the transport implementation to look up the configured key from the corresponding KeyCredentialConfigurationType instance defined in OPC 10000-12 to use for authenticating access to the specified queue.
If this String is not null or empty, it overrides the ResourceUri of the WriterGroup authentication settings.
6.4.2.5.3 AuthenticationProfileUri
The parameter AuthenticationProfileUri of DataType String allows the selection of the authentication protocol used by the transport implementation for authenticating access to the specified queue. This maps to the ProfileUri Property in the KeyCredentialConfigurationType instance selected through the ResourceUri and AuthenticationProfileUri Strings.
A set of possible AuthenticationProfileUris are in the Profile http://opcfoundation.org/UA-Profile/Server/KeyCredentialManagement.
If this String is not null or empty, it overrides the AuthenticationProfileUri of the WriterGroup transport settings.
6.4.2.5.4 RequestedDeliveryGuarantee
The RequestedDeliveryGuarantee parameter with DataType BrokerTransportQualityOfService specifies the delivery guarantees that shall apply to all messages published by the DataSetWriter. The DataType BrokerTransportQualityOfService is defined in 6.4.2.1.
If the value is not NotSpecified, it overrides the RequestedDeliveryGuarantee of the WriterGroup transport settings. Overriding the WriterGroup setting is only valid if the DataSetWriter also overrides the QueueName.
If the selected delivery guarantee cannot be applied, the DataSetWriter shall set the state to Error.
6.4.2.5.5 MetaDataQueueName
For message mappings like UADP, the Subscriber needs access to the DataSetMetaData to process received DataSetMessages. The Publisher can provide the DataSetMetaData through a dedicated queue.
The parameter MetaDataQueueName with the DataType String specifies the Broker queue that receives messages with DataSetMetaData sent by the Publisher for this DataSetWriter. This could be the name of a queue or topic defined in the Broker.
6.4.2.5.6 MetaDataUpdateTime
Specifies the interval in milliseconds with Data Type Duration at which the Publisher shall send the DataSetMetaData to the MetaDataQueueName. A value of 0 or any negative value shall be interpreted as infinite interval.
The broker transport shall publish all messages with an expiration time that is equal to or greater than this value.
If the update time is infinite, a broker transport shall attempt to negotiate message retention if possible. In this case the DataSetMetaData is only sent if the ConfigurationVersion of the corresponding DataSetMetaData is changed and DataSetWriters shall try to negotiate AtLeastOnce or ExactlyOnce delivery guarantees with the broker for any DataSetMetaData sent to ensure metadata is available to readers.
The DataSetWriterProperties settings apply also to DataSetMetaData sent to the queue named through the MetaDataQueueName parameter.
6.4.2.5.7 BrokerDataSetWriterTransportDataType structure
This Structure DataType is used to represent the broker-specific transport mapping parameters for DataSetWriters. It is a subtype of the DataSetWriterTransportDataType defined in 6.2.4.5.2.
The BrokerDataSetWriterTransportDataType is formally defined in Table 147.
| Name | Type | Description |
| BrokerDataSetWriterTransportDataType | Structure | Subtype of DataSetWriterTransportDataType defined in 6.2.4.5.2. |
QueueName | String | Defined in 6.4.2.5.1. |
ResourceUri | String | Defined in 6.4.2.5.2. |
AuthenticationProfileUri | String | Defined in 6.4.2.5.3. |
RequestedDeliveryGuarantee | BrokerTransportQualityOfService | Defined in 6.4.2.5.4. |
MetaDataQueueName | String | Defined in 6.4.2.5.5. |
MetaDataUpdateTime | Duration | Defined in 6.4.2.5.6. |
Its representation in the AddressSpace is defined in Table 148.
| Attributes | Value |
| BrowseName | BrokerDataSetWriterTransportDataType |
| IsAbstract | False |
| Subtype of DataSetWriterTransportDataType defined in 6.2.4.5.2. | |
| Conformance Units | |
| PubSub Parameters Broker | |
6.4.2.6 Broker DataSetReader
6.4.2.6.1 QueueName
The QueueName parameter with DataType String specifies the queue in the Broker where the DataSetReader can receive NetworkMessages with the DataSet of interest sent by the Publisher. This could be the name of a queue or topic defined in the Broker.
6.4.2.6.2 ResourceUri
The ResourceUri property of DataType String allows the transport implementation to look up the configured key from the corresponding KeyCredentialConfigurationType instance defined in OPC 10000-12 to use for authenticating access to the specified queue.
If this String is not null or empty, it overrides the ResourceUri of the PubSubConnection authentication settings.
6.4.2.6.3 AuthenticationProfileUri
The parameter AuthenticationProfileUri of DataType String allows the selection of the authentication protocol used by the transport implementation for authenticating access to the specified queue. This maps to the ProfileUri Property in the KeyCredentialConfigurationType instance selected through the ResourceUri and AuthenticationProfileUri Strings.
A set of possible AuthenticationProfileUris are in the Profile http://opcfoundation.org/UA-Profile/Server/KeyCredentialManagement.
If this String is not null or empty, it overrides the AuthenticationProfileUri of the PubSubConnection transport settings defined in 6.4.2.2.2.
6.4.2.6.4 RequestedDeliveryGuarantee
The RequestedDeliveryGuarantee parameter with DataType BrokerTransportQualityOfService specifies the delivery guarantees the DataSetReader negotiates with the broker for all messages received. The DataType BrokerTransportQualityOfService is defined in 6.4.2.1.
The value NotSpecified is not allowed on the DataSetReader. If the selected delivery guarantee cannot be applied, the DataSetReader shall set the state to Error.
6.4.2.6.5 MetaDataQueueName
The parameter MetaDataQueueName with the DataType String specifies the Broker queue that provides messages with DataSetMetaData sent by the Publisher for the DataSet of interest. This could be the name of a queue or topic defined in the Broker.
6.4.2.6.6 BrokerDataSetReaderTransportDataType structure
This Structure DataType is used to represent the broker-specific transport mapping parameters for DataSetReaders. It is a subtype of the DataSetReaderTransportDataType defined in 6.2.9.13.2.
The BrokerDataSetReaderTransportDataType is formally defined in Table 149.
| Name | Type | Description |
| BrokerDataSetReaderTransportDataType | Structure | Subtype of DataSetReaderTransportDataType defined in 6.2.9.13.2. |
QueueName | String | Defined in 6.4.2.6.1. |
ResourceUri | String | Defined in 6.4.2.6.2. |
AuthenticationProfileUri | String | Defined in 6.4.2.6.3. |
RequestedDeliveryGuarantee | BrokerTransportQualityOfService | Defined in 6.4.2.6.4. |
MetaDataQueueName | String | Defined in 6.4.2.6.5. |
Its representation in the AddressSpace is defined in Table 150.
| Attributes | Value |
| BrowseName | BrokerDataSetReaderTransportDataType |
| IsAbstract | False |
| Subtype of DataSetReaderTransportDataType defined in 6.2.9.13.2. | |
| Conformance Units | |
| PubSub Parameters Broker | |