[Asterisk-Users] Sangoma E1 board Experience
Steve Underwood
steveu at coppice.org
Sun Dec 18 17:05:55 MST 2005
janvb at caselaboratories.com wrote:
>
>> Its not a limitation. Its an architectural design which is based on
>> pulse code modulation (pcm) standards, which essentially says:
>> - 8,000 audio samples per second,
>> - each sample is an 8-bit value
>> - resulting in 64,000 bits/second (like g711 codec standard)
>>
>>
> Thank you for your answer, but I don't think you read/understood my
> question?
>
> The Zaptel driver uses a 8 byte buffer for buffering G.711 in each
> direction. This has nothing to do with the sample rate, but how large
> packets you can buffer the voice for to be transported through the PCI
> interface. I get the impression that the Digium boards are limited to
> 8 bytes (1 ms ) by reading the zaptel driver. But, I don't know this
> cause I have no hardware manual that cover the PCI interface. I was
> hoping that the Sangoma boards offered a more variable buffer size???
>
The current cards from Digium use bus mastering, so the amount of
buffering on the board should not be a big issue, unless the PCI latency
in really bad. The 1ms buffering is a driver issue, and was a design
choice which made a lot of sense originally. It might make less sense now.
- 1ms ensured the latency between E1/T1 ports bridged in the drievr was
low, and EC would not be an issue. The latest revision of the 4 port
E1/T1 cards from Digium now have on board bridging, so this is less of
an issue. It still matters when bridging between cards, though.
- 1ms ensured good EC convergence, using software EC. Adding delay
really degrades the performance of an EC adaption loop. It may be a
block size of 2 or 3 ms might have been a better compromise between
adaption performance, and the necessary response time of the software.
However, making the block size considerably bigger - say ta 20ms block,
which is what * generally works with in its core - would significantly
degrade EC adaption. Now there are cards with hardware EC, for which
20ms blocks seems to make a lot of sense. However, right now they still
all work in the same 1ms block manner.
Regards,
Steve
More information about the asterisk-users
mailing list