TMP Processing

Home

 

Up

 

TMP Paging Packet Protocol

The E2000 uses the TMP (Telecom MessageTech Protocol) legacy paging packet technology which is loosely based on TNPP (Telelocator Network Paging Protocol). It is a superset of this protocol using packets for replies rather than single characters and expands on the block request functions to create a paging packet.

In this document the process which generates and transmits the TMP packet to the E2000 hardware is called the TMP Sender.

There are several types of packets for transmission (TMP sender to the E2000) . Each has a specific purpose. The E2000 only recognises the following types.

  • Page Request         This is the paging message packet

  • Sync                      The E200 treats this the same as a ENQ packet

  • ENQ                       This is an enquiry packet.

The ENQ is sent regularly in the absence of paging packets. The E2000 sends an ACK packet back so the TMP Sender knows the E2000 is operational.

The reply packets (E2000 to TMP sender)

  • ACK        This is the acknowledgement of the paging message packet.

  • NAK        This is the negative reply. It indicates the CRC was incorrect for the packet and to retransmit.

  • CAN        The E2000 send this when the buffers are full or it is unable to process the packet.

 

TMP Page Request Packet

The E2000 conforms to the following TMP page packet format.

 

Byte Position Field Description E2000 response
1 SOH Start of Header  
2 Header 1 The header is unique Don’t care as long
3 Header 2   as it is unique
4 Header 3    
5 Header 4    
6 STX Start of text  
7 P page request No other types accepted
8 1 Capcode 7 digits Converted to a long integer
9 2   using ltoa function
10 3    
11 4    
12 5    
13 6    
14 7    
15 F or P Baud rate Only accept P or F
16 A or N or T   only accept A,T,N
17 1,2,3,4 Function Don’t care
18 1,2,3,4 Channel Don’t care
19 1 Mask 4 digits Don’t care
20 2   Don’t care
21 3   Don’t care
22 4   Don’t care
23 1 Port Mask 2 digits either 80 or 40
24 2    
25 0 Priority Don’t care
26 length n Message 0 to 400 characters Truncated after 400
26 + n ETX    

 

TMP Packet Processing

The TMP Sender is responsible for correctly formatting the TMP packet. The packet should be tested for control characters especially in the message content. Any misplaced control characters will result in a poor CRC value if it conflicts with the TMP packet protocol.

The E2000 reads in the packet and tests the CRC value. The header is stored and returned in the response. The E2000 does not care what is contained in the header, it can be any printable character. The port runs in simplex mode only, that is it will only accept a single packet at a time for processing. At 9600 baud the packets are responded to in tens of milliseconds. For these reasons the header is superfluous however it is maintained to keep the TMP Sender generic.

Large messages where the pager message content exceeds 160 characters are assigned to an internal BigBuffer which will contain just 2 positions for both baud rates.

Normal messages are assigned to the normal queue of 48 positions for both baud rates. If the buffers are full the TMP packets responses are CANed. The TMP Sender should continue to send packets at the normal rate. As a single buffer position becomes available the packet will be ACKed. In this case the buffers would always be full as the positions are immediately filled as the messages are generated and sent to the radio networks.

TMP Packet Parsing

The E2000 examines the page request packet for anomalies in a number of fields. If there is a field with invalid data the packet is normally ACKed back to the TMP Sender and then is ignored internally. The ACK is sent back as there is unfortunately no other command available to indicate a bad field. The bad fields are indentified in the logging from the E2000.

The following fields are tested;

Priority

The E2000 uses the port number to determine the priority of the message. Ports B are normal and ports D are priority. The priority field in the TMP packet is ignored.

Port Mask

In the Hutchison configuration packets for either radio network can be sent down the same port.

This is the only mechanism for delivering messages to the different networks F1 and F2 from the same port.

The E2000 checks the first character of the port mask for the values 8 and 4. A 8 indicates F1 in the Hutchison configuration and 4 is F2. The E2000 is hard coded to one of these values and this value can be checked in the PPEViewer. The second character in the the mask is ignored.

The E2000 passes the packet to the other system out port E if the port mask value is not correct for the system. In addition if the port is the priority port then the packet header is changed to indicate the message is also a priority message. The header is destroyed in the process of sending the packet to the other system. As the packet is not intended for the system that received the message, it does not send a response back to the TMP Sender. It will store the header so if the other system responds then the header for the response from the other system is replaced and then it is forwarded back to the TMP Sender from the original system.

The TMP Sender will get a delayed response as the packet has been rerouted. In general this delay is in the hundreds of milliseconds.

Baud Rate

The E2000 checks the Baud Rate indication for F (1200) or P (512) and if it is neither then the packet is ACKed and then deleted from the QUEUE process.

Capcode

The E2000 converts the capcode to a long integer using the atol(); function. If the function can not convert the string to long integer, or the value is less than 8 or the value is greater than 2000000 then the packet is ACKed and then deleted from the QUEUE process.

Function

The E2000 strips the last 4 bits from this field then subtracts 1 leaving the result as 0 to 15. In the POCSAG generation only the LSB 3 bits are used 0-3.

PagerType

Pager type is initially checked for a T which if valid will place the message in a separate Tone buffer otherwise the E2000 stores the pager type field in the queue. When the POCSAG generation functions start the field is tested and if not A or N then the message is deleted from the queue and a log entry is made.

 

TMP Packet Responses

 

ACK Byte Position Field Description
1 SOH Start of Header
2 Header 1  
3 Header 2  
4 Header 3  
5 Header 4  
6 ACK acknowledge OK
7 EOT end of transmission
8 CRC1  
9 CRC2  
10 CRC3  
11 CRC4  
     
NAK Byte Position Field Description
1 SOH Start of Header
2 Header 1  
3 Header 2  
4 Header 3  
5 Header 4  
6 NAK resend packet
7 EOT end of transmission
8 CRC1  
9 CRC2  
10 CRC3  
11 CRC4  
     
CAN Byte Position Field Description
1 SOH Start of Header
2 Header 1  
3 Header 2  
4 Header 3  
5 Header 4  
6 CAN unable to accept packet
7 EOT end of transmission
8 CRC1  
9 CRC2  
10 CRC3  
11 CRC4  

 

 

 

Home ] Up ]  
Copyright © 2012-2021 MTEL Communications Pty Ltd
Last modified: 01-Jun-2022