.NET Based OPC UA Client/Server SDK  3.0.10.493
Service Related Data Types

DiagnosticInfo

Vendor-specific diagnostic information.

Field DataType ValueRank Description
SymbolicIdSpecified Bit Scalar  
NamespaceURISpecified Bit Scalar  
LocaleSpecified Bit Scalar  
LocalizedTextSpecified Bit Scalar  
AdditionalInfoSpecified Bit Scalar  
InnerStatusCodeSpecified Bit Scalar  
InnerDiagnosticInfoSpecified Bit Scalar  
Reserved1 Bit Scalar  
SymbolicId Int32 Scalar Used to identify a vendor-specific error or condition; typically the result of some server internal operation. More...
NamespaceURI Int32 Scalar The URI of the namespace in whose context the symbolicId is defined within. More...
Locale Int32 Scalar The locale part of the vendor-specific localized text describing the symbolic id. More...
LocalizedText Int32 Scalar A vendor-specific localized text string describes the symbolic id. More...
AdditionalInfo CharArray Scalar Vendor-specific diagnostic information.
InnerStatusCode StatusCode Scalar The StatusCode from the inner operation. More...
InnerDiagnosticInfo DiagnosticInfo Scalar The diagnostic info associated with the inner StatusCode.

SymbolicId

Used to identify a vendor-specific error or condition; typically the result of some server internal operation.

The maximum length of this string is 32 characters. Servers wishing to return a numeric return code should convert the return code into a string and use this string as symbolicId (e.g., "0xC0040007" or "-4").

This symbolic identifier string is conveyed to the Client in the stringTable parameter of the ResponseHeader parameter. The symbolicId parameter contains the index into the stringTable for this string. -1 indicates that no string is specified.

The symbolicId shall not contain StatusCodes. If the localizedText contains a translation for the description of a StatusCode, the symbolicId is -1.

NamespaceURI

The URI of the namespace in whose context the symbolicId is defined within.

This namespace is represented as a string and is conveyed to the Client in the stringTable parameter of the ResponseHeader parameter. The namespaceIndex parameter contains the index into the stringTable for this string. -1 indicates that no string is specified.

The namespaceUri shall not be the standard OPC UA namespace. There are no symbolicIds provided for standard StatusCodes.

Locale

The locale part of the vendor-specific localized text describing the symbolic id.

This localized text string is conveyed to the Client in the stringTable parameter of the ResponseHeader parameter. The localizedTextIndex parameter contains the index into the stringTable for this string. -1 indicates that no string is specified.

LocalizedText

A vendor-specific localized text string describes the symbolic id.

The maximum length of this text string is 256 characters.

This localized text string is conveyed to the Client in the stringTable parameter of the ResponseHeader parameter. The localizedTextIndex parameter contains the index into the stringTable for this string. -1 indicates that no string is specified.

The localizedText refers to the symbolicId if present or the string that describes the standard StatusCode if the server provides translations. If the index is -1, the server has no translation to return and the client should use the invariant StatusCode description from the specification.

InnerStatusCode

The StatusCode from the inner operation.

Many applications will make calls into underlying systems during OPC UA request processing. An OPC UA Server has the option of reporting the status from the underlying system in the diagnostic info.

DataValue

A value with an associated timestamp and quality.

PicoSeconds
Some applications require high resolution timestamps. The PicoSeconds fields allow applications to specify timestamps with a resolution of 10 picoseconds. The actual size of the PicoSeconds field depends on the resolution of the DataType. For example, if the UtcTime DataType has a resolution of 100 nanoseconds, the PicoSeconds field would have to store values up to 10 000 in order to provide the resolution of 10 picoseconds.

SourceTimestamp
The sourceTimestamp is used to reflect the timestamp that was applied to a Variable value by the data source. Once a value has been assigned a source timestamp, the source timestamp for that value instance never changes. In this context, “value instance” refers to the value received, independent of its actual value.

The sourceTimestamp shall be UTC time and should indicate the time of the last change of the value or statusCode.

The sourceTimestamp should be generated as close as possible to the source of the value but the timestamp needs to be set always by the same physical clock. In the case of redundant sources, the clocks of the sources should be synchronised.

If the OPC UA Server receives the variable value from another OPC UA Server, then the OPC UA Server shall always pass the source timestamp without changes. If the source that applies the timestamp is not available, the source timestamp is set to null. For example, if a value could not be read because of some error during processing like invalid arguments passed in the request then the sourceTimestamp shall be null.

In the case of a bad or uncertain status sourceTimestamp is used to reflect the time that the source recognized the non-good status or the time the Server last tried to recover from the bad or uncertain status.

The sourceTimestamp is only returned with a Value attribute. For all other attributes the returned sourceTimestamp is set to null.

ServerTimestamp
The serverTimestamp is used to reflect the time that the Server received a variable value or knew it to be accurate.

In the case of a bad or uncertain status, serverTimestamp is used to reflect the time that the Server received the status or that the Server last tried to recover from the bad or uncertain status. In the case where the OPC UA Server subscribes to a value from another OPC UA Server, each Server applies its own serverTimestamp. This is in contrast to the sourceTimestamp in which only the originator of the data is allowed to apply the sourceTimestamp.

If the Server subscribes to the value from another Server every ten seconds and the value changes, then the serverTimestamp is updated each time a new value is received. If the value does not change, then new values will not be received on the Subscription. However, in the absence of errors, the receiving Server applies a new serverTimestamp every ten seconds because not receiving a value means that the value has not changed. Thus, the serverTimestamp reflects the time at which the Server knew the value to be accurate.#

This concept also applies to OPC UA Servers that receive values from exception-based data sources. For example, suppose that a Server is receiving values from an exception-based device, and that

  • the device is checking values every 0,5 seconds,
  • the connection to the device is good,
  • the device sent an update 3 minutes ago with a value of 1,234.

In this case, the Server value would be 1,234 and the serverTimestamp would be updated every 0,5 seconds after the receipt of the value.

StatusCode assigned to a value
The StatusCode is used to indicate the conditions under which a variable value was generated, and thereby can be used as an indicator of the usability of the value.

  • A StatusCode with severity Good means that the value is of good quality.
  • A StatusCode with severity Uncertain means that the quality of the value is uncertain for reasons indicated by the SubCode.
  • A StatusCode with severity Bad means that the value is not usable for reasons indicated by the SubCode.

Rules:

  • The StatusCode indicates the usability of the value. Therefore, It is required that Clients minimally check the StatusCode Severity of all results, even if they do not check the other fields, before accessing and using the value.
  • A Server, which does not support status information, shall return a severity code of Good. It is also acceptable for a Server to simply return a severity and a non-specific (0) substatus.
  • If the Server has no known value—in particular when Severity is BAD—it shall return a NULL value.
Field DataType ValueRank Description
ValueSpecified Bit Scalar  
StatusCodeSpecified Bit Scalar  
SourceTimestampSpecified Bit Scalar  
SourcePicosecondsSpecified Bit Scalar  
ServerTimestampSpecified Bit Scalar  
ServerPicosecondsSpecified Bit Scalar  
Reserved1 Bit Scalar  
Value Variant Scalar The data value; if the StatusCode indicates an error, the value is to be ignored and the Server shall set it to null.
StatusCode StatusCode Scalar The StatusCode that defines with the Server’s ability to access/provide the value.
SourceTimestamp DateTime Scalar The source timestamp for the value.
SourcePicoseconds UInt16 Scalar Specifies the number of 10 picoseconds (1,0 e-11 seconds) intervals which shall be added to the sourceTimestamp.
ServerTimestamp DateTime Scalar The Server timestamp for the value.
ServerPicoseconds UInt16 Scalar Specifies the number of 10 picoseconds (1,0 e-11 seconds) intervals which shall be added to the serverTimestamp.

ApplicationType

The type of application

Enum String Enum Value Description
Server 0 The application is a Server.
Client 1 The application is a Client.
ClientAndServer 2 The application is a Client and a Server.
DiscoveryServer 3 The application is a DiscoveryServer.

ApplicationDescription

Specifies an application that is available.

Field DataType ValueRank Description
ApplicationUri String Scalar The globally unique identifier for the application instance. More...
ProductUri String Scalar The globally unique identifier for the product.
ApplicationName LocalizedText Scalar A localized descriptive name for the application.
ApplicationType ApplicationType Scalar The type of application More...
GatewayServerUri String Scalar A URI that identifies the Gateway Server associated with the DiscoveryUrls. More...
DiscoveryProfileUri String Scalar A URI that identifies the discovery profile supported by the URLs provided. More...
DiscoveryUrls String Array A list of URLs for the discovery Endpoints provided by the application. More...

ApplicationUri

The globally unique identifier for the application instance.

This URI is used as ServerUri in Services if the application is a Server.

ApplicationType

The type of application

See ApplicationType

GatewayServerUri

A URI that identifies the Gateway Server associated with the DiscoveryUrls.

This value is not specified if the Server can be accessed directly.

This field is not used if the ApplicationType is Client.

DiscoveryProfileUri

A URI that identifies the discovery profile supported by the URLs provided.

This field is not used if the ApplicationType is client.

DiscoveryUrls

A list of URLs for the discovery Endpoints provided by the application.

If the ApplicationType is Client, this field shall contain an empty list.

RequestHeader

Common parameters for all requests submitted on a Session.

Field DataType ValueRank Description
AuthenticationToken NodeId Scalar The secret Session identifier used to verify that the request is associated with the Session.
Timestamp DateTime Scalar The time the Client sent the request. More...
RequestHandle UInt32 Scalar A requestHandle associated with the request. More...
ReturnDiagnostics UInt32 Scalar A bit mask that identifies the types of vendor-specific diagnostics to be returned in diagnosticInfo response parameters. More...
AuditEntryId String Scalar An identifier that identifies the Client’s security audit log entry associated with this request. More...
TimeoutHint UInt32 Scalar This timeout in milliseconds is used in the Client side Communication Stack to set the timeout on a per-call base. More...
AdditionalHeader ExtensionObject Scalar Reserved for future use. More...

Timestamp

The time the Client sent the request.

The parameter is only used for diagnostic and logging purposes in the server.

RequestHandle

A requestHandle associated with the request.

This client defined handle can be used to cancel the request. It is also returned in the response.

ReturnDiagnostics

A bit mask that identifies the types of vendor-specific diagnostics to be returned in diagnosticInfo response parameters.

The value of this parameter may consist of zero, one or more of the following values. No value indicates that diagnostics are not to be returned.

Bit Value Diagnostics to return
0x0000 0001 ServiceLevel/SymbolicId
0x0000 0002 ServiceLevel/LocalizedText
0x0000 0004 ServiceLevel/AdditionalInfo
0x0000 0008 ServiceLevel/Inner StatusCode
0x0000 0010 ServiceLevel/Inner Diagnostics
0x0000 0020 OperationLevel/SymbolicId
0x0000 0040 OperationLevel/LocalizedText
0x0000 0080 OperationLevel/AdditionalInfo
0x0000 0100 OperationLevel/Inner StatusCode
0x0000 0200 OperationLevel/Inner Diagnostics

Each of these values is composed of two components, level and type, as described below. If none are requested, as indicated by a 0 value, or if no diagnostic information was encountered in processing of the request, then diagnostics information is not returned.

Level:

ServiceLevel
return diagnostics in the diagnosticInfo of the Service.
OperationLevel
return diagnostics in the diagnosticInfo defined for individual operations requested in the Service.

Type:

SymbolicId
return a namespace-qualified, symbolic identifier for an error or condition. The maximum length of this identifier is 32 characters.
LocalizedText
return up to 256 bytes of localized text that describes the symbolic id.
AdditionalInfo
return a byte string that contains additional diagnostic information, such as a memory image. The format of this byte string is vendor-specific, and may depend on the type of error or condition encountered.
InnerStatusCode
return the inner StatusCode associated with the operation or Service.
InnerDiagnostics
return the inner diagnostic info associated with the operation or Service. The contents of the inner diagnostic info structure are determined by other bits in the mask. Note that setting this bit could cause multiple levels of nested diagnostic info structures to be returned.

AuditEntryId

An identifier that identifies the Client’s security audit log entry associated with this request.

An empty string value means that this parameter is not used.

The AuditEntryId typically contains who initiated the action and from where it was initiated. The AuditEventId is included in the AuditEvent to allow human readers to correlate an Event with the initiating action.

More details of the Audit mechanisms are defined in 6.2 and in Part 3.

TimeoutHint

This timeout in milliseconds is used in the Client side Communication Stack to set the timeout on a per-call base.

For a Server this timeout is only a hint and can be used to cancel long running operations to free resources. If the Server detects a timeout, he can cancel the operation by sending the Service result Bad_Timeout. The Server should wait at minimum the timeout after he received the request before cancelling the operation.

The value of 0 indicates no timeout.

AdditionalHeader

Reserved for future use.

applications that do not understand the header should ignore it.

ResponseHeader

Common parameters for all responses.

Field DataType ValueRank Description
Timestamp DateTime Scalar The time the Server sent the response.
RequestHandle UInt32 Scalar The requestHandle given by the Client to the request.
ServiceResult StatusCode Scalar OPC UA-defined result of the Service invocation.
ServiceDiagnostics DiagnosticInfo Scalar Diagnostic information for the Service invocation. More...
StringTable String Array There is one string in this list for each unique namespace, symbolic identifier, and localized text string contained in all of the diagnostics information parameters contained in the response DiagnosticInfo. Each is identified within this table by its zero-based index.
AdditionalHeader ExtensionObject Scalar Reserved for future use. More...

ServiceDiagnostics

Diagnostic information for the Service invocation.

This parameter is empty if diagnostics information was not requested in the request header.

AdditionalHeader

Reserved for future use.

applications that do not understand the header should ignore it.

MessageSecurityMode

An enumeration that specifies what security should be applied to messages exchanges during a Session.

Enum String Enum Value Description
Invalid 0 The MessageSecurityMode is invalid. More...
None 1 No security is applied.
Sign 2 All messages are signed but not encrypted.
SignAndEncrypt 3 All messages are signed and encrypted.

Invalid

The MessageSecurityMode is invalid.

This value is the default value to avoid an accidental choice of no security is applied. This choice will always be rejected.

UserTokenType

Enum String Enum Value Description
Anonymous 0 No token is required.
UserName 1 A username/password token.
Certificate 2 An X509v3 Certificate token.
IssuedToken 3 Any WS-Security defined token.
Kerberos 4  

UserTokenPolicy

Specifies a UserIdentityToken that a Server will accept.

Field DataType ValueRank Description
PolicyId String Scalar An identifier for the UserTokenPolicy assigned by the Server. More...
TokenType UserTokenType Scalar The type of user identity token required. More...
IssuedTokenType String Scalar A URI for the type of token. More...
IssuerEndpointUrl String Scalar An optional URL for the token issuing service. More...
SecurityPolicyUri String Scalar The security policy to use when encrypting or signing the UserIdentityToken when it is passed to the Server in the ActivateSession request. More...

PolicyId

An identifier for the UserTokenPolicy assigned by the Server.

The Client specifies this value when it constructs a UserIdentityToken that conforms to the policy.

This value is only unique within the context of a single Server.

TokenType

The type of user identity token required.

A tokenType of ANONYMOUS indicates that the Server does not require any user identification. In this case the Client application instance certificate is used as the user identification.

IssuedTokenType

A URI for the type of token.

Part 6 of the OPC UA Specification defines URIs for common issued token types. Vendors may specify their own token.

This field may only be specified if TokenType is IssuedToken.

IssuerEndpointUrl

An optional URL for the token issuing service.

The meaning of this value depends on the IssuedTokenType.

SecurityPolicyUri

The security policy to use when encrypting or signing the UserIdentityToken when it is passed to the Server in the ActivateSession request.

The security policy for the SecureChannel is used if this value is omitted.

EndpointDescription

Describes an Endpoint for a Server

Field DataType ValueRank Description
EndpointUrl String Scalar The URL for the Endpoint described.
Server ApplicationDescription Scalar The description for the Server that the Endpoint belongs to.
ServerCertificate ByteString Scalar The application instance certificate issued to the Server.
SecurityMode MessageSecurityMode Scalar The type of security to apply to the messages. More...
SecurityPolicyUri String Scalar The URI for SecurityPolicy to use when securing messages.
UserIdentityTokens UserTokenPolicy Array The user identity tokens that the Server will accept. More...
TransportProfileUri String Scalar The URI of the Transport Profile supported by the Endpoint.
SecurityLevel Byte Scalar A numeric value that indicates how secure the EndpointDescription is compared to other EndpointDescriptions for the same Server. More...

SecurityMode

The type of security to apply to the messages.

A SecureChannel may have to be created even if the securityMode is NONE.

UserIdentityTokens

The user identity tokens that the Server will accept.

The Client shall pass one of the UserIdentityTokens in the ActivateSession request.

SecurityLevel

A numeric value that indicates how secure the EndpointDescription is compared to other EndpointDescriptions for the same Server.

A value of 0 indicates that the EndpointDescription is not recommended and is only supported for backward compatibility.

A higher value indicates better security.

RegisteredServer

The server to register

Field DataType ValueRank Description
ServerUri String Scalar The globally unique identifier for the Server instance. More...
ProductUri String Scalar The globally unique identifier for the Server product.
ServerNames LocalizedText Array A list of localized descriptive names for the Server. More...
ServerType ApplicationType Scalar The type of application. More...
GatewayServerUri String Scalar The URI of the Gateway Server associated with the DiscoveryUrls. More...
DiscoveryUrls String Array A list of Discovery Endpoints for the Server. More...
SemaphoreFilePath String Scalar The path to the semaphore file used to identify an automatically-launched server instance. More...
IsOnline Boolean Scalar True if the Server is currently able to accept connections from Clients. More...

ServerUri

The globally unique identifier for the Server instance.

The serverUri matches the applicationUri from the ApplicationDescription.

ServerNames

A list of localized descriptive names for the Server.

The list shall have at least one valid entry.

ServerType

The type of application.

The value “Client” (The application is a Client) is not allowed. The Service result shall be Bad_InvalidArgument in this case.

GatewayServerUri

The URI of the Gateway Server associated with the DiscoveryUrls.

This value is only specified by Gateway Servers that wish to register the Servers that they provide access to.

For Servers that do not act as a Gateway Server this parameter shall be null.

DiscoveryUrls

A list of Discovery Endpoints for the Server.

The list shall have at least one valid entry.

SemaphoreFilePath

The path to the semaphore file used to identify an automatically-launched server instance.

Manually-launched servers will not use this parameter.

If a Semaphore file is provided, the IsOnline flag is ignored.

If a Semaphore file is provided and exists, the LocalDiscoveryServer shall save the registration information in a persistent data store that it reads whenever the LocalDiscoveryServer starts.

If a Semaphore file is specified but does not exist, the Discovery Server shall remove the registration from any persistent data store.

If the Server has registered with a semaphoreFilePath, the DiscoveryServer shall check that this file exists before returning the ApplicationDescription to the client.

If the Server did not register with a semaphoreFilePath (it is null or empty), then the DiscoveryServer does not attempt to verify the existence of the file before returning the ApplicationDescription to the client.

IsOnline

True if the Server is currently able to accept connections from Clients.

The DiscoveryServer shall return ApplicationDescriptions to the Client.

The Server is expected to periodically re-register with the DiscoveryServer.

False if the Server is currently unable to accept connections from Clients. The DiscoveryServer shall NOT return ApplicationDescriptions to the Client.

This parameter is ignored if a semaphoreFilePath is provided.

SecurityTokenRequestType

An enumeration that is defined as the type of the requestType parameter of the OpenSecureChannel request.

Enum String Enum Value Description
Issue 0 Creates a new security token for a new secure channel.
Renew 1 Creates a new security token for an existing secure channel.

SignedSoftwareCertificate

A ByteString containing an encoded certificate.

The encoding of a SignedSoftwareCertificate depends on the security technology mapping and is defined completely in Part 6 of the OPC UA Specification.

Field DataType ValueRank Description
CertificateData ByteString Scalar The certificate data serialized as a ByteString.
Signature ByteString Scalar The signature for the certificateData.

UserIdentityToken

Allows Clients to specify the identity of the user they are acting on behalf of.

The exact mechanism used to identify users depends on the system configuration. The different types of identity tokens are bas ed on the most common mechanisms that are used in systems today.

The Client shall always prove possession of a UserIdentityToken when it passes it to the Server. Some tokens include a secret such as a password which the Server will accept as proof. In order to protect these secrets the Token shall be encrypted before it is passed to the Server. Other types of tokens allow the Client to create a signature with the secret associated with the Token. In these cases, the Client proves possession of a UserIdentityToken by appending the last ServerNonce to the ServerCertificate and uses the secret to produce a Signature which is passed to the Server.

Each UserIdentityToken allowed by an Endpoint shall have a UserTokenPolicy specified in the EndpointDescription. The UserTokenPolicy specifies what SecurityPolicy to use when encrypting or signing. If this SecurityPolicy is omitted, the Client uses the SecurityPolicy in the EndpointDescription. If the matching SecurityPolicy is set to None, no encryption or signature is required. It is recommended that Applications never set the SecurityPolicy to None for UserTokens that include a secret because these secrets could be used by an attacker to gain access to the system.

Field DataType ValueRank
PolicyId String Scalar

AddNodesItem

A structure that is defined as the type of the nodesToAdd parameter of the AddNodes Service.

Field DataType ValueRank Description
ParentNodeId ExpandedNodeId Scalar ExpandedNodeId of the parent node for the reference.
ReferenceTypeId NodeId Scalar NodeId of the hierarchical ReferenceType to use for the reference from the parent node to the new node.
RequestedNewNodeId ExpandedNodeId Scalar Client requested expanded NodeId of the node to add. The server index in the expanded NodeId shall be 0. More...
BrowseName QualifiedName Scalar The browse name of the node to add.
NodeClass NodeClass Scalar NodeClass of the node to add.
NodeAttributes ExtensionObject Scalar The attributes that are specific to the NodeClass. More...
TypeDefinition ExpandedNodeId Scalar NodeId of the TypeDefinitionNode for the node to add. More...

RequestedNewNodeId

Client requested expanded NodeId of the node to add. The server index in the expanded NodeId shall be 0.

If the Server cannot use this NodeId, it rejects this node and returns the appropriate error code.

If the Client does not want to request a NodeId, it sets the value of this parameter to the null expanded NodeId.

If the node to add is a ReferenceType node, its NodeId should be a numeric id. See Part 3 of the OPC UA specification for a description of ReferenceType NodeIds.

NodeAttributes

The attributes that are specific to the NodeClass.

A Client is allowed to omit values for some or all attributes. If an attribute value is omitted, the Server shall use the default values from the TypeDefinitionNode. If a TypeDefinitionNode was not provided, the Server shall choose a suitable default value.

The Server may still add an optional attribute to the node with an appropriate default value even if the Client does not specify a value.

TypeDefinition

NodeId of the TypeDefinitionNode for the node to add.

This parameter shall be null for all node classes other than object and Variable, in which case it shall be provided.

AddNodesResult

A structure that is defined as the type of the results parameter of the AddNodes Service.

Field DataType ValueRank Description
StatusCode StatusCode Scalar StatusCode for the node to add.
AddedNodeId NodeId Scalar Server assigned NodeId of the added node. More...

AddedNodeId

Server assigned NodeId of the added node.

Null NodeId if the operation failed.

AddReferencesItem

A structure that is defined as the type of the referencesToAdd parameter of the AddReferences Service.

Field DataType ValueRank Description
SourceNodeId NodeId Scalar NodeId of the node to which the reference is to be added. More...
ReferenceTypeId NodeId Scalar NodeId of the ReferenceType that defines the reference.
IsForward Boolean Scalar If the value is TRUE, the Server creates a forward reference; if the value is FALSE, the Server creates an inverse Reference.
TargetServerUri String Scalar URI of the remote Server. More...
TargetNodeId ExpandedNodeId Scalar Expanded NodeId of the target node.
TargetNodeClass NodeClass Scalar NodeClass of the target node. More...

SourceNodeId

NodeId of the node to which the reference is to be added.

The source node shall always exist in the Server to add the reference. The IsForward parameter can be set to FALSE if the target node is on the local Server and the source node on the remote Server.

TargetServerUri

URI of the remote Server.

If this parameter is not null, it overrides the serverIndex in the TargetNodeId.

TargetNodeClass

NodeClass of the target node.

The Client shall specify this since the target node might not be accessible directly by the Server.

DeleteNodesItem

A structure that is defined as the type of the nodesToDelete parameter of the DeleteNodes Service.

Field DataType ValueRank Description
NodeId NodeId Scalar NodeId of the node to delete.
DeleteTargetReferences Boolean Scalar A boolean parameter indicating whether to delete references for which the node to delete is the target node. More...

DeleteTargetReferences

A boolean parameter indicating whether to delete references for which the node to delete is the target node.

It has the following values:

TRUE
delete References in TargetNodes that Reference the Node to delete.
FALSE
delete only the References for which the Node to delete is the source.

The Server cannot guarantee that it is able to delete all references from target nodes if this parameter is TRUE.

DeleteReferencesItem

A structure that is defined as the type of the referencesToDelete parameter of the DeleteReferences service.

Field DataType ValueRank Description
SourceNodeId NodeId Scalar NodeId of the node that contains the reference to delete.
ReferenceTypeId NodeId Scalar NodeId of the ReferenceType that defines the reference to delete.
IsForward Boolean Scalar If the value is TRUE, the Server deletes a forward Reference. More...
TargetNodeId ExpandedNodeId Scalar NodeId of the target node of the reference. More...
DeleteBidirectional Boolean Scalar A boolean parameter indicating whether the opposite reference from the target node should be deleted together with the node to delete. More...

IsForward

If the value is TRUE, the Server deletes a forward Reference.

If the value is FALSE, the Server deletes an inverse Reference.

TargetNodeId

NodeId of the target node of the reference.

If the Server index indicates that the target node is a remote node, then the nodeId shall contain the absolute namespace URI. If the target node is a local node the nodeId shall contain the namespace index.

DeleteBidirectional

A boolean parameter indicating whether the opposite reference from the target node should be deleted together with the node to delete.

It has the following values:

TRUE
delete the specified Reference and the opposite reference from the target node. If the target node is located in a remote Server, the Server is permitted to delete the specified reference only.
FALSE
delete only the specified reference.

BrowseDirection

An enumeration that specifies the direction of References to follow.

Enum String Enum Value Description
Forward 0 select only forward References
Inverse 1 select only inverse References
Both 2 select forward and inverse References

ViewDescription

Specifies a View.

Field DataType ValueRank Description
ViewId NodeId Scalar NodeId of the View to Query. A null value indicates the entire AddressSpace.
Timestamp DateTime Scalar The time date desired. More...
ViewVersion UInt32 Scalar The version number for the View desired. More...

Timestamp

The time date desired.

The corresponding version is the one with the closest previous creation timestamp. Either the Timestamp or the viewVersion parameter may be set by a Client, but not both. If ViewVersion is set this parameter shall be null.

ViewVersion

The version number for the View desired.

When Nodes are added to or removed from a View, the value of a View’s ViewVersion Property is updated. Either the Timestamp or the viewVersion parameter may be set by a Client, but not both. The ViewVersion Property is defined in Part 3. If timestamp is set this parameter shall be 0. The current view is used if timestamp is null and viewVersion is 0.

BrowseDescription

A structure defined as the type of the parameter nodesToBrowse of the Browse service.

Field DataType ValueRank Description
NodeId NodeId Scalar NodeId of the Node to be browsed. More...
BrowseDirection BrowseDirection Scalar An enumeration that specifies the direction of References to follow. More...
ReferenceTypeId NodeId Scalar Specifies the NodeId of the ReferenceType to follow. More...
IncludeSubtypes Boolean Scalar Indicates whether subtypes of the ReferenceType should be included in the browse. More...
NodeClassMask UInt32 Scalar Specifies the NodeClasses of the TargetNodes. More...
ResultMask UInt32 Scalar Specifies the fields in the ReferenceDescription structure that should be returned. More...

NodeId

NodeId of the Node to be browsed.

If a view is provided, it shall include this Node.

BrowseDirection

An enumeration that specifies the direction of References to follow.

The returned references do indicate the direction the Server followed in the isForward parameter of the ReferenceDescription.

Symmetric references are always considered to be in forward direction, therefore the isForward flag is always set to TRUE and symmetric references are not returned if browseDirection is set to INVERSE_1.

ReferenceTypeId

Specifies the NodeId of the ReferenceType to follow.

Only instances of this ReferenceType or its subtypes are returned.

If not specified, all References are returned and includeSubtypes is ignored.

IncludeSubtypes

Indicates whether subtypes of the ReferenceType should be included in the browse.

If TRUE, then instances of referenceTypeId and all of its subtypes are returned.

NodeClassMask

Specifies the NodeClasses of the TargetNodes.

Only TargetNodes with the selected NodeClasses are returned. The NodeClasses are assigned the following bits:

Bit Node Class
0 Object
1 Variable
2 Method
3 ObjectType
4 VariableType
5 ReferenceType
6 DataType
7 View

If set to zero, then all NodeClasses are returned.

ResultMask

Specifies the fields in the ReferenceDescription structure that should be returned.

The fields are assigned the following bits:

Bit Result
0 ReferenceType
1 IsForward
2 NodeClass
3 BrowseName
4 DisplayName
5 TypeDefinition

ReferenceDescription

Reference parameters returned for the Browse Service.

Field DataType ValueRank Description
ReferenceTypeId NodeId Scalar NodeId of the ReferenceType that defines the Reference.
IsForward Boolean Scalar If the value is TRUE, the Server followed a forward Reference. If the value is FALSE, the Server followed an inverse Reference.
NodeId ExpandedNodeId Scalar NodeId of the TargetNode as assigned by the Server identified by the Server index. More...
BrowseName QualifiedName Scalar The BrowseName of the TargetNode.
DisplayName LocalizedText Scalar The DisplayName of the TargetNode.
NodeClass NodeClass Scalar NodeClass of the TargetNode.
TypeDefinition ExpandedNodeId Scalar Type definition NodeId of the TargetNode. More...

NodeId

NodeId of the TargetNode as assigned by the Server identified by the Server index.

If the serverIndex indicates that the TargetNode is a remote Node, then the nodeId shall contain the absolute namespace URI. If the TargetNode is a local Node the nodeId shall contain the namespace index.

TypeDefinition

Type definition NodeId of the TargetNode.

Type definitions are only available for the NodeClasses object and Variable. For all other NodeClasses a null NodeId shall be returned.

BrowseResult

The results of a Browse operation.

Field DataType ValueRank Description
StatusCode StatusCode Scalar The status for the BrowseDescription. More...
ContinuationPoint ByteString Scalar A Server defined opaque value that identifies the continuation point.
References ReferenceDescription Array The set of references that meet the criteria specified in the BrowseDescription. More...

StatusCode

The status for the BrowseDescription.

This value is set to Good if there are still references to return for the BrowseDescription.

References

The set of references that meet the criteria specified in the BrowseDescription.

Empty if no references met the criteria.

RelativePathElement

A sequence of References and BrowseNames to follow.

Each element in the sequence is processed by finding the targets and then using those targets as the starting nodes for the next element. The targets of the final element are the target of the RelativePath.

Field DataType ValueRank Description
ReferenceTypeId NodeId Scalar The type of reference to follow from the current node. More...
IsInverse Boolean Scalar Indicates whether the inverse Reference should be followed. The inverse reference is followed if this value is TRUE.
IncludeSubtypes Boolean Scalar Indicates whether subtypes of the ReferenceType should be followed. Subtypes are included if this value is TRUE.
TargetName QualifiedName Scalar The BrowseName of the target node. More...

ReferenceTypeId

The type of reference to follow from the current node.

The current path cannot be followed any further if the referenceTypeId is not available on the Node instance.

If not specified, then all References are included and the parameter includeSubtypes is ignored.

TargetName

The BrowseName of the target node.

The final element may have an empty targetName. In this situation all targets of the references identified by the referenceTypeId are the targets of the RelativePath.

The targetName shall be specified for all other elements.

The current path cannot be followed any further if no targets with the specified BrowseName exist.

RelativePath

Defines a sequence of References and BrowseNames to follow.

Field DataType ValueRank Description
Elements RelativePathElement Array A sequence of References and BrowseNames to follow.

BrowsePath

A structure that is defined as the type of the browsePaths parameter of the TranslateBrowsePathsToNodeIds service.

Field DataType ValueRank Description
StartingNode NodeId Scalar NodeId of the starting Node for the browse path.
RelativePath RelativePath Scalar The path to follow from the startingNode. More...

RelativePath

The path to follow from the startingNode.

The last element in the relativePath shall always have a targetName specified. This further restricts the definition of the RelativePath type. The Server shall return Bad_BrowseNameInvalid if the targetName is missing.

BrowsePathTarget

A structure that is defined as the type of the targets parameter of the results parameter of the TranslateBrowsePathsToNodeIds service.

A Server may encounter a reference to a node in another Server which it cannot follow while it is processing the RelativePath. If this happens, the Server returns the NodeId of the external node and sets the remainingPathIndex parameter to indicate which RelativePath elements still need to be processed. To complete the operation the Client shall connect to the other Server and call this service again using the target as the startingNode and the unprocessed elements as the relativePath.

Field DataType ValueRank Description
TargetId ExpandedNodeId Scalar The identifier for a target of the RelativePath.
RemainingPathIndex UInt32 Scalar The index of the first unprocessed element in the RelativePath. More...

RemainingPathIndex

The index of the first unprocessed element in the RelativePath.

This value shall be equal to the maximum value of Index data type if all elements were processed.

BrowsePathResult

A structure that is defined as the type of the results parameter of the TranslateBrowsePathsToNodeIds service.

Field DataType ValueRank Description
StatusCode StatusCode Scalar StatusCode for the browse path.
Targets BrowsePathTarget Array List of targets for the relativePath from the startingNode.

QueryDataDescription

A structure that is defined as the type of the dataToReturn parameter of the nodeTypes parameter of the Query service.

Field DataType ValueRank Description
RelativePath RelativePath Scalar Browse path relative to the originating node that identifies the node which contains the data that is being requested, where the originating node is an instance node of the type defined by the type definition node. More...
AttributeId UInt32 Scalar The ID of the attribute. More...
IndexRange String Scalar Used to identify a single element of a structure or an array, or a single range of indexes for arrays. More...

RelativePath

Browse path relative to the originating node that identifies the node which contains the data that is being requested, where the originating node is an instance node of the type defined by the type definition node.

The instance nodes are further limited by the filter provided as part of this call.

This relative path could end on a reference, in which case the ReferenceDescription of the reference would be returned as its value.

The targetName field of the relativePath may contain a type NodeId. This is done by setting the namespaceIndex of the targetName to zero and the name part of the targetName to the XML representation of the NodeId.

When matching instances are returned as the target node, the target node shall be an instance of the specified type or subtype of the specified type.

AttributeId

The ID of the attribute.

This shall be a valid attribute ID. If the RelativePath ended in a reference, this parameter is 0 and ignored by the server.

IndexRange

Used to identify a single element of a structure or an array, or a single range of indexes for arrays.

If a range of elements is specified, the values are returned as a composite. The first element is identified by index 0 (zero). This parameter is null if the specified attribute is not an array or a structure. However, if the specified attribute is an array or a structure and this parameter is null, all elements are to be included in the range.

NodeTypeDescription

A structure that is defined as the type of the nodeTypes parameter of the Query service.

Field DataType ValueRank Description
TypeDefinitionNode ExpandedNodeId Scalar NodeId of the originating TypeDefinitionNode of the instances for which data is to be returned.
IncludeSubTypes Boolean Scalar A flag that indicates whether the Server should include instances of subtypes of the TypeDefinitionNode in the list of instances of the node type.
DataToReturn QueryDataDescription Array Specifies an attribute or reference from the originating typeDefinitionNode along a given relativePath for which to return data.

FilterOperator

Defines the basic operators that can be used in a ContentFilter.

Enum String Enum Value Description
Equals 0 TRUE if operand[0] is equal to operand[1]. More...
IsNull 1 TRUE if operand[0] is a null value.
GreaterThan 2 TRUE if operand[0] is greater than operand[1]. More...
LessThan 3 TRUE if operand[0] is less than operand[1]. More...
GreaterThanOrEqual 4 TRUE if operand[0] is greater than or equal to operand[1]. More...
LessThanOrEqual 5 TRUE if operand[0] is less than or equal to operand[1]. More...
Like 6 TRUE if operand[0] matches a pattern defined by operand[1]. More...
Not 7 TRUE if operand[0] is FALSE. More...
Between 8 TRUE if operand[0] is greater or equal to operand[1] and less than or equal to operand[2]. More...
InList 9 TRUE if operand[0] is equal to one or more of the remaining operands. More...
And 10 TRUE if operand[0] and operand[1] are TRUE. More...
Or 11 TRUE if operand[0] or operand[1] are TRUE. More...
Cast 12 Converts operand[0] to a value with a data type with a NodeId identified by operand[1]. More...
InView 13 TRUE if the target Node is contained in the View defined by operand[0]. More...
OfType 14 TRUE if the target Node is of type operand[0] or of a subtype of operand[0]. More...
RelatedTo 15 TRUE if the target Node is of type Operand[0] and is related to a NodeId of the type defined in Operand[1] by the Reference type defined in Operand[2]. More...
BitwiseAnd 16 The result is an integer which matches the size of the largest operand and contains a bitwise And operation of the two operands where both have been converted to the same size (largest of the two operands). More...
BitwiseOr 17 The result is an integer which matches the size of the largest operand and contains a bitwise Or operation of the two operands where both have been converted to the same size (largest of the two operands). More...

Equals

TRUE if operand[0] is equal to operand[1].

If the operands are of different types, the system shall perform any implicit conversion to a common type. This operator resolves to FALSE if no implicit conversion is available and the operands are of different types. This operator returns FALSE if the implicit conversion fails.

GreaterThan

TRUE if operand[0] is greater than operand[1].

The following restrictions apply to the operands:

[0]
Any operand that resolves to an ordered value.
[1]
Any operand that resolves to an ordered value.

The same conversion rules as defined for Equals apply.

LessThan

TRUE if operand[0] is less than operand[1].

The same conversion rules and restrictions as defined for GreaterThan apply.

GreaterThanOrEqual

TRUE if operand[0] is greater than or equal to operand[1].

The same conversion rules and restrictions as defined for GreaterThan apply.

LessThanOrEqual

TRUE if operand[0] is less than or equal to operand[1].

The same conversion rules and restrictions as defined for GreaterThan apply.

Like

TRUE if operand[0] matches a pattern defined by operand[1].

The following restrictions apply to the operands:

[0]
Any operand that resolves to a String.
[1]
Any operand that resolves to a String.

This operator resolves to FALSE if no operand can be resolved to a string.

Not

TRUE if operand[0] is FALSE.

The following restrictions apply to the operands:

[0]
Any operand that resolves to a Boolean.

If the operand cannot be resolved to a Boolean, the result is a NULL.

Between

TRUE if operand[0] is greater or equal to operand[1] and less than or equal to operand[2].

The following restrictions apply to the operands:

[0]
Any operand that resolves to an ordered value.
[1]
Any operand that resolves to an ordered value.
[0]
Any operand that resolves to an ordered value.

If the operands are of different types, the system shall perform any implicit conversion to match all operands to a common type. If no implicit conversion is available and the operands are of different types, the particular result is FALSE.

InList

TRUE if operand[0] is equal to one or more of the remaining operands.

The Equals Operator is evaluated for operand[0] and each remaining operand in the list. If any Equals evaluation is TRUE, InList returns TRUE.

And

TRUE if operand[0] and operand[1] are TRUE.

The following restrictions apply to the operands:

[0]
Any operand that resolves to a Boolean.
[0]
Any operand that resolves to a Boolean.

If any operand cannot be resolved to a Boolean it is considered a NULL.

Or

TRUE if operand[0] or operand[1] are TRUE.

The following restrictions apply to the operands:

[0]
Any operand that resolves to a Boolean.
[0]
Any operand that resolves to a Boolean.

If any operand cannot be resolved to a Boolean it is considered a NULL.

Cast

Converts operand[0] to a value with a data type with a NodeId identified by operand[1].

The following restrictions apply to the operands:

[0]
Any operand.
[1]
Any operand that resolves to a NodeId or ExpandedNodeId where the Node is of the NodeClass DataType.

If there is any error in conversion or in any of the parameters then the Cast Operation evaluates to a NULL.

InView

TRUE if the target Node is contained in the View defined by operand[0].

The following restrictions apply to the operands:

[0]
Any operand that resolves to a NodeId that identifies a View Node.

If operand[0] does not resolve to a NodeId that identifies a View Node, this operation shall always be False.

OfType

TRUE if the target Node is of type operand[0] or of a subtype of operand[0].

The following restrictions apply to the operands:

[0]
Any operand that resolves to a NodeId that identifies an ObjectType or VariableType Node.

If operand[0] does not resolve to a NodeId that identifies an ObjectType or VariableType Node, this operation shall always be False.

RelatedTo

TRUE if the target Node is of type Operand[0] and is related to a NodeId of the type defined in Operand[1] by the Reference type defined in Operand[2].

Operand[0] or Operand[1] can also point to an element Reference where the referred to element is another RelatedTo operator. This allows chaining of relationships (e.g. A is related to B is related to C), where the relationship is defined by the ReferenceType defined in Operand[2]. In this case, the referred to element returns a list of NodeIds instead of TRUE or FALSE. In this case if any errors occur or any of the operands cannot be resolved to an appropriate value, the result of the chained relationship is an empty list of nodes.

Operand[3] defines the number of hops for which the relationship should be followed. If Operand[3] is 1, then objects shall be directly related. If a hop is greater than 1, then a NodeId of the type described in Operand[1] is checked for at the depth specified by the hop. In this case, the type of the intermediate Node is undefined, and only the Reference type used to reach the end Node is defined. If the requested number of hops cannot be followed, then the result is FALSE, i.e., an empty Node list. If Operand[3] is 0, the relationship is followed to its logical end in a forward direction and each Node is checked to be of the type specified in Operand[1]. If any Node satisfies this criterion, then the result is TRUE, i.e., the NodeId is included in the sublist.

Operand [4] defines if Operands [0] and [1] should include support for subtypes of the types defined by these operands. A TRUE indicates support for subtypes Operand [5] defines if Operand [2] should include support for subtypes of the reference type. A TRUE indicates support for subtypes.

The following restrictions apply to the operands:

[0]
Any operand that resolves to a NodeId or ExpandedNodeId that identifies an ObjectType or VariableType Node or a reference to another element which is a RelatedTo operator.
[1]
Any operand that resolves to a NodeId or ExpandedNodeId that identifies an ObjectType or VariableType Node or a reference to another element which is a RelatedTo operator.
[2]
Any operand that resolves to a NodeId that identifies a ReferenceType Node.
[3]
Any operand that resolves to a value implicitly convertible to Uint32.
[4]
Any operand that resolves to a value implicitly convertible to a boolean; if this operand does not resolve to a Boolean, then a value of FALSE is used.
[5]
>Any operand that resolves to a value implicitly convertible to a boolean; if this operand does not resolve to a Boolean, then a value of FALSE is used.

If none of the operands [0],[1],[2],[3] resolves to an appropriate value then the result of this operation shall always be False (or an Empty set in the case of a nested RelatedTo operand).

BitwiseAnd

The result is an integer which matches the size of the largest operand and contains a bitwise And operation of the two operands where both have been converted to the same size (largest of the two operands).

The following restrictions apply to the operands:

[0]
Any operand that resolves to an integer.
[0]
Any operand that resolves to an integer.

If any operand cannot be resolved to an integer, it is considered a NULL.

BitwiseOr

The result is an integer which matches the size of the largest operand and contains a bitwise Or operation of the two operands where both have been converted to the same size (largest of the two operands).

The following restrictions apply to the operands:

[0]
Any operand that resolves to an integer.
[0]
Any operand that resolves to an integer.

If any operand cannot be resolved to an integer, it is considered a NULL.

ContentFilterElement

A structure that is defined as the type of the elements parameter of the ContentFilter structure.

Field DataType ValueRank Description
FilterOperator FilterOperator Scalar Filter operator to be evaluated.
FilterOperands ExtensionObject Array Operands used by the selected operator. More...

FilterOperands

Operands used by the selected operator.

The number and use depend on the operators (see FilterOperator). This array needs at least one entry.

ContentFilter

Defines a collection of elements that define filtering criteria.

Each element in the collection describes an operator and an array of operands to be used by the operator. See FilterOperator for a description of the operators that can be used in a ContentFilter. The filter is evaluated by evaluating the first entry in the element array starting with the first operand in the operand array. The operands of an element may contain References to subelements resulting in the evaluation continuing to the referenced elements in the element array. If an element cannot be traced back to the starting element it is ignored. Extra operands for any operator shall result in an error.

Field DataType ValueRank Description
Elements ContentFilterElement Array List of operators and their operands that compose the filter criteria. More...

Elements

List of operators and their operands that compose the filter criteria.

The filter is evaluated by starting with the first entry in this array.

ElementOperand

Provides the linking to subelements within a ContentFilter.

The link is in the form of an integer that is used to index into the array of elements contained in the ContentFilter. An index is considered valid if its value is greater than the element index it is part of and it does not reference a non-existent element. Clients shall construct filters in this way to avoid circular and invalid references. Servers should protect against invalid indexes by verifying the index prior to using it.

Field DataType ValueRank Description
Index UInt32 Scalar Index into the element array.

LiteralOperand

Field DataType ValueRank Description
Value Variant Scalar A literal value.

AttributeOperand

Attribute of a node in the address space.

Field DataType ValueRank Description
NodeId NodeId Scalar NodeId of a Node from the type system.
Alias String Scalar An optional parameter used to identify or refer to an alias. More...
BrowsePath RelativePath Scalar Browse path relative to the node identified by the nodeId parameter.
AttributeId UInt32 Scalar ID of the attribute. More...
IndexRange String Scalar This parameter is used to identify a single element of an array or a single range of indexes for an array. More...

Alias

An optional parameter used to identify or refer to an alias.

An alias is a symbolic name that can be used to alias this operand and use it in other locations in the filter structure.

AttributeId

ID of the attribute.

This shall be a valid.

IndexRange

This parameter is used to identify a single element of an array or a single range of indexes for an array.

The first element is identified by index 0 (zero). This parameter is not used if the specified attribute is not an array. However, if the specified attribute is an array and this parameter is not used, then all elements are to be included in the range. The parameter is null if not used.

SimpleAttributeOperand

A simplified form of the AttributeOperand.

All of the rules that apply to the AttributeOperand also apply to the SimpleAttributeOperand.

Field DataType ValueRank Description
TypeDefinitionId NodeId Scalar NodeId of a TypeDefinitionNode. More...
BrowsePath QualifiedName Array A relative path to a Node. More...
AttributeId UInt32 Scalar ID of the Attribute. More...
IndexRange String Scalar This parameter is used to identify a single element of an array, or a single range of indexes for an array. More...

TypeDefinitionId

NodeId of a TypeDefinitionNode.

This parameter restricts the operand to instances of the TypeDefinitionNode or one of its subtypes.

BrowsePath

A relative path to a Node.

This parameter specifies a relative path using a list of browse names instead of the RelativePath structure used in the AttributeOperand. The list of browse names is equivalent to a relative path that specifies forward references which are subtypes of the HierarchicalReferences reference type.

All nodes followed by the browsePath shall be of the NodeClass object or variable.

If this list is empty, the node is the instance of the TypeDefinition.

AttributeId

ID of the Attribute.

The Value attribute shall be supported by all Servers. The support of other attributes depends on requirements set in Profiles or other parts of this specification.

IndexRange

This parameter is used to identify a single element of an array, or a single range of indexes for an array.

The first element is identified by index 0 (zero).

This parameter is ignored if the selected node is not a variable or the value of a variable is not an array.

The parameter is null if not specified.

All values in the array are used if this parameter is not specified.

ContentFilterElementResult

A structure that is defined as the type of the elementResults parameter of the ContentFilterResult structure.

The size and order of the list matches the size and order of the elements in the ContentFilter parameter.

Field DataType ValueRank Description
StatusCode StatusCode Scalar The status code for a single element.
OperandStatusCodes StatusCode Array A list of status codes for the operands in an element. More...
OperandDiagnosticInfos DiagnosticInfo Array A list of diagnostic information for the operands in an element. More...

OperandStatusCodes

A list of status codes for the operands in an element.

The size and order of the list matches the size and order of the operands in the ContentFilterElement. This list is empty if no operand errors occurred.

OperandDiagnosticInfos

A list of diagnostic information for the operands in an element.

The size and order of the list matches the size and order of the operands in the ContentFilterElement. This list is empty if diagnostics information was not requested in the request header or if no diagnostic information was encountered in processing of the operands. A list of diagnostic information for individual

ContentFilterResult

A structure that contains any errors associated with the filter.

Field DataType ValueRank Description
ElementResults ContentFilterElementResult Array A list of results for individual elements in the filter. More...
ElementDiagnosticInfos DiagnosticInfo Array A list of diagnostic information for individual elements in the filter. More...

ElementResults

A list of results for individual elements in the filter.

See ContentFilterElementResult.

ElementDiagnosticInfos

A list of diagnostic information for individual elements in the filter.

The size and order of the list matches the size and order of the elements in the filter request parameter. This list is empty if diagnostics information was not requested in the request header or if no diagnostic information was encountered in processing of the elements.

ParsingResult

A structure that is defined as the type of the parsingResults parameter of the Query service.

Field DataType ValueRank Description
StatusCode StatusCode Scalar Parsing result for the requested NodeTypeDescription.
DataStatusCodes StatusCode Array List of results for dataToReturn. More...
DataDiagnosticInfos DiagnosticInfo Array List of diagnostic information dataToReturn. More...

DataStatusCodes

List of results for dataToReturn.

The size and order of the list matches the size and order of the dataToReturn request parameter. The array can be empty if no errors were encountered.

DataDiagnosticInfos

List of diagnostic information dataToReturn.

The size and order of the list matches the size and order of the dataToReturn request parameter. This list is empty if diagnostics information was not requested in the request header or if no diagnostic information was encountered in processing of the query request.

TimestampsToReturn

An enumeration that specifies the Timestamp Attributes to be transmitted for MonitoredItems or Nodes in Read and HistoryRead.

OPC UA defines two timestamps, the source and the server timestamp. This parameter allows the client to define which timestamps the server should return with the value.

The source timestamp is only available for Value Attributes. The source timestamp is used to reflect the timestamp that was applied to a Variable value by the data source. It should indicate the last change of the value or status code. The source timestamp must be always generated by the same physical clock. This timestamp type was added for OPC UA to cover the use case to get the timestamp of the last value change which is different than the server timestamp definition.

The server timestamp is used to reflect the time that the server received a Variable value or knew it to be accurate if the changes are reported by exception and the connection to the data source is operating. This is the behavior expected by Classic OPC.

Enum String Enum Value Description
Source 0 Return the source timestamp.
Server 1 Return the Server timestamp.
Both 2 Return both the source and Server timestamps.
Neither 3 Return neither timestamp. More...

Neither

Return neither timestamp.

This is the default value for MonitoredItems if a Variable value is not being accessed.

For HistoryRead this is not a valid setting.

ReadValueId

Identifier for an item to read or to monitor.

Field DataType ValueRank Description
NodeId NodeId Scalar NodeId of a Node.
AttributeId UInt32 Scalar Id of the Attribute. This shall be a valid Attribute id. More...
IndexRange String Scalar This parameter is used to identify a single element of an array, or a single range of indexes for arrays. More...
DataEncoding QualifiedName Scalar This parameter specifies the BrowseName of the DataTypeEncoding that the Server should use when returning the Value Attribute of a Variable. It is an error to specify this parameter for other Attributes. More...

AttributeId

Id of the Attribute. This shall be a valid Attribute id.

The IntegerIds for the Attributes are defined in NodeAttributesMask.

IndexRange

This parameter is used to identify a single element of an array, or a single range of indexes for arrays.

If a range of elements is specified, the values are returned as a composite. The first element is identified by index 0 (zero).

This parameter is null if the specified Attribute is not an array. However, if the specified Attribute is an array, and this parameter is null, then all elements are to be included in the range.

DataEncoding

This parameter specifies the BrowseName of the DataTypeEncoding that the Server should use when returning the Value Attribute of a Variable. It is an error to specify this parameter for other Attributes.

A Client can discover what DataTypeEncodings are available by following the HasEncoding Reference from the DataType Node for a Variable.

OPC UA defines BrowseNames which Servers shall recognize even if the DataType Nodes are not visible in the Server address space. These BrowseNames are:

DefaultBinary
The default or native binary (or non-XML) encoding.
DefaultXML
The default XML encoding.

Each DataType shall support at least one of these encodings. DataTypes that do not have a true binary encoding (e.g. they only have a non-XML text encoding) should use the DefaultBinary name to identify the encoding that is considered to be the default non-XML encoding. DataTypes that support at least one XML-based encoding shall identify one of the encodings as the DefaultXML encoding. Other standards bodies may define other well-known data encodings that could be supported.

If this parameter is not specified then the Server shall choose either the DefaultBinary or DefaultXML encoding according to what Message encoding (see Part 6 of the OPC UA Specification) is used for the Session. If the Server does not support the encoding that matches the Message encoding then the Server shall choose the default encoding that it does support.

If this parameter is specified for a MonitoredItem, the Server shall set the StructureChanged bit in the StatusCode if the DataTypeEncoding changes. The DataTypeEncoding changes if the DataTypeVersion of the DataTypeDescription or the DataTypeDictionary associated with the DataTypeEncoding changes.

HistoryReadValueId

A structure that is defined as the type of the nodesToRead parameter of the HistoryRead Service.

Field DataType ValueRank Description
NodeId NodeId Scalar The nodeId to be read depends on HistoryReadDetails. More...
IndexRange String Scalar This parameter is used to identify a single element of an array, or a single range of indexes for arrays. More...
DataEncoding QualifiedName Scalar A QualifiedName that specifies the data encoding to be returned for the Value to be read. More...
ContinuationPoint ByteString Scalar For each NodeToRead this parameter specifies a continuation point returned from a previous HistoryRead call, allowing the Client to continue that read from the last value received. More...

NodeId

The nodeId to be read depends on HistoryReadDetails.

If HistoryReadDetails is

RAW, PROCESSED, MODIFIED or ATTIME
The nodeId of the Nodes whose historical values are to be read. The value returned shall always include a timestamp.
EVENTS
The NodeId of the Node whose Event history is to be read.

If the Node does not support the requested access for historical values or historical events, the appropriate error response for the given node shall be generated.

IndexRange

This parameter is used to identify a single element of an array, or a single range of indexes for arrays.

If a range of elements is specified, the values are returned as a composite. The first element is identified by index 0 (zero).

This parameter is null if the value is not an array. However, if the value is an array, and this parameter is null, then all elements are to be included in the range.

DataEncoding

A QualifiedName that specifies the data encoding to be returned for the Value to be read.

See ReadValueId for a definition on how to specify the data encoding.

The parameter is ignored when reading history of Events.

ContinuationPoint

For each NodeToRead this parameter specifies a continuation point returned from a previous HistoryRead call, allowing the Client to continue that read from the last value received.

The HistoryRead is used to select an ordered sequence of historical values or events. A continuation point marks a point in that ordered sequence, such that the Server returns the subset of the sequence that follows that point.

A null value indicates that this parameter is not used.

This continuation point is described in more detail in Part 11 of the OPC UA Specification.

HistoryReadResult

A structure that is defined as the type of the results parameter of the HistoryRead Service.

Field DataType ValueRank Description
StatusCode StatusCode Scalar StatusCode for the nodesToRead item.
ContinuationPoint ByteString Scalar This parameter is used only if the number of values to be returned is too large to be returned in a single response or if the timeout provided as hint by the Client is close to expiring and not all nodes have been processed. More...
HistoryData ExtensionObject Scalar The history data returned for the node. More...

ContinuationPoint

This parameter is used only if the number of values to be returned is too large to be returned in a single response or if the timeout provided as hint by the Client is close to expiring and not all nodes have been processed.

If this parameter is not used, its value is null.

Servers shall support at least one continuation point per Session. Servers specify a maximum number of history continuation points per Session in the Server capabilities object defined in Part 5 of the OPC UA specification. A continuation point shall remain active until the Client passes the continuation point to HistoryRead or the Session is closed. If the maximum number of continuation points have been reached, the oldest continuation point shall be reset.

HistoryData

The history data returned for the node.

The HistoryData parameter type is an extensible parameter type formally defined in Part 11 of the OPC UA Specification. It specifies the types of history data that can be returned.

WriteValue

A structure that is defined as the type of the nodesToWrite parameter of the Write service.

Field DataType ValueRank Description
NodeId NodeId Scalar NodeId of the node that contains the attributes.
AttributeId UInt32 Scalar Id of the attribute. More...
IndexRange String Scalar This parameter is used to identify a single element of an array, or a single range of indexes for arrays. More...
Value DataValue Scalar The node’s attribute value. More...

AttributeId

Id of the attribute.

This shall be a valid attribute id.

The IntegerIds for the Attributes are defined in NodeAttributesMask.

IndexRange

This parameter is used to identify a single element of an array, or a single range of indexes for arrays.

The first element is identified by index 0 (zero).

This parameter is not used if the specified attribute is not an array. However, if the specified attribute is an array and this parameter is not used, then all elements are to be included in the range. The parameter is null if not used.

Value

The node’s attribute value.

If the indexRange parameter is specified, the Value shall be an array even if only one element is being written.

If the SourceTimestamp or the ServerTimestamp is specified, the Server shall use these values. The Server returns a Bad_WriteNotSupported error if it does not support writing of timestamps.

A Server shall return a Bad_TypeMismatch error if the data type of the written value is not the same type or subtype as the attribute’s DataType. Based on the DataType hierarchy, subtypes of the attribute DataType shall be accepted by the Server. For the value attribute the DataType is defined through the DataType attribute. A ByteString is structurally the same as a one dimensional array of Byte. A Server shall accept a ByteString if an array of Byte is expected.

The Server returns a Bad_DataEncodingUnsupported error if it does not support writing of the passed data encoding.

HistoryUpdateResult

A structure that is defined as the type of the results parameter of the HistoryUpdate Service.

The size and order of the list matches the size and order of the details element of the historyUpdateDetails parameter specified in the request.

Field DataType ValueRank Description
StatusCode StatusCode Scalar StatusCode for the update of the node.
OperationResults StatusCode Array List of StatusCodes for the operations to be performed on a node. More...
DiagnosticInfos DiagnosticInfo Array List of diagnostic information for the operations to be performed on a node. More...

OperationResults

List of StatusCodes for the operations to be performed on a node.

The size and order of the list matches the size and order of any list defined by the details element being reported by this updateResults entry.

DiagnosticInfos

List of diagnostic information for the operations to be performed on a node.

The size and order of the list matches the size and order of any list defined by the details element being reported by this updateResults entry. This list is empty if diagnostics information was not requested in the request header or if no diagnostic information was encountered in processing of the request.

CallMethodRequest

A structure that is defined as the type of the methodsToCall parameter of the Call service.

Field DataType ValueRank Description
ObjectId NodeId Scalar The NodeId shall be that of the object or ObjectType that is the source of a HasComponent Reference (or subtype of HasComponent Reference) to the method specified in methodId. More...
MethodId NodeId Scalar NodeId of the method to invoke. More...
InputArguments Variant Array List of input argument values. More...

ObjectId

The NodeId shall be that of the object or ObjectType that is the source of a HasComponent Reference (or subtype of HasComponent Reference) to the method specified in methodId.

See Part 3 of the OPC UA Specification for a description of objects and their methods.

MethodId

NodeId of the method to invoke.

If the objectId is the NodeId of an object, it is allowed to use the NodeId of a method that is the target of a HasComponent Reference from the ObjectType of the object.

InputArguments

List of input argument values.

An empty list indicates that there are no input arguments. The size and order of this list matches the size and order of the input arguments defined by the input InputArguments Property of the method.

The name, a description and the data type of each argument are defined by the Argument structure in each element of the method’s InputArguments Property.

CallMethodResult

A structure that is defined as the type of the results parameter of the Call service.

Field DataType ValueRank Description
StatusCode StatusCode Scalar StatusCode of the method executed in the server. More...
InputArgumentResults StatusCode Array List of StatusCodes for each inputArgument.
InputArgumentDiagnosticInfos DiagnosticInfo Array List of diagnostic information for each inputArgument. More...
OutputArguments Variant Array List of output argument values. More...

StatusCode

StatusCode of the method executed in the server.

This StatusCode is set to the Bad_InvalidArgument StatusCode if at least one input argument broke a constraint (e.g. wrong data type, value out of range).

This StatusCode is set to a bad StatusCode if the method execution failed in the server, e.g. based on an exception or an HRESULT.

InputArgumentDiagnosticInfos

List of diagnostic information for each inputArgument.

This list is empty if diagnostics information was not requested in the request header or if no diagnostic information was encountered in processing of the request.

OutputArguments

List of output argument values.

An empty list indicates that there are no output arguments. The size and order of this list matches the size and order of the output arguments defined by the OutputArguments Property of the method.

The name, a description and the data type of each argument are defined by the Argument structure in each element of the methods OutputArguments Property.

MonitoringMode

An enumeration that specifies whether sampling and reporting are enabled or disabled for a MonitoredItem.

The value of the publishing enabled parameter for a Subscription does not affect the value of the monitoring mode for a MonitoredItem of the Subscription.

Enum String Enum Value Description
Disabled 0 The item being monitored is not sampled or evaluated, and Notifications are not generated or queued. Notification reporting is disabled.
Sampling 1 The item being monitored is sampled and evaluated, and Notifications are generated and queued. Notification reporting is disabled.
Reporting 2 The item being monitored is sampled and evaluated, and Notifications are generated and queued. Notification reporting is enabled.

DeadbandType

A value that defines the Deadband type and behaviour.

Enum String Enum Value Description
None 0 No Deadband calculation should be applied.
Absolute 1 An AbsoluteDeadband is used. More...
Percent 2 A PercentDeadband is used. More...

Absolute

An AbsoluteDeadband is used.

For this type the deadbandValue contains the absolute change in a data value that shall cause a Notification to be generated. This parameter applies only to Variables with any Number data type.

An exception that causes a DataChange Notification based on an AbsoluteDeadband is determined as follows:

Generate a Notification if (absolute value of (last cached value - current value) > AbsoluteDeadband)

The last cached value is defined as the last value pushed to the queue.

If the item is an array of values, the entire array is returned if any array element exceeds the AbsoluteDeadband, or the size or dimension of the array changes.

Percent

A PercentDeadband is used.

For this type of deadband the deadbandValue is defined as the percent age of the EURange. That is, it applies only to AnalogItems with an EURange Property that defines the typical value range for the item. This range shall be multiplied with the deadbandValue and then compared to the actual value change to determine the need for a data change notification. The following pseudo code shows how the deadband is calculated:

DataChange if (absolute value of (last cached value - current value) > (deadbandValue/100.0) * ((high–low) of EURange)))

The range of the deadbandValue is from 0.0 to 100.0 Percent. Specifying a deadbandValue outside of this range will be rejected and reported with the StatusCode Bad_DeadbandFilterInvalid.

If the Value of the MonitoredItem is an array, then the deadband calculation logic shall be applied to each element of the array. If an element that requires a DataChange is found, then no further deadband checking is necessary and the entire array shall be returned.

EventFilter

Provides for the filtering and content selection of Event Subscriptions.

Field DataType ValueRank Description
SelectClauses SimpleAttributeOperand Array List of the values to return with each event in a notification. More...
WhereClause ContentFilter Scalar Limit the Notifications to those events that match the criteria defined by this ContentFilter. More...

SelectClauses

List of the values to return with each event in a notification.

At least one valid clause shall be specified.

WhereClause

Limit the Notifications to those events that match the criteria defined by this ContentFilter.

The AttributeOperand structure may not be used in an EventFilter.

AggregateConfiguration

A structure that is defined as the type of the aggregateConfiguration parameter of the AggregateFilter structure.

Field DataType ValueRank Description
UseServerCapabilitiesDefaults Boolean Scalar A Boolean parameter indicating whether to use default aggregate configuration settings. More...
TreatUncertainAsBad Boolean Scalar Indicates how the server treats data returned with a StatusCode severity Uncertain with respect to Aggregate calculations. More...
PercentDataBad Byte Scalar Indicates the minimum percentage of bad data in a given interval required for the StatusCode for the given interval for processed data request to be set to Bad. More...
PercentDataGood Byte Scalar Indicates the minimum percentage of Good data in a given interval required for the StatusCode for the given interval for the processed data requests to be set to Good. More...
UseSlopedExtrapolation Boolean Scalar Indicates how the server interpolates data when no boundary value exists (i.e. extrapolating into the future from the last known value). More...

UseServerCapabilitiesDefaults

A Boolean parameter indicating whether to use default aggregate configuration settings.

TRUE
use aggregate configuration settings as outlined by the AggregateConfiguration object.
FALSE
use configuration settings as outlined in the following aggregate configuration parameters.

TreatUncertainAsBad

Indicates how the server treats data returned with a StatusCode severity Uncertain with respect to Aggregate calculations.

It has the following values:

True
the server considers the severity equivalent to Bad,
False
indicates the server considers the severity equivalent to Good, unless the aggregate definition says otherwise.

A value of True indicates the server

The default value is True. Note that the value is still treated as Uncertain when the StatusCode for the result is calculated.

PercentDataBad

Indicates the minimum percentage of bad data in a given interval required for the StatusCode for the given interval for processed data request to be set to Bad.

Uncertain is treated as defined in TreatUncertainAsBad. For details on which Aggregates use the PercentDataBad Variable, see the definition of each Aggregate. The default value is 100.

The PercentDataGood and PercentDataBad must follow the following relationship
PercentDataGood >= (100 – PercentDataBad).
If they are equal, the result of the PercentDataGood calculation is used.

PercentDataGood

Indicates the minimum percentage of Good data in a given interval required for the StatusCode for the given interval for the processed data requests to be set to Good.

For details on which Aggregates use the PercentDataGood Variable, see the definition of each Aggregate. The default value is 100.

The PercentDataGood and PercentDataBad must follow the following relationship
PercentDataGood >= (100 – PercentDataBad).
If they are equal, the result of the PercentDataGood calculation is used.

UseSlopedExtrapolation

Indicates how the server interpolates data when no boundary value exists (i.e. extrapolating into the future from the last known value).

False
the server will use a SteppedExtrapolation format and hold the last known value constant.
True
the server will project the value using UseSlopedExtrapolation mode.

The default value is False. For SimpleBounds this value is ignored.

EventFilterResult

This is the MonitoringFilterResult associated with the EventFilter MonitoringFilter.

Field DataType ValueRank Description
SelectClauseResults StatusCode Array List of status codes for the elements in the select clause. More...
SelectClauseDiagnosticInfos DiagnosticInfo Array A list of diagnostic information for individual elements in the select clause. More...
WhereClauseResult ContentFilterResult Scalar Any results associated with the whereClause request parameter.

SelectClauseResults

List of status codes for the elements in the select clause.

The size and order of the list matches the size and order of the elements in the selectClauses request parameter. The Server returns null for unavailable or rejected Event fields.

SelectClauseDiagnosticInfos

A list of diagnostic information for individual elements in the select clause.

The size and order of the list matches the size and order of the elements in the selectClauses request parameter. This list is empty if diagnostics information was not requested in the request header or if no diagnostic information was encountered in processing of the select clauses.

MonitoringParameters

Parameters that define the monitoring characteristics of a MonitoredItem.

Field DataType ValueRank Description
ClientHandle UInt32 Scalar Client-supplied id of the MonitoredItem. More...
SamplingInterval Double Scalar The interval in milliseconds that defines the fastest rate at which the MonitoredItem(s) should be accessed and evaluated. More...
Filter ExtensionObject Scalar A filter used by the Server to determine if the MonitoredItem should generate a Notification. More...
QueueSize UInt32 Scalar The requested size of the MonitoredItem queue. More...
DiscardOldest Boolean Scalar A boolean parameter that specifies the discard policy when the queue is full and a new Notification is to be enqueued. More...

ClientHandle

Client-supplied id of the MonitoredItem.

This id is used in Notifications generated for the list Node.

SamplingInterval

The interval in milliseconds that defines the fastest rate at which the MonitoredItem(s) should be accessed and evaluated.

The value 0 indicates that the Server should use the fastest practical rate.

The value -1 indicates that the default sampling interval defined by the publishing interval of the Subscription is requested. A different sampling interval is used if the publishing interval is not a supported sampling interval. Any negative number is interpreted as -1. The sampling interval is not changed if the publishing interval is changed by a subsequent call to the ModifySubscription Service.

The Server uses this parameter to assign the MonitoredItems to a sampling interval that it supports.

The assigned interval is provided in the revisedSamplingInterval parameter. The Server shall always return a revisedSamplingInterval that is equal or higher than the requested samplingInterval. If the requested samplingInterval is higher than the maximum sampling interval supported by the Server, the maximum sampling interval is returned.

Filter

A filter used by the Server to determine if the MonitoredItem should generate a Notification.

If not used, this parameter is null. The MonitoringFilter parameter type is an extensible parameter type. It specifies the types of filters that can be used.

QueueSize

The requested size of the MonitoredItem queue.

The following values have special meaning for data monitored items:

0 or 1
the server returns the default queue size which shall be 1 as revisedQueueSize for data monitored items. The queue has a single entry, effectively disabling queuing.

For values larger than one a first-in-first-out queue is to be used. The Server may limit the size in revisedQueueSize. In the case of a queue overflow, the Overflow bit (flag) in the InfoBits portion of the DataValue statusCode is set in the new value.

The following values have special meaning for event monitored items:

0
the Server returns the default queue size for Event Notifications as revisedQueueSize for event monitored items.
1
the Server returns the minimum queue size the Server requires for Event Notifications as revisedQueueSize.
MaxUInt32
the Server returns the maximum queue size that the Server can support for Event Notifications as revisedQueueSize.

If a Client chooses a value between the minimum and maximum settings of the Server the value shall be returned in the revisedQueueSize. If the requested queueSize is outside the minimum or maximum, the Server shall return the corresponding bounding value.

In the case of a queue overflow, an Event of the type EventQueueOverflowEventType is generated.

DiscardOldest

A boolean parameter that specifies the discard policy when the queue is full and a new Notification is to be enqueued.

It has the following values:

TRUE
the oldest (first) Notification in the queue is discarded. The new Notification is added to the end of the queue.
FALSE
the new Notification is discarded. The queue is unchanged.

MonitoredItemCreateResult

A structure that is defined as the type of the results parameter of the CreateMonitoredItems service.

Field DataType ValueRank Description
StatusCode StatusCode Scalar StatusCode for the MonitoredItem to create.
MonitoredItemId UInt32 Scalar Server-assigned ID for the MonitoredItem. More...
RevisedSamplingInterval Double Scalar The actual sampling interval that the Server will use. More...
RevisedQueueSize UInt32 Scalar The actual queue size that the Server will use.
FilterResult ExtensionObject Scalar Contains any revised parameter values or error results associated with the MonitoringFilter specified in the request. More...

MonitoredItemId

Server-assigned ID for the MonitoredItem.

This ID is unique within the Subscription, but might not be unique within the Server or Session. This parameter is present only if the statusCode indicates that the MonitoredItem was successfully created.

RevisedSamplingInterval

The actual sampling interval that the Server will use.

This value is based on a number of factors, including capabilities of the underlying system. The Server shall always return a revisedSamplingInterval that is equal or higher than the requestedSamplingInterval. If the requested samplingInterval is higher than the maximum sampling interval supported by the Server, the maximum sampling interval is returned.

FilterResult

Contains any revised parameter values or error results associated with the MonitoringFilter specified in the request.

This parameter may be omitted if no errors occurred. The MonitoringFilterResult parameter type is an extensible parameter type.

MonitoredItemModifyRequest

A structure that is defined as the type of the itemsToModify parameter of the ModifyMonitoredItems service.

Field DataType ValueRank Description
MonitoredItemId UInt32 Scalar Server-assigned ID for the MonitoredItem.
RequestedParameters MonitoringParameters Scalar The requested values for the monitoring parameters. More...

RequestedParameters

The requested values for the monitoring parameters.

If the number of notifications in the queue exceeds the new queue size, the notifications exceeding the size shall be discarded following the configured discard policy.

MonitoredItemModifyResult

A structure that is defined as the type of the results parameter of the ModifyMonitoredItems service.

Field DataType ValueRank Description
StatusCode StatusCode Scalar StatusCode for the MonitoredItem to be modified.
RevisedSamplingInterval Double Scalar The actual sampling interval that the Server will use. More...
RevisedQueueSize UInt32 Scalar The actual queue size that the Server will use.
FilterResult ExtensionObject Scalar Contains any revised parameter values or error results associated with the MonitoringFilter specified in the request. More...

RevisedSamplingInterval

The actual sampling interval that the Server will use.

The Server returns the value it will actually use for the sampling interval. This value is based on a number of factors, including capabilities of the underlying system.

The Server shall always return a revisedSamplingInterval that is equal or higher than the requested samplingInterval. If the requestedSamplingInterval is higher than the maximum sampling interval supported by the Server, the maximum sampling interval is returned.

FilterResult

Contains any revised parameter values or error results associated with the MonitoringFilter specified in the request.

This parameter may be omitted if no errors occurred. The MonitoringFilterResult parameter type is an extensible parameter type.

SubscriptionAcknowledgement

A structure that is defined as the type of the subscriptionAcknowledgements parameter of the Publish service.

Field DataType ValueRank Description
SubscriptionId UInt32 Scalar The Server assigned identifier for a Subscription.
SequenceNumber UInt32 Scalar The sequence number being acknowledged. More...

SequenceNumber

The sequence number being acknowledged.

The Server may delete the message with this sequence number from its retransmission queue.

TransferResult

A structure that is defined as the type of the results parameter of the TransferSubscriptions service.

Field DataType ValueRank Description
StatusCode StatusCode Scalar StatusCode for each Subscription to be transferred.
AvailableSequenceNumbers UInt32 Array A list of sequence number ranges that identify NotificationMessages that are in the Subscription’s retransmission queue. More...

AvailableSequenceNumbers

A list of sequence number ranges that identify NotificationMessages that are in the Subscription’s retransmission queue.

This parameter is null if the transfer of the Subscription failed.