tcpdump / windump modification for DMR-Monitor

This is a modified version of the utility "tcpdump" / "windump", a special development for the DMR-Monitor.
The modification creates a filtered output of the DMR header on the IP-side of a Motorola MotoTrbo network.
A new option for the type-parameter -T has been added: "-Tdmr".

Example call:

windump -x -l -n -Tdmr -i 1 udp portrange 50000-50005 and host 192.168.1.1

- Replace the device-ID (parameter -i) with the appropriate device ID for your system ("windump -D" shows a list)
- Replace the portrange by the range that you use on your DMR CBridge or SmartPTT for the different DMR networks.
- Replace the host-IP by the IP of your CBridge/SmartPTT server.
(Please find more information in the windump/tcpdump documentation)

Make sure that the limitation to a specific IP and a portrange is set up properly, otherwise the tool may create a lot of useless traffic!

Output format:

After a short time of silence the tool will output 2 different record types.

Short record format:

2012-01-16 11:30:38 50002 98 310401 69
2012-01-16 11:30:39 50004 97315100 69
2012-01-16 11:30:39 50002 98 302700 69
2012-01-16 11:30:45 50000 98 262420 66
2012-01-16 11:30:47 50005 96 31081 69
2012-01-16 11:30:48 50002 98 311707 6a
2012-01-16 11:30:48 50001 98 232101 66
2012-01-16 11:30:49 50004 98 315101 69
2012-01-16 11:30:56 50004 98 312601 6a
2012-01-16 11:30:56 50000 99 262600 6a
2012-01-16 11:30:56 50000 97 262450 6a
2012-01-16 11:30:57 50004 98 312600 6a
2012-01-16 11:31:00 50000 98 262460 66

This records show the active repeaters on the network(s).
Each repeater-id will appear once per minute.
This is filtered to reduce traffic, the real frequence is 10 messages per minute from each repeater to each other on the network and a reply back on each message.

The format shows 6 fields delimited by a single space character:

2012-01-16 date
11:31:00 time in UTC
50000 UDP port where report came in (decimal), associated to a specific DMR network
98 format type-ID in hex (96 / 97 master-keep-alive and 98 / 99 slave-keep-alive request and response)
262460 repeater-ID in decimal (human readable)
66 connection status of timeslots in hex

 

Long record format:

This is a reduced DMR header of voice streams. It is part of each UDP voice packet created by the repeater.
This tool sends it only once at the beginning of each transmission and once at the end.
The DMR repeaters use a sequence number which stays constant for the whole time that a signal is on air.
The last record has a final flag set.

2012-06-30 14:19:28 50000 80 262406 209 3106113 1 02 00007ea2 00 80 dd 53072 71881140 0 01 40 11 84 0a 96
2012-06-30 14:19:31 50000 80 262406 209 3106113 1 02 00007ea2 40 80 5e 53122 71886f00 0 02 40 11 84 0a 96
2012-06-30 14:25:38 50050 80 232101 43 2323111 1 02 00003483 00 80 dd 16612 4ddc42c3 0 01 40 11 84 0a 96
2012-06-30 14:25:39 50050 80 232101 43 2323111 1 02 00003483 40 80 5e 16630 4ddc6483 0 02 40 10 80 0a 96

The record shows 22 fields which are delimited by a single space:

2012-06-30 date
14:19:28 time in UTC
50000 UDP port where repeater reported (decimal)
80 format type-ID in hex (filtered for 80/81/84)
262406 repeater-ID in decimal (human readable)
209 sequence number of transmission in decimal, 0-255 (human readable)
3106113 source-ID in decimal (human readable)
1 destination-ID in decimal (human readable)
02 o12 (hex)
00007ea2 flctrl
00 o17 (hex)
80 o18 (hex)
dd o19 (hex)
53072 sequence in decimal
71881140 tstmp in decimal
0 s
01 o30
40 o31
11 length
84 o34
0a o35
96 dz

More details on the protocol can be found at dmr.darc.de
Select the button "log", then click on flags in the last column of a line in the log table.
This will open a new window which shows the decoding of the header of the selected transmission.

All standard features of windump/tcpdump have not been touched. Please check the manpage for more details.

Downloads:

Executable for Windows (WinPcap required) and samples of start scripts.
Patches for own compilation (Windows and Linux) based on windump/tcpdump rev. 3.9.3
Please check tcpdump.org for more information, documentation and requirements.

Last update: 2012-06-30 - Hans-J. Barthen, DL5DI