Professional Documents
Culture Documents
VoILA-Ανάπτυξη εργαλείου αξιολόγησης υπηρεσιών VoIP
VoILA-Ανάπτυξη εργαλείου αξιολόγησης υπηρεσιών VoIP
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
Supervisor
Examiner
Examiner
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
1.2
................................................................................................................. 11
2.1
........................................................................................................... 11
2.2
......................................................................................................... 12
....................... 13
3.1
........................................................................................ 13
3.2
3.2.1
Packet Loss............................................................................................................ 15
3.2.2
3.2.3
3.3
.......................................................................................... 16
3.3.1
3.3.2
3.3.3
3.3.4
(Jitter) ....................................................................................... 20
3.4
3.5
VOIP ...................................................................................................................... 21
3.5.1
H.323...................................................................................................................... 22
3.5.2
SIP.......................................................................................................................... 23
3.5.3
3.6
3.6.1
3.7
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
3.10.2
3.10.3
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
4.3.3
RTCP ............................................................................................................. 51
4.3.4
gettimeofday ................................................................................. 52
4.3.5
.............................................................................................. 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
12.1.2
NetNeeting MS-Windows...................................................... 99
12.1.3
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
49
50
51
55
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
/ 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),
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
packet loss ,
.
.
, RFC 1889, [29].
3.2.2
Packet Loss
3.2.3
(3)
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 ,
.
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
:
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
/ 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
/ HOU-CS-UGP-2004-05
23 112
VoILA: VoIP
2.0
.
(facets) :
,
,
,
,
.
IETF, RSVP, RTP, RTCP,
RTSP, SAP, SDP, .
3.5.3
, 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
/ HOU-CS-UGP-2004-05
25 112
VoILA: VoIP
3.6.1
2.0
RTP RTCP
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
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
/ 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
3.7.2
QoS VoIP
/ 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)
(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
/ HOU-CS-UGP-2004-05
37 112
VoILA: VoIP
2.0
/ 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 .
/ HOU-CS-UGP-2004-05
39 112
VoILA: VoIP
2.0
Cisco
(Perceptual Speech Quality Measurement, PSQM),
.
Agilent Technologies NetIQ, (. ). Cisco
, , , jitter .
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
/ 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
VoILA
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
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
.
-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
( ).
-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 -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
/ 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;
(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
SR(n)
ntp_sec =0xb44db705
ntp_frac =0x20000000
(3024992016.125 sec)
RR(n)
DLSR
5.250 sec
DLSR - 0x0005.4000
(5.250 sec)
( 6.125 sec)
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).
/ HOU-CS-UGP-2004-05
50 112
VoILA: VoIP
4.3.2
2.0
RR Blocks RTCP
4.3.3
RTCP
, ( .. SJphone) RTCP,
R factor, (. 10).
/ 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
(bytes) (array)
. , byte.
(word) 32 bits = 4 bytes 32 bits
4 bytes, byte .
4 bytes :
Big Endian
byte ( bit) (MSB Most Significant
Byte)
.. 9012CD16
:
.
/ 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,
:
/ 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
(sec.)
"Packet Jitter"
500
450
Jitter
400
350
300
250
200
150
100
50
0
0
10
20
30
40
50
60
70
80
(sec.)
/ 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
Single+GSM
8Kbps
Ie=11+40ln)1+10*Pacekt Loss)
CELP
G.723.1
/ 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
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))
/ 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=
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
/ HOU-CS-UGP-2004-05
97 112
VoILA: VoIP
/ HOU-CS-UGP-2004-05
2.0
98 112
VoILA: VoIP
2.0
/ HOU-CS-UGP-2004-05
99 112
VoILA: VoIP
2.0
/ HOU-CS-UGP-2004-05
100 112
VoILA: VoIP
13. E
2.0
RFC-1889
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
|
....
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
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
/ 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
/ 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
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:
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.
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;
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
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;
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