4.2.5 Multi-drop Fanout

In the following multi-drop fanout scenario<20>, client A is about to send a message to clients B and C which both have the resource handler identified by the URL ‘apphandler’. These two clients are accessible through the same relay server to which the sending client A is connected. Client A therefore uses the FanoutOpen command to open a fanout session, specifying the two target clients in the FanoutOpen FanoutDeviceEntries list and the desired ResourceURL. Because the sending and receiving clients share the same relay server, the RelayURL field of the fanout device entries can be the empty string.

In handling a multi-drop fanout session, the relay server forwarding the messages provides message acknowledgment to the originating client (client A) only when it has successfully delivered the message to all target resource handlers. Client A is assured of message delivery only when it receives this message acknowledgment.

To properly determine the fanout addressing entry contained in the fanout device entry list, the originating device has to have access to the relay URLs for each destination.

Fanout session

Figure 18: Fanout session