From: Learn To Speak Mafia About 15 years ago I was working for a small firm making telecoms equipment , and developing from scratch a Voice over IP box. It was a very simple device to convert SIP internet calls to local analogue POTS lines (Plain Old Telephony Service) and there were just two of us working on the project: Mike the hardware engineer, and me, for the software. The box had a microprocessor running Linux (including a massively hacked version of Linphone for the SIP stack), and it had a DSP to support the codecs (short for Codify/Decodify). It was quite a fun project (*) . A word about codecs and SIP: SIP stands for Session Initiation Protocol (**) and is an internet standard allowing two internet peers to start a phone call. One of the main tasks SIP has to perform is to co-ordinate on which codec to use. One peer may support GSM, G.729, and G.711, and another may support G.726, GSM, and Speex - in which case the two peers would have to agree to use their on