The point I'm trying to make is that in AllStarLink each node has a node stanza. Within that stanza there is a rxchannel. Each node can have only one rxchannel. At the top of the sample rpt.conf you have a list of the more common ones.
; rxchannel = dahdi/pseudo ; No radio (hub)
; rxchannel = SimpleUSB/usb_1999 ; SimpleUSB
; rxchannel = Pi/1 ; Raspberry Pi PiTA
; rxchannel = Radio/usb_1999 ; USBRadio (DSP)
; rxchannel = Dahdi/1 ; PCI Quad card
; rxchannel = Beagle/1 ; BeagleBoard
; rxchannel = USRP/127.0.0.1:34001:32001; GNU Radio interface USRP
An ASL server can host more then one node. In the case of Echolink it does not have a rxchannel of it's own. Echolink connects or attaches to a existing node. this is done with the "astnode = 1999" in echolink.cfg
You can build a ASL server with multiple types of nodes. But Echolink can only attach to one node. The node it connects to can be connected to other nodes.
There really is no right way or wrong way to build this other then one node can only have one rxchannel.
The way I build my servers is to assign a node to each type of node. That can be a hub, echolink, usrp etc. By separating everything, I can control how things are connected. for example:
2100 = a hub
1999 = echolink
1998 = DMR
1997 = P25
Nodes 2100 and 1999 use the dahdi/pseudo channel driver
Nodes 1998 and 1997 use the USRP channel driver
Since 2100 is a public node, any AllStarLink node can connect to it You can connect any or all of the other nodes to 2100. You could also decide to connect P25 to Echolink, connect DMR to ASL.
Again, there is no right way and wrong way to build this other then the one rxchannel per node rule.
Hope this helps