Packing Density of Voice Trunking using AAL2 1

Chunlei Liu, Sohail Munir, Raj Jain
Department of Computer and Information Science
The Ohio State University, Columbus, OH 43210-1277
email: {cliu,munir,jain}@cse.wustl.edu


Sudhir Dixit
Nokia Research Center
3 Burlington Woods Dr., Suite 250, Burlington, MA 01803
email: sudhir.dixit@research.nokia.com

Abstract:

AAL2 has been adopted in ITU-T and ATM Forum to reduce the packing delay for voice trunking. A parameter called ``Timer_CU'' is used in AAL2 to avoid prolonged delay for any packet. However, the AAL2 documents do not discuss how to set the Timer_CU value. In this paper, we establish a Markov chain model to analyze the AAL2 packing process. We find that the packing density and link efficiency depend significantly on the Timer_CU value. The analysis of this paper gives an algorithm to calculate a reference Timer_CU value to achieve desired link efficiency. Simulation results that verify the analysis are also presented.

Introduction

Since the emergence of computer networks, efforts have been made to transfer voice over networks[ 2, 3, 7]. Starting as a technical novelty, Internet telephony is now becoming a big business. However, the quality of Internet phone still remains a problem. Because telephony is a real-time application, delay, among other quality measurements, is the most important factor that affects the quality of voice. If a packet arrives late, its contents become obsolete and have to be discarded. According to ITU-T Recommendation G.114[ 5], an end-to-end delay of 0 to 150 ms is acceptable for most user applications. A delay of 150 to 400 ms is acceptable provided that administrators are aware of the transmission time impact on the transmission quality of user applications, but any delay above 400 ms is unacceptable for general network planning purposes.

The problem of delay becomes more severe when efficient compression/decompression methods are used. For example, in order to fill an ATM cell which has 48-byte payload, the ITU-T G.711 (64kbps) codec needs 6 ms, but the more efficient ITU-T G.723.1 (5.3kbps) codec needs 72 ms. Notice this 72 ms does not include the propagation delay, queueing delay, etc, that the cell must undergo when it travels through the networks.

ATM Adaptation Layer 2 (AAL2) has been designed to reduce the packing delay. It is described in ITU-T Recommendation I.366.2[ 6] and ATM Forum specification ``ATM Trunking using AAL2 for Narrowband Services''[ 8] . The idea is to multiplex voice packets from several sources into one ATM cell so that the time to fill a cell can be reduced significantly. Figure 1 illustrates a scenario of voice packets from three sources being packed into cells.


 
Figure 1: AAL2 cell packing
img2

Also shown in Figure 1 is the format of AAL2 cells. Every cell has a standard 5-byte ATM header. After the header is the Start Field (STF) that indicates where in the payload the next complete packet starts. For every packet, there is a 3-byte mini-header (H) which includes the Channel ID (CID), Length Indicator (LI), User-to-User Indication (UUI) and Header Error Control (HEC) of the packet.

However, the above packing mechanism has one problem. Suppose the first packet is put into a cell and is waiting for the arrival of other packets to complete the cell. But after an extended period, no other packets arrive. This packet will suffer a prolonged delay.

To avoid such prolonged delay, a parameter called ``Timer_CU'' is proposed in [ 6]. When the packing begins, a timer is set to this parameter value. If the cell is not completely packed within the time period determined by this Timer_CU value, the timer expires and the partially packed cell will be sent.

Zhang[ 9] analyzed the impact of Timer_CU value on packet delay variation (PDV), and found that the Timer_CU value is not relevant in the total PDV calculation. While the statement about PDV is correct, we found that the Timer_CU value has to be set appropriately since it significantly affects the link efficiency. If the Timer_CU value is too small, more partial cells are likely to be sent and the link efficiency will be low. If it is too large, some packets will suffer prolonged delay and the voice quality will degrade.

In this paper, we establish a Markov chain model to analyze the AAL2 packing process using ITU-T G.723.1 voice encoding. The Markov analysis reveals the correlation between successive cells and gives a formula for calculating the packing density based on the Timer_CU value and the number of voice sources in the system. To validate our analytic result, a simulation was launched to actually implement the AAL2 packing process. The results of the simulation perfectly match our analysis. The comparison is presented in section 5.

Simulation Model


 
Figure 2: Simulation model
img3

Figure 2 shows our simulation model and the packing process. On the left, a number of variable bit rate (VBR) voice sources are connected to the source AAL2. The corresponding VBR destinations are shown on the right. Voice sources send voice signal in the form of packets to the source AAL2. The source AAL2 keeps a working cell. Arriving packets are packed into the working cell. Once the working cell is packed, it is sent to the switch.

When the first packet is put in the cell, a timer is set to Timer_CU parameter value. If the cell is not fully packed within Timer_CU time, the cell ``expires'' and is sent even though it is partially packed.

If an arriving packet can not fit in the remaining space in the working cell, the bytes that can be fit in are put into the available space, and the cell is dispatched. The remainder of the packet is put in the next cell and the timer is initialized to Timer_CU.

The cells go through links and switches in the networks and arrive at the destination AAL2. The destination AAL2 unpacks the cells and dispatches each packet to its destination according to the channel identifier(CID) contained in the mini-header of the packet.

Voice Model and Packet Arrival Pattern

Human voice consists of alternating talkspurts and silence intervals. It has been found that talkspurt lengths and silence intervals are exponentially distributed[ 1]. In a commonly accepted model, the talkspurts have a mean length of 352 ms and silence intervals have a mean length of 650 ms [ 4].

There are a number of standards for coding voice. ITU-T G.723.1 is currently the most widely used encoding standard. During talkspurts, G.723.1 sends out a 20-byte packet every 30 ms. During silence periods, no packets are sent. In this paper, we assume all voice sources use G.723.1 as the encoding method.

Compared with the talkspurt length and silence period, the 30 ms packet length is short. This means, during a talkspurt, the voice source emits a series of packets at 30 ms intervals. Therefore, the arrivals are highly predictable.

Suppose that the number of voice sources in the system is Nand that a packet has just been received from a voice source. We want to calculate the probability of no packet arrival from all sources in the next img4 ms, where img4is the Timer_CU value.

Consider one voice source first. During an average 352 ms talkspurt and 650 ms silence cycle, 12 packets need to be sent as shown in Figure 3.


 
Figure 3: packet arrival pattern from one source
img5

Let sdenote the number of packets generated during a talkspurt interval. In order to have no packet arrival in img4 ms, the starting point of this img4 ms cannot fall in the img4 ms interval before any of these sarrivals. The probability of no packet arrival from this source is

img6

Here we assume img7. Since the average number of packets in a talkspurt is 12, the probability of no packet arrival from one source is

img8

Voice sources are assumed to be independent. After the receipt of the first packet in the cell, the probability of no arrivals from all other sources within img4 ms is

R 0 =p N-1

and the probability of one packet arrival from all other sources is

R 1 =(N-1)p N-2 (1-p)

Calculation of Packing Density

Using the probabilities R 0 , R 1 , we can calculate the average packing density.

The average number of bytes in an AAL2 cell depends on whether there is a remainder from the last cell and how many packets are received since the first packet was put in the cell. Let r n be the remainder length left from the (n-1)-th cell. Then this r n is exactly the STF field in the n-th AAL2 cell. Since each packet has a 3-byte header and a 20-byte payload, the remainder is always shorter than 23 bytes, i.e., img9.

Event r n =0 happens only when cell n-1 expires or when r n-1 =1and cell n-1 does not expire.

Event r n =1 happens only when r n-1 =2 and cell n-1 does not expire.

Event r n =2 happens only when r n-1 =3 and cell n-1 does not expire.

......

Event r n =22 happens only when r n-1 =0 and cell n-1 does not expire.

Therefore, img10forms a Markov chain. Consider the stationary state where all img10have the same probability distribution. Let rdenote the random variable for the remainder length, and denote

img11

and

img12

Since an AAL2 cell has 47 byte payload, and for G.723.1 a CPS packet requires 23 bytes, it happens that for all img13,


img14


Denote

Q=R 0 +R 1 ,

then the transition matrix Pis

img15

In the stationary state, we have img16, so

img17


Therefore,

img18

and

img19


Using these probabilities, the average number of bytes in an AAL2 cell is:

img20


Because each 20-byte voice packet has a 3 byte mini-header and each AAL2 cell has a 6-byte overhead, the packing density is:

img21

Notice that

img22

is the maximum possible density.

Simulation and Comparison

To validate our analysis, we used a simulation program to actually implement the AAL2 packing process. The simulation model is described in Section 2. The results of 11 simulations are summarized in Table 1. The first column is the Timer_CU value used in the simulation. The second column is the total number of cells being sent. Column 3, 4 and 5 respectively are the number of cells that have 0, 1, 2 or more packet arrivals since the packing of the first packet. The actual density is listed in the last column.

img4 total rcvd rcvd rcvd density
  cells 0 pkt 1 pkt 2+ pckt (%)
0.5 5621 4079 1246 296 46.93
1 5028 2339 1787 902 56.00
2 4286 949 1462 1875 64.78
3 4077 479 960 2638 69.00
4 3705 154 626 2925 72.43
5 3645 69 315 3261 74.35
6 3587 26 206 3355 75.42
8 3470 8 66 3396 76.54
10 3716 0 10 3706 77.05
12 3779 0 0 3779 77.11
14 3632 0 0 3632 77.11
in Table 1: Simulation results: number of packets
received within
img4  ms

We calculate the corresponding R 0 , R 1 , R 2 + =1-R 0 -R 1 , and compare them with our analysis results. In Figure 4, the analytic probabilities are shown with solid lines and simulation data are shown with ``+''s.

 
Figure 4: R 0 , R 1 and R 2 + for different Timer_CU values. 60 sources. solid line: calculation; ``+'': simulation.
img23

The resulting packing density for different Timer_CU values is shown in Figure 5. Again the analytic calculation is shown with solid line and the simulation data are shown with ``+''s. The simulation data match the analytic calculation perfectly.
 
Figure 5: Packing density for different Timer_CU values. 60 sources. solid line: calculation; ``+'': simulation.
img24

One application of the analytic formula for density is to find the appropriate Timer_CU value to reach the desired packing density. Figure 6 shows the needed Timer_CU values in order to reach 90% and 95% of the maximum packing density.

 
Figure 6: Timer_CU values to reach 90% and 95% of the maximum packing density.
img25

Timer_CU value also has an impact on the end-to-end delay. Increasing Timer_CU value may cause longer delay. However, this impact is relatively small compared to other components of the total delay. In practice, we should take into account both the desired link efficiency and maximum acceptable delay. The value calculated by the above method can be used as a reference.

Summary

In conclusion, we find that Timer_CU value has significant impact on link efficiency. An appropriate choice of Timer_CU value depends on the number of voice sources and delay requirements. The analysis of this paper gives an algorithm to calculate a reference Timer_CU value to achieve the desired link efficiency.

Bibliography

1
Paul T. Brady, A model for generating ON-OFF speech patterns in two-way conversations. Bell System Technical Journal, Vol 48, pp 2445-2472, Sept 1969.

2
Danny Cohen, Specifications for the Network Voice Protocol, ISI/RR-75-39, USC/Information Sciences Institute (4676 Admiralty Way, Marina del Rey, CA 90292), March 1976, Available from DTIC (AD #A023506).

3
Danny Cohen, Issues in Transnet Packetized Voice Communication, Proceedings of the Fifth Data Communications Symposium, Snowbird, Utah, September 1977 (IEEE Catalog No. 77CH1260-9C), pp. 6-10/13.

4
Shuang Deng, Traffic characteristics of packet voice, IEEE International Conference on Communications, Vol 3, pp 1369-1374, 1995.

5
ITU-T Recommendation G.114, One-Way Transmission Time, Feb 6, 1996.

6
ITU-T Recommendation I.366.2, B-ISDN ATM Adaptation Layer Type 2 Specification, November 1996.

7
D. T. Magill, Adaptive speech compression for packet communication systems, Conference record of the IEEE National Telecommunications Conference, pp. 29D-1 - 29D-5, 1973.

8
Rajakulasingam Raviraj, ATM Trunking using AAL2 for Narrowband Services, ATM Forum Straw Ballot STR-VTOA-LLTAAT2-1.0, October 1998.

9
Kevin Zhang, Packet Delay Variation in Voice Trunking using AAL2, ATM Forum contribution 98-0630, October 4-9, 1998, Australia.

Footnotes

... AAL2 1
Submitted to Globecom'99 General Conference. This research was sponsored in part by US Army CECOM Contract DAAB08-98-C-B305. This paper is available on-line at http://www.cse.wustl.edu/~jain/papers/density.htm


Chunlei Liu
1999-02-10