Retry: Why intermittent, large jitter with 'custom' connection?
2009-09-28 18:43:28 GMT
Hello again, everyone.
I'm still having an issue related to jitter that I first mentioned back in mid-August. I have a 'custom' RTP stream that is spliced into an existing sipxtapi-initiated call, and I'm having some jitter issues with the RTP audio stream flowing from the 'custom' RTP stream into the sipxtapi flowgraph. (and, I have no jitter issues with the RTP audio stream
Flowing from the sipxtapi flowgraph into the 'custom' RTP stream).
I didn't see any responses/hints on the mailing list, so I took it upon myself to start looking at the code. I've been examining what I think are the relevant bits of code: MprDejitter.cpp, MpJitterBuffer.cpp, MpFlowGraphBase.cpp,
MprDecode.cpp, etc. I see that there is code in here to manage jitter, but I'd like to ask the experts a few questions to aid my investigation:
My jitter issue only occurs when there is a dead space in my custom RTP audio stream of more than about half a second but less than about two seconds (if the dead space is less than that or more than that, I have no jitter issues). Is there any conditional statement or algorithm in the code would be triggered off of a 0.5 to 2.0 second dead space? I haven't come across such a thing yet in my explorations.
On a separate note, is there some way to turn off VAD capabilities? I wonder if something vad-related might be causing this.
Any hints most appreciated.
------ below is the original message I posted on Aug 13 ------
I'm having a sound quality issue related to jitter with sipxtapi.
Essentially, when I've got a session established with an RTP stream
going through sipxmedialib, I'm hearing an extreme delay for any sound
that I make that follows a previous sound by about 1 second. If the
gap is less than that, say, 0.25 seconds, then there is no delay. If
the gap is more than that, say, 2 seconds, then there is no delay. Only
if the gap is around 1 second do I experience this extreme delay.
If I say "1,2,3,4,5,6" in an unbroken sequence, then on the other end of
the RTP stream, I hear "1,2,3,4,5,6" with very minimal lag
(milliseconds). Which is good.
If I say "1,2,3---4,5,6" with the "---" indicating an approximately 1
second pause in my speech, I hear "1,2,3", then about 5 seconds of
silence, and then "4-5-6" in a very rapid and compressed sequence.
If I say "1,2,3,--------4,5,6" with the "--------" indicating more than
2 seconds of pause in my speech, then I hear "1,2,3", then the same 2+
seconds of pause, and then "4,5,6" at the original tempo (in other
words, everything sounds ok).
Now, I'm doing something a little special, and perhaps that's a clue as
to what is going on. As I've mentioned in some previous conversations
with Alexander and Paulo, I'm creating a sip call to an external source,
and then I'm using sipxmedialib api calls to 'splice' an extra
connection into the flow-graph of the existing media connection.
Here's a crude ASCII graphic of what is going on:
<- RTP Stream -> <- RTP Stream ->
Main ------------------sipx flow graph----------------Dest.
Source <- RTP Stream ->
An interesting extra clue regarding this issue. I only have this delay
issue on the RTP stream flowing to the 'right' in the above diagram. I
don't have this issue on the RTP data flowing back 'left'.
Does anyone have any ideas as to what might be going on? The RTP
stream's source (both of them) and the location of the sipx call and
media handling are on the same box -- there is no significant network
latency here. Also, I've got VAD on the incoming RTP streams turned off
I've got a constant flow of packets coming from the sources. (in fact,
I've tried it both on and off).
Is there perhaps some jitter configuration setting that I can tweak that
might help me address this issue?
Any help, even the smallest hint, is most appreciated.
_______________________________________________ sipxtapi-dev mailing list sipxtapi-dev <at> list.sipfoundry.org List Archive: http://list.sipfoundry.org/archive/sipxtapi-dev/