The Asterisk app_rpt project
The integration of 2-way radio systems and reasonable telephony



The Amateur Radio and Commercial 2-way radio world is in no way unfamiliar with various types of methods of extending the range and usefulness of the communications they provide.

Various types of "Repeaters", "Remote-Controlled" systems, and telephone interconnection have existed since the 1950's.

In commercial 2-way systems, Repeaters and both wire line and radio remote control systems are quite common in use. Often times, these systems including some sort of selective call or paging system in addition to their voice communications. Some of these systems include interconnection with the Public telephone system, giving users access to make phone calls from their mobile/portable radios.

In Amateur Radio 2-way systems, Repeaters are very common, including "Autopatches" which allow automatic interconnection with Public telephone facilities. Some also provide remote access to a simplex transceiver at the mountain-top location of the repeater, which is called a "Remote Base". Some of these systems are also linked together (generally via UHF radio) to extend the overall range of the systems.

Repeater and remote systems are based upon the general concept that a transmitter located at an advantageous and generally comparatively elevated (generally mountain-top) location has a much better coverage range then a transmitter located at ground-level. If you have 2 ground-level stations that desire to communicate with each other, they have to be in close, local range of each other. If not they can use a repeater, which because of its advantageous location, can give a much larger coverage area between it and other stations. The repeater receives (listens) on 1 frequency and re-transmits what it has received out on another frequency simultaneously, thus allowing 2 or more stations in diverse locations, but yet in range of the repeater's location to be able to have communication with each other.

The simplest repeater system consists of a receiver, transmitter, antenna system, and controller. The repeater controller connects the receiver with the transmitter and allows the received signal to be re-transmitted appropriately. Many times, the controller does things like responds to DTMF digit sequences (commands), gives telemetry (beeps or digitized voice), and allows access to advanced functions, such as telephone interconnection, Remote Base functions, or linking.

There are now a number of commercially-available repeater controllers, generally ranging from USD $100 to $10000, with the truly minimally-useful ones starting around USD $300. They are generally stand-alone devices mounted in a little box that connect directly to your receiver and transmitter.


The main goal of this project is to provide a repeater controller that is as inexpensive as possible while being as agile and featureful as is possible.

We certainly haven't invented the repeater controller, but we have certainly implemented it in a new and different way, which has allowed for new and improved features to be implemented that would not otherwise be possible.

The advantage that our system design gives is the creative use of VOIP (Voice Over Internet Protocol). This is not the first use of VOIP for radio systems, but it certainly is the first one that integrates it and uses it in a sensible and efficient manner (in the realm of repeater networks).

A Nodal (where each Repeater or Remote Base is a separate node) approach is used, whereby using VOIP, a connection can be made between nodes, thus allowing repeater to repeater linking or remote base operation from a repeater.

Even in areas where systems might be in radio-contact distance of each other, using the Internet for linking is less expensive and more versatile then traditional UHF radio techniques. In addition, it makes all nodes accessible from anywhere desired.

Also, a Remote Base node allows for independent operation from its "repeater" host. In fact, there doesn't even have to be a repeater running on a system (just 1 or more Remote Bases). In a traditional configuration, 1 or more remote bases are hard-tied into a local repeater system (which potentially could be linked-to). To use that remote base, you must either be on or linked to that repeater system, thus requiring the repeater system to be tied-up if some link user wants to use its remote base. In the new architecture, there is no such thing as hard-tying any node to any other node. For example, a system might contain 1 repeater and 1 remote base system (say nodes 123 and 124). The repeater system (node 123) and the Remote Base (node 124) are completely independent of each other.


A system consists of a PC running the Linux operating system and the open-source Asterisk PBX telephony switching system. Our software, app_rpt, comes bundled in the release of Asterisk.

In addition you need some sort of Zaptel (Zapata telephony) compatible telecom hardware, and an analog radio interface card, or a PCI Quad Radio Interface card.

The PCI quad interface card plugs into a PCI slot in your computer, and has interfaces for 4 radio systems. Each interface includes a full CTCSS (and DCS) subaudible tone decoder and encoder that implements a full-featured "community" CTCSS system, as well as all of the features necessary to interface your radios (repeaters) with Asterisk.

The analog radio interface card plugs into 2 FXS analog interfaces (one loopstart, one groundstart), or if used for a remote base 1 DPO (DID-style loop interface). This can be obtained by using a multi-port FXS card (such as the TDM400P from Digium), or from a T1 or E1 channel bank connected to a T1 interface (such as the T100P from Digium), or a quad-T1 or E1 interface (like one of the Tormenta 2 cards, like the T400P from Digium, or the V400P from Varion). The T1/Channel Bank approach is only cost-effective if its part of an already-existing phone system, or you have a lot of radio systems you want to control (a single T-1 channel bank can control 12 separate Repeater/Remote Base nodes).

The receiver and transmitter connect to the radio interface card through a 9 pin D-shell connector (standard signals, such as Receive Audio, COR, Transmit Audio, PTT, etc). 12 volts DC is also applied through the connector.

For each node, a process (well, thread actually) runs on the Asterisk server which runs our software application (app_rpt). This does all the repeater functions, and implements all of the DTMF control functions, linking, remote base, and interface to inbound and outbound VOIP channels. If you are interested in seeing some of the internal functionality and architecture of app_rpt, check this out.


app_rpt site at QRV Communications.


Unlike other architectures, app_rpt allows implementation of your own network in any physical configuration and node numeration scheme you desire. There is no assumption made, or requirement that you be part of a global, open network.

If you wish to do so however, there is a public, world-wide, open network of these systems called AllStar Link (named because its made of a bunch of Asterisk servers).


.pci-front-small.jpg (57497 bytes)
Rev. B Production version of PCI Radio Card.

January 26, 2005 -- Revision B Quad Radio PCI boards have been assembled and tested, and are available. If you are interested in obtaining a card click on the following link

November 20, 2004 -- The new Rev. A cards are tested and working (and 1 single one is built). We will now shop around for best value on production and do a small production run (within the next couple of weeks). The drivers and support files (that work with the Rev. A board) are now released and available in the Asterisk distribution, and seem to work (at least so far).



.analog-small.jpg (71166 bytes)
Rev C. Analog Radio Interface Board

October 18, 2005 -- Revision C BOM has been uploaded to this site. This BOM contains all of the parts necessary to construct a revision C Analog Radio Interface Board. The BOM calls out Digi-Key part numbers for all parts. Use this in conjunction with the schematics to build a board. The BOM can be downloaded here. Blank boards can be ordered from QRV communications

October 15, 2005 -- Revision C Analog Radio Schematics have been uploaded to this site. Download them here.

January 26, 2005 -- Revision C Analog Radio Interface Boards have been assembled and tested, and are available. If you are interested in obtaining a card, please click on the following link.

July 17, 2004 -- The Rev. A "Radio Interface" card (the analog-telephony-based model, *not* the PCI one) has been released. Click here for full documentation and pictures, including schematics and board artwork, including gerbers . It is fully user-constructible (using easily obtainable thru-hole parts, all available from Digi-Key).


April 26, 2005 -- limey linux, a custom linux distribution has been created to facilitate building embedded systems using app_rpt. This distribution is built from Erik Anderson's buildroot package which employs uClibc and busybox. The image fits on a 32 or 64 megabyte compact flash and takes up approximately 27 megabytes. The distribution is tailored for the VIA MEII-6000 Mini-itx motherboard with 256 MB of DDR ram and a quad radio PCI board. Limey Linux has its own website.

See the pictures section below for a really spiffy hardware setup which uses this custom distribution.

November 20, 2004 -- app_rpt, version 0.19 released, and new zaptel drivers including full support of the new Rev. A Quad PCI Radio Interface card, including the VHDL for its Xilinx device.

July 13, 2004 -- app_rpt, version 0.13 released, including full functionality for VOIP-linked repeaters and remote bases. Includes fully user-configurable DTMF command system. A very usable intermediate release. This version fully supports the Doug Hall RBI-1 remote base controller, or no remote base controller at all. We also will shortly support the Yaesu CAT interface radios (such as the FT-857).


This program is written by and hardware designed by Jim Dixon, WB6NIL, and has had major contributions and help from Steve RoDgers, WA6ZFT, and David Kramer.