VOIP applications and Ham Radio

a loose (messy) collection of notes

I have separated my VOIP and digital voice pages.   Therefore some things have moved.

http://www.qsl.net/kb9mwr/projects/dv/

http://www.qsl.net/kb9mwr/projects/voip/

Misc. Ideas and Interrelated Things of Interest

 

VOIP applications and ham radio

Most present day government communication centers that use analog systems happen to have a VOIP based dispatch console.  Many remote sites are tied together using over fiber.  This analog to VOIP patching is something that we are presently also embracing in ham radio with IRLP, EchoLink, Yeasu WIRES II, and the like.  (See VoIP and Amateur Radio overview By Steve Ford, WB8IMY from QST Feb 2003)

A different hardware board for each of these proprietary VOIP systems that you want to support is required.  You also need a need a multi-port repeater controller, to support each hardware boards analog breakout. This seems redundant to me, and is something that slows the advancement.  IRLP seems to be the system of choice because it runs on the Linux operating system.  This is because Linux is much more stable that Windows, and is an open source development.

Imagine how smoothly and fast things would have unfolded if everything was open source, and no one had to waste time reverse engineering other peoples secrets.

The ARRL made a Interoperability statement in October 2007.  This is a pretty serious issue as there a number of proprietary digital voice radio systems out there.  None of them natively talk to each other.

There are some keys to consider when it comes to interoperability.  The lowest common denominator (aside from frequency) would seem to be the modulation type. D-Star is GMSK, APCO-25 and pretty much everything else is 4FSK modulation.  Upon that you have a MAC layer level access protocol, then the actual codec converting the voice to digital.  Electronics is so PIC/chip based, modulation changes can be changed without necessarily changing components.

As long as there is a hardware common ground modulation type or ability to speak/receive multiple types (like they did with 802.11b & g - DSSS/OFDM), firmware should be able to be written to take care of any MAC layer differences.  Transcoding can take care of the differences between the various codecs.   This is where a platform like Asterisk shines.


Remote Rig

In 2010, Mikael Styrefors, SM2O unveiled perhaps the most elegant ways to operate remotely.  It involves no computer, just two Remote Rig Control (1258MkII) units.  The front panel resides with the client while the rest of the rig remains at the host. Both devices connect to Internet routers via Ethernet cables.

RRC boxes are built around reliable ARM microprocessor, and are an intuitive way of utilizing existing VolP technology.   Control and remote RRC units utilize three communication channels; a simple text-based SIP protocol is utilized for radio-to-radio communication, while a UDP datagram protocol is used for control and audio streams. The RRC unit also provides two additional serial ports for connecting devices such as an amplifier and a rotator control.

Advances in Remote Site Control without Computers -  OH2BH

Remote station operation in recent years has increased in popularity.  In enables Amateurs in apartments and other similar situations flexibility. 

Hamlib - The Ham Radio Control Libraries, Hamlib for short, is an independent development effort to provide a consistent interface for programmers wanting to incorporate radio control in their programs. Hamlib is not a complete user application, rather, it is a software layer intended to make controlling various radios and other shack hardware much easier. Hamlib will allow authors of such software as logging programs, digital communications programs, or those wanting to develop the ultimate radio control software to concentrate on the user interface and the basic function of the program rather than radio control.


IRLP & Other VOIP Overview:

While IRLP holds promise, a large part of the hold up on outside and additional developments for IRLP seems to be related to the fact that parts of the IRLP system (the binaries that talk to his hardware board) are not open source.  This to me doesn't seem to be in the true spirit of amateur radio.  I also read rumors (July 06) that the IRLP system designer (David Cameron, VE3LTD) had developed a similar system to IRLP that is being used commercially, and this to may be part of his proprietary design reasoning.  Another reason the board design is unpublished is that the board is the IRLP designers only source of funding to keep things alive.  Also to cut down on the number of questions/problems from the non-technical savvy.  While neither of these are bad, it still doesn't let technical savvy people do much more than talk over the network.  I & others could be developing and contributing ideas though experimentation. 

IRLP started in 1997 with Windows and VocalTec's iPhone and a WB2REM interface.  David, VE3LTD realized in 6 months time that iPhone was not very stable nor is it controllable.  He also ran into a road black when source code for iPhone was not available.  David looked for an alternative, and he started getting into using Linux as an operating system and Speak Freely as a client/server.  SpeakFreely was open source and he was able modify the source code to his liking to create what we now have today for IRLP.  He then designed his own hardware board for PTT & COR logic.

EchoLink natively runs on the Windows operating system and was developed by Johnathan, K1RFD, released in 2002..    He approached this whole concept initially with a view to improving a system then running called "iLINK" (The iLINK system, first appeared around May 2001, was developed by Graeme Barnes, M0CSH, in Kent England), which was an enhanced development from a voip system called IPhone, as was IRLP. But read on.

Initially "Echolink" was un-named, but Johnathan K1RFD, and David, G3VFP started development  to provide an alternative graphical user front end to what was then the "iLINK" voip ham system,  sometime in late 2001, or early 2002.  Unfortunately through no fault of Jonathans, as he tried hard over quite a few months to communicate, with the owner of iLINK. It proved a near  impossibility, and reputedly it was stated by the author of iLINK that no third party software would be allowed on iLINK.  So Jonathan decided to form another peer to peer voip system completely, using his graphical interface. Which by the way was years ahead of the iLINK  GUI.

Open source versions of the EchoLink software are available for Macintosh (EchoMac) and Linux (echoLinux aka CQiNet or SvxLink/Qtel), but they may have limited features compared to the Windows version. At least when comparing the desktop applications.

CQiNet provides "theBridge", which is code that allows one to talk to EchoLink network from Linux or a Mac platform.  The primary purpose is to use the Internet to link Ham repeaters with a secondary purpose of providing remote access for users.   CQiNet is a family of programs that combine Ham Radio with the Internet using Voice over IP (VoIP) technology. Two programs are currently in the family, "theBridge" and echoLinux.  Thebridge is a iLink/EchoLink compatable conference bridge that runs under various versions of Unix as well as Windows EchoLinux is a EchoLink client program for the Linux operating system.  Compatibility with EchoLink and IRLP is a goal.  TheLinkBox - is program suite (based off CQiNET and "theBridge) to support serial & parallel-port interfaces as well as USB dongles. A full featured multiport hub or repeater controller as well as a VoIP application.

Johnathan, K1RFD tolerates thebridge and EchoIRLP partly because he does not sell EchoLink or any boards that are needed to make it work. Since Dave, VE3LTD derives income from IRLP it should not be surprising that he's less tolerant.

While IRLP is not 100% open, some clever people working with David Cameron, the IRLP system designer have managed to adapt theBridge so that one can have the inter-operability of EchoLink and IRLP using the IRLP hardware.  This is called EchoIRLP.   Both networks are capable of GSM audio compression (standard for EchoLink and is an option for IRLP as it normally uses ADPCM), and the transport protocols are quite similar. 

 In this case, those who worked with David, worked out the details where the IRLP binaries are talking to The Bridge which is in turn talks to the Echolink network.  

The iLink protocols (the basis of EchoIRLP) were reverse engineered by Tom, WD4NMQ and Skip, WB6YMH without the author of iLINK Graeme, M0CSH (G7BHM) blessing. Without reverse engineering there would be no EchoIRLP.

Taking this one step forward, Svxlink is another step in the right direction.  The Svxlink project allows configuration a variety of existing  economical radio to PC interfaces, such as the VA3TO interface.  What's notable about Svxlink is they have a schematic also released under the GPL so one can homebrew their own radio to PC interface.

IRLP Related:

Repeater activity graph - Use IRLP hardware to create an automatic daily graph of system activity.

IRLP Node Administration via Web - Simple web admin php script for your IRLP node.

IRLP-Repeater script - More info on useing IRLP as a repeater.  Includes configurable repeater hang time,  courtesy tones, timeout timer. SCCW for morse IDs, DTMF muting provisions, and anything else you can script.  

IRLP board interface schematic Kyle, K0KN's reverse engineered schematic

http://www.irlp.net/ 
http://groups.yahoo.com/group/irlp/
http://groups.yahoo.com/group/EchoIRLP/

Notes:
When questioned in November 2006, about Asterisk and Allstarlink, David Cameron, (VE7LTD) IRLP system designer said they are currently not working or supported pieces of IRLP, although they may be in the future.   Dave reported 12/06 & 11/07 that he is working on USB based solution, or a non parallel port IRLP interface card as these are being faded out in modern computers, even more so in embedded systems.

A bit of history about IRLP:

David Cameron, VE7LTD, is the guy that originated IRLP and  "pieced together" the code himself. Not being a professional programmer he said he was aware that the code was not going to be the most elegant in the world.  When he put it up the GPL license his email was besieged daily by folks flaming him about why he did something this way or that without providing any alternative. Finally in disgust he removed it from the GPL  license and continued doing it his "own" way.  Thats why the IRLP looks "quite horrible" as it does.

Misc:

N3GLV is trying to get some of the AMPR.ORG activity back up for ham-voip, contact him (n3glv1963 [at] gmail.com if interested and/or e-mail WB6CYT brian [at] ucsd.edu)

Weather Alert Interfacing and Scripts - Hardware and Software approaches to warn of bad weather and provide reports.


One Step Further - Asterisk Overview

Asterisk is an Open Source PBX & Telephony Platform. It's often labeled as the future of telephony.

PBX stands for private branch exchange. It is a machine that handles many businesses telephones calls for you. Its main functions are to transfer calls to different individual phones; play music when somebody is put on hold; to play automated voice responses when a call is received; to provide an options menu for the caller etc.

Asterisk allows one to build their own phone systems. It adds features, functionality and reduces deployment costs in ways which; at first are a little difficult to understand.

Most people don't know that Asterisk was designed from the beginning with radio applications in mind.

Jim Dixon (WB6NIL) developed pioneering hardware and software and collaborated with Mark Spencer of Digium to make Asterisk a reality. Jim says that compatibility with Amateur Radio applications was always a design requirement for his Asterisk work.

Steve Rodgers (WA6ZFT) is a longtime friend of Jim's and they co-developed the app_rpt module and the Quad Radio PCI card to interface radio equipment to Asterisk. Steve's company QRVC Communications originally offered the Quad Radio PCI cards for sale.  They have much been replaced by USB devices.

Steve Henke (W9SH) wanted to use hardware that would provide baseband (receiver discriminator and transmitter modulation) signal processing. This allows noise squelch detect, RSSI, CTCSS and other signaling protocols to be done in software and provide additional features. The answer to this need was found in a low cost USB Sound Adapter. Steve and Jim collaborated on the chan_usbradio driver and Steve's company Xelatec contributed the xpmr radio signal processing routines under the GPL to the project.

In my case, ham radio first introduced me to VOIP, with Echolink and IRLP in the late 90's. Since that time, I've been playing with Asterisk.  Asterisk is some very powerful stuff, perfect anyone who is familiar with Linux and likes to tinker.  

Developments for an application layer to allow an existing IRLP systems to have added functionality to speak (SIP/IAX2) to an Asterisk system could be a very beneficial contribution to ham radio.

Asterisk with app_rpt can be connected to almost any radio transceiver and network if you have the skills and patience to make the necessary interface and configurations.

Asterisk with app_rpt provides the following for Amateur Radio stations and systems: A Full Function Repeater Controller, Touch Tone Command and Control, Autopatch - Reverse and VOX Operation, CTCSS Decode/Encode Functions, A SIP Telephone Exchange, Voice Mail and Announcements, Contact Closure Telemetry, Non-Proprietary Software and Hardware,
PC/Linux Operating System Based, Remote Base Client, Fully Configurable and Programmable Communications Solution

Several different radio makes and models are well supported by vendors who provide ready made interfaces and cables.  For frequency agile remote applications, app_rpt can control a multi-band, frequency programmable radio transceiver such as the Icom IC-706. 

Radio Transceiver To Asterisk Interfaces

We will now describe two well supported hardware solutions for interfacing PTT radios to Asterisk.

Universal Radio Interface (URI) - The third and most recently developed radio interface is the USB Radio Adapter. The principle advantage of this device is that it has a low cost. For example you can build your own radio cable by attaching it to a $7.00 off-the-shelf commercial USB Sound Adapter. With the USB Radio Adapter, CTCSS and other signaling encoding and decoding is done in the software. And, signal level setting is done in software so there are no physical adjustments to make that require access to the computer and taking the covers off to reach the potentiometers. Additionally, the URI can determine the received signal level in software and use it for squelch and other features.

Repeater Builder Radio USB Interface Module (RB-USB-RIM) - This is an enhanced universal radio interface (URI).  Jumper settable COR / CTCSS input logic w/LED indicators.  

This USB solution is to facilitate Asterisk applications using app_rpt, AllStar Link and the "chan_usbradio" channel driver.  AllStarLink released a USB controller in Feb 2008 thru DMK Engineering  This is proposed as a Universal Radio Interface, based in the CM108 chipset.  

A nice Linux platform with a nice audio platform like Asterisk and the USB dongle for the hardware interfacing.... those are all a great start towards a whole software based repeater controller.  And if it had a modular GUI front end like FreePBX, if think this would really be something.  A nice web-based GUI front end setup for CW ID's, voice messages using text
to speech, a scheduler etc.  (See the IRLP Visual Admin Console and Micro Node, these are GUI projects)

Many hams have, and already support the IRLP hardware, and that also runs on Linux. Wouldn't it be nice if there was an application that would provide the inter-operability in much the same manor we have added support for Echolink?   (As I've mentioned, the idea of having to have different hardware board for each VOIP system you want to support seems redundant.)

A different hardware board for each of these proprietary VOIP systems that you want to support is required.  You also need a need a multi-port repeater controller, to support each hardware boards analog breakout. 

The reason is all these systems take an analog audio mixing approach.  And this feeds the need for a multi-port repeater controller, to support each hardware boards analog breakout. 

Asterisk is the best foundation for digital mixing.    Their MeetMe conferencing application is a good example.  It uses a hardware timing base/source.  When it comes to mixing digital audio streams its often necessary to have a this to ensure that all packets are "in phase" or "sync" with the remote end.  Without this digital distortion can be very noticeable, jittery, choppy sound.

IRLP lacks this digital mixing foundation and this is why you can only make/take one connection at a time.  You connect to a reflector to be in conference.  With EchoLink you can conference independently, but as noted above it usually sounds choppy.

If you want to drive the IRLP board with any other software, its circuitry is fairly simple, because it just talks to the parallel port.  Someone would need to code a driver to spy on the parallel port and sound card inputs and outputs so that IRLP or Echolink can be run without modification.

From what I understand the logic signals PTT/COR toggle the "call on hold" field and that's how the standard signaling is sent over a standard SIP/IAX stream. 

Asterisk Related:

asterisk-and-app_rpt.pdf - VoIP Linking for Radio Amateur Chapter 9 excerpt for reference

The Asterisk PBX as a Linked Repeater Controller - By Steve Rodgers, WA6ZFT 10/21/05

Simple FXS to simplex radio interface - from F6HQZ

Cheap Asterisk radio interface - consists of a modified USB sound device.  A channel driver exists in Asterisk that enables certain Cmedia CM108 based USB sound devices to provide the hardware interface between both commercial and amateur private land mobile radio equipment.   A pre-fab version is available from DMK Engineering.

Asterisk with app_rpt provides the following for Amateur Radio stations and systems: A Full Function Repeater Controller, Touch Tone Command and Control, Autopatch - Reverse and VOX Operation, CTCSS Decode/Encode Functions, A SIP Telephone Exchange, Voice Mail and Announcements, Contact Closure Telemetry, Non-Proprietary Software and Hardware,
PC/Linux Operating System Based, Remote Base Client, Fully Configurable and Programmable Communications Solution

Asterisk Radio Networks / Asterisk Amateur Radio Network  by Mars Reed, N0PCO  http://asteriskradio.net/

The Xelatec XIPAR project combines the Asterisk VoIP PBX with radio interface software and hardware that provides the following for Amateur Radio stations and systems:
A Full Function Multi-Site Linking Repeater Controller,  Touch Tone Command and Control, Autopatch - Reverse and VOX Operation, CTCSS Decode/Encode Functions, Asterisk VoIP Private Branch Telephone Exchange, Voice Mail and Announcements, Contact Closure Telemetry and Announcements, Non-Proprietary Software and Hardware, Open Source Linux Operating System, Remote Base PTT Dispatch Client Software for PC's,  A Fully Configurable and Programmable Communications Solution

Allstar Link Network http://allstarlink.org

Asterisk now supports Bluetooth channels.  chan_mobile allows one to use Bluetooth cell / mobile phones as FXO devices.   Yaesu came out with a Bluetooth ready 2m/440 FT-10R Mobile.  And the Yaesu VX-8 has optional bluetooth. Can the two be written to talk to each other?  One would think so.

Alert Interface - This device connects a receiver, such as an "All Hazards" warning receiver, to an Asterisk PBX. The intended purpose is to allow the warning messages to be broadcast over the Asterisk paging system.

Raytheon ARA-1 Analog Radio Adaptor  A radio to SIP interface.  See this review by Doug Hall titled SIP & Mobility - Bringing Radio to the 21st Century

RtpDir bridge software  (Real Time Protocol Director)  by Scott, KI4LKF.  Basic features:  Runs as Echolink/Echolink conference, IRLP reflector/Echolink conference, Echolink+IRLP or a private net.  Graphical environment.  DTMF control from Windows or Linux.  Remote text command control using ssh/Linux or PuTTY/Windows.  Can TX/RX IRLP messages without the IRLP board. Any station can connect to rtpDir bridge. It does not have to be IRLP or Echolink.  GSM, ADPCM, LINEAR codecs are supported.  Protocol conversion between IRLP, Echolink and SOON TO ARRIVE *Asterisk* PBX.  ADPCM ---> GSM, GSM ---> ADPCM transcoder included.  DTMF processing internal(built-in) or External(hardware).  Morse code IDs or Voice.  COS "sensing" or VOX or both.  Support for all link interfaces(sound mode or ASCII mode, VA3TO, WB2REM, G3VFP, G4CDY,...Rigblasters, MFJ, SignalLink,...)  Mark a station as "Mute", "Deaf" or "Mute and Deaf".  Timeouts for login, download, connection.  Activity reporting.  Audio recording and playback. RF station identification(audio, CW).  Welcome message(audio, CW or text). Convert text to CW. Runs as server or client. Interfaces with external scripts. Runs with or without a soundcard. Audio signal strength indicator. 

References:

http://groups.yahoo.com/group/asterisk_radio/
http://groups.yahoo.com/group/experimental_roip/
https://allstarlink.org/
http://asteriskpbx.org/
http://www.zapatatelephony.org/app_rpt.html
http://ohnosec.org/drupal/

In this video, VK5ZEA shows D-Star, IRLP and AllStar/Asterisk linking: http://www.youtube.com/watch?v=oWkFp7S2pXY