POCSAG also known as Post Office Code Standardization Advisory Group was born from British telecommunications and was the forefather of numerous other paging protocols including Super POCSAG, Flex, Mobi and several other proprietary ones. POCSAG is a fairly simple Asynchronous Protocol using a Frequency Modulation. POCSAG Multichannel Realtime Decoder. Contribute to iZsh/pocsag-mrt development by creating an account on GitHub. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any.
. Receivers. Software.
Interfaces. Systems. Various. PDW Paging Decoder Software Introduction. Beta version with SSL support for SMTP mail client. Executable only. Current stable Open Source release.
Final version developed by Peter Hunt. Open Source Since April 2013, PDW is available as open source software. This enables others e.g. To enhance the functionality, or to develop a Linux version. You can find the Github project repository. Support I lack the time to give individual support with PDW.
Please refer to the on this site. Donations Since Peter Hunt took over PDW in 2003, it has been freeware. Although Peter never wanted to earn money with PDW, some people kept on pushing him to offer a donation option. If you feel like donating, you can use or consult the manual for other options. Version 3.12 (28 July 2013) Bugfixes:. Fixed some deprecated coding techniques so PDW can be compiled with Microsoft Visual Studio 2012. Fix to prevent filter array overrun when moving items in window.
Fix in POCSAG parsing prevent buffer overrun. Fixed truncated messages in Mobitex Cosmetic:.
Link to PDW-website points to this page. Copyright reflects Open Source license Version 3.1 (26 September 2010) Bugfixes:. Due to a small mistake, Mobitex could not be decoded via the soundcard. Block Duplicate Messages This existing option has been extended and can now be configured in three ways:. Previous address+message is the same (no timer).
Previous message is the same (no timer). Previous address(+function)+message is the same The first option compares the current capcode and message with the previous. The second only checks the message text. The last option compares the address (and when monitoring pocsag, also the function number) as well as the message text. This last option also enables a timer (1-9 minutes). If a message is repeated within this period, it will be blocked. Also, you can now enable or disable the blocked.txt file to which blocked messages are logged.
Version 3.0 (10 August 2010) Bugfixes. In ERMES, sometimes the message text was copied after the previous message RS232 As some of you probably already know, RS232 is a standard for serial data communication. The well-known 2 and 4 level slicers which can be used with PDW don't observe the RS232 standard. This is the main reason why additional drivers are needed (comprt.vxd or slicer.sys) and why Serial-to-USB converters are useless.
These converters don't only convert the hardware, they also convert the RS232 data to USB-level. An has been developed especially for PDW, which does observe the RS232 standard. No more drivers are needed, which can solve problems with serial PCMCIA cards, and the interface also allows conversion to USB. Below are the modes/bitrates which are currently being supported:. Pocsag (512/1200/2400bps). Flex (1600bps).
Mobitex (8000bps) Using two DIP switches on the interface, 4 data speeds can be selected:. 512bps (Pocsag). 1200/2400bps (Pocsag). 1600bps (Flex).
8000bps (Mobitex) This means that ERMES and ACARS are not supported and when Flex and Pocsag are combined on one network, only one mode can be decoded at once. Only a combined Pocsag 1200/2400 network can be decoded without having to change settings. Invert Data In the Interface Setup window the data's polarity could be inverted, or set to Auto.
This automatic detection will now allways be used, you can't select a manual setting anymore. RX-Quality One of the things which could be found in the Debug window (F12) was the RX-Quality (decoding quality). This value is now being shown below the signal indicator and is an indicator for decoding errors. These errors can be either visible (garbled messages or coloured characters), or invisible (corrected by the error correction).
If the signal is strong enough (without noise), an RX-Quality of 100% should be possible. Version 2.60 (24 March 2010) Bugfixes. When using the command file, memory would slowly run short. Filters The filters.ini layout has been changed. The numbering has been removed and the FilterCount is not more than an indication.
Loading of the filters should be a bit faster, maybe only noticable on slower systems. 7-digit capcodes can now also be saved without two preceding zeros. When searching for 'duplicate filters', PDW will keep on running on the background. After searching a filter, F3 could be used to find the next filter. SHIFT-F3 can now be used to search backwards. SMTP port number The default SMTP port number is 25. You can no also define a custom port number.
Wordwrap The word wrap option has been removed. Internally it is now always enabled, except when monitoring Mobitex.
Logfile The two icons to open/close the logfile are merged into one icon. This will open the Logfile Dialog in which the logfile can be enabled or disabled. ALT-L can be use as shortcut to this dialog. Version 2.53 (11 January 2009) Bugfixes. When monitoring ERMES, it didn't seem to be possible to change the color for time/date.
By mistake, PDW seemed to use the color of the Paging time/date (Pocsag/Flex). The daily statistics (ALT-S) were logged to the wrong file (the next day in stead of the previous). Double click / text selection Before, at the second click the text below the mouse cursor would be selected, regardless of the position of the first click. Both clicks should be at the exact same position, otherwise you can rapidly click on two different words, causing the second to be selected. Should be fixed now. The double click speed in PDW was fixed, although you can set the double click speed in Windows' Control Panel.
This timer is a bit different than the timers in PDW, but I've tried to use about the same time for double clicks in PDW. Find Filter window I've made several changes in the Find Filter window. When this window will be closed after searching, you can use F3 to search again, using the same search string. Because of above change, but also on request, PDW will remember the the 'Case Sensitive' selection for as long as it runs. Before, the selection would disappear when the Find Filter window was closed. The option 'Search while Typing' has been removed.
PDW will now always search while typing. Also, the number of hits will appear, the number of times the search string appears in the filters. This number will be updated after each key stroke. Filter window Some extra keys can be used in the Filter window. As in other software, the space bar will scroll down, just like the 'PageDown' key.
If you wanted to delete a non-consecutive number of filters, this was possible with the 'Delete' button, but not with the 'Delete' key, which should be fixed now. The 'Enter' key would close the Filter window, but now the selected filter will be opened for editing. I don't think you will have to use the mouse often anymore. Version 2.52 (12 October 2008) Bugfixes. If more than one groupcall was sent in frame 00/000, there was a slight chance that not all of them would be displayed.
When selecting more than one filter in the filter window (using SHIFT), sometimes the wrong filter would be used as the starting point. After copy/pasting one or more filters, the last selected filter would remain selected, instead of the pasted filter(s). Date format Besides the date formats DD-MM-YY and MM-DD-YY you can now also select YY-MM-DD. (Options - General) Block Duplicate Messages in Filter Window Once again, a little change regarding this option.
It seemed desirable to block duplicate messages in the filter window also. Before, PDW only checked for duplicate messages in the monitor window, which could cause situations like this: 1234567 09-10-08 14:57:49 Message-1 7654321 09-10-08 14:57:50 Message-2 1234567 09-10-08 14:57:51 Message-1 Nothing would be blocked in the monitor window, the first and last message are no duplicate because of the middle one. If you wanted to filter Message-1 (code 1234567), but not Message-2 (code 7654321), Message-1 would appear twice in the filter window. This is solved now, a separate comparison will be made for filtered messages. The only oddity could be that the second instance of Message-1 would appear in het monitor window, but not in the filter window, causing the message to be blocked 'partially'.
However, this change will lead to less duplicated messages in the filter window. Version 2.51 (16 August 2008) Bugfixes Mobitex Base-IDs In the previous version I've made lots of changes regarding Mobitex. Unfortunately, I've made a little mistake in decoding the BaseIDs, causing them to be displayed wrongly. So if you have already started collecting IDs of base stations in your area, I'm afraid that you will have to start all over again:-( Double mouse click / text selection With a double (left) mouse click you can now select a word or address, which you can add to the clipboard using CTRL-C (or a right click and 'Copy Selection'), so you can easily paste it somewhere else. Block Duplicate Messages Regarding this option, I received a request to only check the message text. Before, PDW compared -if this option was enabled- the current address and message with those of the previous. If there was a match, the second would not be displayed.
However, it seemed desirable if only the message text could be compared, so consecutive messages with the same text, but different addresses, could also be blocked. Next to the option 'Block Duplicate Messages' you will now find 'Only check message text' which will make PDW only check the message text. Regardless of this change, the option 'Block Duplicate Messages' blocked a bit too much in Mobitex. Messages with the same MAN, but different TYPEs would also be blocked. This would only occur with so-called status messages when the Mobitex option 'Verbose' was enabled.
Mobitex Verbose / Sweep Frames If the Mobitex option 'Verbose' was enabled, status messages and sweep frames (containing base station information) would appear. Sweep Frames can now be showed apart from status messages. In the Options window you will now find 'Show Sweep Frames (BaseInfo)' next to 'Verbose'. Version 2.5 (19 July 2008) Mobitex In the previous versions I already made the first changes regarding Mobitex. This version contains only Mobitex changes. Not everyone likes to monitor Mobitex, since most data is unreadable. But I discovered that lots of issues were decoded wrongly.
MANs Already in the previous version, I was wondering how the 'messages' were addressed. Every message (package of data) has to have a destination, the receiver has to know what data is his, and what isn't. Mobitex seems to use MANs (Mobitex Access Numbers), 7-digit numbers which can represent the destination and also the sender. In all previous versions this data was already visible, but was displayed as the first part of the data. This first part is in fact a header, which contains the MANs, datatype, amount of data and can also contain controlling and network information. Both MANs will now be displayed, along with the data type. This means that I had to get rid of 3 other items, allowing the new items to be displayed.
Frame and Bit Sync have been moved to the title bar and you will not find CRC information anymore. On the one hand, the CRC OK/BAD was based on wrong information, sometimes it would show OK when the message contained errors, or BAD when the messages seemed OK. On the other hand, the RX-Quality (F12) should offer enough information about bit- and CRC errors. Also, the RX-Quality for Mobitex has been improved a bit, so it should be more reliable. Data Types Mobitex supports 4 different data types:. DATA. HPDATA.
TEXT. STATUS By default, they will all be shown.
You can enable/disable these items in the Options window (CTRL-O). TEXT should mostly contain readable text, I've never actually seen the type STATUS myself, and DATA and HPDATA mostly contain unreadable data, with sometimes a little bit of readable text. HPDATA stands for Higher Protocol DATA, which allows the user to use their own data protocol. The decimal identification of this protocol (HPID) can be displayed by enabling 'Show HPID' in the Options Window. Mobitex Packets (MPAK) Like GSM and other cell switched networks, a radio device doesn't only communicate with another device, but also with the network.
After all, when switching on a device, it sends a notification, so the network knows that this device is available and via which base station the data has to be sent. These 'Mobitex Packets' (MPAK) can be enabled via the Options window. Controlling / network information Since Mobitex is two-way traffic, things as acknowlegdements also need to be transmitted.
These are very short messages, which also were displayed in a wrong way. I don't want to go into this too deeply, but you can enable this type of information by enabling 'Verbose' in the Options Window. People who already monitor will certainly know the periodic, long and unreadable messages which always seem to contain about the same data. Again, a wrong interpretation, in fact these are so-called 'Sweep Frames' which can contain network parameters, or neighbour channel information. Unfortunately, I don't know the exact meaning of all parameters, but what gets to be shown in the new version comes a lot closer to reality.
What also should be displayed correctly are the neighbour channels. Again, like in other digital networks, each base station transmits his neighbour channels once in a while. This offers the mobile stations to periodically check these neighbours to see if one of these signals becomes stronger than the current base station.
This prevents the mobile from checking all available channels, which of course takes a lot more time. Base-IDs Once again, like in other digital networks, each base station transmits its own unique identification. Mobitex uses so-called Base and Area-IDs.
These two will be shown in the title bar as one hexadecimal ID. When knowing the exact location of different base stations, this ID can let you know on which base station you are currently tuned. It would be even better if it would be possible to link a name to these IDs, well that is possible! The file base-ids.txt offers the possiblity to enter BaseIDs and a label, such as the location. Junk at the end of messages More or less a bugfix, but again a bad (or missing) interpretation. The earlier mentioned headers also contain the length of a message.
Since Mobitex data is transmitted in blocks, the last characters of the last block would be filled with junk characters. Now, knowing the exact amount of data, this issue should be solved. Version 2.4 (16 March 2008) Bugfixes Bugfixes. Some advanced soundcards are being listed as two virtual soundcards. One for input, one for output. PDW would display the wrong one (output), but now the input will be displayed. Mousewheel scrolling didn't work from all screen positions Column order In previous versions the mode/type/bitrate column could be hidden.
This option is now replaced by Display - Screen Options which allows you to enable/disable any column in any order you like. Ofcourse, one column can only be selected once and at least the message column has to be visable. For FLEX networks which use dynamic groupcalls the options Use 'FLEX Group Mode' and 'Log groupcodes, but don't show them' can be selected. But as far as I know, dynamic groupcalls are only used in the Netherlands. Commandfile / commandline Using the commandfile external software can be called.
The number of characters which could be sent through the command line had a certain limitation, but should now be encreased. Also the commandfile can now be used with monitor-only messages. Before, this was only possible with filtered messages. 2x PDW via the serial port (VXD) Through the years I received lots of questions if it would be possible to run 2 sessions of PDW via two serial ports. The problem is that a VXD-driver can only be loaded once, on one serial port. It has to be possible to install Slicer.sys more than once, but somehow this also doesn't seem to work. However, someone tipped me that the driver Slicer.vxd (originally used with other software) could possibly be used for the second comport.
After some testing this seemed to work, and after renaming it to Comprt2.vxd, PDW would automatically use this second driver if the first (Comprt.vxd) was already loaded on an other serial port. In this way it is now possible to run two PDW sessions using two comports with W98 or ME. MOBITEX All those years Mobitex didn't change a bit. Recently I noticed that not all characters were being displayed. PDW would skip non-printable ASCII (ASCII-31 and below). In fact, these characters are 'non-printable' and shouldn't be displayed, but it seems that these characters are being used differently in Mobitex, causing some messages to be displayed shorter than they should be.
In this version these non-printable ASCII is being replaced by other characters so all messages will keep their original length. Also, the RX-Quality should now be more correct in Mobitex.
Fragmented FLEX messages Since FLEX messages are being sent in 'frames' (numbered data blocks), there is a maximum number of characters that can be sent in one single frame. If the network needs to send lots of messages at once, it can happen that one message can not be completed in one single frame, causing the messages to be split in two (or more) parts which will be sent in a next frame. If this happens, the message is 'fragmented'.
When receiving such a message on a pager, you normally wouldn't notice this, because in most cases the second part will be received before you are able to read the message. When monitoring with PDW, it would seem that one capcode is receiving more than one message, because the fragmentation-bit is not being displayed. In this version, some additional information will be displayed when receiving the second (or third/fourth) part of a message, so it is clearer that you are receiving a fragmented message: Version 2.3 (19 December 2007) Bugfixes. Text filtering didn't work correctly.
Sorting filters by label/description didn't work correctly. Already fixed in v2.16, but forgot to mention: When monitoring Pocsag, some numeric messages weren't displayed.
When monitoring Pocsag, biterrors in numeric messages weren't displayed. Also the first alphanumeric characters weren't displayed as biterrors if needed. When monitoring a FLEX network with 9 digit capcodes, some messages/capcodes were displayed garbled, or weren't displayed at all (since v2.14!). After adding the new option, which allows the filters in the filter window to be displayed using the same colors as their descriptions, it was difficult to see where a dragged selection would be dropped Edit filter: + and - By request I added a - and + button in the Filter Edit Window which allows you to make a quicIn thisk jump to the next or previous filter. You need to push 'Apply' first, if you want t o keep the changes. Using the mousewheel to scroll Some users could already use the mousewheel to scroll through the received messages.
This depended on the mouse driver. For those who couldn't use the mousewheel before, it should be possible now. Also there is a new option within 'Scrollback', which allows you to determine the scrolling speed. Commandfile / commandline Using the commandfile, users can execute external programs via the commandline. The maximum number of characters which could be used as commandline command seemed a bit too short for longer messages.
This limit has been increased to such an extent that I don't expect any more problems. The commandfile can now also be used for monitor-only messages too. Before, the commandfile was only enabled for filtered messages.
VXD Resets Now and then I receive reports that PDW sometimes stops decoding after a while, when using the serial port. In some cases, the needle keeps on moving, but no more messages would appear. In other cases, the needle stops and in those cases it would be possible to reactivate decoding by selecting the soundcard, then reselecting the serial port.
I tried to detect this 'stop' and give PDW an interal reset if detected. If this ever happens, the counter '# of VXD resets' in the Debug Window should keep track of it.
If you ever see any other number than 0, please let me know. Separate filterfiles In version 2.15, I introduced 'mutiple separate filter files', which allowed you to enter up to 3 separate filter files for each filter. When pusing 'more', an extra edit control would appear and the pushbuttons below would move automatically a bit lower. As this didn't always seem to work correctly, all three controls are now visible, but read only. To enter a file, you'll need to select one via the browse button, which also allows you to enter a new filename. Separate SMTP (per filter) Since the introduction of SMTP, I received lots of requests for separate SMTP so one can select per filter whether it should be emailed.
Finally, this is possible! In the Mail Window (CTRL-M) you'll need to select 'Selected Filters Only'.
Then the 'Send Email' checkbox will be enabled in the Edit Filter Window. POCSAG message types Sometimes I get reports that some POCSAG messages aren't displayed correctly. The problem is that POCSAG messages don't contain the actual message type. Only the network and the pager(s) both know for sure the correct message type. According to the POCSAG specifications the function bits should be used as:.
Numeric. Tone-Only. Tone-Only. Alphanumeric Unfortunately, some networks don't stick to these specifications and use the function bits differently, which makes it a bit more difficult to determine the correct message type.
Tone-Only messages will always be displayed correctly, as they are just an 'empty message'. Also, longer messages will also be displayed correctly, as there is a limit to the maximum number of numeric characters, making all longer messages alphanumeric. The most difficult messages are those which are shorter than the maximum number of numeric characters, they can be numeric or alphanumeric. PDW uses some tricks to 'guess' whether a message is numeric or alphanumeric.
In most cases PDW makes the right decision, but unfortunately sometimes a alphanumeric message gets to be displayed as numeric, or numeric messages as alphanumeric. Some examples of incorrecty displayed messages: 0007210 23:16:45 29-10-07 NUMERIC 1U 5000 22:50:59 29-10-07 NUMERIC 0UU-.64U91 0 22:52:26 29-10-07 NUMERIC 1U85 986 13:14:17 08-12-07 NUMERIC 39599 17 3 02:01:14 05-11-07 ALPHA?n 0115875 02:01:14 05-11-07 ALPHA E? 0122088 02:01:16 05-11-07 ALPHA?' 0115875 02:01:24 05-11-07 ALPHA!2 Above messages should have been displayed as: 0007210 23:16:45 29-10-07 ALPHA 000 22:50:59 29-10-07 ALPHA 07289 22:52:26 29-10-07 ALPHA 1 13:14:17 08-12-07 ALPHA VOICEMAIL Options - uncheck the 'Show label colors also in filter window' box. Just like in the filters window the filter label colors will also be displayed in the filter edit window, in the 'Color' box. Again, the background has the same color as the main PDW background (default=black) and the color names will be colored just as their name so you can see in one glimpse what that particular color would look like on the PDW background. Multiple text filters I've made up a nice name for this new option which arised out of the changed lay-out of some messages on one of my local paging networks.
If you want to filter messages which contain the words 'call' and 'asap', but these words are not connected like 'Call 0 asap' or 'Call the office asap', it wouldn't be possible to filter those messages rather on the word 'Call' or 'asap'. To make filtering possible on words which don't connect, you can now filter on strings like 'call&asap'. The &-character indicates that the first and second string can appear separately, but can also be connected.
You can use the &-character up to 9 times in one filter, so you can filter on 10 strings at once. Version 2.16 (01 February 2007) Bugfixes. When the filterlist was empty, no filters could be added. When the PDW window was being resized, sometimes a message could appear regarding a driver error Minimize to Systemtray PDW now offers the possibility to minimize to the systemtray, so it won't be visible anymore in the taskbar. PDW can stay in the tray until you doubleclick the tray icon, or it can restore automatically when a certain message is received. Via the menu item 'Display' you'll find the Systemtray settings: If you don't want PDW to restore automatically, only select the first option.
Else, you can also select the second option and choose one of the 3 options below. Versie 2.15 (11 January 2007) Bugfixes. When using SMTP, the TCP/IP stack would hang after a while, until PDW was restarted. When monitoring networks which use a different characterset, and the file language.df is used, the characters would only be remapped on the screen but not in de log files. If a complete wildcard filter was needed,????????? Didn't work for 7-digit capcodes.
In that case, 00??????? (2 preceding zeros) was needed. Also works Empty lines between messages In this version, the option is now selectable for the filterwindow and the separate filterfiles: Options (CTRL-O) - General. Before, only the message text was compared to determine if an empty line was needed. Now you can select if you want to check message&time or only the message. Again: Options (CTRL-O) - General. This 'empty lines option' has also been improved a bit.
When using 'date log files' a new log file will be created automatically when the first message of a new day is received. In the previous version that new log file would start with an empty line. Also, PDW won't show an empty line on the screen after the screen has been cleared (CTRL-D).
Clear Screen (CTRL-D) In the previous option I already mentioned 'clear screen'. In this version you can choose whether you want to clear only the monitor window, the filter window of both windows.
By default, both windows are selected. CAPCODE.WAV As in almost every update, the CAPCODE.WAV has been changed a bit.