Re: A couple of newbe questions.
Ron Senykoff wrote:
I would be interested if you can post exactly what you're doing to
simulate the VoIP traffic. I'm running several installs of Asterisk
(open source PBX) across several offices. I've just been using it
mostly to test my QoS policies by measuring packet loss / jitter while
I soak the other classes of traffic. Being able to use IPERF to
actually stress test VoIP against expected bandwidth levels would be
great.
-Ron
First off I am no VIOP expert. The following staements are what I have
learned and discovered by using ethereal on real data streams.
We have a Mitel sytem here and they are not yet running SIP. It is sort
of a SIP--. The packets are being shipped using the RTP protocol which
is the same one that is used by standard VIOP.
From what I can find it appears that the real work of VOIP is done by
RTP in sending the actual voice information. This is seperate from all
the setup and managment of SIP.
I am attaching an example packet dump of some RTP data from our Mitel
system.
Mitel sends ITU-T G.729 compressed data for each voice channel. This
ends up with a UDP packet containing 32 bytes of data. These packets are
sent every 20ms ending up with a iperf bandwidth of 12800 bits/sec
By setting the bandwidth(-b) to 12800 and the packet size(-l) to 32 I
end up with a UDP packet stream that is every 20ms.
To simulate multiple calls I have run mutiple clients. To simulate 2 way
traffic I run client and server on both ends.
--
Alvin Starr || voice: (416)585-9971
Interlink Connectivity || fax: (416)585-9974
alvin --at-- iplink.net ||
No. Time Source Destination Protocol Info
55 1.626056 10.0.0.2 10.0.0.143 RTP Payload type=ITU-T G.729, SSRC=599058, Seq=10, Time=1600
Frame 55 (74 bytes on wire, 74 bytes captured)
Arrival Time: Oct 5, 2005 21:23:38.082821000
Time delta from previous packet: 0.001247000 seconds
Time since reference or first frame: 1.626056000 seconds
Frame Number: 55
Packet Length: 74 bytes
Capture Length: 74 bytes
Protocols in frame: eth:ip:udp:rtp
Ethernet II, Src: 3com_c0:0c:99 (00:50:da:c0:0c:99), Dst: Mitel_11:5e:21 (08:00:0f:11:5e:21)
Destination: Mitel_11:5e:21 (08:00:0f:11:5e:21)
Source: 3com_c0:0c:99 (00:50:da:c0:0c:99)
Type: IP (0x0800)
Internet Protocol, Src: 10.0.0.2 (10.0.0.2), Dst: 10.0.0.143 (10.0.0.143)
Version: 4
Header length: 20 bytes
Differentiated Services Field: 0xb0 (DSCP 0x2c: Unknown DSCP; ECN: 0x00)
1011 00.. = Differentiated Services Codepoint: Unknown (0x2c)
.... ..0. = ECN-Capable Transport (ECT): 0
.... ...0 = ECN-CE: 0
Total Length: 60
Identification: 0x0000 (0)
Flags: 0x00
0... = Reserved bit: Not set
.0.. = Don't fragment: Not set
..0. = More fragments: Not set
Fragment offset: 0
Time to live: 62
Protocol: UDP (0x11)
Header checksum: 0x6376 [correct]
Source: 10.0.0.2 (10.0.0.2)
Destination: 10.0.0.143 (10.0.0.143)
User Datagram Protocol, Src Port: 5136 (5136), Dst Port: 9000 (9000)
Source port: 5136 (5136)
Destination port: 9000 (9000)
Length: 40
Checksum: 0x0000 (none)
Real-Time Transport Protocol
10.. .... = Version: RFC 1889 Version (2)
..0. .... = Padding: False
...0 .... = Extension: False
.... 0000 = Contributing source identifiers count: 0
0... .... = Marker: False
Payload type: ITU-T G.729 (18)
Sequence number: 10
Timestamp: 1600
Synchronization Source identifier: 599058
Payload: 08634D4F69A9EF2F20930DB34CF3D858F2DF1B93