Internet Relay Chat (IRC) is an application layer protocol that facilitates
communication in the form of text.
IRC was originally a plain text protocol (although later extended),
which on request was assigned port 194/TCP by IANA. However, the
de facto standard has always been to run IRC on 6667/TCP and nearby
port numbers (for example TCP ports 6660–6669, 7000) to avoid having to
run the IRCd software with root privileges.
IRC has a line-based structure. Clients send single-line messages to the
server, receive replies to those messages and receive copies of some
messages sent by other clients. In most clients, users can enter commands
by prefixing them with a '/'.
ircDDB stands for 'IRC-based Distributed Database'. ircDDB is simply a network to
exchange callsign and routing information between D-Star gateways. The ircDDB network
does not directly handle any voice traffic, it simply tells connected gateways where
a callsign was last heard and how to connect directly to a specific gateway
(via its public IP address). ircDDB provides up-to-date routing information without
the synchronisation delay associated with the ICOM implementation of the same
functionality (which could be over an hour out of date). ircDDB can also provide
(almost) real-time information via various “visualisation” sites,
such as http://www.ircddb.net/live.htm.
More infromation is available on the Australian D-Star web Site: http://www.dstar.org.au/about/reflectors/ircddb/
The ircDDB support group: https://groups.yahoo.com/neo/groups/ircDDBGateway/info
ircDDB Gateway Page for Australia: http://status.ircddb.net/cgi-bin/ircddb-gwst?ctry=AUS
The ircDDB Gateway Status page: http://ircddb.net/live-vis.html
The ircDDB Gateway is designed to be used both with the repeaters based on non-Icom hardware
that can be downloaded from the pcrepeatercontroller Yahoo! group, and also with Icom hardware.
Indeed it is possible to run a system with the gateway that contains a combination of both Icom and homebrew hardware in almost any permutation.
The gateway provides access to the ircDDB network to allow for real-time callsign and repeater routing, as well as linking to DExtra, DCS, and D-Plus reflectors. Extra facilities include an echo server for radio testing and spoken information messages in a number of languages.
Tony Corbett, G0WFV, writeup on HOW-TO Install ircDDB Gateway from latest source code:
Tony's repository of applicationshttps://github.com/g0wfv
Tony's fork of the DMRGateway https://github.com/g0wfv/DMRGateway
This is the DMR Gateway which allows for the connection of up to four different DMR networks to one MMDVM system. One of the networks is defined as being an XLX reflector, while the other three may be one each of DMR+, BrandMeister, or a local HBLink system.
This software works by use of powerful rewriting rules which allow for changes in the slot, talk group, the type, and even the destination, of the messages. Without a rewrite rule, even if it does no actual rewriting, traffic will not be passed through from that defined network to the MMDVM and back again.
Hans-Jurgen Barthen, DL5DI Software Projects can be found here:
My first point of call was to follow the instructions available on the
OpenDV GitHub site
Some tailoring of the apt-get install command may be required on some platforms to find he correct dependencies.
If you don’t need to use the GUI version, I strongly recommend compiling ircDDB Gateway without it on the slower Raspberry Pis – for me, it reduced compile time from 3 hours to just 1 on a RPi B! To do so just substitute the configure command with … What you will have at this stage is a basic, but none-the-less working install; you can manually start ircddbgatewayconfig and configure the system with the GUI (provided you compiled it in!) then start either ircddbgateway (GUI) or ircddbgatewayd (CLI).
I compiled on Ubuntu 16.04 with the GUI to get things working. It should be fairly easy to replicate the process on the Raspberry Pi running the standard GUI version of Raspbian Jessie (but make sure you have plenty of coffee or something else to do whilst it goes through the long compile!) I run Raspbian Jessie Lite – no GUI, so it requires a bit more trial and error … Using poetic licence, I copied the files from the LinuxExtras directory onto the filesystem.
This gave me the all important ircddbgw_conf command and all the auto start scripts.
When I started ircddbgw_conf, it was complaining it couldn’t open log files.
Pay attention to the output from ircddbgw_conf and create / grant permissions to the relevant directories/files it complains it is unable to read or write.
When I attempted to run the gateway manually, it wasn’t working (surprise, surprise!) This turned out to be a problem with where ircddbgw_conf creates the config file, and where ircddbgatewayd is looking for it. The remedy is to create a symlink from one directory to the other.
(You will probably have to create the /usr/local/etc/opendv directory first – whilst you’re at it create the /usr/local/var/log/opendv directory too!) At this stage, the gateway should run …
OK, that should work. If the gateway takes a while to start this is due to the loading and caching of reflector addresses. Try disabling DExtra reflectors which seem to have the most un-resolvable addresses in the default host files – it reduced startup time from 6 minutes to 2 for me. (Yes, I have slow internet where I am at the moment!) To configure the autostart script which we copied from LinuxExtras do the following …
This will fail to work as it stands because the startup script is looking in a different directory for the ircddbgatewayd executable and is also trying to run as an unprivileged user (you could hack about further and grant permissions to the opendv user, but I opted for the solve all solution and ran as root – naughty!)
Now, all should run as advertised …
(Unless you enabled logging with option 15 in ircddbgw_conf, there will be no log
output in our terminal window tailing the logfile!)
To test everything is working as it should, reboot and cross your fingers!