[Asterisk-Dev] channel driver sample -
Coding/Transcoding/Conferences
John Todd
jtodd at loligo.com
Sun Jul 4 10:28:32 MST 2004
At 1:42 AM +0800 on 7/4/04, Steve Underwood wrote:
>Jeremy McNamara wrote:
>>Miroslav Nachev wrote:
>>>Dear Jeremy,
>>>
>>>JM> Why? You are going to have two PCI bus transits adding totally
>>>JM> unecessary latency.
>>>
>>> Also the latency from Memory Switching combining with DSP coding
>>>Speed is smaller than Host CPU Coding where you need of very power
>>>Host CPU which is expensive variant.
>>
>>Say what?
>>
>>With todays CPU power there is absolutely no need for expensive
>>DSPs. This is why Digium didn't design hardware with DSPs on board.
>
>I'm all in favour of host DSP code, and put much of the DSP into *.
>
>Say what?
>
>A high end DSP is *far* cheaper than a Pentium, and consumes a tiny
>fraction of the power. Also, a Pentium doesn't really have the
>processing grunt needed for serious DSP - say, several E1s worth of
>echo cancellation + G.729 coding. You need clusters of DSP chips for
>that. However, most people only use a few channels, or do
>lightweight processing, and for them host CPU DSP is the effective
>choice.
>
>The *appearance* of DSPs being expensive is an artifact of the way
>the industry runs. DSP cards are priced at an extreme multiple of
>their actual cost, leading to a vicious circle - DSP cards are
>expensive so they have a small market. Why are they expensive?
>because they have a small market. E1 cards were like that too, until
>recently. Apply the Digium pricing strategy to a DSP card and it
>would not look too bad. Add an H.100 port to Digium's E1/T1 cards
>and the DSP card and maybe you are starting to build something nice.
>Sure, it starts to look a little like a Dialogic card. That isn't
>all bad, though, if its a reasonably priced open platform, instead
>of a Dialogic high priced straight-jacket.
>
>Regards,
>Steve
I agree with Steve. I expect that host processors are quickly
catching up with DSP equipment, but an open-source-ish DSP board
(with just PCI; I'm unsure about H.100, since it complicates things
greatly) would help a great deal with larger installations for the
next several years. I'll chime in again with my comments about a DS3
physical interface... I think that a DS3 card, plus a DSP-heavy card
that could handle 672 channels of G.729 with _good_ echo cancellation
would rock. Even if I just had seven really cheap ($800) PC's, each
with a 4-port T410P handing their traffic off TDMoE to one
DSP-capable system - that would reduce my costs quite a bit, rather
than buying seven $2800 dual-processor Xeons to get G.729 and
questionable echo cancellation. Let's say that DSP card cost me
$1500 - I'm still very far ahead. Heck, I could even buy TWO
complete DSP systems for redundancy and STILL be saving ~$10000.
As Steve mentions, most users of Asterisk are happy with what it can
do now, because their needs are lightweight. Those with heavier
processing requirements tune their systems very well, or spread the
load across many host CPUs to get the performance they need. This
works if you have all the time in the world, and all the skills you
need. However, I would much rather spend a bit more and have
something that isn't "pure" CPU based if it saves me dozens
(hundreds?) of hours, headaches, and space as long as it still gives
me the flexibility of the rest of Asterisk.
This is really a moot point to me for TDM interfaces, since only
organizations who have existing SS7 infrastructures are really going
to care about this type of density. VOIP service providers either
should be figuring out how to avoid TDM entirely, or should be
thinking about things deeper inside the feature model to make their
money.
I would buy a DSP-based system that could handle ~600 channels. Even
in the distant future, it will still be the case that I will have to
do transcoding in the core of all of my Asterisk systems that moves
GSM to G.729 to G.711 to G.726 to whatever. This will be a
non-trivial amount of traffic, either because clients are
incompatible or because I will be sitting in the middle doing some
function (voicemail, conferencing, etc.) Currently, the prospect of
~$2800 per 100 users (2x2.8ghz rackmount high-quality server box)
isn't so great - $28 a channel is still much too high, because it's
not just $28 per channel when you add the overhead costs of space,
power, management, etc. If I could get the costs to $8 per channel,
that would really be interesting, which equates to adding to one of
those $2800 servers a $1500 DSP board that can handle 600 channels
(300 simultaneous end-to-ends, or 600 single-end calls.)
JT
More information about the asterisk-dev
mailing list