Since we now have support for a nice UDP measurement tool in irtt, and also the ability to do fallback runner selection, we finally have an opportunity to retire D-ITG for VoIP measurements.

This issue is a fork of the discussion from the old monster thread in #106 to deal specifically with the VoIP emulation parts. Some comments from that thread:

On Nov 20, 2017, at 10:44 PM, flent-users notifications@github.com wrote:

A goal for me has been to be able to run Opus at 24 bit, 96Khz, with 2.7ms
sampling latency.
Actually getting 8 channels of that through a loaded box would be marvelous.

Sounds like a musician. :) If it were CBR, I don’t know if this is a way to estimate it:

2.7ms ~= 370 packets/sec
@128kbps, 56 bytes / packet (44 data + 12 RTP)
@256kbps, 99 bytes / packet (87 data + 12 RTP)

Just for fun, a ~256 kbps test between two sites, 50km apart, both using p2p WiFi to the Internet. For realtime audio, I guess it’s the maximums that could be the biggest issue.

% ./irtt client -i 2.7ms -l 99 -q -d 10s a.b.c.d

and

G.711 can be simulated today with -i 20ms -l 172 -fill rand -fillall. I do this test pretty often, and I think it would be a good default voip test. The reason for the 172 vs 160 is the addition of a 12 byte RTP header, which is present in the wireshark trace of a SIP G.711 call:

https://wiki.wireshark.org/SampleCaptures?action=AttachFile&do=get&target=SIP_CALL_RTP_G711

GSM is older now and I'm not sure how much it's still used over the Internet, but since it has a payload size of 33 bytes(?), some statistics would have to be sacrificed. I'd give up server received stats and dual timestamps, so -i 20ms -l 33 -rs none -ts midpoint is a start. Not sure about additional headers.

It should possible to simulate Opus in CBR mode in a similar way. But Opus also supports VBR, which would require varying packet sizes, which irtt can't yet do (plus, this would invalidate or at least pollute the IPDV calculation).


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.