3.3.4. WAN Participant

This type of Participant refers to a Discovery Server DomainParticipant that communicates with other WAN Participants in different networks. This Participant will work as bridge for every Participant working locally in the LAN and any other LAN that has a DDS Router with an active WAN Participant.

Warning

Do not try to communicate a WAN Participant with any other kind of Participant that is not of type WAN Participant.

3.3.4.1. Use case

Use this Participant to communicate an internal DDS network with other LANs through a WAN communication. Each of the networks to be connected require a running DDS Router, and the messages will be relay from one to another depending on the topics filtered by each of them.

3.3.4.2. Type aliases

  • wan

  • router

3.3.4.3. Configuration

WAN Discovery Server Participant allow configure the standard attributes of a Discovery Server.

Note

The network addresses set in listening-addresses and connection-addresses use UDP transport by default if the transport is not specified in the address configuration.

3.3.4.3.1. WAN Configuration

Refer to section WAN Configuration for detailed explanation on how to correctly configure the DDS Router for WAN communication.

3.3.4.4. Configuration Example

Configure a WAN Discovery Server with GuidPrefix id 2 (01.0f.02.00.00.00.00.00.00.00.ca.fe). It listens for clients in public IP 82.0.0.1 in port 11600 in TCP. It connects with a remote WAN Participant in IPv6 address 2001:4860:4860::8888 and port 11666 which Discovery Server GuidPrefix is 01.0f.04.00.00.00.00.00.00.00.ca.fe using UDP transport.

wan_participant:             # Participant Id = wan_participant

    type: "wan"

    id: 2                                       # GuidPrefix = 01.0f.02.00.00.00.00.00.00.00.ca.fe

    listening-addresses:                        # WAN Discovery Server Listening Addresses
    [
        {                                       # Use TCP by default
            ip: "82.0.0.1",
            port: 11600,
        }
    ]

    connection-addresses:                       # Another WAN Participant Listening Addresses
    [
        {
            id: 4                               # External Discovery Server id => GuidPrefix = 01.0f.04.00.00.00.00.00.00.00.ca.fe
            addresses:
            [
                {
                    ip: "2001:4860:4860::8888",
                    port: 11666,
                    transport: udp              # Use UDP transport
                }
            ]
        }
    ]