Archive: VoIP

November 27, 2007

Using QoS to prioritize your bandwidth

qos_20071127.jpg

You can use the Quality of Service (QoS) feature on many routers to optimize your internet connection for devices and services that are most important to you. Adam at Lifehacker put together a quick walkthrough for tuning the QoS settings on our favorite router firmware, the open-source DD-WRT.

Your internet connection is an indispensable part of your life, but between BitTorrent, Xbox Live, web browsing, and VoIP, sometimes there's not enough bandwidth to go around. But rather than running around the house shutting down all of your computers next time you're experiencing a little lag on Xbox Live or Skype is breaking up on you, you can set up Quality of Service (QoS) rules on your router to distribute bandwidth to your different gadgets and applications based on your priorities. Today I'll show you how.

The nice thing about setting up QoS on your router is that you can prioritize packets by application, IP and MAC address, or a specific router port, all to your own preferences. Everyone has different needs, so you may want to maximize the available bandwidth for VoIP or network gaming, guarantee a chunk of bandwidth for ssh connections or your web server, or throttle down P2P applications so that they don't affect other network services. There's nothing set in stone, so you can really make your router work for you to improve the way your internet connection is utilized.

Ensure a Fast Internet Connection When You Need It - Link

Posted by Jason Striegel | Nov 27, 2007 09:20 PM
Data, Gaming, VoIP, Web | Permalink | Comments (1) | TrackBack | Digg It | Tag w/del.icio.us

June 1, 2007

UDP Hole Punching: how Skype gets through firewalls

udppunch_20070601.jpg
When two machines running Skype need to communicate directly, but are both behind a NAT firewall, there's a clever trick that's employed to start a communication channel. It works like this:

First, both machines open a connection to a non-firewalled server. The server takes note of the source port (which may have been altered by the firewall) and sends this information to the other party to give it an idea of what port future connections might be coming from.

Client A then attempts to connect to a range of ports on client B's machine. All these requests will fail at client B's firewall, of course. However, in the process a side effect has occurred. Client A has told its own firewall to allow traffic from all of client B's scanned ports! Now, when client B attempts to connect to client A, assuming its outgoing port was previously scanned (which it likely will be), the request will get through to client A's machine.

If all else fails, both machines can use a central server to proxy their connection, but the UDP hole punching trick will typically allow two NAT firewalled machines to communicate directly, which means less latency and a significantly lighter load on the server.

Resources:
How Skype & Co. get round firewalls - Link
RFC3489 STUN - Simple Traversal of UDP through NAT - Link

Posted by Jason Striegel | Jun 1, 2007 08:41 PM
Network Security, Skype, VoIP | Permalink | Comments (5) | TrackBack | Digg It | Tag w/del.icio.us

May 28, 2007

Sniff and record VoIP calls with VoIPong

voipong_20070528.jpg

VoIPong is a VoIP network sniffer that allows you to capture and record any VoIP call that crosses your network. From the VoIPong home page:

VoIPong is a utility which detects all Voice Over IP calls on a pipeline, and for those which are G711 encoded, dumps actual conversation to seperate wave files. It supports SIP, H323, Cisco's Skinny Client Protocol, RTP and RTCP.

There's a server daemon that sets your network adapter to promiscuous mode and watches for VoIP calls. Calls are automatically logged and the G.711 encoded conversations will be named by date and dumped in wav format to an output directory (sox is required to make this work). There's also a handy monitoring tool that will allow you to see what conversations are currently being monitored.

I tried it out this evening and it really works, recording both ends of the conversation to a WAV file. This could be a really handy tool for recording podcasts from a VoIP client that doesn't have a recording feature (Netmeeting, for example). You'll probably need to tweak mic levels on both ends, or one end of the conversation will sound louder than the other.

OS X Users: I was able to get VoIPong compiled for OS X by using the included Makefile.bsd. There is a compilation error at the end, however, due to gcc in OS X not supporting the -shared option. You can get around this by compiling and linking the two .so files manually:
Compiling the shared libs in OS X

# cc -fPIC -g -Wall -Iinclude -c modvocoder_pcma.c
# libtool -lc -dynamic -o modvocoder_pcma.so modvocoder_pcma.o
# cc -fPIC -g -Wall -Iinclude -c modvocoder_pcmu.c
# libtool -lc -dynamic -o modvocoder_pcmu.so modvocoder_pcmu.o

Give it a shot, and if you have any other cool ideas for how this could be used, let us know in the comments!

VoIPong: Voice over IP sniffer and call detector - Link

Posted by Jason Striegel | May 28, 2007 09:53 PM
VoIP | Permalink | Comments (1) | TrackBack | Digg It | Tag w/del.icio.us

April 27, 2007

Zfone: Zimmermann's VoIP encryption software

zfone_20070427.jpg

Zfone is a VoIP encryption package developed by Phil Zimmermann, the author of PGP. There's a software utility for Linux, Mac and Windows that automatically detects VoIP calls, negotiates a secure connection, and then filters all call traffic. So now you can have a secure iChat A/V call and protect against packet snoopers and man-in-the-middle attacks!

There's also a library and source available for the ZRTP protocol so that people can audit the code and embed the technology in VoIP hardware devices. Currently Zimmermann hasn't released things under a free software license, but once it comes out of beta he's planning of dual licensing everything, similar to MySQLs GPL/commercial licensing scheme. Who wants to bet that there will be an open-source, open-hardware device platform for this before there's a commercial product on the shelves? Too cool.

The Zfone Project -Link.
Zfone download and install instructions -Link.

Posted by Jason Striegel | Apr 27, 2007 09:29 PM
Cryptography, VoIP | Permalink | Comments (0) | TrackBack | Digg It | Tag w/del.icio.us

April 8, 2007

Run Asterisk on an Apple TV

appletvasterisk_20070408.jpg
Apple TV hacker l0rdr0ck put together a procedure for getting Asterisk running, turning the Apple TV into a telephony appliance!

To get Asterisk running on Apple TV requires (obviously) and Apple TV. It also requires an Intel Mac, as there are no development tools available on the Apple TV (yet). We've divided the process into three steps: preparing your Apple TV, building Asterisk on your Mac, and finally installing the compiled Asterisk code onto the Apple TV.

Install Asterisk on Apple TV -Link.

Related:

Posted by Jason Striegel | Apr 8, 2007 07:38 AM
AppleTV, VoIP | Permalink | Comments (0) | TrackBack | Digg It | Tag w/del.icio.us

February 9, 2007

Experimental High-resolution Skype for Mac and PC

skypehires_20070209.jpg
Jaanus Kase posted instructions over on Skype's developer site for enabling higher quality 640x480 video. You need to upgrade to the latest Skype release (2.5.0.85 or later for mac and 3.0.0.216 for PC), quit Skype, and then edit the config.xml file in your settings directory ("~/Library/Application Support/Skype/[skypeusername]/" in OS X).

You should see an entry that looks similar to:
<Video>
   <Device>Built-in iSight</Device>
</Video>

Modify that to read:
<Video>
   <CaptureWidth>640</CaptureWidth>
   <CaptureHeight>480</CaptureHeight>
   <Device>Built-in iSight</Device>
</Video>

When you've finished, your contacts will be seeing you in glorious 640x480 instead of the standard 320x240. There are some tweaks and hardware requirements that might be required for the PC version, so check up on the links below for the nitty-gritty details.

Related links:

Posted by Jason Striegel | Feb 9, 2007 12:01 AM
Skype, VoIP | Permalink | Comments (0) | TrackBack | Digg It | Tag w/del.icio.us

Bloggers

Welcome to the Hacks Blog!

Brian Jepson.Brian Jepson


Jason Striegel.Jason Striegel


Philip Torrone.Phillip Torrone



See all of the books in the Hacks Series!
Advertise here.

Recent Posts

www.flickr.com
photos in Hacks More photos in Hacks