T3 and
the DS3
This section is extremely complex, and has been laid out with very exacting details. It is very dry reading - but stick with it. Once you truly understand the DS3 - you will then begin to grasp many other concepts of telephone, since the DS3 concepts are applied to many other data communication technologies.
Before you can understand the DS3 signal, you must know the hardware components and some of the protocols and standards associated with the components of the DS3 . . . the DS1 and the DS2. For this section, since the DS0 and DS1 have already been described in detail, we can skip the DS0 level. However, we will continue to discuss the DS1, since it is a direct contributor to the DS2 and DS3.
Two forms of DS3
M13 Asynchronous - this is the original standard DS3, which will be used for the majority of this page. The C-bit Parity will be described after, and it can be described quickly, since it makes a simple change. The M13 Asynchronous DS3 is formed using a 2-stage process, where stuff bits are added to both the DS1-to-DS2 stage, and also the DS2-to-DS3 stage. Since this does not provide end-to-end parity checks, it has been largely replaced by the more efficient C-bit parity DS3 structure
C-bit Parity - it became apparent that once stuff bits were added during this DS1-to-DS2 stage, the signals were synchronized, and the adding of stuff bits during the DS2-to-DS3 stage was redundant and unnecessary. However, since "C-bits" were already reserved for the control of the stuff bits during the 2nd stage - the C-bit parity structure reassigns them for other purposes, such as alarms, parity, and error control. Therefore, this format makes use of bits that were previously used in a useless fashion, and as a result, the T3 is more stable and efficient. Most providers use C-bit Parity for their DS3 services.
*** from this point on . . . assume the discussion refers to M13 Asynchronous DS3 format. After a complete description of that, we will list the reassignment of the C-bits, which is all that will be needed to explain the C-bit Parity DS3 ***
Composition of a DS3 - what We See
The de-facto DS3 data rate is given as 44.736 Mbps in many sources, but they never explain how to get there. It is common knowledge that an M1/3 (Multiplexer DS1 to DS3) is used to combine T1 signals onto a single T3 using TDM (Time Division Multiplexing). In actuality, the data rate was chosen because it is an even multiple of the sampling rate (8 kbps) and it is large enough to allow for more than enough stuff bits, which are required for the timing drift in the T1's.
The DCS
At the provider's POP, the M 1/3 is typically part of a larger, more complex unit called a DCS (Digital Cross-Connect System). The DCS is also called DACS (Digital Access and Cross-Connect System). In the old days, the POP would use a multiplexer to combine the T1 signals, and a large physical patch panel with cords and plugs to route the DS1's and map them to different DS3's. In this way, a T1 private line could come into the POP riding on one DS3, be broken out by an inverse MUX (M 3/1), sent through the patch panel, and onto another input line to another Mux (M 1/3) which would combine it with other T1's onto another DS3 and it would then continue it's path across the country.
The DCS replaced the old, clumsy, time-consuming patch panel with digital circuitry which could be instantly configured and mapped from a terminal. There are many brands, and types of DCS units. In the early days, the DCS and MUX were two separate units, but have been combined, so that most DCS units have multiplexing capabilities built-in. Most of them actually consists of multiple M1/0's and M 1/3's and digital "patch panels" (cross-connects) - many are expandable and allow add-on units. The DCS has the capability of mapping either DS0's from one DS1 to the next - or DS1's from one DS3 to the next.
*** For the purposes of this discussion . . . the creation of a DS3 from DS1 signals . . . only multiplexing is required - no cross connects. Therefore we will only address the Multiplexer in this discussion from here on . . ..
We have all seen network diagrams which depict 28 T1's terminating to a multiplexer, with one T3 coming out the other end.
Internal Processes - the diagram itself is actually correct, but there is some serious processing going on inside the mux, which must be examined in order to understand the composition of the T3. The diagram can actually lead the reader to the fallacy that the conversion is a direct aggregation of T1's to T3. But the process requires an intermediate conversion to multiple T2's as described below.
Overhead - from what we see . . . the fact is, that one DS3 has 28 x 24 = 672 DS0's, each at 64 kbps - we see that the payload speed, or throughput, is 672 x 64k = 43.008 Mbps. Since the data rate of a T3 is already established at 44.736 Mbps, the rest is overhead, where Overhead = 44.736 - 43.008 = 1.728 Mbps (or 1728 kbps). There is overhead, but the model is wrong, as will be explained shortly.
Even if we consider that a T1 has 8 kbps overhead for the framing bits (one out of every 193 bits), then the overhead would be 28 x 8 kbps = 224 kbps. This is way less than the actual overheard that we just calculated at 1728 kbps. From what we see - it is unclear where all this additional overhead is coming from.
It's in the Stuff Bits - T3's have
been designed to take care of the drift in T1's by adding reserved space for
stuff bits. In fact, even if the T1's are tightly synched - the stuff bits
are still there - they just aren't used and are discarded at the terminating MUX
that strips the T1's back out from the T3. Think of it as an airline that
undebooks passengers, so they always have room to spare. Recall that T1's are actually "pleiosynchrnous"
- "almost synchronous" and require stuff bits at the mid-span meet
(wherever two T1 systems with 2 different clock sources meet). T3's have much more stringent timing
constraints that T1's, because the T1's drift - and they must deal with the
process of inserting stuff bits, and the even more difficult process of
signaling the presence of stuff bits, where the stuff bits are, etc..
The 2-Stage Process - what We don't See
The DS2
There are two steps in the creation of a DS3 signal . . . DS1 to DS2, then DS2 to DS3. The creation of a DS3 signal is actually a very complex, two-stage process, which involves the DS2 data stream. The DS2 is not a commercial product. It is not available for customers, but it is an intrinsic component of the DS3, and does exist within the M 1/3 multiplexer.
Note that the M 1/3 DCS is a combination Multiplexer and cross-connect (a digital "patch panel"). It has the capability of mapping DS0's from one DS1 to the next, but for the purposes of this discussion - only the multiplexing stage is required.
Now, does this come out to 44.736 Mbps if we multiply? No - because there are DS3 control bits, not associated with the 8 kbps of each T1, and there are also stuff bits inserted by each DS1/2 Mux, since T1's are plesiosynchronous.
Plesiosynchronous - signals that are at almost an identical rate, but the timing source can differ by a very small amount. These signals can be aligned by inserting dummy bits into the stream, known as "stuff bits". Again, T1's are plesiosynchronous - not synchronous !!
Bit Interleaving - the building blocks of the T3 employ TDM, as does the T1 structure. However, the signals at both stages employ "bit interleaving", and this means that the sub-frames contain bits from all the inputs, in the order shown:
![]()
Stage 1 of 2 - DS1 to DS2
The DS2
Stage 1 is the creation of seven DS2 streams of data - each comprised of four T1's and overhead..
The DS2 data rate is established at 6.312 Mbps (they picked a value that is evenly divisible by the sampling rate of 8 kbps and that includes plenty of extra bits which can be used for stuff bits)
The DS2 is transmitted using M-frames (Master Frames) of 1176 bits.
Unlike the well-known B8ZS, DS2 signals use B6ZS (BiPolar with Six Zero Substitution) instead of B8ZS, which was used with DS-1 signals. It is more stringent in that it only allows a maximum of 5 consecutive zeros to occur. If six zeros occur, they are replaced with special bipolar violation code word of either 0+-0-+ (if polarity of preceding pulse was +) or 0-+0+- (if polarity of preceding pulse was -).
NOTE: DS3 uses B3ZS
Overhead
The DS2 multiplexes four T1's at 1.544 Mbps into one data stream of 6.312 Mbps
However, 4 x 1.544 = 6.176 Mbps, not 6.312 Mbps, so this leaves 136 kbps of overhead. The overhead occurs both as the first bit in each DS2 49-bit block (OH bits) and as the first bit or bits after the OH bit (stuff bits). The two types of overhead can be described as follows :
DS2 overhead bits (OH Bits) - for Framing, or Control bits (1 bit per 49-bit block, 6 OH bits per sub-frame, 24 OH bits per frame). There are three types of OH bits - F-bits (framing), M-bits (multiframing), and C bits (control for bit stuffing).
DS2 stuff bits (bits inserted into the data portion of the subframes - their position is directly after the OH bit). The amount of stuff bits depends on that T1's drift, but is typically one or zero bits in each 49-bit block.
Stuff Bits (also called "Pulse Stuffing") and the "Timing Window" - at each T1-to-T2 mux, there are 4 incoming T1's. The incoming T1's, by the accepted standards, can have a specific allowable bit drift of 200 bps for each T1 in either direction - this is the "timing window". Since a T1 is at 1,544,000 bps, the 200 bps allows a drift of only about 0.1% Nevertheless, the drift must be corrected by adding stuff bits where appropriate. This is actually a very difficult process, and the majority of the 136 bits of overhead are assigned to this task. The insertion of stuff bits is simple, but the management is difficult (signaling the presence of stuff bits, the number of stuff bits, the location of the stuff bits are, etc.) If there are any stuff bits in a block, they always appear at the beginning of each block, just after the Control bit. After that comes the data.
Stuff Control Bits are used to identify the contents of Stuff Bits. If a majority of the Stuff Control Bits are a 1, the Stuff Bit is holding an inserted bit. Otherwise, the
Stuff Bit contains data. Each subframe has three Stuff Control Bits (Ci) and one Stuff Bit (Si). Since the Stuff Bit may or may not contain data, each subframe may
contain either 288 or 287 data bits.
The three DS2 groups of bits :
49-bit Blocks - with one OH bit and zero or more stuff bits, and up to 48 data bits
294-bit M-SubFrames - with six Blocks
1176-bit M-Frames - with four M-SubFrames
Each Master Frame is divided into four Master sub-frames, and each sub-frame has six "Blocks". The four T1's are bit-interleaved into these blocks, each block contains bits from each T1. The following is one block of the DS2 data stream - no stuff bits are shown, but they are inserted whenever one of the T1's data streams drifts more than 200 bps ahead of the others. The manner in which this is proprietary and varies from one vendor to the next, but the standard must be adhered to.
NOTE: although a stuff bit is shown here - the vast majority of blocks contain no stuff bits
Each of these subframes has 6 blocks of 49 bits. One bit is overhead - the one bit is reserved for alignment, alarms, and as a flag to specify whether or not stuff bits were added. The other 48 bits are data and stuff bits. The following diagram shows a block (top third of image) with 2 stuff bits in blue. They are shown as an example, but the majority of blocks have no stuff bits, or one at the most. The clock sources are very close, and only an occasional stuff bit is needed, typically.
Here is another view of the DS2 Frame :

The Types of OH Bits
Note that there are six blocks in each subframe. The first bit of each block is an OH bit, and they cycle through as M-bits, F-bits, and C-bits as follows :
F-bits - Framing bits - there are 8 F-bits per frame . . . 2 per subframe. For each subframe, they occur at the beginning of Block 3 and the beginning of Block 6 and have a simple pattern of 0,1 which repeats. They are used to align the frames within the signal. This is related to synchronization, but instead of telling the receiving end how to run the clocking (which all the bits do this) - the F bits tell the receiving end where the Frames start. Note that not every frame has a framing bit
M-bits - Multiframing bits - there are 4 M-bits per frame . . . 1 per subframe. For each subframe, they occur at the beginning of Block 1 pattern of 0,1,1,X where X can be a zero or a 1.
C-bits - Control bits for stuff bits - there are 12 C-bits per frame . . . 3 C-bits per subframe. They occur at the beginning of Blocks 2, 4, and 5 of each subframe. For each subframe, if all 3 C-bits are 1's - then one stuff bit is present in the first OH bit in the following subframe. If all 3 C-bits are zero, then there is no stuff bit, and the reserved bit should be treated as a normal data bit. Three C bits are used to protect against a bit-error. If one C-bit differs from the other two, it is disregarded and all three are assumed to be the same.
Analysis - yes, sorry . . . the dreaded Math !!!
In order to truly understand what is going on - it helps do go through the math - just once. The final DS2 is comprised of Data, OH bits, and Stuff bits. We can look at it as having 4 inflated T1 data streams . . . inflated by the stuff bits. The reserved stuff bits are there regardless of whether or not they are needed. They may, or may not be occupied by actual stuff bits. The OH bits tell the system whether or not they are.
Data Bits
Data Bits = 4 streams of 1544000 = 6176000 bps
OH Bits
Overhead Ratio (from one frame) = 24 OH bits per 1176 bit frame = 24/1176 = 2.04%
DS2 data rate is established at 6.312 Mbps = 6,312 kbps = 6312000 bps (evenly divisible by sampling rate of 8 kbps)
Overhead from OH bits = overhead ratio x 6312000 = 128816 bps
Since there are 4 subframes, each subframe has an OH data rate of 128816/4 = 32204 bps
OH bits = 4 streams of 32204 = 128816 bps
Stuff Bits
Taking the standard DS2 data rate, we subtract the OH bits to see what is left for data and stuff bits :
6312000 - OH = 6312000 - 128816 = 6183184 bps
This represents an intermediate four data components that take each original T1 input of 1544000 and add bits that are reserved for stuff bits - the new data rate for this intermediate "T1 with stuff bits" is :
6183184 divided by 4 = 1545796 bps
Stuff bits in one inflated T1 data stream = 1545796 - 1544000 = 1796 bps
Stuff Bits = 4 streams of 1796 = 7184 bps
NOTE - in each inflated T1 stream - the amount of the 1796 reserved bits that are actual stuff bits will vary, depending on how far the T1 has drifted away from 1.544 Mbps. However, there will always be 1796 bits present. They are later stripped off and discarded. Their only purpose in life is to present 4 synchronized data streams to the DS2-to-DS3 conversion (Stage 2).
Working back to the Original Established DS2 Data Rate to check our Math
1544000 bits for original T1 data, and 1796 bits for stuff bits).
Circling back - the data rate of the DS2 can now be found by combining the four intermediate, inflated T1 streams (which include the bits reserved for stuff bit s) with the OH bits.
NOTE: Remember, the OH bits are used for several things - but one of them is to tell the receiving end whether or not the 1796 reserved bits contain stuff bits, and if they do contain stuff bits, the OH bits tell the receiver how many there are and in what blocks they reside in.
(4 x 1.545796 Mbps) + .128816 Mbps = 6.312 Mbps
Summarizing, the DS2 :
4 T1 data streams at 1544000 bps = 6176000 bps for data (97.84 %)
4 sets of OH bits at 32204 bps = 128816 bps for OH bits (2.04 %)
4 sets of stuff bits at 1796 bps = 7184 bps reserved for stuff bits (0.11 %)
Total = 6.312 Mbps
The following Pie chart depicts the components of the DS2. As the four T1's timing drifts, the small blue slice will move with time, as the need for stuff bits varies with time. Since the actual percentages for OH and stuff bits is so small, the slices are artificially enlarged so that they can be seen.

![]()
Stage 2 of 2 - DS2 to DS3
Thankfully - we can make this section much shorter. We covered the laborious details in Stage 1, which is almost an exact re-enactment of Stage 2. The only difference is in the numbers :
Stage |
Bits per Block |
Blocks per SubFrame |
SubFrames per Frame |
Bits per Frame |
Stage 1 |
49 |
294 |
4 |
1176 |
Stage 2 |
85 |
8 |
7 |
4760 |
The Overhead Bits
7 x 6.312 = 44.184 Mbps (not the established 44.736 Mbps - this means there is 552 kbps of overhead added by this stage of processing). The extra bits, similar to the DS2 rate, are used for
DS3 Framing bits
DS2 stuff bits
Stuff Bits - at the T2-to-T3 mux, there are 7 incoming T2's. Just as the first stage did - the drift must be corrected by adding stuff bits where appropriate. However, any drift of the T1's has already been largely handled by the first stage stuff bits, so there will be very few, if any, stuff bits inserted during this stage.
The DS3 Frame - each frame is divided into seven subframes, and each subframe has eight "Blocks" of data - which are 85 bits apiece. Like the DS2, the seven T1's are bit-interleaved into these blocks, and each block contains bits from each T1. Again, the first bit is a control bit, and stuff bits are added, if needed, directly after the control bits. Like the DS2, the stuff bits are placed within the payload - which for DS3 blocks is 84 bits.
Again, the first bit is a control bit, and stuff bits are added, if needed, directly after the control bits. Like the DS2, the stuff bits are placed within the payload - which for DS3 blocks is 84 bits.
Calculating the average Overhead of a DS3
Overhead of Stage 2 = 56 bits per 4760 bit frame - the overhead ratio = 56/4760 = 1.17%
DS3 data rate is established at 44.736 Mbps = 44,736 kbps
Overhead from Control bits = overhead ratio x 44736 = 526.3 kbps (assuming stuff bits are approx zero)
approximate overhead from control bits = 526 kbps
Two forms of DS3 Revisited
Recall that at the top of this page, we discussed the two forms of DS3's - here are the two types of blocks. Note that the modern C-bit parity replaces the C-bits with useful control bits (the C-bits for bit-stuffing are redundant, since the first stage of creting the DS2 stage took care of stuff bit already). DO NOT CONFUSE THESE BLOCKS WITH THE DS2 BLOCKS DISCUSSED EARLIER !! The DS2 blocks do have the F, M, and C-bits, but they do not have the X or P bits of the DS3.
|
|
85
BITS (8 blocks) |
|||||||
|
1 |
X |
F1 |
C 1 |
F0 |
C 2 |
F0 |
C 3 |
F1 |
|
2 |
X |
F1 |
C 4 |
F0 |
C 5 |
F0 |
C 6 |
F1 |
|
3 |
P |
F1 |
C7 |
F0 |
C 8 |
F0 |
C 9 |
F1 |
|
4 |
P |
F1 |
C 10 |
F0 |
C 11 |
F0 |
C 12 |
F1 |
|
5 |
M0 |
F1 |
C 13 |
F0 |
C 14 |
F0 |
C 15 |
F1 |
|
6 |
M1 |
F1 |
C16 |
F0 |
C 17 |
F0 |
C 18 |
F1 |
|
7 |
M0 |
F1 |
C 19 |
F0 |
C 20 |
F0 |
C 21 |
F1 |
DS3 M13 Analog M-Frame Structure (outdated but still used)
|
|
85
BITS (8 blocks) |
|||||||
|
1 |
X |
F1 |
AIC |
F0 |
C2 |
F0 |
FEAC |
F1 |
|
2 |
X |
F1 |
DL |
F0 |
DL |
F0 |
DL |
F1 |
|
3 |
P |
F1 |
CP |
F0 |
CP |
F0 |
CP |
F1 |
|
4 |
P |
F1 |
FE |
F0 |
FE |
F0 |
FE |
F1 |
|
5 |
M0 |
F1 |
DL |
F0 |
DL |
F0 |
DL |
F1 |
|
6 |
M1 |
F1 |
DL |
F0 |
DL |
F0 |
DL |
F1 |
|
7 |
M0 |
F1 |
DL |
F0 |
DL |
F0 |
DL |
F1 |
DS3 C-Bit Parity M-Frame Structure (modern method - used by most Providers)
|
Control Bit |
Comment |
|
X, X |
They can equal 0 or 1, but they must be the same. |
|
F1 F0 |
Frame bits. They always appear in a |
|
AIC = C1 |
Application identification channel. There must be one of these in every M-Frame. |
|
FEAC = C3 |
Far-end alarm and control channel |
|
DL = C4 - C6 C13 - C15 C19 - C21 |
Data link. This is terminal to terminal path maintenance. |
|
P |
Parity bit. This is checked and corrected by all terminal equipment. They can equal 0 or 1, but they must be the same. |
|
CP |
Control parity. This bit goes unchanged through the system from end to end. It is constantly compared, and if it is not the same, an error condition exists. |
|
FEBE/FE |
Far end block error |
|
M0, M1 |
Multiframe alignment signal |
DS3 C-Bit Parity M-Frame Structure Control
Bits
Frame
Alignment Signal
X-Bits
P-Bits
C-Bits
Application
Identification Channel
Contr