Trunker Release 3.7a Documentation (Final)

Last updated Monday, March 29, 1999
Copyright (c) 1998, 1999 - Neal R. Fildes


Some time ago there appeared on USENET a program and its source code that provided the rudimentary ability to decode Motorola Type I, II, and IIi trunking radio system data. This program is a major enhancement to that program, and is also in the "public domain" with no guaranteed support (only grassroots voluntary support.) It is totally free, and anyone attempting to make commercial use of it will probably become a target of Motorola's legal department. (I have heard an opinion from a scanner manufacturer that since we are not making a 2-way radio system with the patent, there is nothing Motorola can do legally... but I am not a lawyer, and I'd prefer not to finance one...)


This program, with its rich set of features, was made possible by a world-wide team of contributors who assisted by collecting data on existing systems, providing interface information for various types of scanners, testing beta versions, developing features,  and offering feature suggestions. Special thanks are due IBM for making patents available on the WWW for all to share.

Current Feature Status

This software has undergone a number of revisions in four major areas:

This release consists of a merging of two separate development paths aimed at subsets of the above features to provide the union of both developers' contributions.


Typical Hardware Environment:

slicer and two scanners

Trunker and Commercial Trunking Radios

For those who already own a commercially available trunking scanner, Trunker can still provide helpful information for using that scanner. Four areas that may be valuable include:

For those who do not yet own a commercially available trunking scanner, Trunker can assist one in learning about how trunked systems operate and if they are used frequently enough to warrant purchase of an additional scanner.

Trunker and Non-Motorola Systems

Concurrent with the release of this Motorola-based version of Trunker is the initial release of a program called ETRUNK.EXE, which provides most of the same capabilities and an identical user interface as Trunker, but for GE/Ericsson EDACSŪ Trunked Radio Systems. This capability may be covered by a recently announced Uniden product as well as some custom software for use with the Optoelectronics OPTOCOMŪ receiver.

Use of System ID (SysId) as Primary Identifier

Since Trunker keeps a set of data files for each trunked system it monitors, it identifies them with a special field called the 'System ID' that is periodically broadcast by each system. It uses the SysId value to name data files and detect when the input scanner has moved on to another system. Since this SysId value is sent at intervals, it would be possible for some of the groups or IDs from the new trunked system to make their way into the previous system's data files. To avoid this, if Trunker senses a change of SysId field, it will not auto-save the data files from the previous system. The appropriate way to change systems and still have data saved is to use the 's' command to save the current system's data, then allow the scanner to search until the next trunked data channel is located.

The data files for a given system will be named with this SysId value. For example, if a system's ID is 1b27, files will be created with the names:

	1b27sys.txt	frequencies and bank map
	1b27page.txt	paging, group patch, and affiliation log
	1b27ids.txt	information on radio IDs
	1b27grp.txt	information on group IDs
	1b27Ptch.txt	information on multi-group patches

Networked Radio Systems

Larger trunked systems have a feature that allows a radio system design similar to that of a cellular network. Each of several repeaters in the large geographic area will be assigned its own set of frequencies distinct from nearby repeaters in the system. However, each repeater will broadcast the same SysId field and work from the same database of Group and Radio IDs. Trunker mimics this behavior and allows the frequencies from each repeater to be saved in a separate file, yet uses the common data base of Group and Radio IDs.

In addition to the above file names, you will see a file for each of the repeaters in the system that you have monitored. Example file names would be:

	1b27R5.txt	frequencies for Repeater 5
	1b27R7.txt	frequencies for Repeater 7

Note that if these files are used for a given system, the xxxxSYS.TXT file be over-written with a 3-line version containing ONLY the System Title, Bank Map, and Band Plan. This allows the Bank Plan from the last used repeater to be propagated to an new repeater file that is created. Sometimes, various repeaters may have a different band plan, especially with plans '8' and 'S'..

Also, after Trunker was widely disseminated, it was brought to our attention that this numbering scheme was 'off by one', with the user version starting at one instead of zero. At this time, we are sticking to the original (faulty) scheme.

A Comments About Hybrid Systems

Trunker will now detect the use of a type-II radio within a bank designated as type-I. When this occurs, Trunker will revise the bank letter for that bank to lower case (H becomes h) to indicate its use for both types of radios. Trunker will attempt to display the true type-II id of the radio instead of its type-I alias when possible.

Environment Variables Used by Trunker

Rather than requiring that many command line arguments be used for parameters that are relatively static, Trunker uses environment variables. In addition, because some systems may run out of environment memory unless tunable parameters are changed, Trunker supports the use of a single variable containing a file name in which the rest of the variables may be placed.

It is Highly Recommended that you set only the TRACKENV variable and put the rest in a text file! Problems caused by variable settings not 'taking' dominate the trouble reports for this version of Trunker and you can avoid many problems by using this approach!

The following table shows the variables used by Trunker:

Variable Name Use Allowed Values
TRACKENV The preferred method for passing variables to Trunker is to place a file name in this variable. The file would contain all the following variables just as they would appear in a .BAT file. Any valid text file name. Example:
TRACKSCANPORT The port to which the second, tracking scanner is connected COM1, COM2, COM3, COM4
TRACKSCANBAUD The baud rate at which commands are to be sent to the second, tracking scanner for jumping between audio channels. The scanner must accept the same setting. 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200
TRACKSCAN The type of scanner used for audio tracking. PCR1000, R10, R7000, R7100, R8500, AR8200, AR8000, AR5000, AR2700,AR3000, AR3000A, KENWOOD, KENWOOD9600, FRG9600, BC895, OPTO (OS456, OS535), OPTOCOM, NONE
TRACKSLICERPIN pin for input from the Data Slicer CTS, DSR, DCD
TRACKSLICERPORT The com port to which the data slicer is connected (via the input lead specified in the TRACKSLICERPIN variable.) COM1, COM2, COM3, COM4
TRACKSCANPARK Set this variable to a frequency that normally has no traffic, or which you would want to monitor if no trunked traffic is active.  Trunker will switch to this frequency when no calls are present or none of the active calls have a priority <= 50. By specifying this value, you can eliminate the possibility that Trunker will park on a frequency that has an active conversation but which you do not want to monitor. example: 854.0000 or any other frequency reachable by the scanner without changing from NFM mode Some users report problems with frequencies less than 100MHz for this variable with BC895XLT as the controlled scanner..
NOEMERGENCY Set this variable if you wish to suppress special processing of Emergency calls. At least one Trunker user reported that on their trunked system an emergency button may stay uncleared for hours! <any value to choose this option>
TRACKDIGITAL Set this variable if you want Trunker to follow digital  and encrypted calls instead of treating them as un-scannable. <any value to choose this option>
TRACKSLICERMODE Indicates whether the input should be inverted or not. Usually INVERT for inverting data slicer circuits. Trial and error may be necessary to determine the proper setting. If you used the /I flag with Trunker 3.42 or higher, this should be set to NORMAL. However, some Trunker users report having to reverse this option for UHF systems. NORMAL, INVERT

Command Line Arguments

None - if you provide any, a list of environment variables will be printed out.

Getting Started

First, identify which signal lead (DSR, CTS, or DCD) the slicer signal is wired to, then edit a .bat file containing your environment variables. A good way to check your data slicer and determine its configuration is a freeware program called SLICER.EXE. Once you know which pin is used, set up the configuration. First, create a global file that contains the variable settings you want for Trunker. It is best to use this file rather than put 'set' commands in autoexec.bat because it is easy to exceed the limits on environment space. Here is a sample "TRUNKENV.TXT":


Next, refer to this file via a SINGLE variable setting in AUTOEXEC.BAT. Assuming this file's name is c:\trackenv.txt, place the following line in AUTOEXEC.BAT and reboot:


Running Trunker in a DOS window (on a fast WINDOWS system) or under DOS, you should see a 43-line Trunker display:

blankscan.bmp (240118 bytes)
Next, tune the input scanner to the data channel of the trunked system to be analyzed. After several seconds, the display should look something like this:

begin.bmp (240118 bytes)
If, after 10-20 seconds, you see a status field of wantCTS, for example, it means that the TRACKSLICERPIN variable is incorrect. You can use the 'c' command to enter the CONFIGURATION menu, which will allow you to select the various input pins and polarities to find the correct settings. Once you have identified these, you can go back and change the values of  TRACKSLICERPIN and TRACKSLICERMODE for subsequent runs. Some Trunker users have noted that the normal/invert modes may need to be set on a system-by-system basis!

At this point, Trunker has determined many of the key parameters of this system. Since a call is in progress, Trunker is beginning to identify the voice frequencies in use. The system ID is 1f3e, and that code will be used to name the .txt files Trunker saves. This system either has a single repeater site, or multiple sites that all broadcast simultaneously on the same frequencies. The call in progress shows that the first bank (of 8) is a Type-II bank.This is saved in the 1f3eSYS.TXT file with the string MAP=2???????. The current call is for group (decimal) 3536 (or hex 0DD0 or Motorola Style 0DD). If one were to annotate this group by typing g0dd0Police Dispatch<return>, the line would read:

v857.2375*  49 Police Dispatch       3536 0dd_ G ----

Once Trunker sees traffic on all of the active voice frequencies and identifies the data channel frequency, the list will look something like this:

Flavor: Single or Multicast      Scanner: AR8000     Status: Hi-Qual Acc:   83.0%
SysId: 1f3e Type: 2??????? Title: UnNamed System
   Output   Pr                                              Trunker <version>
  Frequency ty Destination Title            ID  T  ID   Caller Title
cdv-------- -- -------------------- ..... ---- - ---- --------------------------
  v856.7625*49 ?                      1840 0730 G 149e ?
  v857.7625 49 ?                      2704 0a90 G 206c ?
  v858.7625 49 ?                       272 0110 G 13e9 ?
d 859.7625

If you edit the flat files produced by Trunker (either offline via text editor or database system or online with the 'g', 'i', and 'p' commands,) adjusting priorities and colors, you can get a display something like this:

Flavor: Single or Multicast     Scanner: AR8000     Status: Hi-Qual Acc:  85.3%
SysId: 1f3e Type: 22222222 Title: Zebra County SmartNet-II
   Output   Pr                                                 Trunker <version>
  Frequency ty Destination Title           ID  T  ID  Caller Title
cdv-------- -- -------------------- ..... ---- - ---- --------------------------
c v856.2375
  v856.7625*01 Mutual Aid            1424 0590 G 14ec B P Mutual Aid ???
 dv857.7625 06 WCCC Primary           368 0170 G 1c04 P P Waynesville 1/2William
 dv858.7625 08 M F Springboro 2101        16b6 I 16a9 M F Springboro 2103 Car

Referring to the next (color) screen shot, the police entries are blue, the fire / public safety entries red, and any shared group (mutual aid) magenta. I've distinguished between nearby organizations (bright blue or bright red) and less interesting ones (dark blue, dark red.) You can also see from this example that it is possible to re-arrange the frequencies in the xxxxSYS.TXT file and Trunker will maintain that ordering. I have manually added the frequencies with the 'L' in the voice column, indicating that the system is licensed to use those frequencies. However, should the system ever actually use them, Trunker will substitute a 'v' for that column, and I would then know that they have been placed in service. Finally, note that many systems change data channel frequencies daily or at random, so you will not   necessarily have four 'd' entries at first. You may have to search for the data channel on another day, first checking the known voice frequencies, then trying other frequencies within the pattern.

Here is a (partial) live screen shot of Trunker in action, monitoring the Warren County, Ohio system:

actual.bmp (68342 bytes)


Usage Scenarios

Gathering information on local trunked systems

With your scanner locked onto the data channel to be investigated, start Trunker. Once Trunker locks in on the signal, it will show the system ID and begin to collect information. If Trunker has already seen that system, it will retrieve the data files previously saved and note the use of the current frequency as a data channel. As there is activity on the system, it will step through the voice channels available. In order to fully collect information on the system, it may be necessary to find the system's data channel again on a number of days until all of them have been found (a maximum of four frequencies are used). If you want to look up the licensee for the system, wait until the CWID channel appears (a 'c' in column 1), then monitor that frequency until the callsign is heard. In larger systems, the first channel is often not used for voice traffic, so the only way to find the CWID channel is through the data channel "diagnostic" command.

Handling Bandplans for 900MHz Systems, Splinter 800MHz Arrangements, and Custom Mappings

By default, Trunker will interpret frequency assignments according to a "standard" 800MHz map. Use the following process to initialize the xxxxSYS.TXT file for 900MHz, UHF systems, splinter 800MHz arrangements, or other systems that do not conform to the standard mappings:

  1. With no xxxxSYS.TXT file in the current directory, start Trunker.
  2. Once the SysId appears, stop Trunker with the 'q' command.
  3. Edit the xxxxSYS.TXT file. Note the accuracy of the data channel entry to determine if a splinter arrangement is required. Delete all frequency entries.
  4. Add one of the following lines to the file, in uppercase and beginning in column 1, or edit one if it exists already:
    PLAN=8        for US 800MHz frequency plan
    PLAN=S        for Splinter 800 MHz plan (Trunker shows the data channel 12.5kHz higher than the true frequency)
    PLAN=9        for US 900MHz frequency plan
    PLAN=0        for all other plans including UHF, VHF and custom 800/900
  5. Save the file.
  6. Run Trunker again and accumulate frequencies until the list is stable.
  7. Stop Trunker with the 'q' command.
  8. Edit the xxxxSYS.TXT file as appropriate, replacing any hex values with the frequencies you have determined are appropriate. This may require searching a database of frequency assignments etc. If you set PLAN=8 or PLAN=9, or PLAN=S, most of the frequencies will be computed already by Trunker. If your system uses non-standard mappings, it will be necessary to edit any incorrect lines. If you must edit the lines, it is critical to maintain the exact spacing including the first three special characters and the F8.4 format.
  9. Special step only for systems that broadcast both the input and output frequencies (Especially UHF/VHF Systems): notice when pairs of frequencies are energized in synchrony at the beginning of a conversation, and record those pairings. Then move the input frequency to the 'input frequency' column of the output frequency's entry, and delete the line for the input frequency. For example, if 0x015 and 0x207 are related, and 0x207 represents 407.05, carefully change the file entries:
    [blank][blank]v0x015[3 blanks],15,ffff
    [blank][blank]v0x207[3 blanks],207,ffff

Analyzing Group Assignments

While using one scanner to monitor the data channel with Trunker, simultaneously monitor the frequencies it has exposed with a second scanner (or better yet, if you have a supported scanner, hook it up and use the tracking feature.) By simultaneously listening and watching, one can associate the conversation (especially unit designations) with a specific voice ID, and collections of users doing a particular activity (such as fire dispatch) with a group ID. Using the 'G' and 'I' commands, one can quickly add information to Trunker's data base in real-time.

To get a comprehensive list of groups and IDs, it is also possible to let Trunker run for days as necessary. For this to work, the scanner that is monitoring the data channel must be programmed with all of the data frequencies Trunker exposes and set up with proper squelch etc. so when the data channel changes frequency, the scanner will skip to the new one.

Once one has identified a group as having a specific function, Trunker will automatically annotate any new radios as having used that group the first time the radio was seen. One can than fine-tune the xxxxIDS.TXT file online with the 'i' command to set priority, color and title, or offline with a text editor.

Over time, should radio IDs get re-used, it is easy to notice a discrepancy in the display and update the annotation without stopping Trunker.

Recommended settings for this mode include Delay,not Verbose, and seekNew. If you use the audio scanner in trunk-tracking mode while using these settings, the program will give highest priority to the unknown group IDs to assist in identification. Once you have identified a group or user, you can use the 'I' or 'G' command to note its use and set its priority to a non-zero value, preventing future jumps to that group or user unless it is associated with call to a group or individual with a scannable priority.

The recommended approach for analyzing a new system is to first monitor the talk groups with the 'Verbose' option turned off and 'seekNew' turned on. Once you have the majority of talk groups identified, prioritized, and colored, then turn on the 'Verbose' mode. At this point, as each new radio is identified, since the talk groups are already annotated, each radio will then be assigned a priority according to the first talk-group it is seen on. As you see a white radio entry, you can then update its text string and color as appropriate. The seekNew option only seeks to new GROUPS so these new radios will not interfere with your monitoring process.

Handling Multi-Group Patch Calls

Sometimes a multiple group call is set up from one of the trunked system consoles. Each 'Patch' as it is referred to by Trunker, has a unique patch id and a list of associated group IDs. While that patch is being broadcast over the data channel, any calls by one of the participating groups' radios will be processed specially (based on the low 8 bits of the group ID known as 'flags'.) The text associated with the patch will appear with a 'P' in the T(ype) column. You can edit that text with the 'P' command after you enter the hex Patch ID.

If you have not edited a Patch record, the patch record will take on most of the characteristics of the participating group with the best priority.

If the patch occurs in a Type I bank, you will instead see the Group ID and Radio ID of one of the participating members, but you can see the list of participants in the Log window (and the xxxxpage.txt file if disk Logging is turned on.)

A Note about Automatic Annotation and Saving of Groups and IDs

Two features of Trunker are intended to support the collection of data about the users and groups in the trunked system. Automatic Annotation will update user radio ID records with the name of the talk group where the radio first appeared. While this is generally useful, it can lead to a proliferation of large numbers of undesirable records in the data files. For example, suppose the user has suppressed the tracking of a specific talk group, such as the Sewer Department. It doesn't seem useful to collect hundreds of IDs that may be associated with that talk group if the user is not monitoring it. Therefore, if the priority of a talkgroup is greater than 50, Trunker will not automatically annotate users of the group. Then, when Trunker exits or saves, those user records will not be saved.

Some earlier versions of Trunker did not save talk groups that were not annotated. This was necessary to allow it to operate in some very large networked systems without running out of memory. With the interpretation of the Status bits in Type-II talkgroups, this reduced the number of groups saved by a factor of 3 in those systems. In addition, the interpretation of the Type I talkgroups reduced the number of saved records nearly in half. In combination with the lack of automatic annotation of radios using suppressed talkgroups, it is hoped that Trunker will be able to save ALL talkgroups in those large networked systems.

Note that the current limit on IDs supported by Trunker is about 8,000 (total group, patch, and radio IDs.)

When annotating the newly discovered radio ID, Trunker will now assign it the same priority as the talk group it was first associated with. Its color will remain WHITE until edited.

2-Scanner Trunk-Tracking with a Supported Scanner

The audio scanner can be used to track the channels based on priority by hooking the TxD lead through a level converter to the serial input of the scanner. The scanner should be hooked up prior to starting Trunker. Trunker will put it into VCO mode, set the step, and drive it with the proper frequencies. Assuming one has already identified groups and IDs, and would not want to snap to new ids, you probably don't want the seekNew option set. The Delay and Verbose settings could be used according to user preference. Note that the equivalent of 'locking out' groups or IDs is accomplished by setting the priority for the groups and IDs greater than 50.

Detailed Documentation

Meanings and Possible Values of Key Fields

Field Name Values Meaning
Flavor Single Site (Old) This is an older type-I system that is limited in function. It does not broadcast the types of data words that would be necessary to support multicast or networked operation. It will normally take 10-30 seconds for the system ID to be determined for this type of system since the ID is not broadcast very often.
Networkable System is capable of being part of a multiple-site network, where each repeater would have its own set of frequencies. This value may appear momentarily before Trunker observes an indication of the existence of neighboring cells/sites.
Single or Multicast System has either a single repeater or multiple repeaters all simultaneously broadcasting on the same frequencies.
Networked This networkable site has broadcast information about its peers so is believed to be part of a networked system.
Status DX Rcv Accuracy of the data words received is <= 80%. A stronger signal would improve performance of Trunker.
Hi-Qual A received data accuracy > 80% indicates Trunker will monitor this system effectively.
sig?inv A signal appeared at the requested input pin but either is not present (check input scanner) or the invert option needs to be reversed.
wantCTS, wantDSR, wantDCD The selected pin does not have a signal on it. Check connection or try other input pins until you identify where your slicer applies the signal.

T (call type)

G,H Group call - any radio affiliated with that group receives the audio as a 'broadcast'. 'H' indicates a hybrid call where a Type-II radio is accessing a Type-I bank.
I Individual call - two radios participate in a conversation
E (blinking red) Emergency call - A radio user affiliated with this group has pressed the EMERGENCY button and has not yet reset it. Unless the 'NOEMERGENCY' variable is set, the appearance of this type of call will be accompanied by a long, medium-pitch speaker tone.
A All Talk Groups
P Patch - multiple groups are logically associated and all radios affiliated with all groups in the Patch can hear the sender as a 'broadcast'
M Multi-Select - multiple repeaters are participating in the call, one for each associated talkgroup
g Encrypted group call
e (blinking red) Encrypted emergency call.
a Encrypted ATG
p Encrypted Patch
m Encrypted multi-select
Gd, gd, Ed, ed, Ad, ad, Pd, pd, Md, md The small 'd' next to one of the above letters indicates a digital call.
Type ???????? Trunker has not seen evidence that any of the banks are Type-II, and the flat file has not been modified to specify any Type-I banks.
'2' in a column That bank has been observed to be a Type-2 bank, or the flat file has been edited to request that Trunker treat it that way.
a letter between 'A' and 'N' in a column That bank is to be interpreted as a Type-1 bank. See the Fleet Map Table below. *** These are NOT the Motorola Bank Size Codes ***
PLAN 8 800 MHz "Standard" plan - varied -
for fnum = 0 through 0x2CF, 851.0125 + .025*fnum,
for fnum = 0x2D0 through 0x2F7, 848.0000 + .025*fnum
for fnum = 0x32F through 0x33F, 846.6250 + .025*fnum
for fnum = 0x3C1 through 0x3FE, 843.4000 + .025*fnum
for fnum = 0x3BE, 868.9750
S 800 MHz "Splinter" plan - varied -
for fnum = 0 through 0x257, 851.0000 + .025*fnum,
for fnum = 0x258 through 0x2cf, 866.0125 + .025*(fnum-0x258)
for fnum = 0x2D0 through 0x2F7, 866.0000 + .025*(fnum-0x2d0)
for fnum = 0x32F through 0x33F, 867.0000 + .025*(fnum-0x32f)
for fnum = 0x3C1 through 0x3FE, 867.4250 + .025*(fnum-0x3c1)
for fnum = 0x3BE, 868.9750
9 900 MHz "Standard" plan - 935.0125 + .0125*fnum, fnum is 0 through 0x1DE
0 non-standard - new frequencies appear in hex, and must be edited for customized mapping.


Data Files

Trunker 3 generates and later reads four or more data files, with names based on the 16-bit SysId value:

the system information. (xxxx is the hex SysId value.) This file contains a line in which the user may label the system, a line in which the bank types / fleet mappings are specified, and a long-term history of the frequencies utilized by this system.
The equivalent of the SYS file for an individual repeater cell in a networked system. Note that 'n' starts with zero while user nomenclature appears to start with one for the first cell. Since this was brought to the attention of the Trunker team well after deployment of the 'numbered repeater' feature, the scheme will be left as-is so as not to cause difficulty with existing data files.
A running log of page signals found on the system, often useful in identifying working relationships between individual IDs. This file is also used to log details about multi-group patches. If the Xtended-info option is selected with the 'x' key, this file will also contain information about radios affiliating with groups and the data channel associated with neighboring cells in a networked configuration. The logging to this file can be disabled or enabled with the 'l' key
a CSV file containing all of the individual IDs found on the system, with associated priority, color, and text label.
a CSV file with identical format to xxxxIDS.TXT, but providing information for the groups utilized on the system.
a CSV file with identical format to xxxxIDS.TXT, but providing information for the multi-group patches observed on the system. Any changes to the annotation for these patches with the 'p' command will be saved in this file.

Keystroke Options

While Trunker is running, keystroke commands control various operating parameters and saving of data. When the data files are saved, the current settings of toggled options (NVDXLF) are saved in the xxxxSYS.TXT file. The keystrokes are:

Note that the menu may take more than one line, so the 'space' key will switch between menus. A particular menu item need not appear to be accessible - the keystrokes will work whether the particular item is visible or not.

Notes on Editing Trunker Records

When you enter the 'G', 'P', or 'I' key, you will be prompted for the group, patch, or radio ID (in hex.) For a Type-II ID, type the hex code by typing the 3 characters shown on the screen before the '_' (underbar) and substitute a zero for the underbar. For example, if the screen shows 1FA_, type 1fa0. For an unidentified bank, use the hex code from the screen, and for Type I Group OR Radio IDs, type the HEX VALUE OF THE INDIVIDUAL ID. In the Type-I banks, the radio ID contains both the group and individual information, and Trunker knows how to separate the fields based on the Type Codes you provide it. Do NOT try to type in a Type 1 Group Annotation, such as "3 02-12". For a Multi-Group Patch, type in the 4-character patch ID, as seen on the displayed call or observed on the paging/patch log window.

After typing the fourth character of the ID, or hitting ENTER or TAB after less than 4 characters, Trunker will display the current data record. You may edit the Title, Priority, and Color fields. To move to the next field, use the TAB key. To move within a field use the left and right arrow keys. Backspace is destructive, and the Insert and Delete keys function in the normal manner. You may either abort the current update with the <escape> key at any time, or commit the changes without tabbing through the remaining fields by using the ENTER key. Also, the Right Arrow key can be used to skip from the last column of a field to the first column of the next, but you cannot go back with the Left Arrow key.

When you reach the 'color' field, a colorized prompter will appear on the bottom line of the screen to help you select the proper color code. You can add 16 to the value shown for blinking, and/or add 32 to the value for a 'beep' from the speaker.

Screen Areas

Channel Status Area

This area of the screen contains static data about the frequencies used by the system, and real-time information about the current state of the various frequencies. 43-line mode is used to allow the full 28 (27 voice + 1 CWID) frequencies to be displayed. Only those frequencies actually used for voice, data, or CWID are retained in the xxxxSYS.txt file. In the channel area, the first three columns carry flags about the particular frequencies:

this channel gave out the CW callsign.
this channel was at one time the data channel
this channel has at one time carried voice connections. A different letter may be put in this column to allow unused frequencies to be maintained in the file. Once the frequency is actually used, Trunker will change this column to 'v'.

Each frequency identified (possibly in past sessions as saved in the xxxxSYS.txt file) is color coded:

frequency not presently active or is emitting the CW callsign.
frequency is active for voice.
frequency is currently the data channel.

Subsequent columns include:

the priority assigned the conversation, based on the composite of caller/destination priority. (A low priority is 'better'.)
this frequency is the current one which the Audio Scanner has been told to monitor, if you are using that feature.
Destination Title:
usually, the name (and color) assigned to the group in use by editing the xxxxGRP.txt file. For a private call, this will be the name and color assigned to the called individual unit in the xxxxIDS.txt file.
ID information, depending on the type of bank being displayed. For a Type II bank, this includes the decimal value of the talk group, the leftmost 3 hex characters of the ID, and an '_' to indicate flag bytes. For an unknown type bank, just the full 4 hex characters are displayed. For a Type I bank, the Bank#, Fleet#, and SubFleet # are shown, for example: "3 02-12" for Bank 3, Fleet 2, SubFleet 12. For hybrid calls, the group ID will also be shown in hex for direct entry into the 'G' command, since the individual ID may be that of a type-II radio.
either "G" for a group call, "I" for a Individual Call, "P" for a patched call among multiple groups (the best priority group will be shown followed by "etc.",) "A" for "All Talk Group",  "E" for Emergency Call, "M" for Multi-select, and "D" for Digital or encrypted calls.
The hex id of the calling individual (whomever last keyed their radio) if available. In group calls, this may sometimes be inaccurate if another group member keyed-up before the previous member's disconnect tone was sent out. For Type I banks, use this hex code with Either the 'g' or the 'i' command to annotate the Group or Individual, respectively, do not try to enter the group display text. For hybrid calls, this may be a type-II radio ID, so use the hex Group ID instead for group annotations.
Caller Title:
the name (and color) assigned to the individual, if known, as specified in the xxxxIDS.txt file. (see note in previous paragraph)

Command/Response Area

This zone consists of two lines, the first for prompting, and the second for displaying the results of the last entered annotation request.

Fleet Map Table

NOTE: These are NOT the Motorola Bank Size Codes!

Size Use
case for Type I, lower case for IIi or hybrid banks)
#Fleets #Subfleets
per Fleet
per SubFleet
S-0 2 1 n/a n/a n/a Type-II Bank
S-1 A or a 1 128 4 16  
S-2 B or b 1 16 8 64  
S-3 C or c 1 8 8 128  
S-4 D or d 1 1 16 512  
S-5 E or e 1 64 4 32  
S-6 F or f 1 32 8 32  
S-7 G or g 1 32 4 64  
S-8 H or h 1 16 4 128  
S-9 I or i 1 8 4 256  
S-10 J or j 1 4 8 256  
S-11 K or k 1 2 16 256  
S-12 L or l 2 1 16 1024 spans 2 banks(0-1,2-3,etc)
Trunker does not 'enforce'!
Typical use is ??LL????
S-13 M or m 4 1 16 2048 spans banks 0-3 or 4-7 where used
Trunker does not 'enforce'
Typical use is MMMM???? or ????MMMM
S-14 N or n 8 1 16 4096 spans all banks when used
Trunker does not 'enforce'
The only use for this code is NNNNNNNN

Sample Data Files


System Label on first line
MAP=222C2222		bank size map
PLAN=8			800MHz 'Standard' US Band Plan
OPTIONS=NVDXF		option key settings for this system
c v854.8875,9b,ffff	first 3 columns are flags, then freq. in MHz, then 'channel #'
  v855.1875,a7,ffff	4th column is 'input frequency' hex for certain
  v856.3125,d4,ffff	UHF systems which emit input frequency codes.
 dv0x320   ,320,ffff	this one is unknown or suppressed by user


hex,color,prty,"title",unused,decimal,display text
0450,1,9,"South Lebanon Local",0,1104, 1104 045_
0670,12,5,"Fire Primary (!2)",0,1648, 1648 067_
0890,8,99,"Sewer Dept",0,2192, 2192 089_
0ab0,5,7,"Franklin Local",0,2736, 2736 0ab_
0cd0,8,99,"Public Works",0,3280, 3280 0cd_


hex,color,prty,"title",unused,decimal,displayed value
1ce7,4,8,"M F Mason Fire",0,7399,1ce7
1ce6,4,8,"M F Mason Fire",0,7398,1ce6
1bdf,4,8,"M F HarlanTwp Fire",0,7135,1bdf
1bd9,4,8,"M F HarlanTwp Fire",0,7129,1bd9
1bd6,4,8,"M F HarlanTwp Fire",0,7126,1bd6
1bdd,4,8,"M F 81-4",0,7133,1bdd
3338,8,99,"Highway Mtce",0,13112,3338


May 19 12:09:40 New Patch id 184d, group 84d0(ENC - ENCD)
May 28 18:09:55 New @ G:0e90/Lebanon Dispa 166d Af-> 0eb0 Lebanon Fireground?tt?    
May 28 18:09:56           Chief 41 Lebanon 166c Af-> 0e90 Lebanon Dispatch          
May 28 18:09:58 M P Frank.Spring. (1)Zebra 13d8 Pg-> 13db SPD/CPD                   
May 28 18:09:59         Batall. 41 Lebanon 1662 Af-> 0e90 Lebanon Dispatch          
May 28 18:10:05             M F 4x Lebanon 164e Af-> 0e90 Lebanon Dispatch          

Notes On Data Content