65.5.3 Peer-to-Peer, Edge-to-Edge Deployment Scenario
Currently, this scenario is only supported in environments in which the NATs involved in the communication are cone NATs. Consider a videoconferencing system in which users establish 1-1 calls with each other. Users communicate with other users within their own LAN and in different LANs across a WAN.
Figure 65.12: Peer-to-Peer and Edge-to-Edge Communication
Because each user is behind a cone NAT, the users can communicate peer-to-peer with other users across the WAN with the help of Cloud Discovery Service to facilitate both the NAT traversal process and the discovery of DomainParticipants as described in 65.4.2 Peer-to-Peer Communication between Two Internal Participants.
In addition, some users will be running in the same LAN. Because NAT loopback (see 65.3.6 NAT Hairpinning) is not allowed by NAT routers in most cases, it is necessary to use the builtin UDPv4 transport in combination with the Real-Time WAN Transport to enable communications within the LAN.
The following sections provide an example configuration for the scenario described in Figure 65.12: Peer-to-Peer and Edge-to-Edge Communication.
65.5.3.1 Video Connext Application Configuration
<dds>
<qos_library name="MyLibrary">
<qos_profile name="VideoAppParticipant">
<domain_participant_qos>
<transport_builtin>
<mask>UDPv4|UDPv4_WAN</mask>
</transport_builtin>
<discovery>
<initial_peers>
<element>udpv4://239.255.0.1</element>
<element>rtps@udpv4_wan://40.20.23.56:5678</element>
</initial_peers>
</discovery>
<discovery_config>
<locator_reachability_assert_period>
<sec>15</sec>
<nanosec>0</nanosec>
</locator_reachability_assert_period>
<locator_reachability_lease_duration>
<sec>60</sec>
<nanosec>0</nanosec>
</locator_reachability_lease_duration>
</discovery_config>
</domain_participant_qos>
</qos_profile>
</qos_library>
</dds>
Within the LAN, discovery is configured to be done over multicast by setting <initial_peers> to udpv4://239.255.0.1. Over the WAN, discovery will occur using Cloud Discovery Service.
65.5.3.2 Cloud Discovery Service Configuration
<dds>
<cloud_discovery_service name="CDS">
<transport>
<element>
<alias>builtin.udpv4_wan</alias>
<receive_port>5678</receive_port>
<property>
<element>
<name>dds.transport.UDPv4_WAN.builtin.public_address</name>
<value>40.20.23.56</value>
</element>
</property>
</element>
</transport>
</cloud_discovery_service>
</dds>