Monday, July 14, 2008
Two-Tone Pager Decoding Using Multimon
Here is a handy Linux based project that I recently worked on for a friend who happens to be a volunteer fire fighter.
A lot of rural volunteer fire departments still rely on the Motorola two-tone sequential paging system and analog Motorola Minitor pagers for dispatching their crews to a fire scene. The standard "Motorola Quick Call 2" paging protocol consists of playing two separate audio tones, the "A" and "B" tone. The "A" tone is played first for one second, then the "B" tone for three seconds. Both of these tones are transmitted on the fire dispatch frequency (VHF usually) which the pager is tuned to. Inside the older Minitor pagers, a mechanical reed is used to filter and decode each of the proper tones. While this may sound primitive, it is actually very reliable. A modern tweak to this type of paging system would be for the fire dispatch page to also be sent to your computer or cellular phone via text or email message. That is what this project will attempt to cover, with the pager tone decoding being done in software instead of having to tie up an additional pager.
For the tone decoding software, I used a slightly modified version of Thomas Sailer's multimon Linux radio transmission decoder.
Someone forked the original Multimon. The original version was badly in need of updating for compatibility with modern Linux installs. The fork is called multimonNG.
In addition to showing how to modify the source code to match the tone sequences you want to monitor, there is a patch to enable a "quiet output" option to the DTMF decoding and also flushes stdout for better reliability when used in this application. A potential Perl script to trigger an external commands such as start recording or send a text message/email to ones phone is included.
You can read more about the specifics here.