Software Phonepatch for the Asterisk PBX

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".

1. Introduction

A phonepatch is a device that allows radio stations to make phone calls. On the past, that could only be achieved with hardware devices, connected to the PSTN (Public Switched Telephone Network) and with a radio transceiver. Nowadays, with the arise of software PBX, the versatility of a phonepatch is not constrained to hardware, and it can be integrated as part of the software. This radio-phonepatch has been designed to work together with the Asterisk PBX on a GNU/Linux operating system.

Figure 1. Hardware phonepatch

Figure 2. Software Asterisk-phonepatch

The phonepatch has been designed to work on centralized networks, so the phone link can be used for more than one radio station. The only limitation is, of course, that just one simultaneous talk is possible. Note that each radio-user will have its own Asterisk extension.

Figure 3. Typical network using an Asterisk phonepatch

1.1. Features

  • Incoming calls (from phoneline or VoIP links) to radio users.

  • Outgoing calls (from radio to phoneline or VoIP links)

  • Multiple phonepatch instances on the same computer (using each one a different sound card, interface board and radio transceiver)

  • Audio language configurable, available for english and spanish.

  • Use festival for text-to-speech.

  • Audio gain for phone, radio link and festival are configurable.

  • Radio users can control phonepatch with DTMF tones.

  • VOX (Voice Operated Transmitter) processing for automatic PTT keying (phoneline->radio)

  • Compatible with HF and VHF/UHF transceivers (with carrier detection if available)

  • Configurable DTMF decoding.

  • PTT control configurable: minimum on time, maximum on time, penalty for maximum_on_time reached.

  • Uses soundcard to send and receive voice.

  • Serial/parallel port (plus extenal apps) to interface PTT and carrier detection.

  • Phonepatch audio messages (incoming, outcoming call, errors...) are configurable. All audio formats (WAV, AU, GSM, PCM, ...) can be used.

  • Asterisk-style configuration files (follow RFC-822)