Radio amateur and Asterisk (chan_alsaradio.c part 2)

In the previous article I explained just few bits about Asterisk and app_rpt and how I came to the conclusion to build another channel driver for app_rpt.

The idea behind is that I wanted to make a channel driver that uses a general purpose sound card for media path and serial port for signaling. If the card has a driver for Linux then ALSA (Advanced Linux Sound Architecture) will provide an abstraction of it so that the channel driver will not depend on the specific sound card type.

On the signaling side, the serial port is used to send PTT signal and receive COR (or COS) and CTCSS from an external decoder (if needed only). The simplest serial interface to the radio station is presented bellow:

It does not use the right levels for RS232 interface but it will work with the serial ports of modern computers as long as the PTT and COR are not stressed with high data rate (this is unlikely anyway). I will provide later on an interface that will make use of optocouplers for isolation of signals and audio transformers for isolation of media path.

Audio signals (media path) are connected form the audio output of the rig to soundcard input and from soundcard output to rig microphone input.

The new channel driver is called alsaradio and corresponding module is named Like all the other channel drivers it has a configuration file in which one could give various options. Here is a typical alsaradio.conf file which should be placed where all asterisk config files are: /etc/asterisk/








You should use appropriate values for your input_device and output_device parameters according to configuration of your sound card.

Here is a relevant portion from rpt.conf that uses the alsaradio channel driver:


[xxxxxx – here is your node number]


Here is a echolink.conf that will make app_rpt communicate with Echolink servers:





pwd=your Echolink password

name=your name

qth=your qth

email=your e-mail



node=your node number


If you’ve proper configured the app_rpt, alsaradio and echolink and connected the radio to the PC then you should be able to key in and dial using DTMF a number from another radio tuned to the frequency of your main radio. Alsaradio is able to decode the DTMF and send them to app_rpt. For example if you want to connect to *ECHOTEST* (node number 9999) you should dial:


I will explain later about how various nod numbers could be dialed using DTMF commands.


node =stn5667  #the IRLP node number you will obtain during installation







astnode=27235 #your Allstarlink node number

Dialing an IRLP number like 9500:


if you obtained an Allstarlink node number too, you would be able to dial for example number 27235 with the following command:


Leave a Reply

Your email address will not be published. Required fields are marked *