Dutch P2000 implementation
Things I've noticed about the Dutch P2000 implementation:
- Flex Time is off by about 15 seconds!
- Flex time is sent about once a minute. Quite often!
- The systems uses full frame collapse; each pager receives every frame (although they may stop reception after the first blocks if their address doesn't appear in the list). While this reduces latency, battery consumption is increased.
- There seem to be different terminals on the system for sending messages, as not all messages are created equal. Search and rescue (KNRM) sends a full message to every address instead of creating a temporary address. Weird.
- While it is advisable to vector multiple addresses with the same message content to one single message, the message queue/optimizer does not recognize identical messages being sent in the same frame, and does not perform any de-duplication.
- The system seems to prefer adding addresses to temporary addresses instead of just adding these addresses in the same frame with vectors to the same messages as in (6), even when traffic is light. (it almost always is) This introduces an unnecessary 1.875 sec delay in message delivery.
- All the message numbers in the message headers are set to 0; I guess that kind-of makes sense if you're doing group messages; The message numbers for different pagers are not gonna match. Multi-fragment messages are recognized on message-number, so it might be interesting to see if collisions take place
- At our house, signal strength is through the roof. I've tried to faraday-cage the receiver to introduce some bit-errors, but mostly failed. There's probably a transmitter nearby that I don't know of.
The following pages could've been sent in about one-and-a-half frame, but ended up occupying nearly 9 full frames due to lack of transmission optimization. The message itself appears 12 times, while only once would've been enough.
+FRAME C:7 F:114 LENGTH:1 BI-LEN:0 VECT: 1 PRIORITY ADR: 0 Signal: 215 Noise: 98 used: 69 bytes | IDLE... \__________________________________________________________________ Memory used/free: 0/1686 bytes first free block @ 0x1c2 +FRAME C:7 F:115 LENGTH:1 BI-LEN:0 VECT: 11 PRIORITY ADR: 0 Signal: 217 Noise: 99 used: 139 bytes | RIC: 1400989 will join temporary address 0x1f7800 for frame 116 | RIC: 1400802 will join temporary address 0x1f7800 for frame 116 | RIC: 1400977 will join temporary address 0x1f7800 for frame 116 | RIC: 1400810 will join temporary address 0x1f7801 for frame 116 | RIC: 1400435 will join temporary address 0x1f7801 for frame 116 | RIC: 1400842 will join temporary address 0x1f7801 for frame 116 | RIC: 1400434 will join temporary address 0x1f7801 for frame 116 | RIC: 1400825 will join temporary address 0x1f7802 for frame 117 | RIC: 1400944 will join temporary address 0x1f7802 for frame 117 | RIC: 1400026 will join temporary address 0x1f7802 for frame 117 \__________________________________________________________________ Memory used/free: 80/1606 bytes first free block @ 0x228 +FRAME C:7 F:116 LENGTH:1 BI-LEN:0 VECT: 3 PRIORITY ADR: 0 Signal: 218 Noise: 99 used: 499 bytes | MESSAGE location word: 5 length:42 | ADDR:1400989 | ADDR:1400802 | ADDR:1400977 | Scenario Proefalarm dienstdoende functionarissen is geactiveerd! Het uitrukbericht staat voor u in de alarmeringscomputer. | MESSAGE location word: 47 length:41 \__________________________________________________________________ Memory used/free: 216/1470 bytes first free block @ 0x260 +FRAME C:7 F:117 LENGTH:1 BI-LEN:0 VECT: 22 PRIORITY ADR: 0 Signal: 218 Noise: 99 used: 601 bytes | MESSAGE location word: 43 length:2 | ADDR:1400810 | ADDR:1400435 | ADDR:1400842 | ADDR:1400434 | Scenario Proefalarm dienstdoende functionarissen is geactiveerd! Het uitrukbericht staat voor u in de alarmeringscomputer. | MESSAGE location word: 45 length:42 | ADDR:1400825 | ADDR:1400944 | ADDR:1400026 | Scenario Proefalarm dienstdoende functionarissen is geactiveerd! Het uitrukbericht staat voor u in de alarmeringscomputer. | RIC: 1400985 will join temporary address 0x1f7803 for frame 118 | RIC: 1400984 will join temporary address 0x1f7803 for frame 118 | RIC: 1400843 will join temporary address 0x1f7803 for frame 118 | RIC: 1400068 will join temporary address 0x1f7803 for frame 118 | RIC: 1400990 will join temporary address 0x1f7803 for frame 118 | RIC: 1400987 will join temporary address 0x1f7803 for frame 118 | RIC: 1400978 will join temporary address 0x1f7803 for frame 118 | RIC: 1430402 will join temporary address 0x1f7804 for frame 118 | RIC: 1430070 will join temporary address 0x1f7804 for frame 118 | RIC: 1400939 will join temporary address 0x1f7804 for frame 118 | RIC: 1400841 will join temporary address 0x1f7804 for frame 118 | RIC: 1400793 will join temporary address 0x1f7804 for frame 118 | RIC: 1420111 will join temporary address 0x1f7804 for frame 118 | RIC: 1400838 will join temporary address 0x1f7804 for frame 118 | RIC: 1400970 will join temporary address 0x1f7804 for frame 118 | RIC: 1400975 will join temporary address 0x1f7800 for frame 120 | RIC: 1400988 will join temporary address 0x1f7800 for frame 120 | RIC: 1400942 will join temporary address 0x1f7800 for frame 120 | RIC: 1400095 will join temporary address 0x1f7800 for frame 120 \__________________________________________________________________ Memory used/free: 223/1463 bytes first free block @ 0x2d7 +FRAME C:7 F:118 LENGTH:1 BI-LEN:0 VECT: 3 PRIORITY ADR: 0 Signal: 218 Noise: 99 used: 573 bytes | MESSAGE location word: 5 length:42 | ADDR:1400985 | ADDR:1400984 | ADDR:1400843 | ADDR:1400068 | ADDR:1400990 | ADDR:1400987 | ADDR:1400978 | Scenario Proefalarm dienstdoende functionarissen is geactiveerd! Het uitrukbericht staat voor u in de alarmeringscomputer. | MESSAGE location word: 47 length:41 \__________________________________________________________________ Memory used/free: 240/1446 bytes first free block @ 0x327 +FRAME C:7 F:119 LENGTH:1 BI-LEN:0 VECT: 17 PRIORITY ADR: 0 Signal: 216 Noise: 99 used: 590 bytes | MESSAGE location word: 33 length:2 | ADDR:1430402 | ADDR:1430070 | ADDR:1400939 | ADDR:1400841 | ADDR:1400793 | ADDR:1420111 | ADDR:1400838 | ADDR:1400970 | Scenario Proefalarm dienstdoende functionarissen is geactiveerd! Het uitrukbericht staat voor u in de alarmeringscomputer. | MESSAGE location word: 35 length:42 | ADDR:1400865 | Scenario Proefalarm dienstdoende functionarissen is geactiveerd! Het uitrukbericht staat voor u in de alarmeringscomputer. | RIC: 1400931 will join temporary address 0x1f7800 for frame 120 | RIC: 1400982 will join temporary address 0x1f7805 for frame 120 | RIC: 1400809 will join temporary address 0x1f7805 for frame 120 | RIC: 1400093 will join temporary address 0x1f7805 for frame 120 | RIC: 1420138 will join temporary address 0x1f7805 for frame 120 | RIC: 1400065 will join temporary address 0x1f7805 for frame 120 | RIC: 1400812 will join temporary address 0x1f7801 for frame 121 | RIC: 1400928 will join temporary address 0x1f7801 for frame 121 | RIC: 1400020 will join temporary address 0x1f7801 for frame 121 | RIC: 1400894 will join temporary address 0x1f7801 for frame 121 | RIC: 1400036 will join temporary address 0x1f7802 for frame 121 | RIC: 1420326 will join temporary address 0x1f7802 for frame 121 | RIC: 1220644 will join temporary address 0x1f7803 for frame 122 | RIC: 1220499 will join temporary address 0x1f7803 for frame 122 \__________________________________________________________________ Memory used/free: 214/1472 bytes first free block @ 0x483 +FRAME C:7 F:120 LENGTH:1 BI-LEN:0 VECT: 3 PRIORITY ADR: 0 Signal: 217 Noise: 99 used: 564 bytes | MESSAGE location word: 5 length:42 | ADDR:1400931 | ADDR:1400975 | ADDR:1400988 | ADDR:1400942 | ADDR:1400095 | Scenario Proefalarm dienstdoende functionarissen is geactiveerd! Het uitrukbericht staat voor u in de alarmeringscomputer. | MESSAGE location word: 47 length:41 \__________________________________________________________________ Memory used/free: 261/1425 bytes first free block @ 0x1e5 +FRAME C:7 F:121 LENGTH:1 BI-LEN:0 VECT: 4 PRIORITY ADR: 0 Signal: 217 Noise: 99 used: 648 bytes | MESSAGE location word: 7 length:2 | ADDR:1400982 | ADDR:1400809 | ADDR:1400093 | ADDR:1420138 | ADDR:1400065 | Scenario Proefalarm dienstdoende functionarissen is geactiveerd! Het uitrukbericht staat voor u in de alarmeringscomputer. | MESSAGE location word: 9 length:42 | ADDR:1400812 | ADDR:1400928 | ADDR:1400020 | ADDR:1400894 | Scenario Proefalarm dienstdoende functionarissen is geactiveerd! Het uitrukbericht staat voor u in de alarmeringscomputer. | MESSAGE location word: 51 length:37 \__________________________________________________________________ Memory used/free: 188/1498 bytes first free block @ 0x1e9 +FRAME C:7 F:122 LENGTH:1 BI-LEN:0 VECT: 4 PRIORITY ADR: 0 Signal: 216 Noise: 99 used: 470 bytes | MESSAGE location word: 7 length:6 | ADDR:1400036 | ADDR:1420326 | Scenario Proefalarm dienstdoende functionarissen is geactiveerd! Het uitrukbericht staat voor u in de alarmeringscomputer. | MESSAGE location word: 13 length:5 | ADDR:1220644 | ADDR:1220499 | test 20144 | MESSAGE location word: 18 length:42 | ADDR:1400871 | Scenario Proefalarm dienstdoende functionarissen is geactiveerd! Het uitrukbericht staat voor u in de alarmeringscomputer. \__________________________________________________________________ Memory used/free: 0/1686 bytes first free block @ 0x1c2 +FRAME C:7 F:123 LENGTH:1 BI-LEN:0 VECT: 2 PRIORITY ADR: 0 Signal: 214 Noise: 98 used: 244 bytes | MESSAGE location word: 3 length:42 | ADDR:1400983 | Scenario Proefalarm dienstdoende functionarissen is geactiveerd! Het uitrukbericht staat voor u in de alarmeringscomputer. \__________________________________________________________________ Memory used/free: 0/1686 bytes
These two (one, arguably) messages were split over 3 frames, but could've been transmitted in 1 frame with ease. Also note that these appear to have been sent by a different system or terminal, as absolutely zero message/address grouping takes place.
+FRAME C:6 F:25 LENGTH:1 BI-LEN:0 VECT: 2 PRIORITY ADR: 0 Signal: 255 Noise: 136 used: 104 bytes | MESSAGE location word: 3 length:13 | ADDR:1735169 | Prio 1, Vaartuig omgeslagen, STEbi \__________________________________________________________________ Memory used/free: 0/1685 bytes +FRAME C:6 F:26 LENGTH:1 BI-LEN:0 VECT: 3 PRIORITY ADR: 0 Signal: 255 Noise: 136 used: 174 bytes | MESSAGE location word: 5 length:13 | ADDR:1735067 | Prio 1, Vaartuig omgeslagen, STEbi | MESSAGE location word: 18 length:13 | ADDR:1735099 | Prio 1, Vaartuig omgeslagen, STEbi \__________________________________________________________________ Memory used/free: 0/1685 bytes +FRAME C:6 F:31 LENGTH:1 BI-LEN:0 VECT: 5 PRIORITY ADR: 0 Signal: 255 Noise: 115 used: 349 bytes | MESSAGE location word: 9 length:15 | ADDR:1735804 | Prio 1, Vaartuig omgeslagen, STEbi,HVSrba | MESSAGE location word: 24 length:15 | ADDR:1735800 | Prio 1, Vaartuig omgeslagen, STEbi,HVSrba | MESSAGE location word: 39 length:15 | ADDR:1735067 | Prio 1, Vaartuig omgeslagen, STEbi,HVSrba | MESSAGE location word: 54 length:15 | ADDR:1735099 | Prio 1, Vaartuig omgeslagen, STEbi,HVSrba \__________________________________________________________________ Memory used/free: 0/1685 bytes