There are now several VoIP applications designed to run on Pocket PCs
that not only enable remote workers to stay in touch, but are poised to
threaten cell carriers as well. Global IP Sound (www.globalipsound.com)
designs the GIPS VoiceEngine codec, which can be integrated into VoIP
applications. Since the codec itself needs to be integrated into an
application, they shipped us a third-party application called Pocket Presence, a Swedish-based
company that uses their codec, pre-installed on a Compaq iPAQ. VoiceEngine
is a software package that handles all the voice components and includes
an adaptive jitter buffer (GIPS NetEQ), acoustic echo control, packet loss
concealer, and any standard codec can be plugged in, including G.711,
Enhanced G.711, and iPCM.
Global IP Sound claims that the GIPS VoiceEngine provides superior
voice quality with improved audio processing on the PDA. It does this by
minimizing delay, both network (jitter which is very high for WLAN) and
delay due to limitations of the PDA (clock drift, real time resource
handling, and general OS issues).
In the PocketPC implementation of the GIPS VoiceEngine, for most of our
tests we utilized the GIPS iPCM wideband codec as recommended by Global IP
Sound. GIPS iPCM is a wideband codec that is extremely robust to packet
loss. It provides virtually no degradation of quality at 30 percent packet
loss and conversation is still possible at 50 percent packet loss.
We tested the sound quality of the GIPS VoiceEngine by making some test
VoIP calls. For our first test, we added a contact within the iPAQï¿½s
contacts screen, namely the tech-support contact at Global IP Sound. We
should mention that all that was really required in the contact info was
an e-mail address. Next, we connected stereo headphones connected to the
iPAQ to minimize feedback into the iPAQï¿½s microphone. Then, within the
Pocket Presence application, we entered the correct IP address of the
locator server that provides the translation between the contactï¿½s
e-mail address and the contactï¿½s IP address.
After highlighting the contact on the iPAQ, we simply clicked the green
phone icon to initiate a VoIP call connected via the Internet. We were
connected with the tech-support contact and we had a five-minute
conversation with each other from our iPAQ to his. The voice quality was
amazingly good even across the Internet.
Next, we did some internal testing using the Pocket Presence client
installed both on a desktop PC as well as the iPaq. We should mention that
both the iPaq and PC graphical user interfaces were nearly identical. We
also utilized Global IP Soundï¿½s server piece of software installed on a
second desktop PC, which handled the translation of an e-mail address to
an IP address. The desktop PC was connected to our 10/100BaseT Switched
LAN while the iPaq was connected to a Linksys WAP-11 WiFi Access Point
that was then connected to our switched LAN.
We then configured the first desktop PC to point to the IP address of
the second desktop PC acting as the e-mail address-to-IP address
translator -- a pseudo SIP or H.323 registrar, so to speak. We performed
the same procedure on the iPaq, pointing it to the second desktopï¿½s IP
address. We placed the PCï¿½s microphone in front of the PC speakers to
record the time when the iPaq transmitted some sound to the PC speakers,
which was used in our latency calculations. To measure the latency we
played a quick sound into both the iPaqï¿½s and the PCï¿½s microphones. We
should mention that we were running the CoolEdit application running on
the PC to record and time-stamp the short sound we played. The sound
played into the iPaq microphone then traveled across our WiFi network (via
the IP protocol) to our 10/100BaseT switched LAN, into the desktop PC, and
finally was played out the PCï¿½s speakers. The microphone in front of the
speakerï¿½s picked up the sound event, which was also recorded and
time-stamped by the CoolEdit application.
We should point out that there is some extra latency due to the time it
takes for the sound card to process the sound and play it back of the
speakers. Typically between 5-15ms for a PCI sound card and 20-25ms for a
DMA-based sound card. For our tests, we used a PCI sound card. Since the
latency is minimal, we did not subtract this latency from the final
Measuring The Latency
By examining the waveforms in CoolEdit, we were able to see the initial
sound event and the subsequent sound event, which essentially was the
one-way trip for the initial sound (iPaq) to travel to the other end (PC).
We simply subtracted the time difference between the two to achieve our
latency measurement or simply highlighted the area on the screen and let
CoolEdit automatically calculate the latency. We highlighted a section of
the waveform from the start of the first sound event to the start of the
second time event, which gives us the time length or latency. The
calculation of 171ms is shown in the lower right-hand corned in the ï¿½Lengthï¿½
We performed several tests using all of the various codecs with no
packet loss. Then, using Shunraï¿½s Cloud 4.0, we induced 25 percent and
50 percent packet loss to see how that would affect the latency (Table 2).
We noticed an interesting thing when we examined the calculations in
the tables. When testing PC-to-iPaq latency, at 0 percent packet loss, the
latency was 204ms, and then as expected, increased a bit to 392ms when we
set the packet loss to 25 percent. However, unexpectedly, when we
increased the packet loss to 50 percent, the latency went down to 211ms.
Similarly, when testing iPaq-to-PC latency, we calculated 344ms at 0
percent packet loss, but the latency decreased to 259ms at 25 percent
packet loss and decreased even further to 230ms at 50 percent packet loss.
Seems a bit counter-intuitive, however, we believe this to be due to the
design of Global IP Soundï¿½s codec, perhaps having to do something with
packet re-transmissions or adjusting of the jitter buffer.
We listed our perceptions of the voice quality using Global IP Soundï¿½s
proprietary codec, which was designed to handle high packet loss (Table
2). As expected, as 0 percent packet loss, the voice quality was
excellent. Unexpectedly, we were very impressed with the quality at 25
percent packet loss and even more impressed that the voice quality was
still good at 50 percent packet loss. We expected words to be cut off, or
at least a few syllables, but actually this did not occur. Although, we
did notice that at 50 percent packet loss, eventually the VoIP call would
often be terminated, which then required that we reconnect the VoIP call.
So we do wish that their VoIP soft-clients would automatically reconnect
when the call is dropped due to packet loss.
For comparison to Global IP Soundï¿½s special codec, we also tested the
voice quality using the G.711 and Enhanced G.711 codec with 25 percent and
50 percent packet loss. For both codecs, we found that the voice was
choppy, words were missed, and it sounded ï¿½robotic,ï¿½ especially when
there was a stream of packet loss. It was quite clear that Global IP Soundï¿½s
proprietary codec was much better at handling packet loss than the other
codecs with virtually no degradation in voice quality.
The iPCM-wb NetEQ codec has advantages over other codecs, including the
G.729 codec, which is a popular codec often used in narrowband
applications. For instance, the G.729 codec is only 8 kbits/s and can only
handle less than 10 percent packet loss before the conversation becomes
unintelligible. The GIPS iPCM-wb codec can operate at a higher bit rate,
80 kbits/s and can handle 50 percent packet loss while still maintaining
acceptable, if not ï¿½goodï¿½ voice quality. In addition, instead of using
the usual sampling 8 kHz frequency typically used for telephony band
products, iPCM-wb uses 16 kHz for wide-band speech coding, producing much
more natural, comfortable, and intelligible speech. Wideband codecs cannot
be used when communicating with the PSTN where only narrowband (8 kHz
sampling) is supported. So in essence, the iPCM-wb codec can actually
sound better than a traditional PSTN call.
Using Global IP Soundï¿½s codec along with an application such as
Pocket Presence installed on a network-connected PocketPC will allow
anyone to make phone calls across the Internet bypassing expensive cell
networks. In areas where 802.11b coverage is wide, such as some city
districts, college campuses, etc., both making and receiving phone calls
can be easily done. Overall, TMC Labs was very impressed with how Global
IP Soundï¿½s codec handles packet loss while still maintaining voice
quality. Both Global IP Soundï¿½s codec and the Pocket Presence
application are certainly worth a look if you are looking for a VoIP
[ Return To The February
2003 Table Of Contents ]