Press "Enter" to skip to content

Category: computers

Tapping VoIP (aka Decoding ITU-T G.711 µ-law)

Screenshot of Wireshark decoding a RTP stream using ITU-T G .711 µ-law compression.

While setting up my Nokia E51 w/ VOIP I was informed that the communication between the handset and the server uses the ITU-T G.711 µ-law codec for the audio without any additional encryption, meaning that it is relatively easy to capture and listen in on. I’d never done a VOIP capture and decode, so I set set up a capture on the firewall (tcpdump -i gem0 -s 2000 -w file.cap host x.x.x.x) and grabbed a test phone call made to Danielle as she sat in the living room with some friends.

After opening the capture in Wireshark I used the basic built-in VOIP analysis tool to get the windows shown above. The main window is the capture and decode itself, another shows the one detected VoIP call and its details, and the third is a basic playback window replying the voice of the phone call. (Click on the image above or here for a full resolution copy of the screenshot.)

Using the RTP stream analysis stuff one is able to save out the audio as an .au file. I was running into some problems with this as one half of the conversation was padded by a few minutes of silence during export (a Wireshark bug, it seems), but the audio is still very much available. Both halves of the conversation were then brought it into Audacity, aligned, the level of the inbound (remote, Danielle) side was brought up a bit, and the audio was exported it as an MP3: voip_capture_sample.mp3.

This capture and decoding was easy for me to do because of the ready access to my own network and lack of encryption of the session. Getting another person’s calls is generally a bit more complicated. That said, imagine how easy it must be for a large government agency with a tremendous budget, amazing computing resources, and access to the backbones of the country’s telecommunications infrastructure.

Leave a Comment

SIP via Asterisk on Nokia E51

My current cell phone is a Nokia E51, one of Nokia’s more recent Symbian Series 60 cell phones. Beyond being a decent phone with a decent camera it also happens to do 802.11 wireless and be a SIP endpoint.

In short, this means that my cell phone can also be a VoIP client. Today, thanks to , my phone is working for making actual calls out via the public internet, into a server, then into the phone system.

Since there were a few quirks with getting this going I wanted to document the settings used in the phone for connecting to the Asterisk-based server.

First, make sure your phone has a valid wireless network connection available, which is done via Tools → Settings → Connection → Access points. Without a configured, functional AP your phone won’t be able to connect to the internet.

Now, to configure the phone itself, the following settings must be made:

Tools → Settings → Connection → SIP settings
Profile name: NameGoesHere
Service profile: IETF
Default access point: (Pick your access point from before.)
Public user name: sip:c0nsumer@sip.host.com
Use compression: No
Registration: Always on
Use security: No

Tools → Settings → Connection → SIP settings → Proxy server
Proxy server address: sip.host.com
Realm: asterisk
User name: c0nsumer
Password: PasswordGoesHere
Allow loose routing: Yes
Transport type: UDP
Port: 5060

Tools → Settings → Connection → SIP settings → Registrar server
Proxy server address: sip.host.com
Realm: asterisk
User name: c0nsumer
Password: PasswordGoesHere
Transport type: UDP
Port: 5060

Tools → Settings → Connection → Internet tel.
Create a profile with a name of your choice, then associate the SIP profile created earlier with this. This will set up one profile which can then be used to make calls across the network via VoIP.

After this, set your new NameGoesHere profile as the default via Tools → Settings → Connection → SIP settings → Options → Default profile.

With these settings your phone will always connect to the AP whenever it is found and register with the VoIP server. It will then be able to make and receive calls. Setting Registration to When needed makes the phone prompt before connecting to the AP and the SIP server when an attempt to dial an internet call is made. Inbound calls will not work in this case.

Leave a Comment

restrict default ignore

In setting up NTP on nuxx.net I ran into a bit of a problem: time wouldn’t sync. My configuration was fairly simple, following the information on support.ntp.org for using the pool of North American servers, blocking external access, but allowing ntpq (et al) to work from localhost:

server 0.north-america.pool.ntp.org
server 1.north-america.pool.ntp.org
server 2.north-america.pool.ntp.org
server 3.north-america.pool.ntp.org

driftfile /var/db/ntp.drift

restrict default ignore
restrict 127.0.0.1

However, it seemed that no matter what I tried (disabling the firewall, adding exceptions for TCP/UDP 123, changing order of the restrict statements, etc) the box wasn’t able to contact its peers:

c0nsumer@banstyle:~> ntpq -pn
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 217.160.254.116 .INIT.          16 u    -   64    0    0.000    0.000 4000.00
 209.132.176.4   .INIT.          16 u    -   64    0    0.000    0.000 4000.00
 209.40.97.141   .INIT.          16 u    -   64    0    0.000    0.000 4000.00
 216.14.98.234   .INIT.          16 u    -   64    0    0.000    0.000 4000.00

After some more digging I found that the restrict default ignore option, which is widely recommended to keep external folks from connecting to your ntpd, prevents synchronization from happening, even with the exception for localhost.

Having realized that, my ntp.conf is now just the basic config for the NA servers and the drift file, and it all works great:

server 0.north-america.pool.ntp.org
server 1.north-america.pool.ntp.org
server 2.north-america.pool.ntp.org
server 3.north-america.pool.ntp.org

driftfile /var/db/ntp.drift

Yep, it’s syncing just fine:

c0nsumer@banstyle:~> ntpq -pn
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*217.160.254.116 18.26.4.105      2 u  200  256   17   37.192    4.619   1.461
 209.132.176.4   66.187.233.4     2 u  201  256   17  101.819   21.118   9.529
 209.40.97.141   192.5.41.40      2 u  197  256   17   38.565  -31.122  21.081
 216.14.98.234   216.218.254.202  2 u  200  256   17   18.731    3.940   4.848

c0nsumer@banstyle:~> ntptrace
localhost: stratum 3, offset 0.004619, root distance 0.043540
server.donkeyfly.com: stratum 2, offset -0.000686, root distance 0.006361
bonehed.lcs.mit.edu: stratum 1, offset 0.000018, root distance 0.000000, refid 'CDMA'

Now I just let pf restrict access to NTP. That works just fine.

Leave a Comment

Coupons.com Sucks

Coupons.com requires you to install some special software for diabetic coupon printing, and it specifically does not work in VMs.

My grandma needed some coupons printed which are related to an arthritis drug called Zostrix (note the rel="nofollow") but was having some problems doing so. My mom also had such problems, so I decided to give it a go using my shiny new printer.

It turns out that the coupons for this drug are printed via Coupons.com, but when I went to use their service I was informed that it didn’t support my browser (FF3 on a Mac). Switching over to a VM running IE7 under XP I found that the site requires one to install some sort of silly coupon printing software in order to do the printing. Since I was using a VM I took a snapshot then attempted to install the software, at which point I received the above error.

The damned software refuses to install in a VM.

At this point I’m just not going to print the coupons… I don’t want to cruft up my normal or work machines (the only interactive non-VMs I have) with such crap, so there’s not much more I can do. Digging around a bit more on it, I found this writeup called A Closer Look at Coupons.com which details quite a number of questionable things done by this software.

13 Comments

Paved Night Ride

Everyone who was on the ride around Mt. Clemens except for me. Left to right is Perry, John, Marty, Nick, and Mike.

Here, have a photo of everyone who went for a ride tonight from Mt. Clemens High School to Metro Beach and back, except for me. It’s not a very good photo. This one of Marty and Nick is better, despite the huge amount of noise from the high ISO.

After getting home from the ride I stuck the extra RAM in the printer and my Mac, and everything seems to be working great. The printer (Xerox Phaser 6130N) got a 1GB Crucial SO-DIMM (CT12864AC53E) to bring it to 1.1GB and the Mac Pro got 4GB of RAM bringing it to 7GB. I now can run multiple VMs with ease and deal with multiple large image files without a bunch of paging.

It’s been a good day and a good evening.

Leave a Comment

Xerox Phaser 6130N

Xerox Phaser 6130, which was $249 via Costco.

A few weeks back I mentioned that I really needed a new printer, as my old HP LaserJet 5L had mostly ceased working. Well, last week Costco had a Xerox Phaser 6130N listed on their site for $249 shipped, with a Tripp Lite surge protector and USB cable.

I ended up jumping on this deal, because it has all the features I was looking for in a printer, except a duplexer, which really isn’t that important anyway. In short, this is a networked color laser which speaks real Adobe PostScript 3 (Wikipedia PostScript article), making it properly usable from any OS without silly Gutenprint (GIMP-Print) drivers and their crappy dithering.

The price was also outstanding, as Newegg sells this printer for $359.99 and most other places want even more than that. I also made a quick trip over to Crucial for a $16.99 piece of CT12864AC53E should bring the total RAM in the printer up to 1152MB. That ought to make printing complex documents fast.

Leave a Comment

rowla.nuxx.net, RIP

PuTTY screenshot of a disconnected session to rowla.nuxx.net after shutting it down for the last time.

That’s it. rowla.nuxx.net has been turned off, and I’m slated to pick it up tomorrow sometime around lunch. Everything has been moved over and seems to be working great. So, if I host your stuff on nuxx.net and you are having a problem, please let me know so that it may be corrected.

Leave a Comment

Time For A New Printer

Old parallel port printer cable connecting into the back of my work laptop, a Dell D610.

I guess I really need a new printer. After almost a year of limping along with a failing HP LaserJet 5L at home I’m finding I can’t even convince it to print any more. Today I was able to get it to print a test page while manually guiding the paper deep into the feed mechanism, but then I was unable to print properly from either my Mac or work laptop via lpr (to the JetDirect), or straight from my work laptop via parallel port.

Two pages bearing print did leave the printer eventually when connected via parallel port, but only half of the PDF which I needed to print (a free admission ticket to Addison Oaks for riding the mountain bike trails) was actually render correctly. Oh well. I guess it’s time to go to Kinkos.

Leave a Comment

Busy Weekend

This weekend looks to be very busy. I’m still at work, don’t know when I’ll be leaving, and likely will have to put in some time on either Saturday evening or early Sunday morning.

The new hard disks for my server are going to be delivered today, so hopefully the wipe of the failing ones (with DBAN) will be complete by the time I arrive home so that I’ll be able to do the dump and restore, check out the install, then get in with more burn-in.

I’d originally planned on riding both the Tour De Troit and the Addison Oaks Fall Classic this Saturday and Sunday (respectively), but I just don’t think I want to schedule things that tightly. So, maybe I’ll get out and ride a bit, but it definitely won’t be anything planned or structured.

Now, to get this stuff at work wrapped up. Thankfully Danielle brought me some really, really yummy lunch from Rangoli Express so that I didn’t have to leave for lunch today. It was really, really, really good.

(No, I’m not neglecting work right now… I’m just waiting for some other folks so I can keep going with stuff that I’m doing.)

Leave a Comment

+12 Hours of Breakin

Breakin, having run for 12h 28m 33s after swapping RAM around.

Yesterday I ordered a pair of Seagate Barracuda ES.2 ST3500320NS disks to replace the two which failed on Tuesday. Today I called Newegg about my RMA for the old ones and the old controller and was able to get the 15% restocking fee waived for both the controller and drives. Hopefully the drives will arrive tomorrow and I can dump | restore the OS and such, then start Breakin running so that it can thrash the drives for a few days.

Speaking of Breakin, I disconnected the disks from the machine (but left them mostly fitted in the case as to not disrupt airflow) and started Breakin running this morning before I left for work. When I arrived home it was still running, unlike last week when it regularly failed with MCEs. This is good, as I had been unable to get it to run for this long before.

Leave a Comment