g4klx/ircDDBGateway

XLX Support - (Please add support via DPlus/DExtra protocols).

AndyTaylorTweet opened this issue · 5 comments

The idea that XLXs are all DCS protocol is flawed, in the current host list:
#DCS001 77.56.144.131
#DCS002 140.82.62.162
#DCS003 173.199.124.183
#DCS004 44.103.34.3
#DCS008 45.77.153.132
#DCS016 150.66.42.17
#DCS018 80.211.236.189
#DCS021 78.46.11.69
#DCS022 83.137.45.98
#DCS023 77.85.192.94
#DCS024 94.199.173.123
#DCS025 89.38.150.252

So, its not possible to just assume that DCS will work for XLX, the guys building host files can correctly add the relevant XLX hosts to the host files so that they will be available via the correct protocol, that much is trivial, but we need support for linking to XLX via DPlus and DExtra as well as DCS.

It seems that lately the XLX hostfile has entries for each of the protocols.
See #46

K2IE commented

Reviewing the file, obtained from http://xlxapi.rlx.lu/api.php?do=GetXLXDMRMaster:

There are no entries for anything other than XLX (not for individual protocols) and the file just contains those XLX that are currently registered. Since those XLX natively all support DCS, the current behavior seems to be as it should.

What about checking the one used in the current default configuration file of ircddbgateway (ircDDBGateway/ircddbgateway-emptyconfig), not the one designated for DMR?
http://xlxapi.rlx.lu/api.php?do=GetReflectorHostname

This variant does not get parsed as expected by the current code. On the other hand, the proposed patch will also correctly parse the DMR version, if users choose to keep that behavior.
But it would allow to make use of the polymorphic character of the XLX gateways, allowing users to select the desired protocol by using the proper DCS/XRF/REF### designation of the reflector (all natively supported), with no undesirable side effects.
Also keep in mind, that addressing a XLX reflector as XLX### is not supported by the reflectors themselves, except for interlink purposes.

K2IE commented

Ah, this is the config line/URL that should be used:

xlxHostsFileUrl=http://xlxapi.rlx.lu/api.php?do=GetXLXDMRMaster

Really? Why? Why is it a DMR definition (it is XLX DMR Master after all) that needs to be used in a D-star system when we have full D-star definitions available?
What is the motivation of restricting its flexibility?
Have you checked #45?
How do you access XLX hosts if DCS is disabled in ircddbgateway? How do you access a XLX that does not offer DCS services (some in the range XLX000 - XLX034 do not)? What happens if in the future xlx will allow disabling DMR and the host doesn't show up in the DMR host list?