#7 pending
Kenny Richards

Pull ircDDB gateways who are not registered with DPLUS

Reported by Kenny Richards | August 25th, 2015 @ 09:41 AM

(From john@k7ve.org)

It appears that you are getting the DPLUS list of gateways, but not those who use ircDDB as their sole/primary registry. You can pull down their information using either XML or JSON here http://status.ircddb.net/clg.php and eventually you may want to actively monitor the ircddb channel on irc which would also give you the individual stations and what repeater they are on.

Test link to K7LWH C vs NW7DR A

Comments and changes to this ticket

  • mcdermj (at xenotropic)

    mcdermj (at xenotropic) August 25th, 2015 @ 12:45 PM

    The DPlus gateways come from the authentication response received from opendstar.org.

    I had intended on monitoring the ircDDB channel, but it appears as though there is no way to log in without a username/password as a registered gateway or its administrator.

    If I do implement this, what is the proper link protocol to use? Are these all going to talk DPlus to me, or do I need to implement G2 protocol.

  • mcdermj (at xenotropic)

    mcdermj (at xenotropic) August 25th, 2015 @ 02:24 PM

    > On Aug 25, 2015, at 1:34 PM, John D. Hays <john@hays.org> wrote: > > Most programs allow the user to select the linking protocol. The JSON/XML file will provide the IP address.

    They do? The linking protocol seems to be selected by the type of reflector in use. XRF = DExtra, REF = D-Plus, etc. There is nothing on DummyRepeater to set the linking protocol. It punts things to ircDDBGateway to try to do the links. You can disable and enable linking protocols in general in ircDDBGateway, but you don’t really get to choose which protocol a certain destination uses unless I’m missing something huge.

    > There really is no 'G2 Protocol' -- The D-STAR standard has a protocol for callsign routing, which is what some call the G2 protocol.

    Jonathan calls it the G2 protocol. See G2Handler.cpp (https://github.com/dl5di/OpenDV/blob/master/ircDDBGateway/Common/G2...), G2Protocol.cpp (https://github.com/dl5di/OpenDV/blob/master/ircDDBGateway/Common/G2...) and bunches of references in places like HeaderData.cpp, ConnectData.cpp, AMBEData.cpp, etc.

    When I talk to K7LWH, I’m talking to it with DPlus protocol. That’s because opendstar.org says that it is available for DPlus linking.

    > Person-to-person routing and STARnet Digital groups use the callsign routing protocol, but many 'dongle' programs don't support it, so it probably isn't strictly necessary. > > Many of these programs are setup to support other 'RF' devices and so they may or may not support native callsign routing. As a desktop application, you are probably good with just linking protocols, at least initially.

    I’m not opposed to adding support for CCS/ircDDB functionality, I just need to know how to implement this stuff. I’ve explored ircDDB a bit, but, as I said, my issue is that it appears that to even get access to the channel to view data a user needs to register a gateway and get a login to the ircDDB servers. This isn’t very practicable for what amounts to a desktop app. Plus, I don’t think the ircDDB guys will even register things that way. I haven’t been able to find a way to get logged into, for example, group-0.ircddb.net without a valid username and password to even get read-only access. If you know of something I’m missing, I’m all ears.

    > If your program can talk to ircDDBGateway, like DummyRepeater does then someone who really needs that functionality could use ircDDBGateway with Buster as a client.

    Two weeks ago, the only version of Buster talked to ircDDBGateway using the HomebrewRepeater protocol, just like DummyRepeater. The version is still in the repository as another branch and should be compilable. The main issue I had with this code is that ircDDBGateway is severely broken on the Mac. The threading is highly screwy so that it won’t even terminate correctly. This is in addition to the fact that ircDDBConfig’s UI is broken enough that one cannot get it to configure the correct parameters to get up and running. I had the choice, like DummyRepeater, to either fix everything that’s broken in a cross-platform app that will never be very good, or develop equivalent functionality in something that can be pretty good. I chose to roll the reflector linking functionality into Buster to create a “stand-alone” version.

    Buster is intended to be a “one-stop-shop” that you don’t have to search out and install anything else. I’ve wanted to install callsign routing functionality, but am still thinking on how to do that. Again, the major stumbling point is that a user can’t even get into the ircDDB network to find people unless they can log into the IRC servers. It’s still not apparent to me how to do that.

    > There should be a way to set UR, MY, RPT1 and RPT2 directly as well as Comment 1 (4 octets) and Comment 2 (20 octets)

    For a reflector client, I didn’t see any need to set UR, RPT1 or RPT2. UR always should be CQCQCQ, RPT1 can be generated off of MyCall, and RPT2 is always the reflector. MY is settable in Preferences. Comment 1 is settable in preferences. Comment 2 is settable in preferences.

  • mcdermj (at xenotropic)

    mcdermj (at xenotropic) August 25th, 2015 @ 11:39 PM

    • State changed from “new” to “pending”

    Implemented functionality so that the program will get the JSON data from the ircddb website and create a database. The DPlus driver then uses this information base to try to connect to ircDDB registered repeaters.

    I still may want to implement something where I can retry a repeater on an alternate protocol if it fails, but right now it only tries DPlus.

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป

A D-STAR reflector client.

Shared Ticket Bins