Payload Pointer (Bytes H1, H2)
SONET/SDH are “Plesiosynchronous” protocols - even if your network equipment is timed and synchronized by a GPS Stratum source (atomic clock), there will be differences in the timing of systems, especially those that are far away from one another. Equipment has delay and jitter, and fiber has delay and jitter (jitter is uneven timing where the not rate speeds up and slows down slightly). No two systems will have identical delay, or identical jitter. So, due to differences in the clocks from different system, or due to faults, the frames from different systems will not aligned perfectly. To multiplex these signals, it is necessary to decouple the SPE frame alignment from the STS-1 frame alignment or to decouple the VT SPE frame alignment from the VT superframe. The payload pointers provide a dynamic floating SPE, and accommodate the phase and clock rate differences.

The STS-1 pointer (H1 and H2 bytes) performs two functions:
to locate the STS-1 SPE
to indicate the need of frequency justification
*** in some cases, they are also used for the path alarm signal management (AIS-P).
The STS-1 pointer (H1 and H2) is divided into three parts for a total of 16 bits (4 + 2 +10 bits = 16 bits):
four bits of New Data Flag (NDF)
two bits of unassigned bits
10 bits for pointer value, which are then separated into increment (I) bits and decrement (D) bits. The 10 bit pointer is required to represent the maximum SPE offset of 782 (9 rows * 87 columns - 1).
The first byte of SPE is the trace byte, J1 of the POH. When the J1 byte is on row 4, column 4, the STS-1 pointer offset is 0. When the J1 byte is on row 4, column 5, the STS-1 pointer offset is 1. When the J1 byte is on row 3 of the next STS-1 frame, column 90, the STS-1 pointer offset is 782. The following figure shows the pointer offset of 89.
NOTE: in the case of STS-Nc signals, only one pointer is needed. The first pointer bytes contain the actual pointer to the SPE, the subsequent two pointer bytes contain a concatenation indicator which is always 10010011 11111111.
Correcting drift (Stuffing)
When the input data has a rate lower than the output data rate of a multiplexer, positive stuffing will occur. The input is stored in a buffer at a rate which is controlled by the WRITE clock. Since the output (READ) clock rate is higher than the WRITE clock rate, the buffer content will be depleted or emptied. To avoid this condition, the buffer fill is constantly monitored and compared to a threshold. If the the content fill is below a threshold, the READ clock is inhibited and stuffed bit is inserted to the output stream. Meanwhile, the input data stream is still filling the buffer. The stuffed bit location information must be transmitted to the receiver so that the receiver can remove the stuffed bit.
When the input data has a rate higher than the output data rate of a multiplexer, negative stuffing will occur. If negative stuffing occur, the extra data can be transmitted through an other channel. The receiver must need to known how to retrieve the data.