Discovering the Protocol in a USB VoIP Phone

[Daniel] picked up a cheap USB handset to use with his VoIP provider, and included in the box was a CD with all the software that would make this handset work with Windows. [Daniel] is running Linux on his main battlestation, rendering the included CD worthless. Using the handset under Linux would be a problem; although the speaker and mic worked, the buttons and screen did not. No problem, then: [Daniel] just played around with the command line until he figured it out.

The handset presented itself to the Linux box as a soundcard and HID device. The soundcard was obviously the speaker and mic, leaving the buttons and display as the HID device. [Daniel] checked this out by running a hexdump on the HID device and pressed a few buttons. His suspicions were confirmed, and he could easily read the button with a little bit of Python.

With the speaker, mic, and buttons on the handset figured out, [Daniel] turned his attention to the one bit of electronics on the phone he hadn’t yet conquered: the display. After firing some random data at the phone, the display blinked and showed a messy block of pixels, confirming the display was controlled through the HID driver. Loading up usbsnoop to see what the original software does to update the screed showed [Daniel] the data format the display accepts, allowing him to control everything in this VoIP phone.

Telepresence upgrade with a minimum of effort

telepresence-upgrade-with-very-simple-parts

This telepresence upgrade lets an employee take part in the office from more than four thousand kilometers away. It’s an upgrade of their previous setup which used a laptop on a rotating platform to add a bit of control to the video conferencing experience. But all that original version could do was swivel, this one lets you drive your virtual self around for fifteen hours between battery charges.

The real work is in the base of the robot, as the audio and video are handled by a tablet independently from the locomotion. The team spent about four hundred bucks to throw the thing together. It starts with a hunk of plywood. Two 3A motors were mated with lawnmower wheels for the front of the bot. Dragging under the back of the base are a couple of casters that make it possible to turn without skidding. A motor shield and a WiFi shield for the Arduino make it possible to control the thing over the Internet. They even added some functionality on the client side to use a PlayStation 3 controller. Check out the completed machine in the clip after the break.

Continue reading “Telepresence upgrade with a minimum of effort”

Loudest telepresence robot ever

This telepresence robot will never let your Skype callers sneak up on you. [Priit] built the project, which he calls Skype Got Legs, so that his distant friends could follow him around the house during chats. But as you can hear after the break, the electric drills used to motorize the base are extremely loud.

Noise pollution aside, we like the roughness of the hack. It’s utilitarian but seems to work quite well. Commands are sent via the web using a combination of Ajax and PHP function calls. The two drills are controlled by an Arduino via a couple of automotive relays.┬áThe drills are powered by their original rechargeable battery packs. So as not to alter those batteries, [Priit] figured out a way to use synthetic wine bottle corks as a connector. They’ve been cut to size, and had tinned wires pushed through holes in them. Now, when he inserts the altered corks they press the wires against the battery contacts. Continue reading “Loudest telepresence robot ever”

GSM-to-Skype bridge lets you lose those roaming fees

Here’s the scenario: you’re going to be traveling somewhere and you’ll be charged roaming fees if you use your cellphone. But there is free WiFi available in this place. You can save yourself money by leaving your SIM card at home and using a GSM-to-Skype bridge to take calls on your phone via WiFi.

[Trax] is using a USB GSM modem to take cellphone calls on a PC. He leaves his sim card in this modem so that it can make and receive calls and text messages through your normal telephone number. For some reason, the USB connection only provides control of this modem and doesn’t pass bi-directional audio. To make this happen, he built an audio interface cable using two transformers and a few passive components to connect the modem to the computer’s audio card.

On the software side of things, an application written in Delphi 7 manages the modem, the audio stream, and the Skype application. When a call is incoming it sets up a Skype connection with your handset via the Internet, passing along the caller ID data in the process. If you choose to answer the Skype session the application will pick up the GSM call and you’ll be connected. It works the same way when placing an outgoing call.

This seems easier to manage than a rig that physically pushes a cellphone’s buttons via the Internet.

[Thanks Mure]

Bluetooth multimedia remote

[Mathieu] spent three months developing this multimedia remote control. It connects to a PC via USB or Bluetooth and communicates with Winamp to pull down track information for display on a Nokia LCD screen. It can also be used as a wireless headset via the two on-board jacks. [Mettieu] thinks it’s just a small hop away from working as a Skype client if you take the time to write a plugin for that API.

Eavesdropping encrypted compressed voice


A team from Johns Hopkins University has discovered a way to eavesdrop on encrypted voice streams. Voice data like the kind used by Skype for its VoIP service sends encrypted packets of varying sizes for different sounds. The team learned that by simply measureing the size of the packets, they could determine what was being said with a high rate of accuracy. VoIP providers often use a variable bit rate to use bandwidth more efficiently, but it is this compression that makes audio streams vulnerable to eavesdropping.

The team’s software is still in its early stages of development, yet incapable of parsing entire conversations. It is capable, though, of finding pre-determined keywords and inferring common phrases bases on the words it detects. It also has a higher rate of accuracy in identifying long complicated words than short ones. The team’s goal was not to eavesdrop, but to expose the vulnerability; team member [Charles Wright] notes, “we hope we have caught this threat before it becomes too serious.”

[via Schneier on Security]
[photo: altemark]

GPL vs. Skype back in court


UPDATE: Skype has withdrawn their appeal and accepted the original judgment.

Tomorrow the High District Court of Munich will hear Skype argue against the validity of the GPL. Last June, the court issued an injunction against Skype for selling the SMC WSKP 100, a Linux-based WiFi VoIP phone. After the initial GPL violation, a flier with the URL for the source was added to the package. The GPL wasn’t provided and the court found this insufficient for fulfilling the requirements of the GPL. Skype is appealing and claims that the GPL as a whole violates anti-trust regulation. The case against Skype was brought by OpenMoko‘s original system architect, Harald Welte, as part of his work for gpl-violations.org.