Hi all,
In DataMiner Docs, we have a way to configure smart serial listener to reply to a single client:
However, this is only "after response". I have an implementation where I need to use one connection to send a command back to the client after a button press, e.g not after response. As it currently is working, whenever I send the command it broadcasts it to all available/open clients. Is there a way around this?
Would you happen to know the IP addresses of the clients upfront or is that unknown?
IP Address is known.
Hi Alex,
This suggestion is untested for your specific use case but would fit your needs if it works.
As Michael Wells mentioned, you can use smartIpHeader to fetch the details about the IP and Port of the requesting client.
You could then use an extra connection defined in your connector with the dynamic ip option defined and use the details retrieved from the smartIpHeader to specify the destination of your messages.
This extra connection could even be hidden from the element wizard and be used in the background as described on this page regarding polling from different devices over serial.
Do note that in order for this to work the clients need to be listening on a certain port for incoming connections which I don’t believe will be the case.
That’s indeed not the case. The device doesn’t accept new incoming connections.
Yep, tested with both static and dynamic ip’s, and the device takes neither.
More information: what we need to do is somehow keep track of the TCP session source IP port from which a client sends a specific message, store it in a parameter on a row associated with that message, and then use that TCP source IP port value to become the TCP destination IP port to which we send a response message based on how and when an operator chooses to process a given message through various buttons linked to QA’s.
We know we can use SmartIPHeader to get the IP, Port and Sequence Number and could store that in the response, but can we somehow use this option in the construction of a new message (not an automatic response to the inbound message) to force SLPort to utilize a specific (dynamic based on the incoming message) TCP Destination IP Port to send the message to the device?