Hi,

I think wantedBufferSamples is normally around -80.
When the DTMF is received, mStreamState.rtpStreamHint changes from 0 to a large 
number,
which causes wantedBufferSamples to become a large negative number.
mStreamState.rtpStreamHint is changed in 
MprDecode::pushPacket()->MpJbeFixed::update()

Apparently this happens when there is a jump in rtp->timestamp .
My guess is that the DTMF events may have different time stamps than the normal 
audio
which causes this problem. Does it make sense to not call MpJbeFixed::update() 
for
telephone-event RTP packets?

I am also having a similar problem when I am aborting a supervised transfer.
There are new RTP streams, but MprDecode::pushPacket() does not reinitialize the
RTP session. Again, this causes a jump in the expected rtp->timestamp, which 
causes
the same problems as a bad rtp->timestamp from a DTMF.

    ...Carsten

> Hi All,
> 
> I have just updated to a release 3.2, and know I seem to have
> an issue with the Jitter buffering and the RFC 4733 DTMF events.
> 
> I am not sure what is going wrong, but as soon as the code receives a
> DTMF event the jitter buffer gets severely confused! From that
> point on incoming events and audio are not longer played.
> 
> The actual mechanism of how the jitter buffer is meant to work
> seems obscure to me, I have not been able to figure out what is
> required to get it to go.
> 
> In the code the variable, wantedBufferSamples, gets to be a very large 
> negative number.
> 
> If I disable the DTMF in the remote device, then the audio work correctly.
> 
> Any suggestions?
> 
> Regards
> 
> Paul
_______________________________________________
sipxtapi-dev mailing list
[email protected]
List Archive: http://list.sipfoundry.org/archive/sipxtapi-dev/

Reply via email to