[asterisk-users] building a phone

Tzafrir Cohen tzafrir.cohen at xorcom.com
Fri Feb 27 12:49:11 CST 2009


On Fri, Feb 27, 2009 at 11:11:35AM -0700, Wilton Helm wrote:
> >Again, the main reason for me to require a higher end CPU is audio
> >compression. But I also want the system to be run by a standard OS. It
> >needs to be easy to add your own application there.
> 
> 
> Mutually exclusive.  I don't know any standard OS that doesn't waste 
> about 10 x as many CPU cycles as a SIP phone should ever need.  

It's not about what is wasted. It's about what you're left with.

Anyway, my new home PBX is an Alix (alix6b2) unit:
http://www.pcengines.ch/alix6b2.htm

It's running Debian Lenny. 

chao:~# cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 5
model           : 10
model name      : Geode(TM) Integrated Processor by AMD PCS
stepping        : 2
cpu MHz         : 498.056
cache size      : 128 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu de pse tsc msr cx8 sep pge cmov clflush mmx mmxext 3dnowext 3dnow
bogomips        : 998.10
clflush size    : 32
power management:

chao:~# free
             total       used       free     shared    buffers     cached
Mem:        256640     251900       4740          0      78488     145972
-/+ buffers/cache:      27440     229200
Swap:       224868         52     224816

It also has an openvpn link, an Astribank device and the network of my 
very small LAN.

Its standard load avarage is, well, 0.

I never even bothered optimizing it.


> The 
> problem is generalization.  A standard OS is designed to support a 
> wide variety of devices, including a wide range of screen sizes.  
> The abstraction layers that make this possible often consume more 
> CPU resources than the application they are supporting.  Most of that 
> isn't needed for this application.  Compatibility with WXVGA isn't 
> required.  Even a full blown file system is a luxury.

Ask yourself how all those small mp4 players even work. I suppose most
of them run Linux. See also http://www.rockbox.org/

> 
> Linux is about the closest thing because it can be pared down.  But it 
> takes someone with considerable experience to know how and what to 
> trim.  I supervised a system that used "busy box" to create a compact 
> system that lived on a small flash card an some RAM.

This trimming can also be automated, if I see that a standard
distribution will not do. See e.g. http://astlinux.org/ .

> 
> As an example, I have been a Palm owner for a number of years.  I 
> laughed when the Win CE stuff came out to compete.  The Palm OS was 
> written for the task at hand.  I could go a week or more on a charge.  
> The Win CE devices had to be recharged after 8 hours!  Why?  The OS 
> required too much which required far more compute power, which ate 
> batteries.

The device does not run on batteries.

The plug I mentioned above is 5W. 
Here's what happens when someone starts optimizing the power
consumption:

  http://www.rowetel.com/blog/?p=61

Anyway, a general-purpose OS consumes extra memory, but relatively
little power. I expect that a SIP phone (Requiring transport of many
small packet => many interrupts) is a large power consumer.

> 
> The SIP phone you propose could be done with about 1 W of power plus 
> a couple more for backlighting.  An OS based version would start at 
> 5 W + backlight 

And this is based on?

> and could easily go to 15 W or higher.  Not the end of the world, 
> I suppose on a desk (if there aren't a hundred of them and I'm not 
> paying the electric bill) but a huge difference if it has to run 
> on batteries.

-- 
               Tzafrir Cohen
icq#16849755              jabber:tzafrir.cohen at xorcom.com
+972-50-7952406           mailto:tzafrir.cohen at xorcom.com
http://www.xorcom.com  iax:guest at local.xorcom.com/tzafrir



More information about the asterisk-users mailing list