Monday 8 August 2011

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


In previous posts, we discussed the concepts behind VoIP and the underlying communication protocols, such as SIP, RIP, TCP/IP, …etc, I am going on this post to discus the internal design of an IP phone, and how it affects the performance of the phone.

The IP Phone, in general, is an “Embedded System”. Embedded systems (IP Phone is no exception), have mainly 3 major components:
  1. Custom-Designed Circuit (a.k.a PCB).
  2. Custom-Designed Software (a.k.a “Firmware”)
  3. Custom-Designed Chassis (a.k.a. Industrial Design) 
Custom-Designed Hardware
IP Phone is a microprocessor-based system, similar –in a way- to a PC. It has a Microprocessor CPU, RAM, Flash Memory (for permanent storage, similar to your PC hard disk), Ethernet controller (with RJ-45) the hardware design It also has telephone-related components such as a keypad, handset, hands free microphone. A phone may /may not have a display (LCD), Digital Signal Processor (DSP),

Click on the diagram for larger image


The reason we call the design of the hardware “custom”, is that each IP Phone may have a different layout internally that another phone, even if it is made by the same vendor. In comparison to the PC world, IP Phone users can not simply grab an application built for MIPS32 or ARM and simply run this application on their IP Phones. Although the application was built for that target CPU, the interconnections between the CPU and the rest of the chips in the system varies a lot from a phone to the other and unfortunately there’s no standards to follow from that prospective, comparing to traditional PCs. An exception for this rule would be a Java Application (we will discuss Java Apps later on in this blog).


CPU
Most phones are running on a RISC microprocessor. Usually it is ARM or MIPS32. One of the interesting things to look at in an IP Phone specification sheet, in addition to whether it is running ARM or MIPS32 CPU, is what clock speed is it running on.  The higher the CPU clock is faster it is and the more energy as well it consumes.


DSP
DSP microprocessor main purpose is to offloads the mathematical work load, of Codec computation, Acoustic Echo Cancelation, Equalization (illustrated in the post: Voice Codecs), instead being performed on the main CPU. That design devotes the DSP resources to ensure better quality for the voice. Believe it or not, some IP Phones designer may choose not to have DSP hardware in their phones! Therefore, this work has to be done by the main CPU. Since the CPU is a shared resource in a multitasking environment, the firmware must be written in a very careful way to ensure voice processing gets enough CPU resources when needed, or the voice quality could be at stake. I would personally prefer to buy a Phone with DSP in it.

Ethernet (LAN and Pass-Thru Ports and Wi-Fi)
Ethernet on the IP Phone may take different forms. A desk IP phone will have RJ45 interface with 10/100 or maybe 1Gbps wired interface. A portable office phone will have a Wi-Fi Wireless chip in it. Ethernet/Wi-Fi needs a controller to transmit/receive Ethernet frames. This is the interface to the outside world that communicates SIP (signaling) packets, RTP (filled in with encoded voice) packets and probably other types of traffic. This is also where the IT administrator reaches the phone remotely for configuration and maintenance and technical support.
Pass-Thru Port main function is to allow the user to connect his laptop/PC to the phone and use it as a “switch” to connect to the rest of the LAN. If phone doesn’t have that pass-thru port, 2 ports on the networks will be required: one for the IP Phone and one for the PC/laptop. Having it saves ports on the LAN switch and cabling as well.


Display
A display varies between monocolor LCD, with 3 lines of text display, it could have a larger multilien text display with some symbols on it, or it could have a grey-scale display that supports multiple grey colors from black to white, a nice VGA resoluion color display or even a high-definition resolution LCDs. Regardless the size of the LCD, its color resolution, it needs a “Display Chip” that sits between the CPU and the actual LCD panel.  


RAM & FLASH
RAM is run-time volatile storage for programs. In embedded sytem world, usually the concept of page-swapping does not exist. Page-swapping means when the software tasks on a microprcessor at a given time needs more memory that the size of the actual physical RAM on the system, the operating system memory manager can create the sense that a larger memory exists on the system for the applications to use, by taking some space on the flash memory (harddrive in PC world) and moving data pages (a page is 4Kbyte) from physical memory to the disk space back and forth. As I mentioned this features is nice to have on general purpose computing systems but not in an Embedded System.

That means the more memory the phone have, the more space it has for applications to work. If I am the IT manager or a business owner and I have ambitious plans to run an attendance application on top of the IP Phone for employees or news feeds right at their phoen screens, …etc.(most phone provide these capapilites today), I must be check how much RAM this phone will have.
Flash memory in embedded system device stores a firmware image the phone needs to load and run when the phone is turned off and back on. Firmware like any other software may change after the phone is sold to the customers. These changes may contain new features, defect fixes and even necessary security fixes that of an interest to the customer. If the flash size of the phone is small, the phone owner maybe stuck at a situation they can not upgrade the firmware due to the fact that the flash size can not store a firmware of a bigger size.

Also, the phone flash may store configuration data required for operation. It may also be used to save Call History (Missed, Answered, Dialed calls). It may also store the Phone Book or Employees Directory of a company, so that the user can lookup the phones numbers by name and dial the number directly withotu memorizing too many numbers. Bottom line, check the size of a flash memory. There’s also a relation between RAM and Flash memory sizes. Usually a flash memory is ½ the RAM size in most of the phones I have seen, but some may have flash size is ¼ the RAM size.

To be continued...

No comments:

Post a Comment