Good day! Hope someone can point out on my mistake.
Background
I have built VoIP application to send and receive voice calls. And this works perfectly. My stack is:
- SIP for signaling (simple a-b call);
- SDP for media setup (simple RTP/AVP 0 - 8000 stream);
- RTP for voice transportation;
- G.711u for voice coding (8 kHz);
- Microphone for voice record (48 kHz).
Problem
The problem is that I can not properly play voice in Wireshark dump - it is played around 8x slower than in real-time.
On this screenshot player cursor is at 5 seconds timer while must be (and is on real-time callee's speakers) at around 1 second.
I've tried several combinations of RTP parameters but the results are always 8x slower in dump.
Parameters
I am using such parameters for call:
- audio channels = 1
- audio frame size = 480 samples per frame/channel
- audio frame duration = 48000/480 = 0.01 seconds
- rtp packet sequence delta = 1 (0, 1, 2, ...)
- rtp packet timestamp delta = 8000/(48000/480) = 80 (0, 80, 160, ...)
I have tried several combinations of RTP parameters (timestamp delta, frame size/duration) to make Wireshark play dumped stream correctly but unfortunately nothing changed at all.