communicationOptions attribute
Specifies a number of communication options.
Content Type
string
Parent
Remarks
The following options are available:
asyncWMI
Use this option if you want WMI queries to be performed asynchronously.
In the Microsoft Platform protocol, for instance, this option can prevent hanging calls.
chunkedHTML
Obsolete. This option is not needed if connection type "HTTP" is used.
Specify this option if the device uses chunked HTTP encoding. Only applicable for connections of type "serial" or "serial single".
closeConnectionOnResponse
Obsolete. This option is not needed if connection type "HTTP" is used.
This option is useful for HTTP 1.0 communication that is implemented using a serial connection. As the HTTP 1.0 specification makes use of short-lived connections, this option makes it possible to automatically close the connection after each response, alleviating the need to implement a "close" action in the protocol.
This option is only applicable for connections of type "serial" or "serial single".
Note
Implementing HTTP communication should no longer be done using serial connections. Instead, use the dedicated HTTP connection type to implement HTTP communication.
customRedirect
Indicates that custom redirection is applied in the protocol. Only applicable for connections of type "HTTP".
By default, DataMiner will perform redirection automatically. In case this is not desired, this can be disabled by specifying this communication option.
Caution
The HTTP 1.1 specification states the following (RFC 7231):
A client SHOULD detect and intervene in cyclical redirections (i.e., "infinite" redirection loops).
Keep this in mind when implementing custom redirection logic in a protocol.
See also: Response
makeCommandByProtocol
This option is needed when the same group, with variable parameters in the command, can occur multiple times in the queue (multiple set via Cube, Automation or groups triggered via loop in QActions).
If you specify this option:
- There will not be any automatic "make" actions.
- The "before command" triggers will be executed before the command is added to the queue.
- A "before command" will be executed prior to a "before group"
This option is only applicable for connections of type "serial (single)" or "smart-serial (single)".
Note
As the make action is not executed automatically on execution of the group, the action needs to be executed when adding the group to the queue. This will copy the "current" value of the parameter(s) used in the command and these copied values will be used when the group is being executed.
maxConcurrentConnections
Use this option to define a limit of clients that can connect when the DataMiner acts as a server.
This option is only applicable for connections of type "smart-serial (single)" acting as a server that use TCP as the underlying communication protocol.
Example:
<Type communicationOptions= "maxConcurrentConnections:3">smart-serial</Type>
Tip
maxReceiveBuffer:X
For connections of type "smart-serial", data is passed from the SLPort process to the SLProtocol process every 15 ms.
If the maxReceiveBuffer option is used, each time the specified number of bytes is received, these are transferred from the SLPort process to the SLProtocol process. This option is only applicable for connections of type "smart-serial".
<Type relativeTimers="true" advanced="" communicationOptions="maxReceiveBuffer:8120">smart-serial</Type>
notifyConnectionPIDs:x,y
Specify this option if you want a protocol of type "smart-serial" acting as server to detect (and log) when a client connects or disconnects on a local smart IP port.
Example:
<Type communicationOptions="notifyConnectionPIDs:x,y">smart-serial</Type>
- x = ID of the parameter in which the connects have to be logged
- y = ID of the parameter in which the disconnects have to be logged
Both parameters have to be of type String.
Entry format: IP:IP port (example: 10.12.200.242:65871)
See also Configuring a smart-serial connection as a server
packetInfo
Use this option to define the packet length identifier of the response in a smart-serial protocol. Applies to all the smart-serial connections defined in the protocol.
Syntax: packetinfo:a,b,c,d
- a: Number of bytes before the length identifier.
- b: Length of the length identifier. Supported values are: 1, 2, 4. Number of bytes the length field. E.g. a value of 2 indicates that the length field is 2 bytes.
- c: [optional] "true" (default): The value denoted by the length field comprises the preamble field, length field and data field. "false": The length field only specifies the number of bytes that follow the preamble field and length field.
- d: [optional] "littleEndian": If the bytes enter in littleEndian format. Default: Big endian.
In the following example, the length identifier starts at position 4, it is 2 bytes long and the first 6 bytes are not included in the length indicated by the length identifier:
<Type communicationOptions="packetInfo:4,2">smart-serial</Type>
postPonePortInitialisation
At DMA restart, the initialization of the ports is postponed until all elements are started. The restart of an element will then start with the port initialization (first action of the protocolThread).
Example:
<Type relativeTimers="true" communicationOptions="postPonePortInitialisation">virtual</Type>
progid=class
The specified class will be created (only in case of OPC).
Example:
<Type communicationOptions="progid=National Instruments.OPCFieldPoint">opc</Type>
redundantPolling
If you specify this option in a two-port serial, SNMP, or HTTP protocol, the element will automatically switch to the second port when it goes in timeout.
Prior to DataMiner 10.3.0 [CU13]/10.4.0 [CU1]/10.4.4 (RN 39114), the second connection must be of the same type as the main connection. However, starting from these versions, DataMiner will automatically choose the second connection with the same type as the main connection in the event of a timeout.
smartIpHeader
On TCP, every packet will have the following extra header bytes:
- 0-1: IP port (big Endian)
- 2-5: IP address (big Endian)
- 6-13: sequence number (little Endian)
On UDP, every packet will have the following extra header bytes:
- 0-3: IP address (big Endian)
- 4-5: IP port (big Endian)
Note
- This option is only applicable for connections of type smart-serial.
- smartIpHeader cannot be used together with the packetInfo communication option or with headers and trailers.
- From DataMiner 9.6.12 (RN 23342) onwards, the smartIpHeader option is supported in cases where an element with a smart serial connection using IP/UDP is acting as a server and multiple clients send data to the element simultaneously.
See also Configuring a smart-serial connection as a server
useAgentBinding
SNMP traps will be assigned to elements based on the trap’s agentaddress binding (1.3.6.1.3.1057.1).
Important
To activate this feature on system level, add the following line in DataMiner.xml: <DataMiner useAgentBinding="true">
.
Examples
<Type relativeTimers="true" advanced="" communicationOptions="maxReceiveBuffer:8120">smart-serial</Type>