KHARKIV NATIONAL UNIVERSITY OF RADIO ELECTRONICS
MSGCS Laboratory
Work #3
Erlangs to Voice over IP Bandwidth
Calculator
Purpose: Laboratory work is devoted to the investigation of the most commonly used coding algorithms for VoIP technology in relation to the busy hour traffic and blocking probability with the help of Erlangs to VoIP Bandwidth Calculator.
Basics of the Voice over IP
Voice over IP (VoIP) is most commonly transported as a digitally encoded stream using the Real-time Protocol (RTP) [RFC3550] over UDP; RTP is the transport layer protocol, which deals with the delivery of the VoIP bearer stream from sender to receiver. Signaling protocols such as the Session Initiation Protocol (SIP) [RFC3261] may be used to set up the RTP bearer streams and to determine the media formats (i.e. codecs) that will be used. The key factors that determine the impact that variations in networks SLA characteristics such as delay and loss have on VoIP are the codec that is used to encode the signal and the specific details of the end-system implementation. For example, some codecs may be less tolerant to loss than others, while a poor end-system implementation may be less tolerant to jitter.
quantizes only the difference between the actual sample value and the prediction; consequently, ADPCM produces a lower bit rate signal than PCM at equivalent quality.
Frame-based codecs, such as ITU G.729 and ITU G.723, use more complicated techniques such as Algebraic Code Excited Linear Prediction (ACELP). ACELP breaks a sampled input signal into blocks of samples; these blocks or frames, which are typically 20 ms, are processed as whole units. In processing a frame, the encoder uses a technique called analysis-by-synthesis to determine which input parameters, when passed through a synthesizing filter, would result in reconstructed speech closest to the original speech signal. The encoder then uses a codebook to reference the inputs to the filter; the reference is sent to the decoder, which shares the same codebook, and which applies the respective inputs to the same synthesis filter to reconstruct the speech. There are a number of algorithms that have derived from ACELP, including Low-Delay Code Excited Linear Prediction (LD-CELP) and Conjugate Structure ACELP (CS-ACELP).
The codecs available for VoIP vary in complexity, in the bandwidth they need, and in the delivered call quality perceived by the end-user. Algorithms that are more complex may provide better perceived call quality, but may incur longer processing delays; Figure 1 shows the functional components in VoIP end-systems, which contribute to delay.
Figure 1 – VoIP end-systems components of delay
Erlang B Model
Offered traffic load
The amount of traffic load offered to a trunked channel system is given by the following equations:
, ,
where
– Traffic load generated by a single user; – Total offered traffic load;
– Arrival rate of connection requests per user (i.e.‚ number of connection
requests placed by a user per unit time);
– Average call duration per call‚ i.e.‚ “call holding time”; – Number of users served by the system.
Units of traffic load
,
where
– number of busy seconds in one hour;
– “Hundred Call Second;” number of busy seconds during a one-hour period
divided by 100;
– amount of traffic load that makes one trunk circuit busy for one
How many is equal to?
By definition‚ is the amount of traffic load that makes one trunk circuit busy for 1 . Since there are in ‚
.
Erlang B
The Erlang B system is based on the following assumptions:
Call arrivals‚ i.e.‚ the random arrivals at the trunked channel system‚ are assumed to be Poisson. This implies that the reservoir of arrivals is infinite‚ i.e.‚ the number of end-users generating traffic is infinite. The Erlang B formula provides a conservative estimate of probability of blocking because in reality the number of users is finite.
Call holding timesare exponentially distributed.
There are a finite number of channels available in the trunking pool.
“Blocked calls cleared” system. If no channel is available (i.e.‚ “all trunks are busy”) at the time of connection setup request‚ the connection attempt is blocked and cleared from the system‚ i.e.‚ there is no queue for the blocked calls. Hence‚ the Erlang B system may be thought of as a queuing system with zero buffer length.
.
The above equation is tabulated in the Erlang B Table in terms of the following three parameters:
Blocking probability ( );
Number of channels ( );
Offered load in erlangs ( ).
Given two of the three parameters‚ the value of the third parameter can be found from the Erlang B table‚ i.e.‚
Given and ‚ can be found. Given and ‚ can be found. Given and ‚ can be found.
Brief instructions
Here is a brief introduction to the calculator. For more detailed information, press the Help Button. For a running record of the results calculated, press the Results
This calculator can be used to estimate the bandwidth required to transport a known busy hour traffic figure through an IP based network. Reverse calculations are also possible. These estimate traffic that can be offered to an IP network if the available bandwidth is known. The calculator is based on the Erlang B traffic model.
Before a calculation can be performed, details of the voice compression scheme must be entered into the first two areas of the calculator:
1. Use the first drop down box to select the CODEC being used. CODECs convert analogue voice signals into data streams through sampling and quantization. CODECs vary in their quality and delay characteristics and G.723.1 and G729A are the most common CODECs used for Internet voice transmission.
The three variables involved in these calculations are Busy Hour Traffic (BHT),
Blocking and Bandwidth:
1. Busy Hour Traffic (in Erlangs) is the number of hours of call traffic there are during the busiest hour of operation of a telephone system.
2. Blocking is the failure of calls due to an insufficient number of lines being available. E.g. 0.03 mean 3 calls blocked per 100 calls attempted.
3. Bandwidth is the amount of bandwidth in kbps required through an IP based network to carry the traffic.
If you know two of the figures, you can work out the third as follows:
Click on the Unknown radio button representing the unknown variable.
Enter the 2 known figures into their edit boxes.
Press Calc. and the third figure will be calculated and displayed in the remaining edit box.
The number of discrete voice paths which the network needs to be able to simultaneously transport is shown in the Voice paths box; this box is only used to display the intermediate result, and is not used for entry.
For example, to work out how much bandwidth is required to transmit 45
Erlangs of busy hour traffic through an IP network using the G.723.1 (6.4kbps) coding scheme with 30ms packet duration, follow these steps:
Use the Coding algorithm drop down list to select G.723.1 (MP-MLQ) 6.4 kbps
compression.
30ms should automatically be selected as the Packet duration. With this coding scheme, lower packet durations are not possible.
Ensure that the Unknown radio button in the B/W (bandwidth) area is selected.
Enter 45 into the edit box within the B.H.T. area.
Press the Calc. button. After a short time, 990 should appear in the Bandwidth
Task List:
1. Investigate different coding algorithms using Erlangs to VoIP Bandwidth
Calculator (choose two different algorithms according to the variant; use
default values for the packet duration).
2. Build the graphs of the dependencies IP Bandwidth and Voice Paths of Busy Hour Traffic with changing the Blocking probability for every of two chosen coding algorithms using MS Excel.
3. Create a report.
Variant I: G.723.1 (ACELP), G.723.1 (MP-MLQ).
Variant II: G.726 (ADPCM), G.729A (CS-CELP).
Variant III: G.723.1 (ACELP), G.728 (LD-CELP).
Example: Coding algorithm G.711 (PCM) 64 kbps uncompressed
Investigate coding algorithm G.711 (PCM) 64 kbps uncompressed for B.H.T.=20…80; =0.01…0.1.
Calculate the different values of needed Bandwidth and Voice paths and fill in the tables.
Table 1 – Bandwidth calculation ( )
B.H.T., Erl 20 30 40 50 60 70 80
B/W, kbps 2400 3360 4240 5120 6000 6800 7680
Voice Paths 30 42 53 64 75 85 96
Table 2 – Bandwidth calculation ( )
B.H.T., Erl 20 30 40 50 60 70 80
B/W, kbps 2080 2880 3680 4480 5280 6080 6880
Table 2 – Bandwidth calculation ( )
B.H.T., Erl 20 30 40 50 60 70 80
B/W, kbps 1840 2560 3360 4080 4800 5520 6240
Voice Paths 23 32 42 51 60 69 78
a) b) 20 30 40 50 60 70 80 90 100 2000 3000 4000 5000 6000 7000 8000
20 30 40 50 60 70 80
B an d wi d th (k b p s) B.H.T. (Erlangs)
B/W, kbps Voice Paths
20 30 40 50 60 70 80 90 100 2000 3000 4000 5000 6000 7000 8000
20 30 40 50 60 70 80
B an d wi d th (k b p s) B.H.T. (Erlangs)
c)
Figure 3 – Graphical results: a) ; b) ; c) .
Useful links:
http://www.erlang.com/ http://www.voip-info.org/wiki/view/Codecs http://voip.about.com/od/voipbasics/a/voipcodecs.htm http://www.broadcom.com/support/broadvoice/codec_comparison.php 20 30 40 50 60 70 80 90 100 1000 2000 3000 4000 5000 6000 7000
20 30 40 50 60 70 80
B an d wi d th (k b p s) B.H.T. (Erlangs)