Archive for October 30th, 2007

Konqueror and Internet Banking

I found out a little more about a problem that’s been really annoying me for ages: I can’t access my bank’s Internet banking using Konqueror.  When I hit the button, Konqueror proclaims that it “Could not connect to host”, but if I right-click on the “Login” link and choose “Open with Firefox Web Browser…” it works fine.

I broke out Wireshark and did a capture.  DNS request and response normal, TCP three-way handshake fine, SSL Client Hello…  Hmm, TLS handshake failure.  Strange.  I traced a Firefox connection, and (obviously) after the SSL Client Hello there is a Server Hello in response, and the connection establishes okay.

What I found is that the cipher suites presented by Konqueror and Firefox differ: Firefox offers a couple that Konqueror doesn’t, and vice-versa.  More importantly, the one that is presented in the Server Hello on the Firefox connection is labelled by Wireshark as “Cipher Suite: TLS_RSA_WITH_3DES_EDE_CBC_SHA (0x000a)” and is one of the ones missing from Konqueror’s Client Hello.

So there are two issues here.  Firstly, Konqueror is missing some TLS cipher suites (or at least Ubuntu’s build of Konqueror is).  Secondly, Konqueror’s reporting of the problem is not helpful — stating it was a “security negotiation failure” would be a lot more helpful than just saying “could not connect”.

/me goes looking for KDE’s bug reporting system…

FreePBX modes

When I first set up FreePBX, I was frustrated by the inability to create a voicemail user independently of an extension.  It looked to me like an office system, where each handset was associated with an individual and had its own voicemail.  In the end I created a few extensions that were not associated with handsets and used them as the voicemail boxes (I disabled voicemail on all other extensions) and wrote a custom dialplan entry to work out which voicemail box was associated with the “usual” user of each handset.  Works fine, even if I have to check each upgrade of FreePBX doesn’t knock out my custom dialplan stuff.

Recently though, I found that FreePBX does indeed have an alternate programming method that matches up with my original intended use.  The default method is called “Extensions” mode, while the different method is called “Device-and-User”.  The extensions mode, in effect, creates a user for every device defined, and calls it an extension.  The device-and-user mode however allows you to configure each separately.  Your device configurations are simply end-points for your handsets (SIP definitions for example) and users are the entities you actually want to reach (i.e. people).

A device can be either “Fixed”, where it is always associated with a particular user, or it can be “Ad-hoc”.  An ad-hoc device allows a user to log on to the device and receive their calls at that device.  A user can be logged on to multiple devices at once, or even a mixture of fixed and ad-hoc devices.

I was really excited by this, as it seemed that I could replace everything I had set up with my extra extensions and associated Ring Groups by just switching to device-and-user.  There is a little snag though — even though devices still have to have a numeric name that looks just like an extension, it is not available to the dialplan in its own right.  If I have configured my ATA-attached cordless phone as device 852, I cannot dial 852 and make it ring.  I can only dial whatever user number the device is associated with, which in turn means that if no-one is logged-in to an ad-hoc device there is no way to make it ring.  Also, a device can only be associated with one user at a time.

I have auto-answer SIP presences on all the handsets that support it, which I use as a two-way intercom system.  This supplements FreePBX’s Paging facility which I use for broadcast, one-way announcements to all (such as “dinner is on the table!).  I couldn’t switch to device-and-user mode completely, as I would lose the ability to selectively dial devices such as the intercom lines that would not be associated with a user (or would need to be associated with more than one user to support both paging and intercom).

So for now I’m sticking with what I’ve got.  I like device-and-user, but by not making the device’s number addressable in the dialplan they’re eliminating a lot of flexibility and possible functionality.  When we moved into our current home I ripped out much of the builder’s phone wiring and replaced it because I didn’t want all my phones in parallel… that’s what device-and-user feels like right now: everything in parallel.  I’ll keep an eye on it though…

Tags: , ,