You are on page 1of 95

HOU-CS-UGP-2004-05

VoILA: VoIP

: .
2004

VoILA: VoIP

2.0

HOU-CS-UGP-2004-05

VoILA:
VoIP

/ HOU-CS-UGP-2004-05

1 112

VoILA: VoIP

2.0

VoILA: VoIP

.
:
:
) IP (VoIP QoS).
) , VoIP QoS.
Linux C,
VoIP, ,
, (VoILA:Voice over IP LAN Analyzer), :
IP Ethernet
( RTP / RTCP)
IP (VoIP
QoS), (Service Level
Agreements, SLAs) IP .
:
) ( ),
, ( )
,
) R E-model,
RTCP . ,
(de-jitter buffer delay, .)
,
RTP .
-: VoIP, VoIP tool, QoS, E-model, R-factor, RTCP packets, Sniffer, Linux
: , , screenshots, , , C.
.

/ HOU-CS-UGP-2004-05

2 112

VoILA: VoIP

2.0

VoILA: Development of a QoS Evaluation Tool for VoIP Services


Karipidou Paraskevi

Supervisor

Examiner

Examiner

Dr. Dagiouklas Anastasios

Prof. Skodras Athanasios

Dr. Pierrakeas Christos

Summary:
This graduation project aims at:
a) The evaluation of Voice Quality of Service over IP Networks (VoIP QoS)
b) The development and evaluation of tools and methodologies towards the study of VoIP QoS.
Based on the aforementioned aims, we developed (under Linux and in C language) a VoIP QoS monitoring
and evaluation tool for multiple voice streams, in real-time and based on an external observer (VoILA:
Voice over IP LAN Analyzer), which:
Monitors IP packets on an Ethernet LAN and processes the subset of those that are generated by
real-time voice protocols such as RTP and RTCP,
facilitates the evaluation of QoS for voice services over IP networks (VoIP QoS) for the monitoring
and enforcement of various Service Level Agreements (SLAs) between users and voice service
providers (VSPs) in IP networks.
Our differentiation from the majority of the existing approaches lies in the fact that:
a) The evaluation is performed by a third observer, other than the sender or the receiver, which makes
the application more useful, since it is not mandatory (nor is it always feasible) to install the
evaluation tool, either on the voice sender or on the voice receiver,
b) The computation of the voice quality metric is based on the R-factor of the E-model, which is
calculated from fields of the transmitted RTCP packets. In this way, the information about the
internal delay at the receiver (de-jitter buffer delay, etc.) is provided by the receiver itself and it is
not necessary to be crudely approximated, as it often happens in various methods which only
monitor and process RTP streams.

/ HOU-CS-UGP-2004-05

3 112

VoILA: VoIP

2.0

...................................................................................................................... 4
................................................................................................. 7
................................................................................................. 7
1.

2.

3.

.............................................................................................................................................. 9
1.1

VOICE OVER IP ................................................................................................................................. 9

1.2

(QOS) VOIP ....................................................................................... 10

................................................................................................................. 11
2.1

........................................................................................................... 11

2.2

......................................................................................................... 12

....................... 13
3.1

........................................................................................ 13

3.2

PACKET LOSS VOIP QOS....................................................................... 15

3.2.1

Packet Loss............................................................................................................ 15

3.2.2

Packet Loss ..................................................................................................... 15

3.2.3

Packet Loss QoS................................................................................................................... 15

3.3

.......................................................................................... 16

3.3.1

(End-to-End Delay) ............................................................... 17

3.3.2

(Handling Delay) .......................................................................... 17

3.3.3

(Network Delay) ................................................................................... 19

3.3.4

(Jitter) ....................................................................................... 20

3.4

(PROPAGATION DELAY) ................................................................... 21

3.5

VOIP ...................................................................................................................... 21

3.5.1

H.323...................................................................................................................... 22

3.5.2

SIP.......................................................................................................................... 23

3.5.3

H.323 & SIP ............................................................................................................... 24

3.6
3.6.1
3.7

RTP (REAL TIME TRANSPORT PROTOCOL) ....................................................... 25


RTP RTCP ................................................................................... 26
...................................................................................................... 29

3.7.1

& ........................................................................................ 30

3.7.2

QoS VoIP..................................................................................................... 31

/ HOU-CS-UGP-2004-05

4 112

VoILA: VoIP

2.0

3.8

E-MODEL ......................................................................................................................................... 32

3.9

................................................................................................................ 37

3.10

........................................................................................................................ 39

4.

3.10.1

NeTrue Communications Ltd ................................................................................................. 39

3.10.2

Brix Networks Inc. ................................................................................................................. 39

3.10.3

CISCO Systems ...................................................................................................................... 39

3.10.4

Agilent Technologies.............................................................................................................. 40

3.10.5

NetIQ...................................................................................................................................... 40

3.10.6

Minacom ................................................................................................................................ 40

................................................................................................................ 41
4.1

VOILA .................................................................. 41

4.1.1

............................................................................. 41

4.1.2

...................................................................................................... 42

4.2

VOILA ................................................................................................ 44

4.2.1

............................................................................ 44

4.2.2

R-factor .......................................................................................................... 47

4.2.3

O Ief ................................................................................................................. 47

4.2.4

O Id .................................................................................................................. 47

4.3

5.

......................................................... 50

4.3.1

Source Ports................................................................................... 50

4.3.2

RR Blocks RTCP ........................................................................................ 51

4.3.3

RTCP ............................................................................................................. 51

4.3.4

gettimeofday ................................................................................. 52

4.3.5

Endianess: Big Endian & Little Endian .................................................. 52

.............................................................................................. 54
5.1

..................................................................................................... 54

5.2

.................................................................................................................................. 56

6.

................................................................................................. 57

7.

.............................................................................................................................. 59

8.

................................................................................................................................... 60

9.

10.

....................................................................................... 63

........................................................................................... 84

10.1

#1: ................................................................................................................................ 84

10.2

#2: ................................................................................................................................ 85

/ HOU-CS-UGP-2004-05

5 112

VoILA: VoIP

10.3

2.0

#3: ................................................................................................................................ 87

11.

12.

........................................................................ 97

12.1

13.

....................................................... 93

VOIP................................................................................... 97

12.1.1

Speak Freely MS-Windows.................................................... 97

12.1.2

NetNeeting MS-Windows...................................................... 99

12.1.3

SJphone MS-Windows ........................................................ 100

RFC-1889.............................................. 101

/ HOU-CS-UGP-2004-05

6 112

VoILA: VoIP

2.0

1: , MOS
.

14

2: ITU.

20

3: H.323.

23

4: Ie.

33

5: Ie.

58

1: IP.

17

2: VoIP.

26

3: RTP.

27

4: RTCP.

27

5: R MOS. 35
6: R-factor PSTN.

35

7: VoILA.

43

8: RTT , [RFC 1889].

49

9: RR Blocks RTCP SpeakFreely.

50

10: RTCP SJphone.

51

11: R-factor #2.

55

12: packet Jitter #2.

55

/ HOU-CS-UGP-2004-05

7 112

VoILA: VoIP

2.0

, .

.
, 4
, .
.

, .

.
, ,

.

/ HOU-CS-UGP-2004-05

8 112

VoILA: VoIP

1.

2.0

, .
,
,
.

1.1

Voice over IP

Voice over Internet Protocols (VoIP) ()


,
, IP suite.
IP VoIP :
RTP (Real-Time Transport Protocol), [29].
RTCP (Real-Time Control Protocol) , [29].
RSVP (Resource Reservation Protocol), [07].
IP :
IP voice agents (routers),
.
voice agent (router),
.
,
:
a)
b) voice agents .
.
ETSI (European Telecommunications Standardization Institute) project
TIPHON (Telecommunications and Internet Protocol Harmonization Over Networks)
VoIP
[43].
.

/ HOU-CS-UGP-2004-05

9 112

VoILA: VoIP

2.0

TIPHON :
VoIP
: interfaces
, .
End-to-End .
.164 IP.
.

1.2

(QoS) VoIP


- - .
(Quality of Service, QoS) VoIP
,
.
, QoS
:

(reliability),
(packet loss)

(predictability),

(service availability) 99,999%.

(call set up time) 2 sec .

150 msec .

PSTN
.

QoS ISPs
. ISPs
.

/ HOU-CS-UGP-2004-05

10 112

VoILA: VoIP

2.

2.1

2.0

:
IP (VoIP QoS).
, VoIP QoS.

VoIP :
IP
(RTP/RTCP)
IP
(VoIP QoS), (Service
Level Agreements, SLAs) IP .
, :
.

Network Sniffer VoIP (Voice over IP LAN
Analyzer, VoILA)
VoIP (Voice over IP LAN Analyzer, VoILA)

VoIP QoS.
VoILA VoIP QoS.

/ HOU-CS-UGP-2004-05

11 112

VoILA: VoIP

2.2

2.0

VoIP (VoILA), ,
, (packet loss), (delay)
(interarrival jitter).
R (R-factor),
, [13].
VoIP Mean Opinion Score, MOS. VoILA
RTCP RTP IP
VoIP R
.
, E-model
ITU-T, [17]. , :
1. ,
2. (UDP datagrams)
,
3. UDP, RTP RTCP,
,
IP ,
4. R ( 1-100), (.
5, 6).
VoILA, module (VoIP QoS)
, R.
R (Mean Opinion Score,
OS) . ,
, VoILA Call Agent / Gatekeeper
,
, (.., MGCP (Media
Gateway Control Protocol) codec ,

), (. 6 ).
R-factor VoILA VoIP
QoS, (packet loss), jitter .
.

/ HOU-CS-UGP-2004-05

12 112

VoILA: VoIP

3.
3.1

2.0

, ,
. PCM ( ).
8000 (125 msec )
,
. standard PCM 8 bits
64Kbps/ bandwidth.
.
bandwidth 64K
standard PCM ITU standards , [37] [14].
standards :
standards PCM
8000 /sec. bandwidth
4 2 bits
.
bandwidth
32 Kbps 16 Kbps (Adaptive Differential PCM ADPCM)
.
standards bandwidth,
. standards
, LPC (Linear Predictive Code)
- ,
bandwidth.
standards :
G.711 64 Kbps PCM
G.726 ADPCM 40, 32, 20, 16 Kbps
G.728 Low-Delay Code-Excited Linear Prediction (LD-CELP)

16 Kbps

G.729 & G.729a Conjugate Structure Algebraic Code-Excited Linear Prediction (CS ACELP)
8 Kbps 32 Kbps ADPCM.
G.723.1 H.324 5,3 & 6,3 Kbps
.

/ HOU-CS-UGP-2004-05

13 112

VoILA: VoIP

2.0


( ) . Voice Activity Detection
(VAD).

, Mean Opinion Score, (MOS), [52], 0-5 (. 1).
MOS

4-5

MOS

3-4

MOS

<3

( )

1: , MOS
.

PCM
32K ADPCM
16K LD-CELP
8K CS-ACELP
8K CS-ACELP
6.3K MPMLG
5.3K ACLEP

G.711
G.726
G.728
G.729
G.729a
G.723.1
G.723.1

MOS
4.4
4.2
4.2
4.2
4.2
3.98
3.5

Codec
(msec)
0.75
1
3-5
10
10
30
30

H (packetization)
(encapsulates) ( G.711), (
G.729, G.723) RTP (12).
UDP (8B), o IP (20B) Data Links.
, IP ,
( ),
.

/ HOU-CS-UGP-2004-05

14 112

VoILA: VoIP

3.2

3.2.1

2.0

Packet Loss VoIP QoS

Packet Loss

packet loss ,
.
.
, RFC 1889, [29].

3.2.2

Packet Loss

packet loss session record


traces files. .
sequence number . 1 ()
sequence number, ,
, , 0 ().
, , :
loss = total number of packet lost / (last sequence number +1) * 100%

3.2.3

(3)

Packet Loss QoS

packet loss
codec . ,
PCM (Pulse Code Modulation) packet loss,
1% .
GSM , packet loss,
1% ,
packet loss.

, packet loss.
,
packet loss. , packet loss .

/ HOU-CS-UGP-2004-05

15 112

VoILA: VoIP

2.0

, packet loss ,

.

Bolot, Crepin Vega-Garcia 1995, [04] [06], packet loss,


.
, Forward Error Correction (FEC),
,
. FEC
. ,
, bandwidth
. . ,

FEC, [04], [05], [06].

3.3


, (. 1) .

.

.

,
[32].
(circuit-switching),
. , (packetswitching) .
. ( )
( ), -, [28].
, .. ,
.

/ HOU-CS-UGP-2004-05

16 112

VoILA: VoIP

2.0

,
, .
Coding
Delay

Dejitter
Buffer

Queuing
Delay

2
Propagation
Delay

1 2

4 5

7 8

Coder

Decoder

(Network)

1 2

4 5

7 8

Serialization
Delay

1: IP.
, :

3.3.1

(End-to-End Delay)

(end-to-end delay)
. ,
, .
(echo),
(echo cancellation).
.
(round-trip delay), 50 msec,
. 50 msec,
.
250 msec.

3.3.2

(Handling Delay)

(handling delay),
, (edges),
. ( ),
(frame) T1/E1/J1
125 sec.
( )
, 20 msec .
,
.

/ HOU-CS-UGP-2004-05

17 112

VoILA: VoIP

2.0

100 msec.
, .

(congestion)
. , .
: [33]
(, source)
(access / backbone)
(destination point)
:

:
CODEC (CODEC delay), 35 msec
( 1)
IP (output queuing delay) router,
10 msec.

:
(serialization up-link
delay)
(serialization down-link delay)
(general network delay).
,
,
traffic engineering.
(serialization delay)
. .

/ HOU-CS-UGP-2004-05

18 112

VoILA: VoIP

2.0


:
CODEC, ,
(input queuing delay)
jitter buffer. jitter
buffering ,
.
Packet Loss Concealment (PLC), ,
, .
, ,

, [23], [24], [25].

3.3.3

(Network Delay)

(network delay), ,
. buffers
jitter buffers,

70-100 msec Frame-Relay
IP .
jitter buffer delay :
jitter buffer delay, packet loss. jitter
jitter buffers (latency). jitter
buffer :
jitter (.. s Networks) jitter
buffer
jitter.
jitter :
.
buffer
.

/ HOU-CS-UGP-2004-05

19 112

VoILA: VoIP

2.0

(buffering)
(timestamp) .
RTP .
ITU :
2: ITU.

(One-Way Delay)
0 - 150 msec
150 - 400 msec
400 +
3.3.4

msec

.


.

(Jitter)

(jitter)
,
(sound gaps) ,
. jitter
. , , 20 msec
, ( end-to-end )
20 msec .
- -
,
.
RFC 1889, [29], jitter
. i timestamp Si
Ri, i j D
:
D = (Rj Sj) (Ri - Si) = (Rj - Ri) (Sj - Si)

(4)

D
(interarrival jitter). RFC 1889, interarrival jitter
i . (5)

/ HOU-CS-UGP-2004-05

20 112

VoILA: VoIP

2.0

interarrival jitter Ji-1 i-1,

:
Ji = (Ji-1 + ( |D(i-1, i)| Ji-1) /16

(5)

1/16
( ) .

3.4

(Propagation Delay)


(propagation delay), .
.

3.5

VoIP

:
(connection control)
(call progress & status information)
routers voice agents
(path) ,
. voice agents
(, .), [24].
(standards) VoIP signaling:
a) .323 ITU, [22].
b) To SIP Session Initiation Protocol IETF, [15].
VoIP :
.
.
, .
QoS.

- ,
.

/ HOU-CS-UGP-2004-05

21 112

VoILA: VoIP

3.5.1

2.0

H.323

ITU 1 (v1) H.323 1996,


, , [22].
, video
IP . , .323 T.120 data-conferencing
standard.
.323 , ,
.323:
) RAS (Registration Admission and Status)
(transaction-oriented protocol)
Gatekeeper (GK). GK .323
.
, , ,
,
Gateways (GW). GW
(Switched Circuit Network, SCN).
SCNs (.. PSTN, ISDN, GSM)
. GW
.
RAS GK, / GK,
, . GK RAS
GKs.
) Q.931
2 .
Q.931 .323 ,
.320 .324.
RTP / RTCP / UDP. RTCP (Real Time Transport Protocol)
(feedback information)
, .
RTP / RTCP UDP (connectionless)
TCP

/ HOU-CS-UGP-2004-05

22 112

VoILA: VoIP

2.0

TCP
.
) .245: Connection Control Protocol
- .
.323 .
) .323
3
.323:
3: H.323.

1.

RAS

2.

Q.931

3.
.
4. .

H.245
RTP

5. .

H.245

6.

Q.931

7.

RAS

: GW 1 & 7 .

3.5.2

SIP

IETF, [15], Internet


. H.323 (light-weight).
, -
, Internet, Internet
. SIP
, SIP
.

SIP (text-based) - (client-server).


HTTP .
( ),
, [35].
.

/ HOU-CS-UGP-2004-05

23 112

VoILA: VoIP

2.0

.
(facets) :
,
,
,
,
.
IETF, RSVP, RTP, RTCP,
RTSP, SAP, SDP, .

3.5.3

H.323 & SIP

, SIP
, (overhead)
.
.323 (binary notation) ,
(parsers) . , SIP
, .
SIP SDP (
/ ) . , .323
/ ITU.
.323 modules (H.45x,
H.225.0), SIP .
SIP (modular). ,
.323. .323
(location services) SIP.
SIP . .323
(domains).
.323 GK
SIP GK
.

/ HOU-CS-UGP-2004-05

24 112

VoILA: VoIP

2.0

GK. endpoint
. SIP RSVP.
H.323 , SIP
,
.
H.323 Q.931,
PSTN Q.931 UNI (Users Network
Interface) SS7.
.323 SIP,
SIP-H.323 Interworking Function (SIP-H.323 IWF)
VoIP , [01].

3.6

RTP (Real Time Transport Protocol)

RTP , [29], bits


(..audio, video). RTP
RTCP (QoS)
(.. , ) timestamps.
RTP :
Sequencing,
Loss detection,
Intra-media synchronization,
Payload identification,
Frame indication.
.
, multicast,
media mixer translators. UDP
.

/ HOU-CS-UGP-2004-05

25 112

VoILA: VoIP

3.6.1

2.0

RTP RTCP

RTP RTCP RFC-1889. header


file rtp.h -.

TCP/IP ( Data Link, IP / UDP / RTP / RTCP)
2-4, :
VoIP packet structure
VoIP packet
Voice
Payload

RTP
header

UDP
header

IP
header

x bytes

12 bytes

8 bytes

20 bytes

Link
header

x bytes

2: VoIP.

/ HOU-CS-UGP-2004-05

26 112

VoILA: VoIP

2.0

RTP Datagram

IP
Header
20 bytes

Version
2 bits

Padding
1 bit

Extension
1 bit

UDP
Header
8 bytes

RTP
Header
12 bytes

CSRC
count
4 bits

Marker
1 bit

RTP Payload (data)

Payload
Type
7 bits

Sequence
Number
2 bytes

Time
Stamp
4 bytes

Source
Identifier
4 bytes

3: RTP.

RTCP_COMMON HEADER
4 bytes
Receiver Report
(RR)
4 bytes

Sender Report
(SR)
24 bytes

RRB
(24 B)

RRB
(24 B)

RRB
(24 B)

RRB
(24 B)

Source
Description
(SDES)
4 bytes
SDES
ITEM
(2 B + X)
\0

Good Bye
(BYE)
X*4 bytes

SDES
ITEM
(2 B + X)
\0

Receiver
Report
Blocks

4: RTCP.

/ HOU-CS-UGP-2004-05

27 112

VoILA: VoIP

2.0

RTCP multicasting, group


multicast . ,
32-bit identifier (SSRC)
multicasting group, (receiver reports, RR)
SSRCs . payload type
sequence number
,
.
RTCP multicast group . RTCP
(sender report, SR) (receiver
report, RR), (Source Description, SDES). SR

RTP (wall
clock) . (session)
(RTP) ( RR), RR block RTP
multicasting group. blocks ,
jitter ,
.
SDES sessions CNAME (canonical name)
, format .
(conflicts) SSRC
media streams . ,
, e-mail ().

/ HOU-CS-UGP-2004-05

28 112

VoILA: VoIP

3.7

2.0

Internet intranets
, ,
,
QoS . QoS

, [10].
, ( 80-256
bytes), ,
QoS, (packet fragmentation)
(interleaving).

(mouth-to-ear delay),
- .
(voice calls) ,
,
-.
(packetized voice calls),
(codec), ,
, [08].
, ,
WAN (burst packet loss),
(latency) (jitter),
VoIP calls
.
, packet loss ,
bandwidth.
VoIP
PSTN. , VoIP
PSTN, , [27].
.

/ HOU-CS-UGP-2004-05

29 112

VoILA: VoIP

2.0

VoIP
, QoS IP
packet loss .
QoS,
.
VoIP QoS,
QoS.

3.7.1

&

VoIP RSVP
(Resource Reservation Protocol) , IP
.
.
. (Classification).

. Weighted Fair Queuing (WFQ) Priority Queuing (PQ)
. WFQ
.
.
2 Mbps. PQ 4
output driver.
( , , )
.
, . RSVP
(controlled delay, guaranteed delay)
(average & peak bandwidth, level of burstiness)
(bandwidth) IP
. WFQ PQ
(, )
QoS.
, (queuing delay).

/ HOU-CS-UGP-2004-05

30 112

VoILA: VoIP

2.0

IP RTP Priority (Priority Queuing Weighted Fair Queuing, PQ-WFQ)


queuing scheduling (voice traffic), [34].
IP RTP priority,
, RTP .
RTP ports
. IP RTP priority WFQ. H
( high queue PQ),
WFQ.
queuing scheduling Low Latency Queuing (LLQ)
IP RTP Priority. , IP RTP Priority
WFQ, WFQ
CBWFQ (Class Based WFQ), WFQ,
, o ,
access lists interface . LLQ
.
, RTP port numbers,
access-lists CBWFQ.

3.7.2

QoS VoIP

QoS VoIP , [26], :


.
.
.
.

.

.
, VoIP
(zero packet
loss), ,
(jitter) (bandwidth).

/ HOU-CS-UGP-2004-05

31 112

VoILA: VoIP

3.8

2.0

E-model

,
VoIP.
. Mean Opinion Score (MOS), [52].
,
,
.
.
.
:
PSQM (ITU P.861) / PSQM+: , [53].
PESQ (ITU P.862): .
PAMS (British Telecom): .
E-model (ITU G.107).
VoIP E-model. To Emodel [13], [17], [18], [19] ,
R (R-factor),
. OPINE , [36],
,
R-factor 1-100.
R-factor, Mean
Opinion Score (MOS), . ,

.
R :
R = R0 Is Id Ie + A

(1)

R0 , (background noise)
(circuit noise).
s
, (quantization)
.
.

/ HOU-CS-UGP-2004-05

32 112

VoILA: VoIP

2.0

Id (Delay impairment)
(one-way delay) --- (m2e delay),

(talker and listener echo).
ITU-T, [21], Id
:
Id = Idte(m2e, EL2) + Idle(m2e, EL1) + Idd(m2e)

(2)

Idte(m2e, EL2) Idle(m2e, EL1)


- - . EL1, EL2
(echo losses) dB
(echo cancellation). EL = , .
EL = 51dB . Idd(m2e)
m2e ,
. , m2e
(collisions) ,
, ,
.
Ie (Loss impairment), Special Equipment Impairment factor
E-model, -
, , low
bit rate codecs,
. , (packet loss)
playback buffer.
4 , Ie, ,
.
4: Ie.

(Kbps)

Ie (loss=0)

Rfactor.

G.711
G.729
G.723.1
G.723.1

PCM
CS ACELP
ACELP
MP - MLQ

64
8
5.3
6.3

0
10
19
15

94.3
84.3
75.3
79.3

G.711 (94.3). ,
G.729 G.723.1,
.

/ HOU-CS-UGP-2004-05

33 112

VoILA: VoIP

2.0

.
. ,
PLC. ,
4 R-factor 1%
PLC, PLC 25 , [25].
,
R, ,
(access advantage).
(GSM) 10, PSTN
0.
H ITU-T , [16],
(1), [11].
ITU-T [16] [11],
R :
R = 94.2 - 0.024*d + 0.11*(d-177.3)*H(d-177.3) lef (3)
R .
R R.
lef codec
.
d msec.
d (3) RTCP
(4): ([13], [29])
a) NTP,
b) RTP,
c)
d) jitter RTP .
:
d = (NTP timestamp) LSR DLSR

(4)

:
a) LSR (Last Sender Report) () ,
b) DLSR (Delay since Last Sender Report)
(LSR).
.

/ HOU-CS-UGP-2004-05

34 112

VoILA: VoIP

2.0

R-factor MOS, (. 5)
:
if R<0, then MOS=1
if R>100, then MOS=4.5
if 0<R<100, then MOS=1+0.0035*R+R*(R-60)*(100*R)*7*10-6
R Galliotos, Diagiouklas Arkadianos[13].
MOS
MOS
.
R MOS
G.109
[19] ITU-T: (. 5,6)

MOS

100
94,3
90

4,5
4,4
4,3

80

4,0

70
60
50

3,6
3,1
2,6

5: R MOS.

R-factor

100 - 90

90 - 80

80 - 70

70 - 60

60 - 0

6: R-factor PSTN.
.

/ HOU-CS-UGP-2004-05

35 112

VoILA: VoIP

2.0


VoIP R-factor (
) 93,2, MOS 4,4. R
0 93,2 MOS 1,0 4,4.

PSTN .
.
:
Encoding delay
Packetization delay
Propagation delay
Queuing delay
Service delay
De-jittering delay
Decoding delay

, -- (mouth-to-ear delay)
(propagation delay) (switching delay).
,
.
(de-jittering
buffer).
(1) , Rfactor, .
, (
Id=10). ( Ie=10),
( Id=0).
, , E-model MOS ,
, Rfactor, .

/ HOU-CS-UGP-2004-05

36 112

VoILA: VoIP

3.9

2.0

Cole & Rosenbluth, [11], VoIP


E-model ITU-T (Transport level).
:
a)
b) monitors VoIP Gateways

c)
.
: (delay),
(network packet loss) jitter buffer .
,
VoIP
.
Kazuumi, Wenyu and Schulzrinne, [23],
.
VoIP.
:
a) - - (mouth-to-ear, M2E)
b) (clock skew)
c) .
M2E
hardware IP
2 (45-90 msec) LAN. software
VoIP clients 2 65 msec
400 msec.
, hardware IP
(packet concealment)
20 msec.
.

/ HOU-CS-UGP-2004-05

37 112

VoILA: VoIP

2.0

Markopoulou, Tobagi Karam, [25], Internet


. VoIP .

IP .
(traces) Internet
ISPs, VoIP ISP.
.
(probes), 5 ..., 50
bytes 10 ms 27/6/2001 29/6/2001.
GPS
.
Markopoulou ..
VoIP
. , ,
,
. ,
playout buffer scheme, .

/ HOU-CS-UGP-2004-05

38 112

VoILA: VoIP

2.0

3.10
3.10.1 NeTrue Communications Ltd
QoS VoIP, [50],
, , jitter, throughput
. Microsoft Windows NT NeTrue Index
R, IP .

3.10.2 Brix Networks Inc.


Brix Network Inc. [44], Brix MOS Voice-Quality
Measurement Agent,
. real-time E-model ITU-T,
IP, packet loss,
delay, jitter codec. ,
ETSI 101329-5 Annex E, .

3.10.3 CISCO Systems


H Cisco VoIP
VoIP. H.323
, SIP. codecs
RTP/UDP/IP. H Cisco
, video Integrated Data (AVVID).
AVVID IP PBX, [09].
QoS VoIP
priority based queue, RSVP, header 40 bytes 2-4 bytes,
WAN
voice delay jitter, [45].
Cisco QoS VoIP:
Quality of Service Device Manager (QDM)
Network Monitoring using Cisco Service Assurance Agent (CSSA)
CiscoWorks Voice Health Monitor
Data Sheet Network Analysis Module (NAM) for Cisco Catalyst 6500 and 6000 series
Cisco Gateway Management Agent (CGMA)
.

/ HOU-CS-UGP-2004-05

39 112

VoILA: VoIP

2.0

Cisco
(Perceptual Speech Quality Measurement, PSQM),
.
Agilent Technologies NetIQ, (. ). Cisco
, , , jitter .

3.10.4 Agilent Technologies


Agilent Technologies, [2], [46] QoS
VoIP:
Telephony Network Analyzer
QoS Manager
Voice Quality Tester
J6794A VoIP Analysis Add-on to the Application Analyzer

3.10.5 NetIQ
Vivinet Manager Suite (Vivinet Manager), [31],
modules connectors ,
, VoIP .
Vivinet Manager VoIP
QoS, jitter, , MOS
VoIP.

3.10.6 Minacom
Extended E-model Minacom, [47] VoIP
R-factor MOS, E-model, MOS, Good or Better (GoB), Poor
or Worse (PoW), .

/ HOU-CS-UGP-2004-05

40 112

VoILA: VoIP

4.

2.0

4.1

VoILA

VoILA .
,
.
.

4.1.1

VoIP Monitoring Tool LINUX (Slackware),


(free source code) sniffer.
C
UNIX :
#include <string.h>
#include <stdio.h>
#include <time.h>
#include <math.h>
#include <netpacket/packet.h>
#include <sys/socket.h>
#include <sys/ioctl.h>
#include <arpa/inet.h>
#include <net/if.h>
#include <netinet/udp.h>
#include <netinet/tcp.h>
#include <netinet/ip.h>
#include <netinet/ip_icmp.h>
#include "rtp.h"
#include "swap_endian.h"

/ HOU-CS-UGP-2004-05

41 112

VoILA: VoIP

2.0

Ethernet LAN,
IP . LAN
desktop laptop:
desktop, Voula, 8
Gbytes, CPU Intel Pentium III 1500MHz 260 MB RAM.
LINUX Slackware 9.0 IP 192.168.10.115.
desktop, Miranda,
10 Gbytes, CPU Intel Pentium II MMX 63 MB RAM.
Microsoft Windows 98 IP 192.168.10.100.
laptop, LIOTOP-L, 30
Gbytes, CPU Intel Pentium IV 2,6 GHz 256 MB RAM.
Microsoft Windows 2000 IP 192.168.10.129.
10 Mbps Ethernet Hub. (b) (c)
VoIP Speak Freely .7.2 (32 bits), Windows NetMeeting
.3.0.1 SJphone, [48], (. -). (a) VoILA.

4.1.2

7
VoILA.
:
VoIP (LIOTOP-L, thinkpad,
GIORGOS).
VoIP ( VoILA).
(DummyNet)
firewall bridging.
10 Mbps Ethernet Hub.
, DummyNet, [49],
bandwidth, network delay packet loss.

/ HOU-CS-UGP-2004-05

42 112

VoILA: VoIP

4.1.2.1

2.0

DummyNet

To DummyNet ,
,
(network bandwidth).
,
. DummyNet
. , Linux,

, (packet loss emulation),
() (packet duplication), jitter (delay and jitter),
(bandwidth limitations) (network congestion).
(network-adaptive protocols)
.

Testing
Network

10.0.0.10
home.out

10.0.0.20
home.in

GIORGOS

10.0.0.30
home.in

LIOTOP-L

Cross Link

thinkpad

DummyNet

Monitor

Keyboard

10.0.0.3
nic rl0

data switch

10.0.0.2
nic rl1

firewall
bridging
Mouse

RTP-RTCP paclet sniffer


home.in
10.0.0.1

VoILA

Ethernet Hub 10Mbit

7: VoILA.
GIORGOS LIOTOP-L,
DummyNet ,
WAN. GIORGOS LIOTOP-L
Ethernet Hub VoILA,
() VoIP QoS.

/ HOU-CS-UGP-2004-05

43 112

VoILA: VoIP

4.2

2.0

VoILA

VoILA (Voice over IP LAN Analyzer)


Ethernet :
1. Ethernet
2. IP, TCP, UDP, RTP, RTCP.
3. R-factor VoIP QoS.
4. (trace) .
5. , .
6. ( ).
7. .
8. VoIP (IP_address, RTP_port,
RTCP_port).
9. VoIP.
10. UNIX command line.

4.2.1


VoIP RTP RTCP ports.
UDP
(.. RTP, RTCP ). ports
(command line arguments)
VoILA, .
: -f all.

:
voila -h

/ HOU-CS-UGP-2004-05

44 112

VoILA: VoIP

2.0

Usage: voila -{cdfghpnorstw}


OPTIONS:
-c packet_count
/* max. #packets sniffed */
/* default: =0 =forever */
-d debug_level
/* ={0,1,2,3,4,5} 5=full */
/* default: =0 *
-f filter_type
/* = { all, ip_only, udp_only, tcp_only,
*/
/*
rtp_only, rtcp_only, rtp_rtcp_only } */
/* default: = all */
-g graph_type format_file output_graph_file
/* graph_type = { 1:R(t), 2:PacketLoss, 3:Jitter(t) } */
/* default: =1 */
-h
/* print these usage instructions */
-p parameter_file
/* read input parameters from a file */
-n network_interface
/* = { eth0, eth1,... }, (see 'ifconfig' command) */
/* default: =eth0 */
-o output_file
/* redirect the standard output to a file */
-r input_trace_file
/* read packets from a file */
-s IP_addr RTP_port RTCP_port
/* multiple sources are entered with multiple -s options *
/* unknown ports should be entered as -1 */
-t time_duration
/* max. sniffing duration in seconds *
/* default: =0 =forever
-w output_trace_file
/* write packets to a file */

command line parameters :


-c packet_count

.
-d debug_level

.
-f filter_type

.
-g graph_type format_file output_graph_file

, (.. gnuplot).
(graph_type),
format (format_file),
(output_graph_file). ,
.
-h

.
-p parameter_file


, (.. r e R-factor).
.

/ HOU-CS-UGP-2004-05

45 112

VoILA: VoIP

2.0

-n network_interface

network interface .
-o output_file

(standard output redirection). ,


, > Unix.
-r input_trace_file

( ).
-s IP_addr RTP_port RTCP_por

VoIP IP ,
RTP RTCP ports.
.
-t time_duration

.
-w output_trace_file

.
, format fixed point 32 bit 16 bit 16
bit (1/65536).

voila Unix batch file :

../voila -f rtcp_only -c 0 -d 0 \
-s 192.168.10.129 49608 49609 \
-s 192.168.10.100 49608 49609 \
-r run02_udp_in.trc \
-w run02_rtcp.trc \
-p ../voila_params \
-g 1 ../voila_graph_in run02.grf

-f all,
, (..
(UDP, TCP, .), IP ports
, ( bytes), .). , UDP ,
header 16 bytes payload .

( IP RTP RTCP ports),
IP (IP_address, RTP_port,
RTCP_port). ,
header payload , (TCP, UDP,
RTP, RTCP).

/ HOU-CS-UGP-2004-05

46 112

VoILA: VoIP

4.2.2

2.0

R-factor

R :
R = 94,2 - d - Ief
= 94.2 - 0.024*d + 0.11*(d-177.3)*(d-177.3) ef
d Ief .

4.2.3

O Ief

G.711, (
Ief (G.711) = 30* ln (1 + 15*e) H (0,04 e) + 19* ln (1 + 70*e) H (e 0,04)
e = ( =10%,
).

4.2.4

O Id

d = 0,024*d + 0,11 *(d 177,3) H (d-177,3)


:
H(x) =0 x<0
H(x) =1 x0
R-factor :
float Rfactor (rcv_ssrc, ntp32, lsr, dlsr, e, r)
/* Computes the R-factor: A simple measure of voice quality (0-100) */
u_int32 rcv_ssrc, ntp32, lsr, dlsr;
float e, r;
{
extern double log1p (double x);
int ii, ii_ss;
float d, I_d, I_ef, _Rf;
float f_ntp32, f_lsr, f_dlsr, f_deltat;
/* compute the equipment impairment factor <I_ef> */
.

/ HOU-CS-UGP-2004-05

47 112

VoILA: VoIP

if (e<=0.04)
I_ef = 30*log1p(15*e) + 19*log1p(70*e);
else
I_ef=0.0;
f_ntp32
f_lsr
f_dlsr

2.0

/* log1p(x) = ln(1+x) */

= float_time_ntp32 (ntp32);
= float_time_ntp32 (lsr);
= dlsr / 65536.0;

/* locate the server's SSRC-ID in order to find his Delta */


ii_ss = 1000;
for (ii=0;ii<scan_sources;ii++){
if (ssource[ii].SSRC == rcv_ssrc){
ii_ss = ii ; break;
}
}
if (ii_ss == 1000){ /* couldn't find it in my list of sources; maybe
didn't get a Sender's Report from him yet */
f_deltat = f_dlsr + f_lsr - f_ntp32 + 0.001; /* so as to make d=0 and
avoid uncontrolled numbers */
} else
f_deltat = ssource[ii_ss].time_delta;
if (f_ntp32 - f_lsr + f_deltat < 0)
f_ntp32 += 65536.0;
/* in case NTP wraps around FFFF-->0000 and
becomes < LSR-Delta */
/* compute the one-way delay <d> = (coding + network + dejitter delay) [msec] */
d = 1000*(f_ntp32 - f_lsr - f_dlsr + f_deltat); /* 1/2*RTT (=return) (in msec.) */
if (d<0) d=0; /* can't be zero, so it's probably a glitch.. */
/* compute the impairment associated with the mouth-to-ear delay of the path I_d */
d = d*0.029;
I_d = 0.024*d;
if (d>177.3)
I_d = I_d + 0.11*(d-177.3);
_Rf = r - I_d - I_ef;
return (_Rf);
}

(VoILA)
VoIP,
. , RFC 1889 RTCP
, ( NTP),
(.. ). ,
RTCP ,
(NOW) sniffer. (DELTA)
( )
:
d = NOW - LSR - DLSR + DELTA

/ HOU-CS-UGP-2004-05

48 112

VoILA: VoIP

2.0

(round-trip delay, RTT = Now LSR DLSR)


8, RFC-1889, ( : A=NOW).

ROUND TRIP TIME COMPUTATION


[10 Nov 1995 11:33:25.125]

[10 Nov 1995 11:33:36.5]

A=b710:8000 (46864.500 sec)

SR(n)

ntp_sec =0xb44db705

dlsr =0x0005.4000 (5.250 sec)

ntp_frac =0x20000000

lsr =0xb705.2000 (46853.125 sec

(3024992016.125 sec)
RR(n)
DLSR
5.250 sec

0x710:8000 (46864.500 sec)

DLSR - 0x0005.4000

(5.250 sec)

LSR - 0xb705.2000 (46853.125 sec


delay 0x 6:2000

( 6.125 sec)

8: RTT , [RFC 1889].

d ,
R factor :
d = d*0.029

.
R-factor , (.. codecs, .)

R-factor ( e r).

/ HOU-CS-UGP-2004-05

49 112

VoILA: VoIP

4.3

4.3.1

2.0

Source Ports

,
UDP source ports ,
(payload) UDP RTP, RTCP .
, UDP (protocol
identifier).
(payload) UDP
(sniffer) Ethereal.
RTP RTCP ports
(.. f all).

9: RR Blocks RTCP SpeakFreely.


.

/ HOU-CS-UGP-2004-05

50 112

VoILA: VoIP

4.3.2

2.0

RR Blocks RTCP

Receiver Report Blocks RTCP


(.. SpeakFreely, [38] ), (.. LSR,
DLSR, .) R-factor. blocks
sniffer Ethereal, [39], 9:

4.3.3

RTCP

, ( .. SJphone) RTCP,
R factor, (. 10).

10: RTCP SJphone.

/ HOU-CS-UGP-2004-05

51 112

VoILA: VoIP

4.3.4

2.0

gettimeofday

#include <sys/time.h>
int gettimeofday (struct timeval *tp, void *tzp)

, (sec)
(microsec), 1 1970
00:00 Coordinated Universal Time (UTC) tp.
0 1 .
tp timeval (timeval structure) .
tzp . ,
.
gettimeofday , timeval
microsecond, LSR DLSR,
R-factor msec 1/65536 sec.
, gettimeofday (timestamp
) 64 bits (32 bit sec 32 bits msec),
32 bits get_now_ntp32.

4.3.5

Endianess: Big Endian & Little Endian

(bytes) (array)
. , byte.
(word) 32 bits = 4 bytes 32 bits
4 bytes, byte .
4 bytes :
Big Endian
byte ( bit) (MSB Most Significant
Byte)
.. 9012CD16

4 bytes: 90, AB, 12, CD,

:
.

/ HOU-CS-UGP-2004-05

52 112

VoILA: VoIP

1000

90

1001

1002

12

1003

CD

2.0

Little Endian
byte (LSB Least Significant Byte)
.. 9012CD16
4 bytes: 90, AB, 12, CD
:

1000

CD

1001

12

1002

AB

1003

90

,

, (network byte order),
, Big Endian Little Endian.
endianness bytes, .
bytes.
RTP /
RTCP Big Endian, Little Endian,
swap_endian.h
inline functions bytes .
, bytes e 2, 3 4 bytes,
:

#define SWAP_UINT16(Var) Var = *(u_int16*)SwapEndian((void*)&Var, sizeof(u_int16))


#define SWAP_UINT24(Var) Var = *(int*)SwapEndian((void*)&Var, 3)
#define SWAP_UINT32(Var) Var = *(u_int32*)SwapEndian((void*)&Var, sizeof(u_int32))
.

/ HOU-CS-UGP-2004-05

53 112

VoILA: VoIP

5.

2.0

VoILA -
-.

5.1

- :
1 : 25893 , 210 RTCP, Report
Blocks ( SpeakFreely).
2 : 9989 , 28 RTCP, 27 Report
Blocks. R factor Jitter
11 12, . jitter,
.
, .
3 : 14315 , 244 RTCP, 210 Report
Blocks. 2-3
( 65535 0),
. , 2,
jitter .
jitter , .
jitter buffer ( queuing)
.

/ HOU-CS-UGP-2004-05

54 112

VoILA: VoIP

2.0

"R" factor

100

R-factor (%)

90
80
70
60
50
40
0

10

20

30

40

50

60

70

80

90 100 110 120 130 140

(sec.)

11: R-factor #2.

"Packet Jitter"

500
450

Jitter

400
350
300
250
200
150
100
50
0
0

10

20

30

40

50

60

70

80

90 100 110 120 130 140

(sec.)

12: packet Jitter #2.

/ HOU-CS-UGP-2004-05

55 112

VoILA: VoIP

5.2

2.0

VoILA
IP.

, .
,
R factor systems clocks
, (, ,
), .
, Round Trip Time, (
RFC 1889 ),
d, (NOW)
(LSR) clock (
).
, ( VoILA)
clock clock .

, , .
, ,
.
(), ,
, R factor,
(. R factor , d.). ,

0,029,
, R factor.

, ,
. , (
) ,
.
.

/ HOU-CS-UGP-2004-05

56 112

VoILA: VoIP

6.

2.0

, ,
, :

1. R factor. ,
,
.
2. VoILA WAN. WAN
LAN,
, jitter , , .
3. VoILA. .
, ,
(packet throughput), .
4. .
(windows object-oriented programming),
VoILA
.
, online ,
, .
5. VoILA NLE (Network Load Estimation). E-model,
, R factor, NLE.
QoS Management Module, [13].
6. Codecs .
5, Ie.
7. (reliability) VoIP.
, QoS, VoIP, ,
, .
8. Video over IP.

/ HOU-CS-UGP-2004-05

57 112

VoILA: VoIP

2.0

5: Ie.
G.711 with

G.729A +

Packet Loss

G.711 with
PLC Bursty
Packet Loss

11

15

0.5

11

15

25

15

19

1.5

17

22

35

19

24

45

10

10

23

27

26

32

55

15

30

20

35

36

41

10

25

40

15

35

45

16

49

55

20

45

50

Packet Loss

G.711

without PLC

PLC Random

VAD

ADPCM

40 Kbps

Ie=7+(95-7)*(Packet Loss/Packet Loss=25)

Single+GSM

8Kbps

Ie=11+40ln)1+10*Pacekt Loss)

CELP

G.723.1

Ie from the above table

/ HOU-CS-UGP-2004-05

G.723.1

58 112

VoILA: VoIP

7.

2.0

,
IP, . VoIP
. IP
QoS ,
IP .

QoS VoIP.
:
) ( ),
, ( )
,
) R E-model,
RTCP . ,
(de-jitter buffer delay, .)
,
RTP .
VoILA sniffer R,
VoIP (RTP / RTCP).
R factor, .
, ,
.
, ,
,
.

/ HOU-CS-UGP-2004-05

59 112

VoILA: VoIP

8.

2.0

1. Agarwal et al., SIP-H.323 Interworking Requirements, IETF Internet Draft, April 2001.
2. J. Anderson, Methods for Measuring Perceptual Speech Quality, company white paper. Agilent
Tech., Network Systems Testing Division, 2001.
3. M. Arango et al, Media Gateway Control Protocol-Version 1.0, IETF Internet Draft, October
1999.
4. J.C. Bolot, H. Crepin and A. Vega-Garcia, Analysis of audio packets loss in the Internet, in Proc.
Intl Workshop on Network and Operating System Support for Digital Audio and Video (NOSSDAV),
Lecture Notes in Computer Science, by Springer-Verlag, pp.163-174, Durham, New Hampshire,
April 1995.
5. J.C. Bolot, S. Fosse-Parisis and D. Towsley, Adaptive FEC-based error control for Internet
telephony, in Proc. INFOCOM 99, vol.3, pp.1453-1460, New York, March 1999.
6. J.C. Bolot, and A. Vega-Garcia, The case for FEC-based error control for packet audio in the
Internet, ACM Multimedia Systems, 1997.
7. B. Braden, Resource ReSerVation Protocol (RSVP)-version 1 functional specification, IETF RFC2205, October 1997.
8. S. Breidebach, VoIP Reliability: Architectural Considerations, technology white paper, ver.3.0,
April 2003.
9. CISCO SYSTEMS, Cisco Ecosystems Developer Conference 2001 Voice Sessions, 2001.
10. CISCO SYSTEMS, Quality of Service for Voice over IP - Solutions Guide, company white paper,
2001.
11. R.G. Cole and J.H. Rosenbluth, Voice over IP Performance Monitoring, ACM Computer
Communications Review, vol.31, April 2001.
12. F.F. Cuervo, Megaco Protocol, IETF Internet Draft, September 1999
13. P. Galiotos, T. Dagiouklas and D. Arkadianos, QoS Management for an enhanced VoIP platform
using the R-factor and the Network Load Estimation function (NLE) , 5th Int. Conf. on High-Speed
Networks and Multimedia Communications, Korea, July 2002.
14. GLOBAL IP SOUND, Speech Coding and Speech Quality in IP Telephony, October 2001.
15. M. Handley, SIP: Session Initiation Protocol, IETF RFC-2543, March 1999.
16. IEEE Network Magazine, Special Issue on Internet Telephony, May 1999.

/ HOU-CS-UGP-2004-05

60 112

VoILA: VoIP

2.0

17. ITU-T Recommendation G.107, The E-Model, a computation model for use in transmission
planning, December 1998.
18. ITU-T Recommendation G.108, Application of the E-model: a planning quide, September 1998.
19. ITU-T Recommendation G.109, Definition of Categories of Speech Transmission Quality
September 1998.
20. ITU-T Recommendation G.113, Transmission impairments due to speech processing, February
2001.
21. ITU-T Recommendation G.114, One way transmission time, May 2000.
22. ITU-T Recommendation H.323, Packet-based multimedia communications systems, September
1999.
23. K. Kazuumi, J. Wenyu and H. Schulzrinne, QoS Measurement of VoIP End-points, Information
Technology R&D Center, Mitsubishi Electric Corporation, Ofuna, Kamakura, Kanagawa, Dept. of
Computer Science, Columbia University, NY, USA.
24. H. Liu and P. Mouctaris, VoIP Signaling: H.323 and Beyond, IEEE Communications Magazine,
October 2000.
25. A.P. Markopoulou, F.A. Tobagi and M.J. Karam, Assessment of VoIP Quality over Internet
Backbones, in Proc. of IEEE INFOCOM 2002, NewYork, June 2002.
26. MOCKINGBIRD NETWORKS, Transporting Voice over IP. The Issues of Quality, Echo and
Latency, company white paper, 1998-1999.
27. N. Nachiappan and F. Sjoqvist, Survey of Voice over IP (VoIP).
28. A. Percy, Understanding Latency in IP Telephony, BROOKTROUT TECHNOLOGY Inc.
29. H. Schulzrinne, S. Casner, R. Frederick and V. Jacobson, RTP: A Transport Protocol for Real-Time
Applications, Network Working Group, RFC-1889, January1996.
30. SYMMETRICON, Synchronization Essentials of VoIP, company white paper, 2003.
31. J.Q. Walker and J.T. Hicks, The Essential Guide to VoIP Implementation and Management,
company white paper, NetIQ Corporation, 2002.
32. . , & ,
Communication Solutions, .2, - 1999, .4-7.
33. . , & ,
Communication Solutions, .3, - 1999, .30-33.

/ HOU-CS-UGP-2004-05

61 112

VoILA: VoIP

2.0

34. . , Quality of Service, Communication Solutions, .10, - 2000,


.36-42.
35. . , ,
VoIP, Communication Solutions, .6, - 2000, .38-42.
36. N. Osaka et al., A Model for Evaluating Talker Echo and Sidetone in a Telephone Transmission
Network, IEEE Trans.Commun., vol.40, no.11, 1992, pp.1684-92
37. . , Voice over IP (VoIP), Communication Solutions, .1, 1999, .40-43.

URLs:
38. IETF, http://www.ietf.org
39. Speak Freely: http://www.speakfreely.org/
40. Ethereal (GUI): http://www.ethereal.com
41. testpcap1.c and recv.c: http://www.programmersheaven.com/zone3/cat532/25188.htm
42. ipdump: http://www.cr0.net:8040/code/network/ipdump.c.txt
43. Henning Schulzrinne, "RTP Tools (Version 1.6)": ftp://ftp.cs.columbia.edu/pub/schulzrinne/rtptools.
44. ETSI-TIPHON Project: http://www.etsi.org/tiphon
45. Brix Networks: http://www.brixnet.com
46. Cisco Voice Over IP Implementation and Products:
http://www.cisco/pcgibin/Support/PSP/psp_view.pl?p=Internetworking:VoX:VoIP
47. Agilent Technologies: http://www.agilent.com
48. Minacom: http://www.minacom.com
49. SJphone: http://www.sjlabs.com
50. DummyNet: http://info.iet.unipi.it/~luigi/ip_dummynet/
51. NeTrue Communications Ltd: http://www.elsnet.org/orgframes.html
52. ITU Recommendation P.800, Methods for subjective determination of transmission quality:
http://www.itu.int/publications/main_publ//itut.html
53. ITU Recommendation P.861, Objective quality measurement of telephone-band (300-3400 Hz) speech
codecs: http://www.itu.int/publications/main_publ//itut.html

/ HOU-CS-UGP-2004-05

62 112

VoILA: VoIP

2.0

swap_endian.h
#ifndef _SWAP_ENDIAN
#define _SWAP_ENDIAN
/******************************************************************************
FUNCTION: SwapEndian
PURPOSE: Swap the byte order of a structure
EXAMPLE: float F=123.456;; SWAP_FLOAT(F);
******************************************************************************/
#define
#define
#define
#define
#define
#define
#define
#define
#define

SWAP_SHORT(Var)
SWAP_USHORT(Var)
SWAP_LONG(Var)
SWAP_ULONG(Var)
SWAP_FLOAT(Var)
SWAP_DOUBLE(Var)
SWAP_UINT16(Var)
SWAP_UINT24(Var)
SWAP_UINT32(Var)

Var
Var
Var
Var
Var
Var
Var
Var
Var

=
=
=
=
=
=
=
=
=

*(short*)
SwapEndian((void*)&Var, sizeof(short))
*(unsigned short*)SwapEndian((void*)&Var, sizeof(short))
*(long*)
SwapEndian((void*)&Var, sizeof(long))
*(unsigned long*) SwapEndian((void*)&Var, sizeof(long))
*(float*)
SwapEndian((void*)&Var, sizeof(float))
*(double*)
SwapEndian((void*)&Var, sizeof(double))
*(u_int16*)SwapEndian((void*)&Var, sizeof(u_int16))
*(int*)SwapEndian((void*)&Var, 3)
*(u_int32*)SwapEndian((void*)&Var, sizeof(u_int32))

extern void *SwapEndian(void* Addr, const int Nb);


#endif
// #include "SwapEndian.h"
/******************************************************************************
FUNCTION: SwapEndian
PURPOSE: Swap the byte order of a structure
EXAMPLE: float F=123.456;; SWAP_FLOAT(F);
******************************************************************************/
void *SwapEndian(void* Addr, const int Nb) {
static char Swapped[16];
switch (Nb) {
case 2:
Swapped[0]=*((char*)Addr+1);
Swapped[1]=*((char*)Addr );
break;
case 3:
Swapped[3]=*((char*)Addr+3);
Swapped[0]=*((char*)Addr+2);
Swapped[1]=*((char*)Addr+1);
Swapped[2]=*((char*)Addr );
break;
case 4:
Swapped[0]=*((char*)Addr+3);
Swapped[1]=*((char*)Addr+2);
Swapped[2]=*((char*)Addr+1);
Swapped[3]=*((char*)Addr );
break;
case 8:
Swapped[0]=*((char*)Addr+7);
Swapped[1]=*((char*)Addr+6);
Swapped[2]=*((char*)Addr+5);
Swapped[3]=*((char*)Addr+4);
Swapped[4]=*((char*)Addr+3);
Swapped[5]=*((char*)Addr+2);
Swapped[6]=*((char*)Addr+1);
Swapped[7]=*((char*)Addr );
break;
case 16:Swapped[0]=*((char*)Addr+15);
Swapped[1]=*((char*)Addr+14);
Swapped[2]=*((char*)Addr+13);
Swapped[3]=*((char*)Addr+12);
Swapped[4]=*((char*)Addr+11);
Swapped[5]=*((char*)Addr+10);
Swapped[6]=*((char*)Addr+9);
Swapped[7]=*((char*)Addr+8);
Swapped[8]=*((char*)Addr+7);
Swapped[9]=*((char*)Addr+6);
.

/ HOU-CS-UGP-2004-05

82 112

VoILA: VoIP

2.0

Swapped[10]=*((char*)Addr+5);
Swapped[11]=*((char*)Addr+4);
Swapped[12]=*((char*)Addr+3);
Swapped[13]=*((char*)Addr+2);
Swapped[14]=*((char*)Addr+1);
Swapped[15]=*((char*)Addr );
break;
}
return (void*)Swapped;
}

/ HOU-CS-UGP-2004-05

83 112

VoILA: VoIP

10.

2.0

10.1 #1:
./voila -f all -c 0 -d 0 \
-s 10.0.0.10 1474 1473 \
-s 10.0.0.20 1765 1764 \
-r long_30K_packets.trc \
-p voila_params \
-g 1 voila_graph_in run01.grf
==========================================================
New source: #1) IP=10.0.0.10 RTP_p=1474 RTCP_p=1473
New source: #2) IP=10.0.0.20 RTP_p=1765 RTCP_p=1764
Debugging information: Level 0
Opening graph format file: <voila_graph_in>... OK.
Opening output graph file: <run01.grf>... OK.
Opening parameter format file: <voila_params>... OK.
Reading parameters...
< e=0.010000 r=92.400002 >
Done. Closing file... OK.
Opening input trace file: <long_30K_packets.trc>... OK.
Sniffing 0 packets now...
End of trace-file reached. A total of 25893 packets have been processed.
---- PACKET ANALYSIS ---TCP: 0 packets
UDP: 25884 packets
RTP: 25551 packets
RTCP: 210 packets
Sender Reports:
0
Receiver Reports: 210
Report Blocks: 0
Non-analyzed: 9 packets
Trace processing time: 0 sec.
Trace duration: 1184.000000 sec. [304e0000<->34ee0000]
==========================================================

/ HOU-CS-UGP-2004-05

84 112

VoILA: VoIP

2.0

10.2 #2:
../voila -f all -c 0 -d 0 \
-s 192.168.10.129 49608 49609 \
-s 192.168.10.100 49608 49609 \
-r run02_udp_in.trc \
-w run02_rtcp.trc \
-p ../voila_params \
-g 1 ../voila_graph_in run02.grf
cat run02.grf | grep "TO=ba01"
echo
cat run02.grf | grep "TO=1429"
echo
==========================================================
New source: #1) IP=192.168.10.129 RTP_p=49608 RTCP_p=49609
New source: #2) IP=192.168.10.100 RTP_p=49608 RTCP_p=49609
Debugging information: Level 0
Opening graph format file: <../voila_graph_in>... OK.
Opening output graph file: <run02.grf>... OK.
Opening output trace file: <run02_rtcp.trc>... OK.
Opening parameter format file: <../voila_params>... OK.
Reading parameters...
< e=0.010000 r=92.400002 >
Done. Closing file... OK.
Opening input trace file: <run02_udp_in.trc>... OK.
Sniffing 0 packets now...
End of trace-file reached. A total of 9989 packets have been processed.
---- PACKET ANALYSIS ---TCP: 0 packets
UDP: 9989 packets
RTP: 9961 packets
RTCP: 28 packets
Sender Reports:
27
Receiver Reports: 1
Report Blocks: 27
Non-analyzed: 0 packets
Trace processing time: 0 sec.
Trace duration: 313.171875 sec. [ca23acf2<->cb5cd90c]
==========================================================

/ HOU-CS-UGP-2004-05

85 112

VoILA: VoIP

2.0

QoS ba017988:
R_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:

FROM=1429d26d
FROM=1429d26d
FROM=1429d26d
FROM=1429d26d
FROM=1429d26d
FROM=1429d26d
FROM=1429d26d
FROM=1429d26d
FROM=1429d26d
FROM=1429d26d
FROM=1429d26d
FROM=1429d26d
FROM=1429d26d
FROM=1429d26d
FROM=1429d26d

TO=ba017988
TO=ba017988
TO=ba017988
TO=ba017988
TO=ba017988
TO=ba017988
TO=ba017988
TO=ba017988
TO=ba017988
TO=ba017988
TO=ba017988
TO=ba017988
TO=ba017988
TO=ba017988
TO=ba017988

TS=51749.531250
TS=51754.859375
TS=51767.593750
TS=51773.070312
TS=51778.546875
TS=51790.183594
TS=51795.558594
TS=51799.269531
TS=51803.574219
TS=51813.226562
TS=51855.035156
TS=51866.191406
TS=51880.500000
TS=51887.464844
TS=51892.777344

R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=

78.077629
77.020714
68.494591
66.452927
66.050659
66.266975
66.050659
66.179688
66.088608
68.046791
66.096199
66.202461
66.191071
66.077225
66.141739

PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=

1
10
5
2
0
7
3
0
0
5
8
1
15
5
1

R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=

78.124527
75.796600
73.930176
72.399567
72.281921
74.389641
72.338844
73.890076
72.596901
72.558952
72.426132
72.437515

PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=

0
0
0
0
0
0
0
0
0
0
0
0

JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=

289
331
326
293
292
313
292
299
301
296
296
301

PSent=-----PSent= 12226
PSent= 12420
PSent= 12464
PSent= 12627
PSent= 12841
PSent= 13018
PSent= 13116
PSent= 13160
PSent= 13414
PSent= 14319
PSent= 14683
PSent= 15120
PSent= 15249
PSent= 15428

OSent=-----OSent=293424
OSent=298080
OSent=299136
OSent=303048
OSent=308184
OSent=312432
OSent=314784
OSent=315840
OSent=321936
OSent=343656
OSent=352392
OSent=362880
OSent=365976
OSent=370272

PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=

OSent=642672
OSent=645408
OSent=650688
OSent=653880
OSent=676200
OSent=679464
OSent=685320
OSent=689712
OSent=709944
OSent=728712
OSent=731136
OSent=741288

QoS 1429d26d:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:

FROM=ba017988
FROM=ba017988
FROM=ba017988
FROM=ba017988
FROM=ba017988
FROM=ba017988
FROM=ba017988
FROM=ba017988
FROM=ba017988
FROM=ba017988
FROM=ba017988
FROM=ba017988

TO=1429d26d
TO=1429d26d
TO=1429d26d
TO=1429d26d
TO=1429d26d
TO=1429d26d
TO=1429d26d
TO=1429d26d
TO=1429d26d
TO=1429d26d
TO=1429d26d
TO=1429d26d

TS=51754.246094
TS=51761.328125
TS=51771.359375
TS=51777.464844
TS=51806.074219
TS=51811.761719
TS=51820.742188
TS=51826.949219
TS=51854.386719
TS=51878.191406
TS=51881.277344
TS=51894.214844

/ HOU-CS-UGP-2004-05

26778
26892
27112
27245
28175
28311
28555
28738
29581
30363
30464
30887

86 112

VoILA: VoIP

2.0

10.3 #3:
../voila -f all -c 0 -d 0 \
-s 10.0.0.10 49602 49603 \
-s 10.0.0.20 49598 49599 \
-r exp03_udp_in.trc \
-p ../voila_params \
-g 1 ../voila_graph_in run03.grf
cat run03.grf | grep "TO=bbd3887a"
echo
cat run03.grf | grep "TO=790f119f"
echo
==========================================================
New source: #1) IP=10.0.0.10 RTP_p=49602 RTCP_p=49603
New source: #2) IP=10.0.0.20 RTP_p=49598 RTCP_p=49599
Debugging information: Level 0
Opening graph format file: <../voila_graph_in>... OK.
Opening output graph file: <run03.grf>... OK.
Opening parameter format file: <../voila_params>... OK.
Reading parameters...
< e=0.010000 r=92.400002 >
Done. Closing file... OK.
Opening input trace file: <exp03_udp_in.trc>... OK.
Sniffing 0 packets now...
End of trace-file reached. A total of 14315 packets have been processed.
---- PACKET ANALYSIS ---TCP: 0 packets
UDP: 14235 packets
RTP: 13972 packets
RTCP: 244 packets
Sender Reports:
207
Receiver Reports: 37
Report Blocks: 210
Non-analyzed: 80 packets
Trace processing time: 0 sec.
Trace duration: 586.000000 sec. [fff80000<->2420000]
==========================================================
QoS bbd3887a:
S_RB: FROM=790f119f TO=bbd3887a TS=65530.000000 R=
S_RB: FROM=790f119f TO=bbd3887a TS=
0.000000 R=
S_RB: FROM=790f119f TO=bbd3887a TS=
7.000000 R=
.

78.124527 PL=
78.125206 PL=
78.094620 PL=

/ HOU-CS-UGP-2004-05

0 JT=
0 JT=
0 JT=

18 PSent=
9 PSent=
9 PSent=

3087 OSent= 74088


3177 OSent= 76248
3267 OSent= 78408

87 112

VoILA: VoIP
R_RB:
S_RB:
S_RB:
R_RB:
S_RB:
S_RB:
R_RB:
R_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
R_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:

FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f

TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a

TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=

13.000000
16.000000
21.000000
24.000000
38.000000
74.000000
77.000000
101.000000
108.000000
115.000000
120.000000
126.000000
139.000000
150.000000
154.000000
161.000000
164.000000
167.000000
173.000000
180.000000
187.000000
194.000000
198.000000
201.000000
206.000000
211.000000
215.000000
218.000000
224.000000
228.000000
235.000000
242.000000
248.000000
255.000000
259.000000
265.000000
271.000000
276.000000
279.000000
286.000000
290.000000
295.000000
300.000000
305.000000
310.000000
316.000000

R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=

2.0
77.857407
77.552910
77.593689
77.819351
77.526405
77.548828
77.663017
77.707878
77.715355
77.868286
77.971596
77.546112
77.803032
77.813232
77.866249
77.489021
77.645348
77.705162
78.114334
78.045006
78.052483
77.739143
77.526405
77.675934
78.008980
78.069473
77.703804
78.034126
77.880516
77.737785
78.037529
77.640587
78.085785
77.862846
77.643311
77.795555
77.578735
77.542038
77.879158
77.670494
78.125206
78.064034
77.560387
77.961403
77.582817
77.555626

PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=

/ HOU-CS-UGP-2004-05

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=

66
15
88
40
108
267
173
61
88
23
13
7
25
44
61
91
128
263
193
144
51
59
40
11
67
7
37
41
49
35
48
15
22
15
5
5
38
53
18
80
61
30
44
50
33
11

PSent=-----PSent= 3316
PSent= 3378
PSent=-----PSent= 3456
PSent= 3524
PSent=-----PSent=-----PSent= 3579
PSent= 3755
PSent= 3765
PSent= 3833
PSent= 3879
PSent= 3928
PSent= 3994
PSent= 4150
PSent= 4199
PSent= 4259
PSent= 4328
PSent= 4425
PSent= 4487
PSent= 4552
PSent= 4595
PSent=-----PSent= 4647
PSent= 4687
PSent= 4707
PSent= 4769
PSent= 4791
PSent= 4814
PSent= 4903
PSent= 4944
PSent= 4965
PSent= 5074
PSent= 5158
PSent= 5254
PSent= 5352
PSent= 5479
PSent= 5589
PSent= 5642
PSent= 5757
PSent= 5902
PSent= 6035
PSent= 6095
PSent= 6118
PSent= 6216

88 112

OSent=-----OSent= 79584
OSent= 81072
OSent=-----OSent= 82944
OSent= 84576
OSent=-----OSent=-----OSent= 85896
OSent= 90120
OSent= 90360
OSent= 91992
OSent= 93096
OSent= 94272
OSent= 95856
OSent= 99600
OSent=100776
OSent=102216
OSent=103872
OSent=106200
OSent=107688
OSent=109248
OSent=110280
OSent=-----OSent=111528
OSent=112488
OSent=112968
OSent=114456
OSent=114984
OSent=115536
OSent=117672
OSent=118656
OSent=119160
OSent=121776
OSent=123792
OSent=126096
OSent=128448
OSent=131496
OSent=134136
OSent=135408
OSent=138168
OSent=141648
OSent=144840
OSent=146280
OSent=146832
OSent=149184

VoILA: VoIP
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:

FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f

TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a

TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=

319.000000
323.000000
327.000000
333.000000
340.000000
345.000000
352.000000
356.000000
361.000000
365.000000
369.000000
377.000000
383.000000
388.000000
391.000000
397.000000
400.000000
403.000000
406.000000
410.000000
415.000000
420.000000
423.000000
430.000000
433.000000
437.000000
443.000000
447.000000
452.000000
459.000000
465.000000
470.000000
475.000000
479.000000
484.000000
488.000000
491.000000
497.000000
500.000000
502.000000
509.000000
514.000000
517.000000
520.000000
524.000000
530.000000

R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=

2.0
78.031410
78.042282
77.565147
77.752739
77.800995
77.450958
77.451637
77.921303
77.571259
77.686806
78.108894
77.524361
78.032768
77.856728
77.511452
77.698364
77.478142
77.663017
77.867607
77.851295
77.953247
77.951210
77.842461
77.968201
77.692924
77.459793
77.939651
77.936935
78.066757
77.676613
77.737785
77.675255
78.125206
77.836342
77.569901
78.061996
78.042961
77.770409
77.452316
77.984512
77.894112
78.081024
77.783325
77.459114
77.803711
78.124527

PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=

/ HOU-CS-UGP-2004-05

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=

18
25
12
8
16
31
3
9
36
25
5
14
33
18
15
49
16
48
18
2
1
1
27
54
17
10
4
18
0
30
14
1
29
12
3
85
4
15
12
9
2
6
41
22
13
36

PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=

6308
6342
6409
6528
6639
6703
6868
6960
7039
7135
7254
7335
7444
7541
7584
7706
7750
7788
7847
7979
8080
8220
8274
8434
8503
8601
8797
8865
9025
9061
9170
9311
9403
9469
9569
9659
9746
9883
9914
9934
10050
10213
10255
10298
10415
10511

89 112

OSent=151392
OSent=152208
OSent=153816
OSent=156672
OSent=159336
OSent=160872
OSent=164832
OSent=167040
OSent=168936
OSent=171240
OSent=174096
OSent=176040
OSent=178656
OSent=180984
OSent=182016
OSent=184944
OSent=186000
OSent=186912
OSent=188328
OSent=191496
OSent=193920
OSent=197280
OSent=198576
OSent=202416
OSent=204072
OSent=206424
OSent=211128
OSent=212760
OSent=216600
OSent=217464
OSent=220080
OSent=223464
OSent=225672
OSent=227256
OSent=229656
OSent=231816
OSent=233904
OSent=237192
OSent=237936
OSent=238416
OSent=241200
OSent=245112
OSent=246120
OSent=247152
OSent=249960
OSent=252264

VoILA: VoIP
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:

FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f
FROM=790f119f

TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a
TO=bbd3887a

TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=

537.000000
542.000000
548.000000
553.000000
560.000000
564.000000
567.000000
571.000000
574.000000
578.000000

2.0

R=
R=
R=
R=
R=
R=
R=
R=
R=
R=

77.797600
77.599808
78.002861
77.902946
78.050438
77.733704
78.077629
78.117050
78.049759
77.747299

PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=

0
0
0
0
0
0
0
0
0
0

JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=

34
11
37
44
25
47
2
30
26
1

PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=

10647
10741
10840
10881
11032
11074
11190
11290
11367
11486

OSent=255528
OSent=257784
OSent=260160
OSent=261144
OSent=264768
OSent=265776
OSent=268560
OSent=270960
OSent=272808
OSent=275664

R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=

78.052483
78.125206
77.721474
77.762932
77.830902
77.637871
78.125206
77.996742
77.560387
77.701759
78.001503
77.742546
77.803711
77.921303
77.716034
77.935577
77.504654
77.595047
77.472710
77.664375
77.669136
77.608643
78.004219
77.593689
77.571938
77.570580
77.871002
77.752060
77.562424
77.713997
77.489021
77.709915
77.502617

PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=

3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
5
5
5

JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=

3
0
2
0
7
2
1
0
3
1
4
1
0
0
0
0
2
0
0
32
8
10
11
0
1
7
1
1
0
0
0
1
3

PSent= 1458
PSent= 1498
PSent=-----PSent= 1576
PSent= 1626
PSent=-----PSent=-----PSent= 1652
PSent=-----PSent=-----PSent= 1663
PSent= 1711
PSent= 1747
PSent= 1771
PSent=-----PSent= 1848
PSent=-----PSent= 1897
PSent= 1924
PSent= 1962
PSent= 2004
PSent= 2037
PSent= 2113
PSent= 2170
PSent= 2207
PSent= 2256
PSent= 2331
PSent= 2423
PSent= 2482
PSent= 2538
PSent= 2584
PSent= 2597
PSent= 2632

OSent= 69984
OSent= 71904
OSent=-----OSent= 75648
OSent= 78048
OSent=-----OSent=-----OSent= 79296
OSent=-----OSent=-----OSent= 79824
OSent= 82128
OSent= 83856
OSent= 85008
OSent=-----OSent= 88704
OSent=-----OSent= 91056
OSent= 92352
OSent= 94176
OSent= 96192
OSent= 97776
OSent=101424
OSent=104160
OSent=105936
OSent=108288
OSent=111888
OSent=116304
OSent=119136
OSent=121824
OSent=124032
OSent=124656
OSent=126336

QoS 790f119f:
S_RB:
S_RB:
R_RB:
S_RB:
S_RB:
R_RB:
R_RB:
S_RB:
R_RB:
R_RB:
S_RB:
S_RB:
S_RB:
S_RB:
R_RB:
S_RB:
R_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:

FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a

TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f

TS=65534.000000
TS=
2.000000
TS=
8.000000
TS=
17.000000
TS=
21.000000
TS=
31.000000
TS=
34.000000
TS=
40.000000
TS=
49.000000
TS=
65.000000
TS=
73.000000
TS= 107.000000
TS= 111.000000
TS= 117.000000
TS= 128.000000
TS= 139.000000
TS= 147.000000
TS= 154.000000
TS= 157.000000
TS= 160.000000
TS= 165.000000
TS= 168.000000
TS= 173.000000
TS= 179.000000
TS= 184.000000
TS= 190.000000
TS= 196.000000
TS= 203.000000
TS= 208.000000
TS= 213.000000
TS= 219.000000
TS= 223.000000
TS= 226.000000

/ HOU-CS-UGP-2004-05

90 112

VoILA: VoIP
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:

FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a

TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f

TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=

229.000000
236.000000
243.000000
249.000000
253.000000
258.000000
262.000000
265.000000
268.000000
272.000000
277.000000
280.000000
285.000000
290.000000
295.000000
300.000000
306.000000
311.000000
316.000000
322.000000
325.000000
331.000000
338.000000
344.000000
347.000000
352.000000
356.000000
362.000000
367.000000
369.000000
374.000000
380.000000
383.000000
387.000000
393.000000
397.000000
402.000000
404.000000
411.000000
415.000000
421.000000
426.000000
433.000000
438.000000
442.000000
448.000000

R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=

2.0
78.001503
77.478142
77.707878
77.519608
77.460472
77.465233
77.783325
77.465233
78.109573
77.856728
77.762932
77.926056
77.457077
77.894791
77.440079
77.682053
77.632431
77.463188
78.013062
77.683411
77.567184
77.699722
77.631073
77.447556
77.526405
78.089180
77.834984
77.688171
77.497856
78.100739
78.056557
77.518929
77.870323
77.525040
77.789444
78.052483
77.505333
77.896835
77.807793
77.763611
77.984512
77.654861
77.683411
77.687485
78.011696
77.789444

PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=

/ HOU-CS-UGP-2004-05

5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
8
8
8
8

JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=

6
0
3
1
1
1
0
3
0
0
1
0
0
0
0
0
1
0
0
0
0
6
0
0
5
2
0
0
0
0
0
1
0
0
1
0
1
1
0
0
0
0
0
1
0
1

PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=

2656
2671
2704
2725
2762
2832
2894
2915
2958
3007
3083
3126
3168
3231
3292
3372
3443
3462
3551
3618
3644
3708
3808
3892
3930
4014
4049
4120
4192
4234
4254
4331
4355
4393
4497
4536
4589
4604
4709
4767
4869
4924
5010
5086
5158
5235

91 112

OSent=127488
OSent=128208
OSent=129792
OSent=130800
OSent=132576
OSent=135936
OSent=138912
OSent=139920
OSent=141984
OSent=144336
OSent=147984
OSent=150048
OSent=152064
OSent=155088
OSent=158016
OSent=161856
OSent=165264
OSent=166176
OSent=170448
OSent=173664
OSent=174912
OSent=177984
OSent=182784
OSent=186816
OSent=188640
OSent=192672
OSent=194352
OSent=197760
OSent=201216
OSent=203232
OSent=204192
OSent=207888
OSent=209040
OSent=210864
OSent=215856
OSent=217728
OSent=220272
OSent=220992
OSent=226032
OSent=228816
OSent=233712
OSent=236352
OSent=240480
OSent=244128
OSent=247584
OSent=251280

VoILA: VoIP
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:
S_RB:

FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a
FROM=bbd3887a

TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f
TO=790f119f

TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=
TS=

455.000000
460.000000
465.000000
471.000000
476.000000
480.000000
483.000000
489.000000
492.000000
495.000000
502.000000
506.000000
511.000000
517.000000
521.000000
529.000000
536.000000
539.000000
542.000000
547.000000
551.000000
554.000000
561.000000
565.000000
568.000000
572.000000

R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=
R=

2.0
77.655540
77.849251
77.722832
77.707878
77.718750
77.459114
77.789444
77.760216
77.784004
77.480186
77.808472
77.922661
77.677971
77.635834
77.854691
77.457756
77.633789
77.733025
77.492416
77.923340
77.940331
77.734390
77.713997
77.620201
77.777885
77.578735

PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=
PL=

/ HOU-CS-UGP-2004-05

8
8
9
9
9
9
9
9
9
9
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11

JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=
JT=

3
6
0
0
0
0
0
2
0
0
3
1
0
3
0
0
0
0
0
0
2
0
0
0
0
1

PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=
PSent=

5348
5381
5433
5533
5585
5625
5667
5748
5799
5838
5960
6030
6107
6191
6253
6349
6417
6466
6510
6596
6635
6642
6714
6756
6809
6862

92 112

OSent=256704
OSent=258288
OSent=260784
OSent=265584
OSent=268080
OSent=270000
OSent=272016
OSent=275904
OSent=278352
OSent=280224
OSent=286080
OSent=289440
OSent=293136
OSent=297168
OSent=300144
OSent=304752
OSent=308016
OSent=310368
OSent=312480
OSent=316608
OSent=318480
OSent=318816
OSent=322272
OSent=324288
OSent=326832
OSent=329376

VoILA: VoIP

11.

2.0

< d >:
--> Setting Delta[0]=10318.158203 [ = s-v = 2a7e94c0-2310000 ] [bbd3887a]=10878.581055 [ours]=561.000000
ntp_ts=[
2a7e 94c00000] NTP=561.000000, (NTP-LSR+D)=1.130859, LSR=25987.462891, DLSR=0.540039,
Delta=25427.593750, e=0.010000, r=92.400002, d=1181.640625,I_ef=14.274795, I_d=138.836838, Rf=-60.711632
FROM=bbd3887a TO=790f119f TS=561.000000 R=-60.711632 PL=11 JT=0 PSent=6714 OSent=322272
--> Setting Delta[1]=25427.593750 [ = s-v = 65870200-2340000 ][790f119f]=25991.007812 [ours]=564.000000
ntp_ts=[
16587 2000000] NTP=564.000000, (NTP-LSR+D)=3.577148, LSR=10878.581055, DLSR=3.014648,
Delta=10318.158203, e=0.010000, r=92.400002, d=1125.000000,I_ef=14.274795, I_d=131.246994, Rf=-53.121788
FROM=790f119f TO=bbd3887a TS=564.000000 R=-53.121788 PL=0 JT=47 PSent=11074 OSent=265776
META < d >:
--> Setting Delta[0]=10318.158203 [ = s-v = 2a7e94c0-2310000 ][bbd3887a]=10878.581055 [ours]=561.000000
ntp_ts=[
2a7e 94c00000] NTP=561.000000 [=0x2310000], (NTP-LSR+D)=1.130859, LSR=25987.462891, DLSR=0.540039,
Delta=25427.593750, e=0.010000, r=92.400002, d=17.133789,I_ef=14.274795, I_d=0.411211, Rf=77.713997
S_RB: FROM=bbd3887a TO=790f119f TS=561.000000 R= 77.713997 PL=11 JT= 0 PSent= 6714 OSent=322272
--> Setting Delta[1]=25427.593750 [ = s-v = 65870200-2340000 ][790f119f]=25991.007812 [ours]=564.000000
ntp_ts=[
16587 2000000] NTP=564.000000 [=0x2340000], (NTP-LSR+D)=3.577148, LSR=10878.581055, DLSR=3.014648,
Delta=10318.158203, e=0.010000, r=92.400002, d=16.312500,I_ef=14.274795, I_d=0.391500, Rf=77.733704
S_RB: FROM=790f119f TO=bbd3887a TS=564.000000 R= 77.733704 PL= 0 JT=47 PSent=11074 OSent=265776
, ( ) sniffer Ethereal .

/ HOU-CS-UGP-2004-05

93 112

VoILA: VoIP

/ HOU-CS-UGP-2004-05

2.0

94 112

VoILA: VoIP

/ HOU-CS-UGP-2004-05

2.0

95 112

VoILA: VoIP

12.

2.0

12.1 VoIP

12.1.1 Speak Freely MS-Windows

Speak Freely Windows


(real time voice conference)
TCP/IP .
(typed characters). John Walker Brian Wiles.

.
, GSM, ADPCM, LPC, and LPC-10.
IDEA DES, PGP
, (privacy) .
Speak Freely for Windows Speak Freely for Unix,
(-).
Look Whos Listening
RTP
. , Speak Freely
VAT (Visual Audio
Tool).
(screenshots) Speak Freely.

/ HOU-CS-UGP-2004-05

97 112

VoILA: VoIP

/ HOU-CS-UGP-2004-05

2.0

98 112

VoILA: VoIP

2.0

12.1.2 NetNeeting MS-Windows

/ HOU-CS-UGP-2004-05

99 112

VoILA: VoIP

2.0

12.1.3 SJphone MS-Windows

/ HOU-CS-UGP-2004-05

100 112

VoILA: VoIP

13. E

2.0

RFC-1889

RFC 1889, RTP / RTCP,


:

RTP Fixed Header Fields


The RTP header has the following format:
0

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V=2|P|X|

CC

|M|

PT

sequence number

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|

timestamp

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|

synchronization source (SSRC) identifier

+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
|

contributing source (CSRC) identifiers

....

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

The first twelve octets are present in every RTP packet, while the list of CSRC identifiers is present only
when inserted by a mixer. The fields have the following meaning:
version (V): 2 bits
This field identifies the version of RTP. The version defined by this specification is two (2). (The value 1 is
used by the first draft version of RTP and the value 0 is used by the protocol initially implemented in the
"vat" audio tool.)
padding (P): 1 bit
If the padding bit is set, the packet contains one or more additional padding octets at the end which are not
part of the payload. The last octet of the padding contains a count of how many padding octets should be
ignored. Padding may be needed by some encryption algorithms with fixed block sizes or for carrying
several RTP packets in a lower-layer protocol data unit.
extension (X): 1 bit
If the extension bit is set, the fixed header is followed by exactly one header extension, with a format
defined in Section 5.3.1.
.

/ HOU-CS-UGP-2004-05

101 112

VoILA: VoIP

2.0

CSRC count (CC): 4 bits


The CSRC count contains the number of CSRC identifiers that follow the fixed header.
marker (M): 1 bit
The interpretation of the marker is defined by a profile. It is intended to allow significant events such as
frame boundaries to be marked in the packet stream. A profile may define additional marker bits or specify
that there is no marker bit by changing the number of bits in the payload type field (see Section 5.3).
payload type (PT): 7 bits
This field identifies the format of the RTP payload and determines its interpretation by the application. A
profile specifies a default static mapping of payload type codes to payload formats. Additional payload type
codes may be defined dynamically through non-RTP means (see Section 3). An initial set of default
mappings for audio and video is specified in the companion profile Internet-Draft draft-ietf-avt-profile, and
may be extended in future editions of the Assigned Numbers RFC [6]. An RTP sender emits a single RTP
payload type at any given time; this field is not intended for multiplexing separate media streams (see
Section 5.2).
sequence number: 16 bits
The sequence number increments by one for each RTP data packet sent, and may be used by the receiver to
detect packet loss and to restore packet sequence. The initial value of the sequence number is random
(unpredictable) to make known-plaintext attacks on encryption more difficult, even if the source itself does
not encrypt, because the packets may flow through a translator that does. Techniques for choosing
unpredictable numbers are discussed in [7].
timestamp: 32 bits
The timestamp reflects the sampling instant of the first octet in the RTP data packet. The sampling instant
must be derived from a clock that increments monotonically and linearly in time to allow synchronization
and jitter calculations (see Section 6.3.1). The resolution of the clock must be sufficient for the desired
synchronization accuracy and for measuring packet arrival jitter (one tick per video frame is typically not
sufficient). The clock frequency is dependent on the format of data carried as payload and is specified
statically in the profile or payload format specification that defines the format, or may be specified
dynamically for payload formats defined through non-RTP means. If RTP packets are generated
periodically, the nominal sampling instant as determined from the sampling clock is to be used, not a
reading of the system clock. As an example, for fixed-rate audio the timestamp clock would likely
increment by one for each sampling period. If an audio application reads blocks covering 160 sampling

/ HOU-CS-UGP-2004-05

102 112

VoILA: VoIP

2.0

periods from the input device, the timestamp would be increased by 160 for each such block, regardless of
whether the block is transmitted in a packet or dropped as silent.
The initial value of the timestamp is random, as for the sequence number. Several consecutive RTP packets
may have equal timestamps if they are (logically) generated at once, e.g., belong to the same video frame.
Consecutive RTP packets may contain timestamps that are not monotonic if the data is not transmitted in
the order it was sampled, as in the case of MPEG interpolated video frames. (The sequence numbers of the
packets as transmitted will still be monotonic.)
SSRC: 32 bits
The SSRC field identifies the synchronization source. This identifier is chosen randomly, with the intent
that no two synchronization sources within the same RTP session will have the same SSRC identifier. An
example algorithm for generating a random identifier is presented in Appendix A.6. Although the
probability of multiple sources choosing the same identifier is low, all RTP implementations must be
prepared to detect and resolve collisions. Section 8 describes the probability of collision along with a
mechanism for resolving collisions and detecting RTP-level forwarding loops based on the uniqueness of
the SSRC identifier. If a source changes its source transport address, it must also choose a new SSRC
identifier to avoid being interpreted as a looped source.
CSRC list: 0 to 15 items, 32 bits each
The CSRC list identifies the contributing sources for the payload contained in this packet. The number of
identifiers is given by the CC field. If there are more than 15 contributing sources, only 15 may be
identified. CSRC identifiers are inserted by mixers, using the SSRC identifiers of contributing sources. For
example, for audio packets the SSRC identifiers of all sources that were mixed together to create a packet
are listed, allowing correct talker indication at the receiver.

/ HOU-CS-UGP-2004-05

103 112

VoILA: VoIP

2.0

RTCP Packet Format


This specification defines several RTCP packet types to carry a variety of control information:
SR
Sender report, for transmission and reception statistics from participants that are active senders
RR
Receiver report, for reception statistics from participants that are not active senders
SDES
Source description items, including CNAME
BYE
Indicates end of participation
APP
Application specific functions
Each RTCP packet begins with a fixed part similar to that of RTP data packets, followed by structured
elements that may be of variable length according to the packet type but always end on a 32-bit boundary.
The alignment requirement and a length field in the fixed part are included to make RTCP packets
"stackable". Multiple RTCP packets may be concatenated without any intervening separators to form a
compound RTCP packet that is sent in a single packet of the lower layer protocol, for example UDP. There
is no explicit count of individual RTCP packets in the compound packet since the lower layer protocols are
expected to provide an overall length to determine the end of the compound packet.
Each individual RTCP packet in the compound packet may be processed independently with no
requirements upon the order or combination of packets. However, in order to perform the functions of the
protocol, the following constraints are imposed:
Reception statistics (in SR or RR) should be sent as often as bandwidth constraints will allow to maximize
the resolution of the statistics, therefore each periodically transmitted compound RTCP packet should
include a report packet.

/ HOU-CS-UGP-2004-05

104 112

VoILA: VoIP

2.0

New receivers need to receive the CNAME for a source as soon as possible to identify the source and to
begin associating media for purposes such as lip-sync, so each compound RTCP packet should also include
the SDES CNAME.
The number of packet types that may appear first in the compound packet should be limited to increase the
number of constant bits in the first word and the probability of successfully validating RTCP packets
against misaddressed RTP data packets or other unrelated packets.
Thus, all RTCP packets must be sent in a compound packet of at least two individual packets, with the
following format recommended:
Encryption prefix
If and only if the compound packet is to be encrypted, it is prefixed by a random 32-bit quantity redrawn
for every compound packet transmitted.
SR or RR
The first RTCP packet in the compound packet must always be a report packet to facilitate header
validation as described in Appendix A.2. This is true even if no data has been sent nor received, in which
case an empty RR is sent, and even if the only other RTCP packet in the compound packet is a BYE.
Additional RRs
If the number of sources for which reception statistics are being reported exceeds 31, the number that will
fit into one SR or RR packet, then additional RR packets should follow the initial report packet.
SDES
An SDES packet containing a CNAME item must be included in each compound RTCP packet. Other
source description items may optionally be included if required by a particular application, subject to
bandwidth constraints (see Section 6.2.2).
BYE or APP
Other RTCP packet types, including those yet to be defined, may follow in any order, except that BYE
should be the last packet sent with a given SSRC/CSRC. Packet types may appear more than once.
It is advisable for translators and mixers to combine individual RTCP packets from the multiple sources
they are forwarding into one compound packet whenever feasible in order to amortize the packet overhead
(see Section 7). An example RTCP compound packet as might be produced by a mixer is shown in Fig. 1.
If the overall length of a compound packet would exceed the maximum transmission unit (MTU) of the
.

/ HOU-CS-UGP-2004-05

105 112

VoILA: VoIP

2.0

network path, it may be segmented into multiple shorter compound packets to be transmitted in separate
packets of the underlying protocol. Note that each of the compound packets must begin with an SR or RR
packet.
An implementation may ignore incoming RTCP packets with types unknown to it. Additional RTCP packet
types may be registered with the Internet Assigned Numbers Authority (IANA).

/ HOU-CS-UGP-2004-05

106 112

VoILA: VoIP

2.0

RFC 1889, RTP / RTCP,


RTP / RTCP:

A. Algorithms
We provide examples of C code for aspects of RTP sender and receiver algorithms. There may be other
implementation methods that are faster in particular operating environments or have other advantages.
These implementation notes are for informational purposes only and are meant to clarify the RTP
specification.
A.1 RTP Data Header Validity Checks
An RTP receiver should check the validity of the RTP header on incoming packets since they might be
encrypted or might be from a different application that happens to be misaddressed. Similarly, if encryption
is enabled, the header validity check is needed to verify that incoming packets have been correctly
decrypted, although a failure of the header validity check (e.g., unknown payload type) may not necessarily
indicate decryption failure.
Only weak validity checks are possible on an RTP data packet from a source that has not been heard
before:

RTP version field must equal 2.

The payload type must be known, in particular it must not be equal to SR or RR.

If the P bit is set, then the last octet of the packet must contain a valid octet count, in particular, less
than the total packet length minus the header size.

The X bit must be zero if the profile does not specify that the header extension mechanism may be
used. Otherwise, the extension length field must be less than the total packet size minus the fixed
header length and padding.

The length of the packet must be consistent with CC and payload type (if payloads have a known
length).

The last three checks are somewhat complex and not always possible, leaving only the first two which total
just a few bits. If the SSRC identifier in the packet is one that has been received before, then the packet is
probably valid and checking if the sequence number is in the expected range provides further validation. If
the SSRC identifier has not been seen before, then data packets carrying that identifier may be considered
invalid until a small number of them arrive with consecutive sequence numbers.
The routine update_seq shown below ensures that a source is declared valid only after
MIN_SEQUENTIAL packets have been received in sequence. It also validates the sequence number seq of
a newly received packet and updates the sequence state for the packet's source in the structure to which s
points.
When a new source is heard for the first time, that is, its SSRC identifier is not in the table (see Section
8.2), and the per-source state is allocated for it, s->probation should be set to the number of sequential
packets required before declaring a source valid (parameter MIN_SEQUENTIAL ) and s->max_seq
initialized to seq-1 s->probation marks the source as not yet valid so the state may be discarded after a short
timeout rather than a long one, as discussed in Section 6.2.1.
.

/ HOU-CS-UGP-2004-05

107 112

VoILA: VoIP

2.0

After a source is considered valid, the sequence number is considered valid if it is no more than
MAX_DROPOUT ahead of s->max_seq nor more than MAX_MISORDER behind. If the new sequence
number is ahead of max_seq modulo the RTP sequence number range (16 bits), but is smaller than
max_seq, it has wrapped around and the (shifted) count of sequence number cycles is incremented. A value
of one is returned to indicate a valid sequence number.
Otherwise, the value zero is returned to indicate that the validation failed, and the bad sequence number is
stored. If the next packet received carries the next higher sequence number, it is considered the valid start
of a new packet sequence presumably caused by an extended dropout or a source restart. Since multiple
complete sequence number cycles may have been missed, the packet loss statistics are reset.
Typical values for the parameters are shown, based on a maximum misordering time of 2 seconds at 50
packets/second and a maximum dropout of 1 minute. The dropout parameter MAX_DROPOUT should be
a small fraction of the 16-bit sequence number space to give a reasonable probability that new sequence
numbers after a restart will not fall in the acceptable range for sequence numbers from before the restart.
void init_seq(source *s, u_int16 seq)
{
s->base_seq = seq - 1;
s->max_seq = seq;
s->bad_seq = RTP_SEQ_MOD + 1;
s->cycles = 0;
s->received = 0;
s->received_prior = 0;
s->expected_prior = 0;
/* other initialization */
}
int update_seq(source *s, u_int16 seq)
{
u_int16 udelta = seq - s->max_seq;
const int MAX_DROPOUT = 3000;
const int MAX_MISORDER = 100;
const int MIN_SEQUENTIAL = 2;
/*
* Source is not valid until MIN_SEQUENTIAL packets with
* sequential sequence numbers have been received.
*/
if (s->probation) {
/* packet is in sequence */
if (seq == s->max_seq + 1) {
s->probation--;
s->max_seq = seq;
if (s->probation == 0) {
init_seq(s, seq);
s->received++;
return 1;
}
} else {
s->probation = MIN_SEQUENTIAL - 1;
s->max_seq = seq;
}
return 0;
} else if (udelta < MAX_DROPOUT) {
/* in order, with permissible gap */
if (seq < s->max_seq) {
/*
* Sequence number wrapped - count another 64K cycle.
.

/ HOU-CS-UGP-2004-05

108 112

VoILA: VoIP

2.0

*/
s->cycles += RTP_SEQ_MOD;
}
s->max_seq = seq;
} else if (udelta <= RTP_SEQ_MOD - MAX_MISORDER) {
/* the sequence number made a very large jump */
if (seq == s->bad_seq) {
/*
* Two sequential packets -- assume that the other side
* restarted without telling us so just re-sync
* (i.e., pretend this was the first packet).
*/
init_seq(s, seq);
}
else {
s->bad_seq = (seq + 1) & (RTP_SEQ_MOD-1);
return 0;
}
} else {
/* duplicate or reordered packet */
}
s->received++;
return 1;
}

The validity check can be made stronger requiring more than two packets in sequence. The disadvantages
are that a larger number of initial packets will be discarded and that high packet loss rates could prevent
validation. However, because the RTCP header validation is relatively strong, if an RTCP packet is
received from a source before the data packets, the count could be adjusted so that only two packets are
required in sequence. If initial data loss for a few seconds can be tolerated, an application could choose to
discard all data packets from a source until a valid RTCP packet has been received from that source.
Depending on the application and encoding, algorithms may exploit additional knowledge about the
payload format for further validation. For payload types where the timestamp increment is the same for all
packets, the timestamp values can be predicted from the previous packet received from the same source
using the sequence number difference (assuming no change in payload type).
A strong "fast-path" check is possible since with high probability the first four octets in the header of a
newly received RTP data packet will be just the same as that of the previous packet from the same SSRC
except that the sequence number will have increased by one. Similarly, a single-entry cache may be used
for faster SSRC lookups in applications where data is typically received from one source at a time.
A.2 RTCP Header Validity Checks
The following checks can be applied to RTCP packets.

RTP version field must equal 2.

The payload type field of the first RTCP packet in a compound packet must be equal to SR or RR.

The padding bit (P) should be zero for the first packet of a compound RTCP packet because only
the last should possibly need padding.

The length fields of the individual RTCP packets must total to the overall length of the compound
RTCP packet as received. This is a fairly strong check.

/ HOU-CS-UGP-2004-05

109 112

VoILA: VoIP

2.0

The code fragment below performs all of these checks. The packet type is not checked for subsequent
packets since unknown packet types may be present and should be ignored.

u_int32 len;
rtcp_t *r;
rtcp_t *end;

/* length of compound RTCP packet in words */


/* RTCP header */
/* end of compound RTCP packet */

if ((*(u_int16 *)r & RTCP_VALID_MASK) != RTCP_VALID_VALUE) {


/* something wrong with packet format */
}
end = (rtcp_t *)((u_int32 *)r + len);
do r = (rtcp_t *)((u_int32 *)r + r->common.length + 1);
while (r < end && r->common.version == 2);
if (r != end) {
/* something wrong with packet format */
}

A.3 Determining the Number of RTP Packets Expected and Lost


In order to compute packet loss rates, the number of packets expected and actually received from each
source needs to be known, using per-source state information defined in struct source referenced via pointer
s in the code below. The number of packets received is simply the count of packets as they arrive, including
any late or duplicate packets. The number of packets expected can be computed by the receiver as the
difference between the highest sequence number received ( s->max_seq ) and the first sequence number
received ( s->base_seq ). Since the sequence number is only 16 bits and will wrap around, it is necessary to
extend the highest sequence number with the (shifted) count of sequence number wraparounds ( s->cycles
). Both the received packet count and the count of cycles are maintained the RTP header validity check
routine in Appendix A.1.
extended_max = s->cycles + s->max_seq;
expected = extended_max - s->base_seq + 1;

The number of packets lost is defined to be the number of packets expected less the number of packets
actually received:
lost = expected - s->received;

Since this number is carried in 24 bits, it should be clamped at 0xffffff rather than wrap around to zero.
The fraction of packets lost during the last reporting interval (since the previous SR or RR packet was sent)
is calculated from differences in the expected and received packet counts across the interval, where
expected_prior and received_prior are the values saved when the previous reception report was generated:
expected_interval = expected - s->expected_prior;
s->expected_prior = expected;
received_interval = s->received - s->received_prior;
s->received_prior = s->received;
lost_interval = expected_interval - received_interval;
if (expected_interval == 0 || lost_interval <= 0) fraction = 0;
else fraction = (lost_interval << 8) / expected_interval;

The resulting fraction is an 8-bit fixed point number with the binary point at the left edge.

/ HOU-CS-UGP-2004-05

110 112

VoILA: VoIP

2.0

A.4 Generating SDES RTCP Packets


This function builds one SDES chunk into buffer b composed of argc items supplied in arrays type, value
and length b.
char *rtp_write_sdes(char *b, u_int32 src, int argc,
rtcp_sdes_type_t type[], char *value[],
int length[])
{
rtcp_sdes_t *s = (rtcp_sdes_t *)b;
rtcp_sdes_item_t *rsp;
int i;
int len;
int pad;
/* SSRC header */
s->src = src;
rsp = &s->item[0];
/* SDES items */
for (i = 0; i < argc; i++) {
rsp->type = type[i];
len = length[i];
if (len > RTP_MAX_SDES) {
/* invalid length, may want to take other action */
len = RTP_MAX_SDES;
}
rsp->length = len;
memcpy(rsp->data, value[i], len);
rsp = (rtcp_sdes_item_t *)&rsp->data[len];
}
/* terminate with end marker and pad to next 4-octet boundary */
len = ((char *) rsp) - b;
pad = 4 - (len & 0x3);
b = (char *) rsp;
while (pad--) *b++ = RTCP_SDES_END;
return b;
}

A.8 Estimating the Inter-arrival Jitter


The code fragments below implement the algorithm given in Section 6.3.1 for calculating an estimate of the
statistical variance of the RTP data interarrival time to be inserted in the interarrival jitter field of reception
reports. The inputs are r->ts , the timestamp from the incoming packet, and arrival , the current time in the
same units. Here s points to state for the source; s->transit holds the relative transit time for the previous
packet, and s->jitter holds the estimated jitter. The jitter field of the reception report is measured in
timestamp units and expressed as an unsigned integer, but the jitter estimate is kept in a floating point. As
each data packet arrives, the jitter estimate is updated:
int transit = arrival - r->ts;
int d = transit - s->transit;
s->transit = transit;
if (d < 0) d = -d;
s->jitter += (1./16.) * ((double)d - s->jitter);

When a reception report block (to which rr points) is generated for this member, the current jitter estimate
is returned:
rr->jitter = (u_int32) s->jitter;
.

/ HOU-CS-UGP-2004-05

111 112

VoILA: VoIP

2.0

Alternatively, the jitter estimate can be kept as an integer, but scaled to reduce round-off error. The
calculation is the same except for the last line:
s->jitter += d - ((s->jitter + 8) >> 4);

In this case, the estimate is sampled for the reception report as:
rr->jitter = s->jitter >> 4;

Summary of Protocol Constants


This section contains a summary listing of the constants defined in this specification.
The RTP payload type (PT) constants are defined in profiles rather than this document. However, the octet
of the RTP header which contains the marker bit(s) and payload type must avoid the reserved values 200
and 201 (decimal) to distinguish RTP packets from the RTCP SR and RR packet types for the header
validation procedure described in Appendix A.1.
For the standard definition of one marker bit and a 7-bit payload type field as shown in this specification,
this restriction means that payload types 72 and 73 are reserved.

RTCP packet types


abbrev.
SR
RR
SDES
BYE
APP

name
sender report
receiver report
source description
goodbye
application-defined

value
200
201
202
203
204

These type values were chosen in the range 200-204 for improved header validity checking of RTCP
packets compared to RTP packets or other unrelated packets. When the RTCP packet type field is
compared to the corresponding octet of the RTP header, this range corresponds to the marker bit being 1
(which it usually is not in data packets) and to the high bit of the standard payload type field being 1 (since
the static payload types are typically defined in the low half). This range was also chosen to be some
distance numerically from 0 and 255 since all-zeros and all-ones are common data patterns. Since all
compound RTCP packets must begin with SR or RR, these codes were chosen as an even/odd pair to allow
the RTCP validity check to test the maximum number of bits with mask and value.
Other constants are assigned by IANA. Experimenters are encouraged to register the numbers they need for
experiments, and then unregister those which prove to be unneeded.
SDES types
abbrev.
END
CNAME
NAME
EMAIL
PHONE
LOC
TOOL
NOTE
PRIV

name
end of SDES list
canonical name
user name
user's electronic mail address
user's phone number
geographic user location
name of application or tool
notice about the source
private extensions

value
0
1
2
3
4
5
6
7
8

Other constants are assigned by IANA. Experimenters are encouraged to register the numbers they need for
experiments, and then unregister those which prove to be unneeded.
.

/ HOU-CS-UGP-2004-05

112 112

You might also like