[Asterisk-Dev] Asterisk and uClinux

Brian Capouch brianc at palaver.net
Tue Dec 21 19:19:00 MST 2004


TC wrote:
>>I have heard unconfirmed reports of * running on uCLinux, but it 
>>definitely won't run on all versions with modification. Several people 
>>have tried putting * on a Linksys WRT54G, and it doesn't work. It seems 
>>nobody has yet made the effort to debug it, and publish the necessary 
>>changes. It compiles. It loads. It runs. It fouls up, apparently 
>>somewhere in the thread handling.
> 
> Well the pthread libs has been ported out to the openwrt project now
> & asterisk has been compiled against that & seems to work ok
> 

Asterisk runs pretty nicely on the WRT, modulo the fact that the 
MIPSEL's lack of hardware floating point means that some of the codec 
translations are too slow to be of any use (most notably, iLBC).

There are several ways around it.  I haven't played much with ulaw, 
since one of my baseline suppositions is that if I'm on an embedded 
system to begin with, then other aspects of my experience, most 
particularly bandwidth, should probably be optimized as well.

I have one system that uses gsm to talk to the outside world.  On that 
system, I have the phones speak ulaw, I talk to the ITSP world with gsm, 
and because the gsm-ulaw transcodings are reasonable, I can even set 
that system up to do voicemail, and the like.  N.B. the jffs2 filesystem 
does on-the-fly compression of files as the data goes in and out, so you 
can't directly write voicemails onto the filesystem.  You can always 
write them to RAM (which is what I do) but then you need to a) watch the 
amount of RAM available and b) offload the RAM-based files to the 
non-volatile system before the system is taken down.  But that isn't 
always possible, of course.

So I built another system that uses *only* iLBC.  I can't do local 
voicemail on this setup, but that really isn't a huge limitation.  My 
test system has been up and running for a couple of weeks using this 
setup.  It is a ~$125 wireless CPE and Asterisk-based telephone client 
all in one.  I get my bandwidth wirelessly from a local ISP, and a GS 
BT101 plugged into the WRT runs Asterisk against a "superserver" 
instance of Asterisk back at my home place, which is where the voicemail 
lives.  I'm still tweaking a couple of things, but I'm optimistic this 
system is going to be a perfectly usable low-end "give it to them and 
let them walk out the door with it" system at a pretty hard-to-beat 
price point.

Nicolas also ported the Postgres and MySQL client libraries to the WRT, 
and so my phones now export their CDR stuff to my (relatively) big-hoss 
Postgres instance running on a capacious Pentium machine.

Next up will be using the remote database stuff for configs and the 
like.  I'm also going to try to set up the IPSec stuff so that all the 
calls coming out of the WRT will be secure back to my home server.  Will 
have to see what that does to call quality.

It's pretty exciting.  The WRT can be armored for outdoor use, and at 
<$70 a pop, seems like an awfully cheap entre into the world of embedded 
systems.

B.



More information about the asterisk-dev mailing list