[asterisk-users] audio glitches in conference
Jeff Brower
jbrower at signalogic.com
Fri Feb 26 14:25:25 CST 2010
Jonathan-
> Jeff Brower wrote:
>> Jonathan-
>>
>>>> How did you measure the gaps? Using signal or speech analysis
>>>> software to display the recording? If you measure number of
>>>> samples between the gaps, does it correspond to multiples of RTP
>>>> packet payload length (for example, for 8 kHz G711 multiples of
>>>> 80 samples between gaps) ?
>>>
>>> I just loaded the file into audacity and measured the gaps by
>>> looking at the wave form. I just went through some of the samples I
>>> recorded yesterday, and found that all the gaps are multiples of 8
>>> samples - from 8 up to 32. I guess that's because dahdi/zaptel
>>> ticks are 8 samples each, so if it misses one, 8 samples get lost.
>>> I can't imagine that RTP is involved, since this is happening with
>>> purely local channels (just the Playback application and the eagi
>>> script)
>>
>> Did you measure the distance between gaps? If those distances are
>> multiples of RTP payload length, then possibly a network latency
>> issue is involved, but otherwise I agree with other posters, it
>> sounds more like a timing and/or sampling synchronization problem.
>
> I just did this, and oddly enough, the distance between gaps *is*
> multiples of 80 - 640, 7360, 8480 samples on the recordings that I just
> tested. I say oddly, because there is no network latency involved -
> everything is local. It's playing a local audio file into a conference
> and recording the audio through the eagi script - nothing else.
80 samples is 10 msec of 8 kHz sampled voice. 10 msec is the default "frame size" in most voice systems. In some
way, either via external TDM interface line clock (see comments below), or internally, Asterisk generates a 10 msec
clock.
>> Are you handling TDM data, for example T1/E1 or ISDN?
>
> I'm not sure what TDM data is, but I'm pretty sure I'm not using it. The
> only telephony thing used in my application is a handful of sip
> connections, but these problems show up even if they aren't used, as
> mentioned above.
Ok, so you have no ISDN, T1/E1, FSX/FSO cards? These are all TDM data type interfaces.
> Now I'm getting rather confused... why would I be seeing the RTP payload
> length show up up anywhere at all? Maybe asterisk uses it internally for
> something else?
I don't know enough about internal Asterisk timing. But I can guess that if you don't have TDM interfaces then
Asterisk generates a single system clock. I don't know specifically how it does this, but anything in your config
files related to clock source/generation/timing, real-time scheduling, etc is where I would look.
-Jeff
More information about the asterisk-users
mailing list