Monday, April 12, 2010

New RBN Aggregator Telnet Feed Available Now

The Reverse Beacon Network ( has now made a
Telnet feed of the aggregated output of all currently active RBN Skimmer
receivers available in real time at port 7000 (that's not a clickable link - you'll need a telnet client, though your logging software will work just fine).

Thanks to Rick, K4TD, for making the server available, and to Felipe,
PY1NB and Nick, F5VIH for the programming effort.

No big deal, you say? Well, before you blow it off, take a look at the
flow of spots, even on a normal weekday. Run them through appropriate
filters (CCUser, etc.) to remove duplicates, restrict spots to your country, continent, or call area, or whatever, and use them to populate the bandmap of your favorite contest logging software. I think you'll be amazed.

This feed offers one huge advantage for contesters, because the RBN
spots *every* station it hears, not just the ones that someone,
somewhere thinks are worthy of being spotted. It is also listening on
all bands, all the time, at world-wide sites.

ONE CAUTION -- Precisely because it spots everything, usually multiple
times, it would be disastrous if someone were to feed the RBN Telnet
server into the normal DX cluster network. If this happens, the server
may have to be shut down, so *please* don't do it.

73, Pete N4ZR


  1. Just a heads up/FYI....

    I realize that many folks prefer N1MM, but I remain in the WriteLog camp.

    The address for the telnet feed is four characters too long to be used in the Writelog packet window. Or stated more correctly, WriteLog is truncating the last four because it cannot handle an address that long.

    I'll try using wintelnetx as middle ware. I suspect that will be a good work-around, but not yet tested.

    73 de w4kaz

  2. What's more, I believe the port is 7300 not 7000!

    Thanks for making this available though - very useful to fill-in missing band slots for 'ordinary' hams, not true DX stns (for which DXcluster is great).

    Gary ZL2iFB

  3. Hello
    This seems to be broken as of october 03. very interesting resource though

    Brendan EI6IZ

  4. Hello,

    thanks for the service. I know that I am kind of late, but ... I used this service with an Arduino:

    But the LCD is kind of limited I wanted to move on to a Raspberry Pi and another Display:

    This doesn't seem to be a problem but I had to switch to Python. I used the telnetlib library and ran into problems with the connect:

    import telnetlib

    host = ""
    port = 7000

    tn = telnetlib.Telnet(host, port)

    #tn.read_until(b"callsign: ")
    tn.write(b' xx1xxx\n') # fake callsign

    I get the connect and the opening message, but when I try to give my login I am refused.

    In the line
    tn.write(b' xx1xxx\n')
    I have to put a blank before my callsign and my sign is capitalized to ' XX1XXX' , which does not work.

    If I do not put a blank before my sign there is no response.

    Of course I used the standard example with "getpass", but that is not working either. I tried it on a windows and a Linux machine. The server is on a Linux based machine.

    There must be a trick when talking to a unix-machine ;-)

    I know that this is not the right address for stating my problem, but on the other forums I haven't got an answer.

    Do you know where I may find a solution to my problem?
    Help would be welcome.
    Hajo DL1SDZ

  5. I realise this was posted in 2013 but ...since I'm here.. this example works and includes a demo of how you can filter the results based on one or more of the daat fields.. e.g. just tell me about WPM less than x wpm.


    import sys
    import telnetlib

    host = ""
    port = 7000

    tn = telnetlib.Telnet(host,port,10)

    tn.write(b"XXXXX\n"); # Add your call here

    line = tn.read_until(b">\r\n") # Read until header data passed
    while True: # Loop
    line = tn.read_until(b"\n") # Read just one incoming line
    utf8line = str(line,encoding='utf-8') #encode so line is text not binanry
    utf8line = utf8line.split() #split on white space to get a list of the values in the line
    if utf8line: # if the list contains something (getting a blank initial list)
    if int(utf8line[8]) < 20: # Example to look for slow CW using the 9th list item as an integer
    result = utf8line[4] + " " + utf8line[3] + " " + utf8line[8] + " WPM" # pick and choose what to display