Sunday, 21 August 2011

IP Phones, What is under the hood? (Part 2)


The second component on an IP Phone as the firmware. The firmware is considered the "secret sauce" to the vendor. The more reliable, feature-rich , easy to configure and easy to troubleshoot, the wider the phone's customer base will be. 

Under the hood, the firmware consists of the
  •   Embedded Real-Time Operating System
  •   Phone Application(s)

Embedded Real-Time Operating System (RTOS)
Users maybe don't really care what RTOS is running on their phones, however engineers are probably more interested in such a topic. When an embedded system designer (an IP Phone is not exception) is trying to select a operating system for his system under design, there are a lot of factors may be considered:
  • How this system is going to perform in a real-time telecommunication device such as an IP Phone? What features does its scheduler support?
  • How does it handle interrupts?
  • How much work is it to customize the OS to my hardware design?
  • Are the device drivers for each chip of (mentioned in part 1) available or do I have to develop it in house?
  • What file system does it support? How reliable is it through power failure? Do I need to integrate a special file system?
  • Are the development and debugging tools available for this OS? Is it supported by the vendor and maybe other communities?
  • What are the licensing agreement to purchase these development tools?
  • What are the royalty fees to paid when the product is commercialized? Is it annual fee or cost per each shipped unit? How they keep track of these shipped units?
  • Does this OS support Graphical User Interface (GUI)? If not, what are available third part GUI engines available out there? What are the licensing schema?
Many many technical and business factors to be considered. During my engineering life I found also it is not just the OS that matters, but also the vendor behind it. In the rush for shorted time-to-market competitive  environments, a good reliable OS from a good reliable vendor with good reliable engineering team, makes a big difference.

It will be unfair to say there are only one good vendor in the market and that's XYZ, because some are really good. From my own personal experience, Windriver Systems with their both VxWorks and Embedded Linux are real good RTOS provider.

Linux is probably the most growing embedded OS. Firmware engineers would like to learn how the Linux kernel really work. So they can write device drivers for the different hardware components of the system (the IP Phone  in our case)., and to understand the environment the application part for the firmware will interact with, thus, enhance their designs.

To learn more about Linux Device Drivers, check this book out: Linux Device Drivers, 3rd Edition
To learn more about Linux Kernel, check this book out: Understanding the Linux Kernel, Third Edition

TO BE CONTINUED...

No comments:

Post a Comment