Soft VoIP

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!

Reply to
dereklai2k
Loading thread data ...

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.

Reply to
larwe

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.
Reply to
Richard H.

But a 386sx is a 32 bits MCU!

Reply to
dereklai2k

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.

Reply to
larwe

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

Reply to
Richard H.

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
 Click to see the full signature
Reply to
RusH

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.

Reply to
Rene

even less

4KB

+2KB, but its luxury we dont need

asterisk will take care of that

thats why asterisk box would do that work

all that done on asterisk box :)

pice ? >$60

with >10k volumes i presume :)

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
 Click to see the full signature
Reply to
RusH

----- Original Message ----- From: "RusH" Newsgroups: comp.arch.embedded Sent: Wednesday, December 22, 2004 10:40 AM Subject: Re: Soft VoIP

[Cut]

You did not specify technical details before. If you want Asteriks to do all signalling you could hook up an ordinary phone to the Asteriks PC (buy a compatible FXS card for the PC).

But I guess this is not what you had in mind. You're are more thinking of a "dump" phone, that does minimal signalling and data processing, connected to an Ethernet. I think something like this can be done with an 8 bit micro and some clever programming (similar to an ISDN telephone).

If you're done let us know how much resources you used in the end.

- Rene

Reply to
Rene

exactly, no need for 32bit mips in every room of the building

Those cards are ~$50-100. Plus ethernet cables are everywhere, no need to drill the walls again.

exactly. Its beyond me that nobody has think of it before.

MCU $2-4 DAC $1-3 ethernet $2-3 (RTL8019) enclosure,sockets,pcb,trafo,powersupply - $10 ?

It sounds more and more interesting every minute i think about it. I'l try to convince few friend into this.

Pozdrawiam.

--
RusH   //
 http://randki.o2.pl/profil.php?id_r=352019
 Click to see the full signature
Reply to
RusH

FYI I've done this for a consulting gig, ATMEGA64, SILabs SLIC and a realtek eth controller.

2:1,3:1 and 4:1 compression and decompression on the fly.

mike

Reply to
mike

Grandstream uses a Texas Instruments Fix point DSP and snom formerly a PowerPC but the snom 190 changed to Infineons Tricore

Reply to
Jürgen Veith

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.