EmbeddedRelated.com
Forums

Soft VoIP

Started by Unknown December 21, 2004
Hi,

Is it OK to implement VoIP protocol merely by an 8 bit MCU and an
ethernet chip? The MCU speed is less than 10MHz. Or I need stronger MCU
such as ARM?

Thanks!

What sort of protocol do you intend to implement? The VoIP
implementations I have seen in desktop phones used (8051) cores with
custom DSP add-ons.

may, or may not be shared by my employer, Atmel Sweden.

<dereklai2k@yahoo.com.hk> skrev i meddelandet
news:1103640575.120138.260700@c13g2000cwb.googlegroups.com...
> Hi, > > Is it OK to implement VoIP protocol merely by an 8 bit MCU and an > ethernet chip? The MCU speed is less than 10MHz. Or I need stronger MCU > such as ARM? > > Thanks!
The DSP is used mainly for compression and echo cancellation. You do not need the compression, if you can accept the problem with higher bandwidth, but you may have a problem with the echo so your sound could be terrible if you are not on the same physical network. If your network is heavily loaded, then you will have the same problem. Think you need a DSP and an ARM for proper quality unless you go with a real high end ARM. -- Best Regards Ulf at atmel dot com These comments are intended to be my own opinion and they
larwe@larwe.com wrote:
> > What sort of protocol do you intend to implement? The VoIP > implementations I have seen in desktop phones used (8051) cores with > custom DSP add-ons.
Yep. IIRC, the Cisco phones use a 386sx (or used to) - even back before they had the fancy display. Probably using something even beefier now. It'd depend a lot on the CODEC. G.711 might be possible with a straight MCU + A/D, since it doesn't involve compression. At 8bits x 8Ksamples/sec, it seems possible on the surface. It'd be an interesting attempt.
But a 386sx is a 32 bits MCU!

Well, it's better classified as a 16-bit CPU, since (a) it's not an
MCU, (b) it's slower, clock-for-clock than its pure-16bit parent the
80286, and (c) it has 16-bit external buses.

But the point in this specific topic is that a bare 8-bit core is
probably not sufficient for a credible VoIP implementation. You need
either a meatier core or external DSP assistance.

dereklai2k@yahoo.com.hk wrote:
> But a 386sx is a 32 bits MCU!
Ditto what Lewin said. My point was that even back before the displays and on-phone apps, they were using a beefy CPU. But, they also supported G.729 compressed CODECs then, which I expect is no lightweight job. Look under the hood at the H.323 protocols, and evaluate: * What kind of tasks need to be done every X milliseconds * Roughly, how many cycles you'd need to do each one * How much latitude is there in the timing (e.g., jitter) * How many cycles will it take to encode and decode the audio streams? For example, 8000x/second you need to read and encode a sample, and presumably decode and playback another. 50-100x/second you need to send and receive UDP Ethernet packets. Good news is that UDP transport has little overhead once you've built the data payload. Things would get more complex as you add more features like silence suppression, jitter buffering, error recovery, call initiation, etc. I think the real question is the effort involved in encoding the 8Ksamples/sec into G.711 packets. It's possible that a basic G.711 VoIP phone could be within the grasp of an 8-bitter running 8-16MHz. But by limiting it to G.711 CODEC, it would only be useful in a LAN environment, not across the Internet (G.711 is a ~64Kbps stream). Cheers, Richard
"Richard H." <rh86@no.spam> wrote :


> It's possible that a basic G.711 VoIP phone could be within the > grasp of an 8-bitter running 8-16MHz. But by limiting it to G.711 > CODEC, it would only be useful in a LAN environment, not across > the Internet (G.711 is a ~64Kbps stream).
It would still be great to build it in sub $10-20 range and use with Asterisk backend. Hmm sounds like a profitable project. Any takers ? Pozdrawiam. -- RusH // http://randki.o2.pl/profil.php?id_r=352019 Like ninjas, true hackers are shrouded in secrecy and mystery. You may never know -- UNTIL IT'S TOO LATE.
"RusH" <logistyka1@pf.pl> schrieb im Newsbeitrag 
news:Xns95C74E8AFD208RusHcomputersystems@193.110.122.97...
> "Richard H." <rh86@no.spam> wrote : > > >> It's possible that a basic G.711 VoIP phone could be within the >> grasp of an 8-bitter running 8-16MHz. But by limiting it to G.711 >> CODEC, it would only be useful in a LAN environment, not across >> the Internet (G.711 is a ~64Kbps stream). > > It would still be great to build it in sub $10-20 range and use with > Asterisk backend. Hmm sounds like a profitable project. Any takers ?
8 Bit CPU maybe yes, but not with the usual 64k RAM. You do need an IP stack (propably even with TCP) and one of signalling protocols (SIP, H.323). I can assure you, this requires a significant amount of code and data memory. Even if only doing G.711 you might need to do DTMF and/or tone generation for your phone (not even thinking of stuff like echo cancellation, comfort noise generation, local echo, ...) Why not pick one of the existing VoIP solutions. I.e. TI has some stuff well suited for IP phones (Telogy). It's a bit overkill for your application but it comes with a MIPS R4000, TI DSP, Operating System and all required software. Just attach a speaker/headphone/keyboard and you're done. Pricing depends on volume, maybe 20..30US$. Yours - Rene (developing VoIP gateways/routers for the last 4 years) PS. I am not with TI.
"Rene" <spam@see5.ch> wrote :

> "RusH" <logistyka1@pf.pl> schrieb im Newsbeitrag
>> It would still be great to build it in sub $10-20 range and use >> with Asterisk backend. Hmm sounds like a profitable project. Any >> takers ? > > 8 Bit CPU maybe yes, but not with the usual 64k RAM
even less
> You do need > an IP stack
4KB
> (propably even with TCP)
+2KB, but its luxury we dont need
> and one of signalling > protocols (SIP, H.323)
asterisk will take care of that
>. I can assure you, this requires a > significant amount of code and data memory.
thats why asterisk box would do that work
> Even if only doing G.711 you might need to do DTMF and/or tone > generation for your phone (not even thinking of stuff like echo > cancellation, comfort noise generation, local echo, ...)
all that done on asterisk box :)
> Why not pick one of the existing VoIP solutions.
pice ? >$60
> I.e. TI has some > stuff well suited for IP phones (Telogy). It's a bit overkill for > your application but it comes with a MIPS R4000, TI DSP, Operating > System and all required software. Just attach a > speaker/headphone/keyboard and you're done. Pricing depends on > volume, maybe 20..30US$.
with >10k volumes i presume :)
> - Rene (developing VoIP gateways/routers for the last 4 years)
And it shows, you are thinking one big fat box doing all the work. I'm thinking bunch of small rj45/rj11 dongles + one asterisk box doing backend. Those dongles would be /dev/dsp extenders. Even G.711 is not needed that badly. You see fancy display + Wifi + VPN while I see "lets scrap that rj11 circuit and build it inside the phone enclosure". Pozdrawiam. -- RusH // http://randki.o2.pl/profil.php?id_r=352019 Like ninjas, true hackers are shrouded in secrecy and mystery. You may never know -- UNTIL IT'S TOO LATE.