Annex C describes the OPC UA specific requirements which are above and beyond the more general requirements of the mDNS specification.

mDNS uses DNS SRV records to advertise the services (a.k.a. the DiscoveryUrls for the Servers) available on the network.

An SRV record has the form: TTL class SRV priority weight port target

service: the symbolic name of the desired service. For OPC UA this field shall be one of service names for OPC UA which are defined in Table 112.

Table 112 – Allowed mDNS Service Names

Service Name



The DiscoveryUrl supports the OPC UA TCP mapping (see OPC 10000-6).

This name is assigned by IANA.


The DiscoveryUrl supports the OPC UA WebSockets mapping (see OPC 10000-6).

Note that WebSockets mapping supports multiple encodings. If a Client supports more than one encoding it should attempt to use the alternate encodings if an error occurs during connect.

This name is assigned by IANA.

proto: the transport protocol of the desired service; For OPC UA this field shall be ‘_tcp’.

The other fields have no OPC UA specific requirements.

An example SRV record in textual form that might be found in a zone file might be the following: 86400 IN SRV 0 5 4840

This points to a server named listening on TCP port 4840 for OPC UA TCP requests. The priority given here is 0, and the weight is 5 (the priority and weights are not important for OPC UA). The mDNS specification describes the rest of the fields in detail.