WHAT TO EXPECT
The Protocol Fanout feature allows users to configure unicast (UDP, SRT, RIST) for the cloudSwXtch and the cloudSwXtch Bridge and fan it out to multiple instances as UDP, SRT, RIST or multicast.
Configuration for Protocol Fanout for cloudSwXtch and cloudSwXtch Bridge can be done in wXcked Eye from the Settings page and from the Topology Graph. To learn more about how to navigate there, please review the Configure cloudSwXtch with wXcked Eye article.
In this article, users will learn how to establish UDP, SRT and RIST connections via the Protocol Conversion and Fanout feature on wXcked Eye. It can also be used to convert multicast into one or more of these protocols. For example, imagine you have an SRT stream coming into the cloudSwXtch with five different clients requiring different protocols (one needing SRT, another RIST, another UDP and the last two for multicast). This can be accomplished by using this tool. For a walkthrough on configuring Protocol Conversion and Fanout in wXcked Eye, see the Protocol Conversion and Fanout Example article.
Setting Up Aliases
The Protocol Fanout tab utilizes Stream and Node names set up in the Aliases tab. For more information on how to do this, please see the Aliases article.
Protocol Fanout and Conversion is a cloudSwXtch feature that allows users to send copies of a single input stream in any supported protocol to multiple destinations. In wXcked Eye, users can send/receive UDP traffic or establish SRT/RIST caller/listener connection methods.
To add an adaptor, select "Add Adaptor." Here, a user can select either a cloudSwXtch or a cloudSwXtch Bridge (only if it is installed) as the component.
Then, users can select between three different protocols for their adaptor: UDP, SRT, and RIST.
UDP
Ingress vs. Egress
Differentiating between ingress and egress can be difficult. It is important to imagine it in relation to the cloudSwXtch.
Ingress: Data is coming into the cloudSwXtch.
Egress: Data is leaving the cloudSwXtch.
Selecting UDP under Protocol allows users to add mapping for UDP traffic entering and leaving the cloudSwXtch. Depending on the direction of the data, a user will have to add additional information to set up a successful connection.
UDP Ingress
For Ingress, a user will select one of the Streams created in the Streams tab from the dropdown and designate a Listener Port.
Alternatively, if a user does not have an alias set up for their desired stream, they can manually specify a Stream IP, Listener Port, a Stream Port and an alias name to add one. To do this, they would have to select the New Stream option in the panel.
By clicking Add, the new adaptor will appear in the list on the Protocol Fanout tab.
Both methods will allow endpoints to send unicast data. Once that connection has been established, the cloudSwXtch will be able to ingest the unicast data as multicast.
UDP Egress
For Egress, a user will set the parameters for fanning out a multicast stream as unicast. To do this, the cloudSwXtch would need to select a Stream and Target Node from their respective Alias dropdown.
If an Alias was not created prior, they can manually add a New Stream and New Node by entering the appropriate information for both. To create a New Stream, a user will need the Stream IP, Stream Port and Alias name. Similarly, a New Node would require a Node IP, Node Port and Alias name.
Whether it is from existing Aliases or ones manually created, this will allow the cloudSwXtch to transmit a multicast stream as unicast to a desired endpoint.
SRT and RIST Caller
To set up SRT or RIST Caller, a user will need to choose what direction they will like their data to flow: Ingress or Egress. Regardless of their choice, both Ingress and Egress requires a selection for Stream and Node. These can either be selected from the Alias dropdown (assigned in the Alias tab under Settings) or manually created in the panel.
If a user wants to manually create a stream and node, they will need to select the "New Stream" and "New Node" buttons. This will reveal additional fields necessary for both. For Stream, a user will need to enter a Stream IP, Stream Port and Alias name. For Node, they will need a Node IP, Node Port and Alias. This will act as a Target Node. It is the source of where the traffic will be coming from outside the cloudSwXtch. This information is crucial since it will dictate where the cloudSwXtch sends the caller message.
The Options dropdown allows for additional fine tuning based on standards of the protocol. Selection of an option will open another field.
After filling out all the required fields, select "Add." The cloudSwXtch will then call out to the target source and receive multicast traffic through the designated node.
For Egress, the user will be specifying the Target Node for an endpoint to receive an SRT or RIST stream from the cloudSwXtch. The cloudSwXtch will then call to the Destination or Target Node to establish a connection before transmitting the stream.
SRT and RIST Listener
Similar to the SRT or RIST Caller panel, Listener requires the user to specify the direction of their data flow: Ingress or Egress. However, what differs is that the SRT or RIST Listener is essentially "listening" for any incoming messages from endpoints ready to send/receive SRT or RIST data. This method of transmission is considered to be more user-friendly since a user will not have to worry about pointing to a specific IP address. It places the burden of targeting the endpoint instead.
Both Ingress and Egress will require a user to select a multicast Stream from the Alias dropdown. Stream Aliases are assigned in the Alias tab under Settings. Alternatively, users can enter a new Stream by selecting the New Stream button and entering the following information: Stream IP, Stream Port and Alias Name. In addition to the Stream, a user will also need to specify a Listener Port where an endpoint can send data through.
The Options dropdown allows for additional fine tuning based on standards of the protocol. Selection of an option will open another field.
For Ingress, once the configuration is complete, the cloudSwXtch will now listen for producers of SRT or RIST traffic who connect to the port. When a connection has been established, the cloudSwXtch will begin ingesting data.
Likewise for Egress, the cloudSwXtch is listening for endpoints that are trying to receive SRT or RIST data. From there, depending on the user's bandwidth, they can create up to 32 Listener ports from which an endpoint can connect to the the steam. By setting the necessary parameters, a consumer will then be able locate a target port and begin streaming data from the cloudSwXtch.