Archive for May, 2009

Review of Atcom AG-188N IAX+SIP ATA (VoIP adapter) – Part 4 – Setting up SIP, and securing the adapter

After yesterday’s installment we had pretty much configured the VoIP side of the Atcom AG-188N (sold in North America by CIGear) using the IAX protocol. Of course, even though IAX is the superior protocol for getting audio through difficult firewalls, there are still many reasons someone might need to use SIP — perhaps the most compelling reason being that many commercial VoIP providers only offer connections using SIP protocol.

Fortunately, setting up the SIP configuration on this unit is pretty straightforward. Just click on SIP Config (not SIP) in the left-hand menu, and this screen appears:

Atcom AG-188N SIP configuration screen

Atcom AG-188N SIP configuration screen

If you’re connecting to an Asterisk or FreePBX server, you probably only need to fill in the following:

  • Register Server Addr — this is the address of your server, such as 192.168.0.100 or myserver.dyndns.com
  • Register Server Port — the SIP port number of the server — note that while the default of 5060 is most common, there may be cases where a different port is used, so it pays to check.
  • Register Username — just use your extension number here, unless you are instructed otherwise.
  • Register Password — the same as the Asterisk “secret” for your extension.
  • Phone Number — your extension number (again).
  • Display Name — The name you want to appear in the other party’s Caller ID display if you ever do a direct SIP-to-SIP call.  FreePBX and most providers will ignore this, instead using the name associated with your account.
  • Enable Register – Always check this box, to enable SIP registration, if you plan to use SIP.
  • SIP(Default Protocol) — This sets the default protocol to SIP for outgoing calls. If you check this box, it automatically unchecks the box that makes IAX the default protocol on the IAX setup screen.

As long as you haven’t changed any of the default settings (as shown on the above screenshot), everything will very likely work.  You should try a test call and see if you can connect. If so, I then recommend that you try changing the Register Expire Time — the manual says the default on this is 600 seconds, but as you can see from the screenshot above, it’s actually set to 60 seconds, which means it re-registers once per minute, which may generate a lot of unnecessary traffic between you and the server. The manual also says that the AG-188N “will auto configure this expire time to the server recommended setting if it is different from the SIP server.”  Huh? In any case, I’d try setting the registration higher – you can try the 600 second default, but many adapters  go even higher (a 3600 second re-registration is not uncommon).  However, if you pick up the phone and find you don’t get dial tone sometimes, or if your callers get a congestion signal sometimes, you may need to go for a lower value.  I can tell you from personal experience that some users served by a DSL line might need a shorter re-registration interval.

Here’s what the other settings are for.  You probably won’t need to change any of these from the default, unless your system administrator or provider specifically tells you to do so:

  • Proxy Server Addr, Proxy Server Port, Proxy Username, Proxy Password — in almost all cases these will be the same as the equivalent Register values, and that’s what the AG-188N assumes if you leave these blank, so very few users would have any need to fill these in.
  • Domain Realm — if you leave this blank, the AG-188N will use the proxy server address as the SIP domain, which in most cases is fine.  However, if you are using a dotted IP address (such as 192.168.0.100) as the server address, and the server is misconfigured, you (very rarely) might need to put the server’s external address (such as myserver.dyndns.com) here.
  • Detect Interval Time — this is only applicable if you check the Auto Detect Server checkbox, in which case the AG-188N will try to detect whether the SIP server is available at the interval specified here. I had originally thought that perhaps, if  the server could not be detected (or the network connection was lost), the AG-188N would stop delivering dial tone.  But nooooo — in my testing it made absolutely no difference. What it actually does is let you use a second, “fallback” SIP account if your first account goes down!  See the note on the “Auto Detect server” checkbox below.
  • Encrypt Key — the manual is silent on this, but if the server supports encryption on SIP connections, then I would guess you’d put the key here.
  • DTMF Mode — with SIP connections you have three different ways of sending touch tones to the server: RFC2833, DTMF_RELAY (inband audio), and SIP info.  In most cases you’ll leave this at RFC2833, but in some cases, particular if you are having issues with distant systems not recognizing your touch tones, you may want to try a different method.  Inband audio should probably be your last choice, but I have seen cases where it’s the only thing that would work.  Note that the way the server is configured can also have an effect on how tones are passed – even if you send the tones inband, your server may be converting them to RFC2833 before sending them “upstream.”
  • Local SIP port — the local SIP registeration port, which defaults to 5060, which is almost always what you want to use.
  • RFC Protocol Edition — according to the manual, you would only need to set this to RFC 2543 if you are trying to communicate to devices (such as a CISCO 5300) using the SIP 1.0 protocol. The default is RFC 3261, and unless specifically instructed otherwise, that’s the setting you should use.
  • Server types in SIP config window

    AG-188N Server types in SIP configuration screen

  • Server Type — leave this on “common” unless you happen to be connecting to one of the “uncommon” servers shown in the dropdown (pictured at right).
  • User agent — much as your web browser sends a User Agent string to identify itself, VoiP adapters also send an identification string.  By default, the AG-188N sends the rather boring “Voip Phone 1.0″ but you can change that here, although about the only person who would ever see it is the system administrator of the system you’re connecting to.  While you could possibly put something more interesting in here (I’ll leave it to your imagination!), I wouldn’t advise it if the system administrator is not known to have any discernible sense of humor. :)

The AG-188N manual is mostly silent with regard to the checkboxes we’ve not already mentioned. In fact, it only mentions these three:

  • Enable Register — Enable or Disable SIP registration. The AG-188N won’t attempt to register with the SIP server if this isn’t checked, so leave it checked as long as you’re using SIP.
  • Auto Detect server — Okay, here’s how the manual describes this one: “co-work with Server Auto Swap and Detect Interval Time. Enable this option, AG-188N will periodically detect whether the public SIP server is available, if the server is unavailable, the AG-188N will switch to the back-up SIP sever, and continue detecting the public sip server. AG-188N will switch back to the primary SIP server if the server is available again.” Yes, folks, this device lets you use TWO sip accounts, and fallback to the second if the first goes down! Interestingly, although the manual makes reference to a “Server Auto Swap” checkbox, I’m sure not seeing it anyhere on this page.
  • Enable Via rport — checked by default, this configures support for RFC 3581.  If you really want to know, see this FAQ.  If you don’t, just leave it checked.

What about the other checkboxes? Here’s my best guesses, supplemented by additional information from Atcom manuals for some of their other products.  I’d leave all of these at the default setting unless you really know what you are doing:

  • Enable PRACK — read this — the phrase “Numerous implementation problems seen in the field” is enough to discourage me from checking this box! Another Atcom manual offers this: “enable the PRACK in SIP which is mainly used in special ring tone, recommend to keep the default setting.” Do you need any other reasons to avoid it?
  • Enable Keep Authentication — feel free to check this if you like, but the unit seems to stay registered without it. A manual for a different Atcom device says  that this enables “registration with authentication request to be sent to sever together”, while yet another Atcom manual says that it enables “registering signal together with the authentication information. If enable it, the server will confirm the registering and send back the confirmation massage directly instead of requesting the terminals to send authentication information if needed.”  Yeah, that clears it right up for me!
  • Signal Encrypt, RTP Encrypt — if your server supports encryption, and you have filled in the Encrypt Key field, you almost certainly need to check these to make it work.
  • Enable Session Timer — a session timer is a way to determine whether a call session is still active.  Apparently this “enables RFC4028 to refresh the SIP sessions”, according to another Atcom manual.
  • Answer With Single Codec — other Atcom manuals say, “only answer the call with a certain Codec.” My best guess here would be that this will only use your “preferred” codec when answering a call. If the server doesn’t support your preference, you probably won’t receive any calls.

Now, above I mentioned that you can actually have two active SIP accounts on this device, in addition to an active IAX account, presumably in addition to having a landline plugged into the PSTN port.  I suppose that means that potentially, one phone could receive calls from, or place calls to as many as four different sources!  I doubt many people will actually use the device with more than one account, but it’s interesting nonetheless that this adapter has this capability!

I will note that things may not always work quite as you’d hope in a multi-account configuration.  I set it up so that there would be one SIP account and one IAX account active on the unit.  When I had an active call in progress on one account, I’d try calling the other and I always got a busy signal, even though call waiting is enabled. I had rather hoped that if you were using one account and a call came in on anther, it would activate call waiting, although since I am among those that would probably never have a reason to use this device with multiple accounts, that’s kind of a non-issue for me. Call waiting DOES work if another call comes in on the same account while you are on a call, and there may be situations where it would work across multiple accounts (I didn’t test with two SIP accounts, for example).

The manual seems to confirm my suspicions that IAX and SIP don’t work together as well as one might hope:

How many SIP servers may AG-188N register simultaneously?
AG-188N support 2 SIP servers and a IAX server. The Default server is SIP. If you want to use the IAX server you must set IAX as default protocol in the IAX config page. IAX and SIP can register simultaneously but not work simultaneously. If you set 2 SIP servers in the SIP setting page, you can choose the route (server) by dialing plan which is edited by you. Please see “How to use the dial rule?” for detail.

Before you get too perturbed by this, ask yourself how many other devices let you use multiple accounts from the same phone.  And if you’re wondering how you would select which account to use for a particular call when multiple accounts are available, that sort of thing is accomplished in the Dial-Peer screen, which we briefly covered yesterday.  You probably will need to read the manual to learn how to set it up.

You might be wondering how you’d set up that second SIP account. That’s accomplished by looking in the “Advance” section of the left-hand menu, and clicking on SIP.  When you do that you get this screen:

Atcom AG-188N Advanced SIP configuration screen

Atcom AG-188N Advanced SIP configuration screen

As you can see, it’s pretty much a duplicate of the other SIP configuration screen, but without as many settings, and with the word “Private” inserted into many of the description texts (not sure why they chose the word “Private” to describe the second account, but oh well).  Really, there are only five new settings here:

  • STUN Server Addr — If you use a STUN server, enter its address here
  • STUN Server Port — If you use a STUN server, enter the port number here. The default STUN server port is 3478.
  • STUN Effect Time — a different Atcom manual is far less confusing on this item: “STUN detect NAT type interval time. If NAT found a link inactive for a certain time, it will close the link so you need to send a packet within a interval time to keep the link alive.”
  • Enable URI Convert — convert # into %23 when sending URI (from a different Atcom manual, since it’s not in the one for the AG-188N).
  • Enable SIP Stun — A different Atcom manual sums this STUN stuff up nicely: SIP STUN is used for NAT transverse. When you config STUN server’s address and port (default 3478) and enable it, then you can use the normal SIP server to make the IP phone transverse NAT.

I will point out that more than likely, if you define a STUN server on this page, the AG-188N will be able to utilize it whether you are using the primary SIP account, or the “Private” account defined on this page. So it’s just slightly confusing that although at first glance this appears to be the settings for the second account, there are a few items here that could affect the ability of both accounts to penetrate NAT firewalls.

By the way, if you want to know more about STUN you can always try Wikipedia, and if you need to find a public STUN server, just Google public stun servers, and your desire should be met! That said, I’ve never had much luck trying to use a STUN server, and in most cases you won’t need to use one, which perhaps is why these settings were placed on this page.

If you’re starting to see that in many ways this device is more full-featured than some other VoIP adapters that are out there (and probably easier to configure), you can understand why I really like this unit – well, for the most part. And that brings me to the subject of security.

When you first access the unit, you have to login, and that’s to be expected. While some competing adapters don’t force you to use a username and password, they basically only have two accounts — user and admin.  The AG-188N has those (well, actually, guest and admin) by default, but you can add more.  If you click on “Account Management” in the left-hand menu, it brings you to the screen shown below, minus the entry fields at the bottom — those only come up when you press Add, to add an account:

Atcom AG-188N Account configuration page

Atcom AG-188N Account configuration page

It’s probably obvious that this is also the page you’d go to if you wanted to change a user’s password, or to delete an account.

There are two user levels possible, Root and General. General users only get to see a limited subset of the pages: WAN Config, LAN Config, Audio Settings, WEB Update, FTP/TFTP Update, Auto Provisioning, and Logout & Reboot. I’m not sure why you’d need to add additional users, but you can. Anyway, it appears you have to set a User name and Password for all users.

And normally that would not be any problem at all, except that while writing this review I’ve had to go back into the interface several times to look at the configuration, and if I haven’t done anything in there for a few minutes it apparently logs me off, and then I’m forced to login all over again! While I suppose this is really a good thing — if you happen to leave your browser open to this device and then leave, some mischief-maker can’t come along half an hour later and start changing settings on you — it’s still kind of a pain when you are doing something like this.  Oh, well, I guess it really is a good thing!

For those that want extra security, you can go to the “MMI Filter” page and set a filter by address range:

Atcom AG-188N MMI Filter screen

Atcom AG-188N MMI Filter screen

When the MMI filter is enabled, only IP addresses between the start IP and the end IP can access the AG-188N. It’s a good dose of extra security, but be careful not to lock yourself out — and remember, if you ever take your adapter with you when you travel, whatever network you happen to land upon may not be using the same IP range as your home network.  So I don’t think I’d advise setting this if you travel a lot, but at least the AG-188N gives you the option, something that some other adapters do not.

What’s next?  Well, we haven’t even really touched on the networking functions in this unit. Stay tuned for the next installment!

Disclosure: CIGear provided me with an Atcom AG-188N for review purposes, and allowed me to keep it after I was finished writing this series, and for that I am most grateful.

Previous Installment | Next Installment

Articles in the series: Review of Atcom AG-188N IAX+SIP ATA (VoIP adapter)

Part 1 – The unboxing
Part 2 – Initial setup using IAX
Part 3 – Setting the time and configuring outbound dialing
Part 4 – Setting up SIP, and securing the adapter
Part 5 – Networking and Internal Router
Part 6 – Final Thoughts and Summary Review
Part 7 – Addendum

Leave a Comment

Review of Atcom AG-188N IAX+SIP ATA (VoIP adapter) – Part 3 – Setting the time and configuring outbound dialing

In yesterday’s installment of this review of the Atcom AG-188N (sold in North America by CIGear), I had mentioned that you could download the documentation from the manufacturer’s web site in .PDF format. Since then I have come to realize that the .doc files on the CD are actually a bit more complete – some options are covered there that are not covered in the PDF version. Perhaps someone at Atcom should make the effort to generate new online PDF files from the current documentation.

Also, today I found out that because I didn’t have the latest firmware, there are more CODEC options on the Audio Settings page than what I had pictured – you can now select up to five CODECs, in order of preference. I’ve uploaded an additional screenshot to yesterday’s article, so you can see what’s changed.

Yesterday, we pretty much covered IAX settings that would allow you to receive incoming calls on the AG-188N, but if you’d like the correct time to show on your CallerID display, you probably want to click on the Time Config selection in the left-hand menu, to access this page:

Atcom AG-188N Time configuration page

Atcom AG-188N Time configuration screen

This one is pretty self-explanatory, but note one thing: The time server must support Simple Network Time Protocol a.k.a. SNTP. Some time servers only support NTP. When I tried to use the time server on the Asterisk system, which does NTP only, I got no time information with my incoming calls.  However, when I went to the time server pool at ntp.org (specifically us.pool.ntp.org) it seemed to work fine, so apparently their time servers “speak” SNTP.  us.pool.ntp.org is a good time server choice if you’re in the U.S.A, while in Canada you’d probably want ca.pool.ntp.org, and if you’re someplace else you can start here and select your continent, then drill down until you find the time server for your country.

Then select your time zone, check “Daylight” if your area observes Daylight Savings Time, and check “select sntp” (if you don’t check that box, it expects that you will be entering the time manually using the lower section!), and Apply. The default timeout of 60 seconds is fine; that’s just how long the device will wait for the time server to respond before giving up.  There’s no real reason to use the Manual Timeset section, unless perhaps for some reason you are on a system that has no connection to the Internet (I suppose such “closed” systems must exist somewhere).

You may be wondering if the Daylight time rules are configurable.  Not from the Web interface, sorry.  Newer Linksys devices, in contrast, let you specify a daylight time change rule (which is a string format that’s clear as mud for many users, but at least they make it possible to install a rule for your area from the Web interface). I had originally thought there was no way to change the rule in the AG-188N, but then I discovered that if you click on “Backup Config” in the left-hand menu, you can save your configuration settings in a plain text file, and in that file there is a section in there that looks like this:

DayLight Shift Min :60
DayLight Start Mon :3
DayLight Start Week:5
DayLight Start Wday:0
DayLight Start Hour:2
DayLight Start Min :0
DayLight End Mon   :10
DayLight End Week  :5
DayLight End Wday  :0
DayLight End Hour  :2
DayLight End Min   :0

If you were to edit those values (using a text editor that does not change the line endings, please!) and then use “Web Update” to reload the configuration, you could change the Daylight time rules. While this is a bit of a pain, it’s probably actually easier to understand than the way Linksys does it.  If you need to know when Daylight time starts and ends in your part of the world you can consult Wikipedia, but in most of the United States and Canada, DST starts on the second Sunday of March and ends on the first Sunday of November. Wikipedia says that they don’t observe DST in China, so I have no idea whose DST rule is loaded into the AG-188N, but it sure doesn’t look like the one for the U.S.A. and Canada to me.  I’m guessing that the following values should be changed as follows (assuming that they are using “1″ based numbering on week and month):

DayLight Start Week:2
DayLight End Mon   :11
DayLight End Week  :1

If I’m wrong, I’ll bet I’m still closer than the original rule! Anyway, if you do feel brave enough to edit the configuration backup file, after you carefully make the edits, rename the backup file extension from .txt to .cfg before using “Web Update” to load it back in. I actually did it and it took the changes (confirmed by saving another backup), but I’m not suggesting anyone should do it – if you want to try it, you assume the risk that something may go wrong, not me!

Okay, with that out of the way, let’s move on to making outgoing calls. Right out of the box it’s possible to dial some numbers, but if you have ever configured a VoIP adapter in the past, you know there are tweaks that need to be made to accommodate local dialing patterns. For one thing, it you were to use the AG-188N to try dialing a feature code that starts with a “star” character (*), such as *43 for the echo test on a FreePBX box, you’d note that the moment you hit the * key it goes to a busy signal. One reason for that is that by default, the star code indicates that you want to access the PSTN line connected to the PSTN port on the device, instead of the IAX and/or SIP account(s) configured on the AG-188N. This allows one analog phone to use either IAX/SIP or the PSTN. But if you aren’t using the PSTN port, and you are using an account on an Asterisk server, you probably want to be able to dial “star” feature codes without the AG-188N intercepting them. In order to accomplish that, we must select “Dial-Peer” in the left-hand menu – yes, I know it looks like it’s not a link, but it is — trust me. Click on it, and you will see this:

Atcom AG-188N Dial-Peer configuration screen

Atcom AG-188N Dial-Peer configuration screen

By default, there is only one entry here, for *T — you should delete this rule entirely.  If you still want to be able to access a phone line plugged into the PSTN port on the device, you could create a new rule, such as **T (which would require two depressions of the * key to select the PSTN line) and use the same parameters as the original *T (in case you are wondering, no you can’t simply modify the existing rule, because when you click on “Modify” you can modify every field except the Number). By the way, the T with no digit after it is the same as T0 (T followed by a zero), which means that there is no delay once the pattern is matched.

You can think of the Dial-Peer page as a variation on speed dialing, and a place to add digits to, or strip digits from a dialed number.  According to the AG-188N manual, here’s what can be accomplished on this page:

  • Replace, delete or add a prefix to the dialed number
  • Make a direct IP to IP call
  • Place the call to a different SIP server after dialing a prefix
  • Make PSTN calls using the Lifeline function (the rule I just had you delete or modify above)

If you need to do any of those things, make sure you read the section of the manual dealing with the Dial-Peer configuration page. The specific case of adding a prefix (1 + area code) to a seven digit local number is covered in Part 7 of this series, along with some additional information about dialed number modification using the Dial-Peer page.

Now at this point you might pick up the phone and hit the star key, only to discover that you’re still getting a busy signal.  What’s going on? Well, it turns out that there’s one more place where an adjustment needs to be made. In the left-hand menu, select “Digital Map” – that should bring up this page:

Atcom AG-188N Digital Map configuration screen

Atcom AG-188N Digital Map configuration screen

“Digital Map” is a fancy way of saying “Dial Plan” – it’s the dial rules used to determine when a number that has been dialed is complete, and should be sent to the switch. Yes, they used the word “Prefix” in this section – I attribute it to someone picking the wrong English word when translating from Chinese.  Either “Pattern” or “Rule” would have probably been a more appropriate choice than “Prefix.”

You’ll note that there’s a rule for a single star (in Texas they’d call it a lone star). :D But, we don’t want the AG-188N to think that dialing is complete after we’ve only pressed the star key once, so using the dropdown and “Delete” key on the bottom line of the page, I deleted that rule. At that point, I had no dial rules at all.  I could dial any number, but there would be a five second delay after the last digit dialed before the call went through. Obviously, we don’t want a post-dial delay on calls if that can be avoided, so we should add some rules, or prefixes as they are called here. But first, we’d better know what we can place in the rules:

  • The digits 0-9 and the * character
  • A range of digits in square brackets [ ], for example it could be a range such as [1-4], or use comma to separate individual numbers, such as [1,3,5], or use a list such as [234].
  • x  is a “wildcard” character represents any one digit between 0~9
  • Tn if used, must be the last thing on a line, and represents the amount of time we will wait after a pattern is matched to see if the user will depress any additional digits. n can be any number of seconds in the range 0-9. If the n digit is omitted and T used by itself, it means the same as T0, which means there would be no wait at all after the last digit is dialed. However, it appears that either T0 or a T by itself may be redundant in this screen – when a pattern is fully matched it is assumed to be complete, and there would be no further delay unless Tn is used, when n is some non-zero value.

Now, for those used to constructing Dial Plans on a Linksys or Sipura device, the principle here is pretty much the same.  Just keep in mind that instead of using a bar character | to separate individual dial plan rules, here you add each separately, and it occupies its own line.  Also, instead of using the S (seconds) to indicate a wait delay, here we use T (time in seconds).

The manual gives some usage examples:

  • [1-8]xxx  All number from 1000 to 89999 will be sent immediately
  • 9xxxxxxx 8 digits numbers beginning with 9 will be sent immediately
  • 911   The number 911 will be sent immediately
  • 99xT4  3 digits numbers that begin with 99 will be sent after four seconds

So, let’s take a Dial Plan string that we might find on a Linksys or Sipura device in the USA or Canada, where local extensions are assigned numbers in the range 1000 through 1999 and it is desired to have seven digit dialing of calls with one’s own area code, and eleven digit dialing to all other area codes:

([3-9]11|1[01]xx|[2-9]xxxxxxS0|1[2-9]xx[2-9]xxxxxxS0|*xxS0|[*x].S4)

Here’s how each rule would be translated to a “Prefix” on the AG-188N:

  • [3-9]11 — [3-9]11 or [3-9]11T or [3-9]11T0
  • 1[01]xx — 1[01]xx or 1[01]xxT or 1[01]xxT0
  • [2-9]xxxxxxS0 — [2-9]xxxxxx or [2-9]xxxxxxT or [2-9]xxxxxxT0
  • 1[2-9]xx[2-9]xxxxxxS0 —1[2-9]xx[2-9]xxxxxx or 1[2-9]xx[2-9]xxxxxxT or 1[2-9]xx[2-9]xxxxxxT0
  • *xxS0 — *xx or *xxT or *xxT0
  • [*x].S4 — [*0-9].T4

As you can see, the most common patterns translate very easily.  But some things are questionable.  Note that last example – whereas a Linksys device allows [*x] to represent “any digit or the star key”, the Ag-188N seems to require the slightly more specific [*0-9].  But also, that rule contains a period (.) period character, which on a Linksys/Sipura device means “one or more of the preceeding character.”  Here it means any length pattern starting with * or 0-9, with any number of digits (possibly mixed with star key presses) following.  This type of rule (or something very similar) is commonly used as a “default” rule, to set a four second timeout for anything that doesn’t fit one of our other rules, such as international numbers. The problem here is that the AG-188N documentation makes absolutely no mention of the period character as having any significance in these settings, yet when I use it as I would on a Linksys/Sipura device, it appears to work in exactly the same manner.  Something they forgot to document, perhaps?

Of course, you could do away with that last pattern entirely and simply set a default timeout, as shown in the image above, but keep in mind, that controls your maximum interdigit delay during all normal dialing (though NOT the length of the initial dial tone).  If you pause to look at a number while dialing, you probably don’t want the device to time out on you too soon.  You might prefer to use a long default “Time Out” (something like 25 seconds), but then specify a shorter timeout for international calls, so instead of that final catch-all rule, you might use something a bit more specific, such as 011xxxxx.T4 (which would mean that once you’ve dialed 011 plus five additional digits, your interdigit timeout is reduced to four seconds.

Or, you could simply use a long “Time Out”, but then always hit the pound key # at the end of dialing any number that doesn’t match one of your patterns. That would work as long as the box for ‘End with “#”‘ is checked – when you check that box, it means that the # key signifies the end of the dialed number.

So, here’s an example of what this page might look like after you have converted the Linksys/Sipura Dial Plan string:

Atcom AG-188N Digital Map sample configuration

Atcom AG-188N Digital Map sample configuration

I know that there are a few things that can be done in a Linksys/Sipura Dial Plan that can’t be done on this page, but often those things can be done, just in a different way.  For example, if you need to do number translations (where you dial one number but the adapter sends something else), you can do that on the aforementioned Dial-Peer configuration page.  And if you want to set up “hotline” service, where the adapter connects to a particular number as soon as someone picks up the phone, that’s also possible, but you’d have to do it from the Call Service configuration page, which is worthy of note because of the capabilities it offers:

Atcom AG-188N Call Service configuration screen

Atcom AG-188N Call Service configuration screen

On this page you can set up the following:

  • Hotline: If you enter a number here, the  AG-188N will immediately dial that number after the phone is taken off-hook.
  • Call Forward: You can call forward on busy, no answer, or always.  In the case of “no answer”, be sure to set the timeout in the “No Answer Time(seconds)” field.
  • No Disturb: Usually known as “Do Not Disturb”, when enabled this option will refuse all incoming calls.
  • Ban Outgoing: Enable this to ban outgoing calls (useful if, for some reason, you want a phone to receive incoming calls only).
  • Enable Call Transfer: “If A is the AG-188N user, and B calls and talking with A through VoIP. A can press the Hook-Flash to hold the call with B, and then press * and then enter C’s number. B will be transferred to C and can talk with C.”  Note that Asterisk and FreePBX users might prefer to use Asterisk’s call transfer facilities.
  • Enable Three Way Call: According to the manual, only the SIP protocol supports this function — but don’t necessarily believe what the manual says (see below). “Assume A is the AG-188N user, and B calls and talking with A through VoIP. A can press Hook-Flash to hold the call with B, then enter C’s number to talk with C, and then press Hook-Flash again switch back to user B,  then A can press * to make 3-way conference calls.”
  • Enable Call Waiting: Enable/disable Call Waiting
  • Accept Any Call: If this option is disabled, the AG-188N will refuse the incoming call when the called number is different from AG-188N’s phone number.
  • No Answer Time: no answer call forward time setting.
  • P2P IP Prefix: Configure point to point calling. For example, if you want to call IP 192.168.1.119 Just define 192.168.1. here and you can dial #119 to make the point to point call with the IP phone of 192.168.1.119
  • Use Record Server: Configure the support of server recording, transferring all the recordings to the server.
  • Remote Record No: Configure the recording number – if you upload your recording to this account, you can login to this account to get your voice recording. I assume the idea here is that you have some internal number you can call that will simply begin recording everything it hears – this is certainly possible to set up on an Asterisk server.
  • Black List: incoming calls with these phone numbers will be refused.
  • Limit List: outgoing calls with these phone numbers will be refused. Although the documentation doesn’t say so, I tried using a pattern here (29x to ban calls to all extension 290-299) and it did work. I assume that’s true of the Black List also, which makes both of these settings much more useful.

Note than many of the above features can also be accomplished via FreePBX or Asterisk, using feature codes, but many folks might appreciate the ability to set certain features from a web page rather than having to remember and dial a particular feature code.  The only thing I changed on this page was that I enabled Call Transfer, Call Waiting, and Three Way Call (I left Accept Any Call checked as well).

The one thing that initially seemed to be a bit of a disappointment here was the inability to do three-way calling using IAX, according to the manual.  I had actually tried to use the feature anyway, failed, and had written a couple of paragraphs lamenting this limitation and suggesting a really crude workaround in Asterisk.  But then I took another look at the above description again, and realized that I had done it wrong. The way it works is, you have to call both parties (call the first, flash, and call the second – or – receive incoming call, flash and call second party) and then, when you are in a condition where you can flash back and forth between the two parties, press the * key — that last minor but crucial step is what makes all the difference.  I have no idea why the manual would say that only SIP supports this function, but I’m very happy to report that it’s just plain wrong on that point, at least according to my testing.

Call transfer is another function that doesn’t work exactly as it might on some other adapters — for example,  on a Linksys/Sipura, you simply flash and call the number you want to transfer the call to, then hang up (either while it is ringing, or after the recipient of the transferred call answers and you’ve had a chance to talk to them before handing over the call). With the AG-188N it’s strictly “blind” transfer — once you flash and then dial * plus the extension number (don’t forget the leading *), the call is immediately transferred.  Of course, FreePBX and Asterisk support both “blind” and “attended” transfers internally, so this probably isn’t a big deal if you’re using an Asterisk server (which you would be if you’re using IAX protocol). And I would guess that 95%+ of all transfers are “blind” transfers anyway, judging by calls where I’ve been the one transferred.

Do remember, if you have made any changes after reading this article, to save your configuration, so you don’t lose all your changes when you reboot.

In the next installment, I want to cover setting up a SIP account.  I’m expecting it will be pretty straightforward, but I’ll let you know once I actually do it.  Overall, I’m still very impressed with this unit.

And now a small bonus, for those that might want to know such things.  First of all, here’s a list of things you can do from the telephone handset, just by dialing certain codes:

  • #****# — reboot gateway
  • #*000# — clear settings (don’t do this unless you really need to!)
  • #*100# — set the IP type to static ip
  • #*101# — set IP type to DHCP
  • #*102# — set IP type to PPPoE
  • #*111# — say unit’s ip address (on WAN port)
  • #*222# — say phone number

The settings below need a reboot to take effect:

  • #*103# — change to bridge mode
  • #*104# — change to router mode
  • #*50192.168.1.117# — set WAN port IP address
  • #*51192.168.1.1# — set default gateway IP
  • #*52202.112.10.37# — set dns server
  • #*53255.255.255.0# — set netmask, use 255.255.255.0 if none given

In all of the above, the trailing # is optional, but speeds things up. In the last four examples, I would ASSUME that the star key * substitutes for the dot in the dotted IP addresses.

Also, this unit does have telnet access, or as the manual says, “User may use telnet command to access and manage gateway.” However, as I prefer to work within the GUI, I’ll stick with it. But I mention this because I know there’s a certain class of folks that love to get into the internals of a piece of equipment, and for those folks telnet access might be quite useful.

Disclosure: CIGear provided me with an Atcom AG-188N for review purposes, and allowed me to keep it after I was finished writing this series, and for that I am most grateful.

Previous Installment | Next Installment

Articles in the series: Review of Atcom AG-188N IAX+SIP ATA (VoIP adapter)

Part 1 – The unboxing
Part 2 – Initial setup using IAX
Part 3 – Setting the time and configuring outbound dialing
Part 4 – Setting up SIP, and securing the adapter
Part 5 – Networking and Internal Router
Part 6 – Final Thoughts and Summary Review
Part 7 – Addendum

Leave a Comment

Review of Atcom AG-188N IAX+SIP ATA (VoIP adapter) – Part 2 – Initial setup using IAX

In yesterday’s installment I explained why, in some cases, IAX is the superior protocol to use for VoIP calls.  Of course, having a superior protocol doesn’t count for much if the calls don’t sound good.  So, my first goal with the AG-188N (sold in North America by CIGear) was to try and get it up and running to the point that I could test the actual audio quality.

First, a clarification from yesterday’s post – I’ve been told that the unit I received had been previously used on a demo and therefore had been repackaged. Normally the power supply comes in a small white box, not wrapped in bubble wrap. Since I had specifically asked for a unit for review purposes, it doesn’t bother me at all that I received a unit that is new for all intents and purposes, but can’t be sold as new – that’s the perfect unit to send to a reviewer. :)

After unboxing the unit, I hooked it up to my local network, plugged a phone into the phone port, and connected the power supply and plugged it in. I picked up the phone and heard a distinctly foreign sounding dial tone (I later figured out it was a Chinese dial tone, probably since the unit is manufactured in China). I knew there had to be a web interface, but had no idea what IP address had been assigned to the unit. This is the point at which I might normally have referred to the manual, but there was no printed manual supplied. The only manual was on a small “mini CD” that came with the unit. Unfortunately, my primary computer is a Mac Mini, which has a front-loading DVD drive (where you shove the CD or DVD into a slot, and the Mac Mini sort of sucks it in). I had no idea if that drive could handle a “mini” CD, or if attempting to insert it would jam up the Mac Mini’s drive. Since I didn’t want to chance it, I took the expedient solution of firing up my old Windows box just long enough to read the CD and copy it to a shared drive, where I could peruse it on my Mac.

Mac Mini + Mini Disk? Nah, not gonna try it!

Mac Mini + Mini Disk? Nah, not gonna try it!

Unfortunately that hit a snag as well – the files on the CD are in .doc (Microsoft Word) format, not the more widely accepted PDF format. I never use .doc format – if I am writing a letter or something I use .rtf (Rich Text Format) which is far more universal. Nevertheless, to its credit, QuickLook on the Mac could display the .doc files (I might have installed a plugin to allow that at some point in the past), albeit in very tiny text. I later discovered that I could download the documentation in PDF format at the manufacturer’s web site, although it actually appears that the documentation on the disk is more complete in some sections.

The documentation revealed that in order to discover which IP address the device was occupying, I needed to pick up the phone and dial #*111#

After doing that, a very North American-sounding male voice read the IP address to me.  I entered that address into my web browser, and was greeted by a rather plain but functional Logon page:

Atcom AG-188N Logon screen

Atcom AG-188N Logon screen

Back to the .doc file, which revealed that the default logons are “admin/admin for administrator and guest/guest for user.” So I logged in as an administrator, and got this screen:

Atcom-AG-188N first screen after logon

Atcom AG-188N first screen after logon

Note that there is a left-hand sidebar and a main window. In the upcoming screenshots I’ll only be showing the main window, so let’s get a closer look at that sidebar now:

Atcom AG-188N sidebar

Atcom AG-188N sidebar

As you can see, this unit has many pages of options, but fortunately we don’t need to bother with most of them just to get the device working well enough to make a test call.

The first thing you will probably want to check is the WAN config page. By default, it looked like this (I have deliberately blurred portions of a few items that probably shouldn’t be shown):

AG-188N WAN configuration screen

Atcom AG-188N WAN configuration screen

For the majority of users, the main thing to check here is that it is using the DHCP server on your network to get its address – with the “DHCP” button selected and “Obtain DNS server automatically” checked, you can probably ignore the other text boxes. One thing the documentation is strangely silent on is the use of the “Mac Authenticating Code” field – I would ASSUME that’s so you can “clone” a Mac address, if you happen to be so unlucky as to be served by one of those providers that still actually cares what your router’s MAC address is, and you plan to plug the AG-188N directly into your cable or DSL modem rather than a router.

After that I decided to skip ahead a bit and get the IAX setup working. I clicked on “IAX2 Config” and the following screen came up:

Atcom AG-188N IAX2 configuration screen

Atcom AG-188N IAX2 configuration screen

This is super easy to set up. You only need edit the following fields for use with Asterisk or FreePBX:

  • IAX Server Addr – this is the address of your server, such as 192.168.0.100 or myserver.dyndns.com
  • IAX Server port – leave at 4569
  • Account Name – just use your extension number here
  • Account Password – the same as the Asterisk “secret” for your extension
  • Phone Number – your extension number (again)
  • Local Port – leave at 4569
  • Voice mail, Echo Test fields – just blank out all four (you dial codes like *43 or *98 to reach these in FreePBX)
  • Refresh Time – all the documentation says about this is that it is the “IAX refresh time” – I assume it’s how often the device re-registers with the server. I had originally thought 60 might be a bit too short of an interval, but when I tried a higher value I discovered that calls to the unit failed. So, my advice is, leave it at 60!
  • Enable Register – Always check this box, to enable IAX registration, if you plan to use IAX.
  • Enable G.729 – G.729 is a codec that saves bandwidth at the expense of audio fidelity.  Unless you are sure you need it and the server supports it, leave it unchecked.
  • IAX(Default protocol) – I checked this box, because I wanted to test IAX and don’t have SIP configured yet in any case.  By default, the AG-188N assumes you want SIP to be the default protocol; this changes that assumption

After you make the above changes, be sure to click the “Apply” button at the bottom.  That saves your changes, as long as the unit is not rebooted or powered down. So now I must bring up this important point:

IMPORTANT: After you make changes on any page, you must press the Apply button at the bottom of the page.  But then, after you have made all the changes you plan to make, in order to save them pernamently you MUST click on “Save Config” in the left-hand menu, after which you will see:

IMPORTANT! You MUST click this SAVE button to save your changes!

IMPORTANT! You MUST click this SAVE button to save your changes!

CLICK THE SAVE BUTTON!!! If you forget this step, you get to enter all your changes again after the next reboot of the unit!

At this point, I tried making a test call to the unit.  The phone rang (a short ring by North American standards) but it was perfectly usable, although to my ear the receiver volume was low (people on the other end could hear me just fine, but I had a bit of trouble hearing them).  But I quickly found the fix for those things.  Click on “Audio Settings” in the left-hand menu and you will see this screen (if you have the older firmware — the newer firmware has additional CODEC options, as explained below):

Atcom AG-188N Audio configuration screen

Atcom AG-188N Audio configuration screen

As you can see, unless you happen to live in China there are probably a few things you’ll want to change there! So I started by changing these:

  • CODEC – This is the codec you “prefer” to use – in the U.S.A. and Canada you’ll almost certainly want to use g711Ulaw64k (note Ulaw, not Alaw) unless you have a severe limitation on available bandwidth. Your other choices are g711Alaw64k, g729, g726-32k, iLBC, and (if you have the newer firmware — see below) None. Also, in the newer firmware, there are five CODEC settings, allowing you to select up to five CODECs in order of preference.
  • Signal Standard – This controls things like Dial Tone and Ring Length.  Your choices are CHINA, USA, JAPAN, UK, ISRAEL, BRASIL (their spelling), TOPCOM, and AUSTRALIA.  I’m not sure what country TOPCOM is, but if you live there, you’re supported! :)   (Apparently, Topcom is a European communications company that must have their own signal standard.)
  • Input Volume – 0 seemed to work fine for me, but if your callers complain they can’t hear you, try bumping this a number or two.
  • Output Volume – I found 3 or 4 to be a comfortable setting.  Note that your preference here may in part depend on the phone you are using, but if you are having trouble hearing the people you are talking to (or if they come through too loud), this is the setting to tweak.

I didn’t touch any of the other settings on this page.  Remember to click “Apply”, and then don’t forget to save your configuration! EDIT: After originally posting this article, I was informed that there are now additional CODEC settings on the page that are in the newest firmware, so I went and grabbed that firmware from Atcom’s web site, uploaded it, and this is what the page looks like after configuration and with the additional CODEC settings:

Atcom AG-188N DSP configuration screen - updated firmware

Atcom AG-188N Audio configuration screen - updated firmware

Now I could receive incoming calls, and I could place some outgoing calls.  I say “some” because I still needed to make some adjustments for dialing out (those will be covered next).

So, how did it work? Wonderfully! Calls are at least as clear as any other adapter I’ve used.  I have a friend who calls me frequently, and he just happened to call while I was setting this up, so when I got it configured I transferred his call to this adapter and he said that I sounded better than on the original connection (which was another phone that’s connected to a Linksys PAP2).  On my end, once I had turned up the volume a bit as shown above, he sounded great as well – certainly as good as any other VoIP or landline connection I’ve ever used, and perhaps even a bit better. My friend also said that he didn’t notice the little bit of echo “tail” that he occasionally hears from my end when we use the other phone and adapter – granted, that may be a configuration issue on the PAP2, but it’s worth noting that this unit seems to be performing better in that regard right out of the box. I would certainly have no reservations about recommending this unit to someone based on audio quality.

So you may be asking, have I found anything not to like so far?  Well, only one very minor thing, maybe.  The “wall wart” power supply that comes with the unit has the following specifications:

  • Input:  100-240V~50-60 Hz 0.18A
  • Output: 12 volts – 0.5 A
  • Has FCC and UL certifications

It’s a rather small unit, typical of a “wall wart” except for one thing – when connected to the AG-188N and plugged in, it gets a little bit warmer than I’d expect – sometimes.  Yesterday, it seemed to be running a little warm, not “burn your hand” warm or anything like that, but definitely the warmest of the dozen or so “wall warts” in my immediate vicinity.  I then unplugged it overnight, and after reconnecting it this morning (and leaving it plugged into the wall but not connected to the adapter for an hour or so, during which time it ran cool as a cucumber), today it seems to be only about as warm as some of the others, maybe even not quite as warm as a couple of them.  So what changed – my sense of touch, or did the actual amount of heat produced decrease?  Is the AG-188N drawing less current today? Did the fact that I plugged it into a different outlet on my UPS make some difference? Was I just oversensitive to temperature last night? I dunno, and it may remain one of the mysteries of life.  :) Anyway, it’s not something I’m really concerned about.

Next up, we take on outbound dial plans, and maybe more… stay tuned!

Disclosure: CIGear provided me with an Atcom AG-188N for review purposes, and allowed me to keep it after I was finished writing this series, and for that I am most grateful.

Previous Installment | Next Installment

Articles in the series: Review of Atcom AG-188N IAX+SIP ATA (VoIP adapter)

Part 1 – The unboxing
Part 2 – Initial setup using IAX
Part 3 – Setting the time and configuring outbound dialing
Part 4 – Setting up SIP, and securing the adapter
Part 5 – Networking and Internal Router
Part 6 – Final Thoughts and Summary Review
Part 7 – Addendum

Leave a Comment

Review of Atcom AG-188N IAX+SIP ATA (VoIP adapter) – Part 1 – The unboxing

One of the problems often encountered with VoIP is the use of the SIP protocol, specifically when used between a VoIP adapter such as the venerable Linksys PAP2 (or something similar) and an Asterisk server. Everything works great until you try to deploy an adapter at a remote location and the user has some kind of funky NAT firewall that just doesn’t play well with SIP. If you have any doubts that this is a real issue, Google the phrase “one-way audio.”

The crux of the problem is that SIP uses a wide number of ports, and unless you get everything set up exactly so at both ends, you may find that although the VoiP adapter will register with the server, when you actually attempt to place a call it will go through but neither party will be able to hear the other, or more commonly, only one party will be able to hear the other.

It’s an especially frustrating problem for VoIP providers, because a certain number of customers — we don’t know how many, because it’s not the sort of statistic providers like to report — cancel their VoIP service because they just can’t get it working in the first place, and the one-way audio probably certainly must account for a not-insignificant percentage of those cancellations.

There is another protocol that Asterisk supports, called IAX (actually it’s now up to IAX2, but we’ll just call it IAX to keep things simple). It works quite well in “difficult” situations because it only uses ONE port for all information. Therefore, if you can see the device register on your Asterisk system, you know that you’re also going to get audio. Assuming you don’t have problems with excessive packet loss or something of that nature, an IAX connection will almost always work, even if the end user is behind some sort of funky router (or even a chain of routers). The main reason that IAX hasn’t been more widely used is that there has been a real lack of decent ATA’s that support IAX (also, I’ve heard some comments that it doesn’t “scale” well in very large installations, but unless you plan on competing with one of the large commercial VoIP providers, I wouldn’t worry about that). For a while, Digium (the company behind Asterisk) made a unit called the IAXy, but like much of the hardware that Digium sells it was priced just a tad on the high side, and everyone was looking for a less expensive solution, so SIP-based ATA’s have become the norm.

But that doesn’t mean that the need for a decent IAX-based adapter has gone away. Just about every Asterisk system administrator has run into one or two “tough cases” where SIP just wasn’t cutting it, and if they did manage to resolve the issue they probably acquired a few grey hairs in the process. If you are the administrator of an Asterisk system, perhaps you’d just like to be able to pre-configure an ATA before sending it to someone that’s doing some off-site work for you, and know that when they receive it they can plug it into whatever crappy old router they happen to have and it’s probably going to work — right out of the box, with no frustrating hours of “… try changing this setting …” as you burn up cell phone minutes.

Recently I became aware of the fact that there’s an adapter available that can communicate using both IAX and SIP, and it even has both a WAN and a LAN port so that if the end-user doesn’t even have a router, they can plug this unit into the cable or DSL modem, and then plug their computer into the LAN port on the adapter and both will work. I made arrangements to obtain a unit for review purposes, and in the coming days I plan to tell you more about this device. It’s called the Atcom AG-188N and it’s sold in North America by CIGear. Just to give you a small preview, here are a few “unboxing” pictures.  The small box below came inside a larger carton with all the requisite packing peanuts, but I’m not a “pro” at making these photos (a couple came out way too blurry to use) so I decided to just show you the interesting part:

Good things come in small packages

Good things come in small packages

Out of the carton

Out of the carton

Contents of the box, without the bubble wrap

Contents of the box, without the bubble wrap

Closeup of the AG-188N, sorry it's a bit blurry

Closeup of the AG-188N, sorry it's a bit blurry

The back side, showing the connections, from CIGear's web site.

The back side, showing the connections, from CIGear's web site.

EDIT: Since I first posted this review I’ve since found out that the particular unit I received had been previously used on a demo and therefore had been repackaged.  Normally the power supply comes in a small white box, not wrapped in bubble wrap. Since I had specifically asked for a unit for review purposes, it doesn’t bother me at all that I received a unit that is new for all intents and purposes, but can’t be sold as new – that’s the perfect unit to send to a reviewer.

Note that the yellow ruler doesn’t come with the unit, it’s just a 7″ ruler I had lying around that I put in the pictures to give you an idea of relative sizes. Actually, if you set this unit next to a Linksys PAP2 you’d be very hard-pressed to tell any difference in the size. One thing notably missing from the contents of the box: A network cable. If you were going to buy these in quantity to send out to users, you’d probably also want to obtain some some network cables in bulk, so you could throw a cable in with each shipment, because for every guy like me who’s somehow obtained a small surplus of them, there will always be the folks that only have ONE network cable to their name.

One thing you may notice in the last image above is that there is a phone port and a PSTN (telephone company line) port. Yes, that does mean that this is a single line unit.  But, don’t get the idea that because there is a PSTN port, that this is the full equivalent of something like a Sipura SPA-3000 or Linksys SPA-3102, because it isn’t — the PSTN port is a “passthru” port, allowing you to send some calls to the PSTN and others to your VoIP provider based on the pattern dialed, and letting you receive calls from both the PSTN and your VoIP provider without the need use two separate telephones. The difference between this and one of the aforementioned Linksys/Sipura boxes is that you can configure the Linksys/Sipura’s PSTN port to be a trunk on the Asterisk server (essentially an FXO port), and that particular functionality is not included with this unit.

EDIT:  The above paragraph was edited slightly after receiving some clarification from CIGear — they also offered this additional information: With one phone hooked to the ‘phone’ jack, you can dial a star code to access the PSTN line instead of the SIP/IAX configured on the ATA. So, one analog phone enables you to use either SIP/IAX or the PSTN. However, people using the ATA with Asterisk have a problem when they want to dial Asterisk * codes like *97 for voicemail (as the * takes you to PSTN). The solution is to delete the “lifeline *T” option from “Dial-Peer” menu (this gets a bit into configuration, which will be discused much more thoroughly in upcoming posts).

Of course, you don’t HAVE to connect a PSTN line to this unit, and you don’t HAVE to connect a computer to the LAN port — I have used it successfully tonight without doing either.  Ah, but I’m getting ahead of myself a bit – more on that in the next installment, after I’ve had some time to spend working with the unit and reading the documentation (yes, I did get it working mostly without referring to the documentation, so for those who hate wading through documentation, fear not — it’s really not difficult to set up)!

Disclosure: CIGear provided me with an Atcom AG-188N for review purposes, and allowed me to keep it after I was finished writing this series, and for that I am most grateful.

Next installment

Articles in the series: Review of Atcom AG-188N IAX+SIP ATA (VoIP adapter)

Part 1 – The unboxing
Part 2 – Initial setup using IAX
Part 3 – Setting the time and configuring outbound dialing
Part 4 – Setting up SIP, and securing the adapter
Part 5 – Networking and Internal Router
Part 6 – Final Thoughts and Summary Review
Part 7 – Addendum

Comments (1)

Why some open source projects die a slow and painful death

In the past week or so, I have just by chance (or maybe via Twitter) come across two different articles that have touched on the subject of Autism and Asperger syndrome:  One in Newsweek headlined Erasing Autism and one from a blog called “The Daily Beast” with the title, A Radical New Autism Theory.  You probably should read these, or at least the second one, as a background to what I’m about to say.

Asperger’s syndrome is sometimes described as high-level or high-functioning Autism.  People who have this syndrome tend to be intelligent – sometimes even moreso than the general population – but they are often not perceived as “normal” by the average person.  One of the problems that “Aspies” (a term I’ve seen used to describe those with Asperger’s – it’s easier to write, so I will use it here and hope it doesn’t have any “politically incorrect” connotations, but in any case it’s not in any way intended as a slur) have is that their intelligence sometimes allows them to compensate for their condition, but to such a degree that they overcompensate.  For example, if someone is too empathetic with the emotions of others, they may very well build walls that make them seem cold and distant.  It’s not that they’re trying to be aloof, it’s their way of shielding themselves from sensory input that would otherwise overwhelm them.

So what does this have to do with open source?  Well, quite simply, I believe that many of the people at the top of open source projects are Aspies. Most Aspies prefer to work with concepts, ideas, or numbers rather than people.  It’s almost the typical “nerd profile”, and I don’t mean that in a negative way either.  Aspies will throw a lot of energy, and a lot of themselves into a project.  And sad to say, many Aspies don’t have that much of a social life.  So while the others who are perhaps also interested in the project are off doing other things, perhaps going out with friends or spending time with their extended family, the Aspie may sit home working on code, and hanging out on various social networking sites and chat channels.

When one of the original developers of a project starts getting tired of it – perhaps starts to feel that the project is taking all his waking hours – that’s often when the Aspie will step in and assume a leadership position. For the Aspie, the benefit is they get to commit to a doing something they enjoy, and get some recognition for it.  For the original developer, he knows he’s putting the project in the hands of someone who is competent and who has usually already demonstrated that he has the time and inclination to follow through on the project, by his past participation.  Sounds like a win-win for everyone, right?  Well, yes, yes it is… as long as you’re not counting other interested parties, such as other developers, and users of the software.

The problem, put very simply, is that the Aspie at the head of the project finds himself in an expanded role that requires greater interaction with others – users, developers, module authors (if the project utilizes modules), documentation authors, and in some cases he may even be called on to make live appearances at various events related to the software.  And it’s not necessarily that he’ll shirk from doing these things – in fact he may relish some of them – it’s just that in some cases he may not be very good at it, and not even realize it.

The bane of Aspies is summed up by this descriptive phrase: “No social skills.”  It’s not that they don’t try, and it’s not that they can’t be coached to improve their people skills.  In the majority of cases, it’s not that an Aspie wants to offend anyone, it’s that they are totally unaware that they have done so.

Now, in any open source project, what you want is a lively community of several developers contributing to your core code, and many others contributing additional code, modules and add-ons.  And you want to make it as easy as possible for those people to interact with each other, in a friendly atmosphere.  You want them to feel that their contributions are valued and wanted.  And you want everyone to know what direction the project is going in – that is, what the project will look like in a year, or 3-5 years down the road.  In short, you want a sense of openness, communication, and a welcoming atmosphere.

Unfortunately, with an Aspie in charge, you often get just the opposite.  What typically happens is that the Aspie has a direction for the project in his own mind, but he never asks if anyone else agrees with his vision, and indeed, he may have never tried to communicate that vision to anyone else – it’s just not important to him that anyone else knows where he’s taking the project, as long as he knows.  The same problem exists with documentation:  You want to know what various bits of code do?  Don’t expect him to comment his code; he doesn’t see the need – it just never occurs to him that others might want to understand the code, or have any need to understand it. And the others who want to be involved in the project?  They are just a distraction to him.  They don’t understand the direction he’s taking (again, because he’s never communicated it effectively) so he feels most of their code will be useless after the next revision of the core software (of course, he never asks if anyone wants changes in the core software, or what changes they really need).

I want to emphasize that in cases like this, the Aspie is usually not trying to be evil. It’s just not in him to “get” the social aspects of the project.  So he leaves a lot of hurt feelings behind. People who would gladly and willingly contribute time, effort, and code to a project feel that their contributions aren’t appreciated.  I suspect that more than one project has been “forked” because someone really wanted to participate in the development project and was simply shut out by the person in charge.

This is why open source projects often die a slow and painful death.  And please understand that while I have characterized the person in charge in cases like this as probably having Asperger’s, the fact is that there are socially unskilled persons who do not have Asperger’s syndrome. My characterization here is not meant as a diagnoses of any particular individual; in this case I’m using “Aspie” to refer to a person in charge of an open source project who demonstrates the lack of social skills typical of someone with Asperger’s syndrome.

You may ask, “if Aspies are intelligent enough to compensate for their condition, can’t they learn to be more attentive to the needs of others?” And the answer is that of course they can (and many have, quite successfully), but there are several reasons they don’t.  The biggest is probably inertia – change is uncomfortable, and we humans often don’t like to change our way of thinking until we are backed into the proverbial wall.  But a bigger reason is what I call the “inner circle.”

As the saying goes, no man (no matter how socially unskilled) is an island.  The Aspie needs to feel a connection to other humans, perhaps as much as anyone else.  The difference is, average (I hate to use the word “normal”, because who defines “normal”?) human beings will have friends that agree with them most of the time and friends that don’t.  Many of us have friends that will tell us they think we are full of shit, but we still hang out with them and don’t take it personally.  The Aspie, on the other hand, finds dissent and disagreement very uncomfortable, so his circle of friends will tend to include people who agree with everything he says, or at least pretend to. Oh, there may be some disagreement over minor issues, but once the guy in charge makes a decision the discussion is over, and no one in his inner circle will seriously challenge his thinking.  Kingdoms have been lost because their leaders refuse to hear dissenting opinions, so it’s no wonder that some open source project leaders might go down the same path.

Pretty soon an “us against them” mentality develops – the Aspie in charge and his close followers (there may be as few as one or two) against all the others who just don’t understand where the project is going. So now, when someone questions a decision that the person in charge has made, his “followers” will jump to his defense.  It’s then a personal thing – decisions don’t get made based on what’s best for the project or what the users want, but rather on who proposed the idea under consideration. At this point, if we were talking about a country, we’d be describing a dictatorship, where one person makes all the major decisions, and the job of the inner circle is to agree and deflect criticism by whatever means are necessary.

Another issue that sometimes comes up is the lure of financial enrichment.  If you’ve followed along thus far, you may have realized that it’s not always easy for an Aspie to get employment.  If they can find someone who will hire them based on their knowledge and ability rather than their people skills, they may have it made.  But if they are struggling in that area, they may sign onto an open source project with an idea in the back of their mind that they can somehow make a living off of the project.  They may think about releasing a commercial version with added features, and then totally ignore contributions that might make those same features available for free in the original project.  They may hold training seminars, which may or may not be successful depending on how much participation they permit by others (particularly those outside that “inner circle”). They may charge a fee for custom code and additional support, which again might make them reluctant to approve contributed code that expand the capabilities of the original project.

When this situation occurs, users and developers (those outside the “inner circle”) alike start to get frustrated.  This is particularly true when obvious bugs are not fixed in a timely fashion (particularly when someone has actually submitted the patch code), or when requests for new capabilities seem to disappear into a black hole.  Or when flimsy excuses are made, such as “we can’t consider this module because it may not work in our next upcoming major release” (the one that will appear about the same time as Duke Nukem Forever).

The point of this post is not to point fingers at any particular developer and say, “Bad developer! You should step down and let someone else take over the project!” But if some developers were to recognize themselves in this description, it might be the first step toward breaking the cycle.  Open source projects should be open – there should not be one person making all the decisions and holding the keys to all the “inside knowledge” about how the software operates. How do you know if your project might be in trouble? Well, one tipoff is that people are developing modules and add-ons that fix known bugs, or expand the capabilities of the project in small but significant ways and not contributing back to the original project. If this only happens once in a while, it could just be a selfish coder that doesn’t want to share.  But if it happens with increasing frequency, it may mean that those who want to contribute feel that they may as well not bother, because their contributions will just be criticized and ignored.

I welcome comments on this post.  If you think I’ve hit the nail squarely on the head, tell me.  If you think I’m way off base, tell me that too. But one thing you should realize is that I do NOT mean to disparage everyone with Asperger’s syndrome – one reason being that, although I’ve never been formally diagnosed with the condition, I have a very strong suspicion that I might have it to some degree. I think that any honest person with Asperger’s will tell you that social interaction can be quite a challenge at times and unless someone points it out, a person with Asperger’s simply may not realize how they are coming across to others.  But once it’s pointed out, it’s what they do with that information that counts.

Leave a Comment

Why haven’t any commercial VoIP providers implemented Caller ID popup notifications?

Here’s an idea for any commercial VoIP provider that cares to implement it. When a call comes in, send a Caller ID popup to the subscriber, so if they are online, they can see who is calling on their computer screen.

But, how to send the popup?  Here are three possible suggestions:

1) Use your own Jabber server, and allow people to connect using any Jabber client.  Most multi-protocol instant messaging software allows connection to a Jabber server (Gtalk uses Jabber, so if the client can connect to Gtalk it can likely connect to any other Jabber server).

2) Get an account on a well-known IM service (such as AIM or Gtalk) and use that service to send IM’s to people existing accounts:  Advantage – you don’t have to run your own server.  Disadvantage – you’re not running your own server, so it isn’t under your control.

3) Send a networked Growl message.  Growl is a popup notification service originally developed for Mac OS X, but there is also a version of Growl for Windows. It’s already possible to do this under FreePBX, using the instructions under the “Alternate Method” on this page. I know that the method shown there may not exactly scale up for commercial use, but it certainly provides a starting point.  The one thing I do suggest, in any commercial application, is that the user be allowed (on the user portal) to specify a destination address, password, AND alternate Growl TCP and UDP ports – the reason being that if you have several users on the same local network, you may have to remap alternate Growl ports to the original Growl port on the destination machine. By default, Growl uses TCP port 23052 and UDP port 9887 for communication, but at the router the user could remap different TCP and UDP ports to go to different machines on a particular network.  Advantage – more secure than IM and you don’t need to run a Jabber server or depend on someone else’s service.  Disadvantage is it requires installation of Growl (most Mac users do this anyway, I think) and setting up the router to send incoming Growl notifications to the correct machine.

4) Develop another method to send the notifications and provide your own client.  But if you do that, please make sure that it will interface with Growl on the Mac, and not try to do its own popups (interfacing with Growl is very easy – if I can figure it out, I’m sure any competent programmer can).

I will also mention, my preferred format for a popup looks like this:

  • Caller Name (from Caller ID.  Strip any quote marks, please).
  • Caller Number (Please make it pretty, e.g. 1-800-555-1212 or 800-555-1212, not 18005551212 or 8005551212)
  • [for] Number called (e.g. for 234-567-8900 so you know which DID/line the call came in on)
  • 3:34 PM on Tuesday, May 19, 2009 (so you can look at it at a glance, even a few days later if you were out of town for the weekend, and know exactly when the call came in – assuming you set the notifications not to go away after a few seconds, which is possible with Growl. Please, no leading zeroes or abbreviations, make it look nice!).

Others may have different preferences, but that’s mine. The time, day and date is important to me, because it makes a difference if I know when when someone called. Depending on the person calling, do you give the same weight to a call placed at 2:00 AM as opposed to one at 10:00 AM, or 7:00 PM?

Oh, and even if your provider doesn’t do this, but uses a Linksys or Sipura adapter to provide your service, you may still be able to have the popups – see our post, BETA Perl script for Caller ID popups when using Linksys/Sipura devices.

Comments (2)

Michigan-based company does Asterisk installs

I got an e-mail today that read as follows:

Hello,

Is there any chance we could get listed on your blog?  We are a Michigan based VoIP startup specializing in Asterisk installs.  Any coverage you could provide would be greatly appreciated.

For more information please visit our website at: www.bitwaretech.com  and our blog at blog.bitwaretech.com

Great blog site by the way!

Thank You,


DJ Monroe
BitWare Technologies, LLC
(586) 350-7221
mailto:dj@bitwaretech.com
www.bitwaretech.com | www.von-supply.com

While this is not a commercial blog, I’m not above throwing a little business toward a Michigan company, provided that when I Google the company the first thing is see is not a bunch of complaints from disgruntled or “fired” customers.  I didn’t see anything negative about this company, and did see that they just celebrated their the start of their fifth year in business at the end of last month, which is significant for a company in this line of business.

If anyone else has a Michigan-based small business that does Asterisk and/or FreePBX installations that you’d like to plug, leave a comment on this post – I want to be fair to everybody.  But, be aware that if I’m the slightest bit suspicious I will probably Google your company, and if I see a bunch of negative comments from your customers (or other comments that lead me to think you’re not nice folks to deal with), I will likely edit your comment to include links to those comments! And remember, it’s my blog, so my decision about which comments stay and which comments might get edited (or deleted, if someone becomes abusive) is final – just saying that in case someone is under the mistaken impression that the First Amendment applies to a private blog. All I’m saying is, I really don’t want to help promote companies that don’t treat their customers right, but I do want to help those who still believe in good old-fashioned customer service!

Comments (1)

60 Minutes Australia: Mobile Phones Cause Cancer

If you use a cell phone frequently (or have kids that live on one), you really should watch these!

Leave a Comment

Frontier: Existing FiOS will be continued, but “no plans” to expand into new areas

Sometimes, when you want to know the answer to a question, you need only ask.  I sent the following e-mail this morning to a Frontier Communications e-mail address, after receiving the initial press release but before some of the later reports had been released:

I’d like to ask two questions about your Verizon acquisition plans. First, will you be acquiring ALL of the wireline telephone exchanges in the affected states, or just some of them (I’m specifically interested in Michigan, but just wondered if you’re taking over all the wireline operations in the states mentioned in your press release, or just some of them).

And second, will you be expanding the FiOS footprint to include states in the upper midwest in which Verizon’s FiOS deployment has been slow to non-existent? Again, I’m specifically wondering about Michigan, but Verizon has been giving the cold shoulder to several of the states in the upper midwest with regard to FiOS.

Thanks in advance for any information you can provide.

This afternoon I received the following response from Ken Mason, the Vice President of Government and Regulatory Affairs for Frontier Communications:

Other than CA, we will be acquiring all of the Verizon ILEC operations in the affected states (including MI). On FiOS, we plan on continuing the operations in markets that are currently in place, including meeting the existing build out requirements but, at this point, there are not plans to expand into new areas.

If you would like to discuss, feel free to call me at [number redacted].

So there you have it, the official word from someone who should definitely be “in the know” on the subject.  I must say that I’m impressed that they responded to my e-mail so quickly, I just wish the news with regard to FiOS was a bit better!

Comments (1)

Breaking News: (BusinessWire:) Frontier Communications to Acquire Verizon Assets Creating Nation’s Largest Pure Rural Communications Services Provider

Just saw this press release:

STAMFORD, Conn.–(BUSINESS WIRE)–Frontier Communications Corporation (NYSE: FTR) today announced that it has signed a definitive agreement with Verizon Communications Inc. (NYSE: VZ) under which Frontier will acquire approximately 4.8 million access lines from Verizon. The all stock transaction is valued at approximately $8.6 billion. The transaction will create the largest pure rural communications services provider and the nation’s fifth largest incumbent local exchange carrier (ILEC) with more than 7 million access lines, 8.6 million voice and broadband connections and 16,000 employees in 27 states. Frontier will offer broadband, new bundled services and expanded technologies to customers across its expanded geographic footprint.

Under the terms of the agreement, Verizon will establish a separate newly formed entity (“SpinCo”) for its local exchanges and related business assets in 14 states. SpinCo will be spun off to Verizon’s shareholders and simultaneously merged with and into Frontier. The transaction has been approved by the Boards of Directors of Frontier and Verizon, and is expected to be completed within approximately 12 months.

[.....]

Verizon will establish a separate entity (SpinCo), which will hold the local exchange and related business assets in the 14 states that are the subject of the transaction. SpinCo will carry approximately $3.333 billion of debt consisting of a combination of newly issued debt as well as assumed debt already issued by entities that are being contributed to SpinCo. Verizon will receive approximately $3.333 billion of cash or debt relief. Verizon will then spin off SpinCo pro rata to its shareholders and SpinCo will immediately merge with and into Frontier. Verizon’s shareholders will receive shares of Frontier common stock in connection with the merger in an amount to be determined at closing, which is expected to have a value of approximately $5.25 billion.

The exact number of shares to be issued by Frontier will be determined based on Frontier’s 30-day weighted average closing share price ending 3 trading days prior to closing, subject to a collar such that in no case will the Frontier common stock price, for the purpose of determining the number of shares of Frontier common stock to be issued to Verizon shareholders at closing, be lower than $7.00 or higher than $8.50. Depending on the trading prices of Frontier shares just prior to the closing, upon the closing of the transaction, Verizon shareholders will own between approximately 66 and 71 percent of the new company, and Frontier shareholders will own between approximately 29 and 34 percent. Verizon will not own any shares in Frontier after the merger. Both the spin-off and merger are expected to qualify as tax-free transactions, except to the extent that cash is paid to Verizon shareholders in lieu of fractional shares.

Frontier will acquire Verizon access lines in Arizona, California, Idaho, Illinois, Indiana, Michigan, Nevada, North Carolina, Ohio, Oregon, South Carolina, Washington, Wisconsin and West Virginia. Frontier currently provides phone, video, Internet and broadband services to more than 2 million customers in 24 states, including 11 of the states that are part of the agreement announced today. The Verizon properties include approximately 4.8 million access lines, with 1.0 million High-Speed Internet customers, 2.2 million long-distance customers, 164,000 DirecTV customers and 69,000 FiOS video customers.

I’m sure more details will emerge throughout the day.  I don’t know if this includes all of the exchanges in all of the mentioned states, or just the “rural” exchanges, but “4.8 million access lines” is probably a pretty significant chunk of Verizon’s landline business.

Wonder if this means we might finally get FiOS here in Michigan? (Yes, I’m probably a bit delusional on that point).

Comments (3)

Why landlines are going away

In the last week or two I’ve seen several articles and other references to the impending death of landlines (the old-fashioned copper to the home service that many of us have known and used for so many years).  Some people are worried about the prospect, others have cheerfully ditched their landlines and aren’t looking back.

Some are speculating as to why this is happening.  Really, it’s not a hard question. There’s sort of a confluence of factors at this point in time. We will shortly reach the “tipping point” where the remaining landline holdouts will dump their landlines en masse, leaving only a relatively small percentage of diehard landline users.  The thing is, while the phone companies could have forestalled this for quite some time, they actually did nearly nothing meaningful to retain landline customers.  Some have suggested that they didn’t really want to keep their landline customers, that the cost of providing landline service has become prohibitive.  I don’t believe that – it sounds like exactly the sort of lie they might tell regulators when asking for yet another rate increase, but in the cold light of day it makes no sense, except perhaps for a very few, very rural telephone companies that never figured out how to game the system like some of their larger bretheren. I think it’s more just neglect and inertia – an institutionalized inability to make any meaningful change.

Just in case it isn’t perfectly obvious to anyone, here are the top five reasons people are dropping their landlines:

  1. They aren’t portable.  Every time any company tried to come out with a method to let people take their phones with them over even a moderately short distance (more than  a city block or so), the phone companies yanked the chain of the FCC and made sure that things like long range cordless phones never saw the light of day.  The big phone companies probably thought they’d be the only provider of wireless phone service, and that there would be little or no competition from here to eternity.  They were wrong, and as competition brought prices down, it made cell phones far more affordable.  At that point, many people started to wonder – if I’m using my cell phone most of the time anyway, why should I also be paying for a landline?  Sure, there are reasons one might want to do so, but for many folks none of them are very compelling.
  2.  

  3. There are extra charges for long distance, and in some places, for local calls.  If the phone companies would have had the least bit of foresight, they’d have realized that people were rebelling against long distance charges.  They were using alternative long distance carriers, and making calls on their cell phones during the “free” hours.  When the Internet came along, they started using VoIP to avoid toll charges.  The phone companies could have responded to this by offering wider local calling areas and “free long distance” hours (say midnight to 8 AM and on weekends at first, gradually expanding the free hours to meet the competition) but they didn’t.  In fact, not only did they not do that, but in some cases they actually started raising toll rates again, after people had gotten used to seeing them decrease over time. They never figured out that many people hate meters, and would actually pay a bit more just to not have a meter.
  4.  

  5. There are extra charges for “custom calling” features and other services – and the charges weren’t at all relative to the costs of providing the service.  A couple bucks a month for touch tone? A charge for not publishing your address and phone number in a directory? $6-$8 per month for Caller ID? These and other charges were simply outrageous – it cost the phone company little or nothing to provide these types of services, but they saw them as cash cows, and thought their customers were too stupid to realize they were being gouged.  What could have been a public relations bonanza – constantly adding new features and service at little or no extra charge (something that almost certainly would have happened in a truly competitive environment) was replaced by a philosophy of pure greed, where the idea was to gouge the customer for every nickel and dime they could get.  It was stupid to ever treat customers that way, but it was especially idiotic to keep doing it when the cell phone companies (and later the VoIP companies) offered all these features and more at no additional monthly charge.
  6.  

  7. They are redundant.  When, because of the items listed above, people started making more use of cellular (and, in some cases, VoIP) service, it suddenly occurred to them that there is really no need to pay for essentially the same service from two different providers – especially when one of the providers had been overcharging them, giving them marginal to poor customer service, and basically taking their customers for granted for years.  For many years, and even today in some cases, the landline companies still approcah customers as if “you need us more than we need you.” I’m old enough to remember when phone company representatives actually threatened people with prison (or at least the cutoff of their phone service) for buying and hooking up their own extension telephone, thereby depriving Ma Bell of a monthly rental fee that actually paid for the phone in about 6-8 months.  As Lily Tomlin’s character “Ernestine” used to say, “We don’t care. We don’t have to. We’re the phone company!” So when people started to realize that it was silly to pay for essentially the same service from two or more providers – something that’s only going to accelerate given the present economic conditions – guess which one is going to get the boot.
  8.  

  9. They just aren’t cool anymore.  Landline telephones are fast becoming like a spitoon in the living room – something you just don’t see anymore, particularly in residential settings (for those of you that are young enough to have no idea what a spitoon is, just remember that in your grandparents’ or great-grandparents’ generation, it was a lot more socially acceptable to chew tobacco than it is today, which is probably why so many older people have false teeth.  Anyway, they needed someplace to dispose of the excess saliva that tended to build up while chewing – hence, the spitoon.  And you thought ash trays were disgusting!). Watch TV or any recent movie – unless they are showing an era of times gone by, about the only place you will see landline phones are in an office-type setting.  If you’re in your mid-20’s to mid-30’s, think about when you were a teenager – would you ever have seen a teenager on TV haul out an old style record player and spin a few tunes?  Maybe on “Happy Days”, but not in any show set in the then-current era.   Well, look at today’s shows – how often do you see a modern teenager (or adult, for that matter) use a landline telephone, especially at home?  The media has always helped set the trends for the current generation, and landline phones just aren’t where it’s at anymore (neither is the expression “where it’s at”, but at my age I can get away with using it!). :)

Any one of these things by itself would not be insurmountable – but right now, in the current economic climate, it’s just a “perfect storm” of reasons for people to dump their landlines.  And it’s not necessarily that every one of the defectors really hate the idea of the telephone itself – after all,  a not-insignificant number will replace their landline with some type of VoIP service – it’s just that when you put all the above together there no good reason to keep a landline phone.  Even the oft-repeated mantra of the landline diehards, that in an emergency the landline phone will be the only phone that still works, was disproven during Hurricane Katrina, where it turned out that the only thing that still worked in downtown New Orleans was VoIP.

Thing is, the phone companies were stupid.  They took their customers for granted, abused them and overcharged them, and now the chickens are coming home to roost.  And what other big industry is guilty of this? Yeah, I know, the banking industry, but forget them for a moment – who else is guilty of treating their customers like dog poo? That would be certain cable companies, of course.  They just keep raising rates and acting like they are the only game in town for TV and Internet access.  Well, they haven’t been the only game in town for TV for many years (and yet their rates keep climbing) and even if they are the only Internet provider in a given area today, I can guarantee that competition will be coming in that area as well – maybe not for a decade or two in some of the more remote areas, but it will come.  The big cable companies would be well advised not to make the mistakes the big phone companies have made, but I suspect that (as is the case in so many American corporations) the current executives only care that things don’t go completely in the crapper while they are in charge, but what happens after they retire is of little concern to them. Is it possible that, in 15 to 30 years or so, someone will be writing an article like this one, analyzing the reasons that people are giving up their cable service en masse?

Comments (1)

The most important article you may read this year

If you care anything at all about the future of the Internet (and all the services provided via the Internet), drop everything and go read this article:

If ISPs Meter, Who Verifies Meter Accuracy?

I get a sense of Déjà vu here – I was making these same arguments over a decade ago when telling people why you could not trust the phone company to accurately bill for local measured service.  There was actually one verified case where every call made from a particular telephone exchange was being counted twice, effectively resulting in double billing for measured service customers – it took a city hall auditor to finally figure out what was happening. At least in that situation, someone could put a notepad next to a phone and make a check mark every time a local call was placed, to try and get some idea of whether the billing was accurate.

Let me make it perfectly clear – given the current trend for large corporations to shaft the consumer any way they possibly can, particularly when they think there is very little chance that the consumer will discover that they are being conned, there is no doubt in my mind that some broadband companies will deliberately overbill customers if given the opportunity. I don’t know which company will be the first, and I don’t know exactly how they’ll attempt it, but the very first time a customer gets a bill for excess usage you should at least be suspicious.  Look at how the cell phone companies deliberately mislead their customers about things like international data charges and you may begin to understand why, if metered billing ever takes hold, customers will have a very real problem.

Seriously, metered billing is a VERY bad idea from the customer’s standpoint, especially if there are additional charges for “excessive” use (as opposed to bandwidth throttling when the customer passes a certain usage plateau, which while still objectionable, at least limits the damage by making sure the customer never pays more than the monthly rate he or she agreed to pay).

Leave a Comment

The Unintended Consequence of Broadband Usage Caps

I think broadband providers had better be very careful. I’m old enough to remember a time when it seemed like almost everybody hated the phone company, with the type of hatred that today might be reserved for certain four-letter organizations that end in “AA.” Those of you old enough to remember Rowan and Martin’s “Laugh In” may remember Lily Tomlin’s famous line (while playing the part of Ernestine the Operator): “We don’t care. We don’t have to. We’re the telephone company!”

Well, substitute “cable company” for “telephone company”, and you’d have a phrase that one could easily imagine falling from the lips of a big cable representative. They don’t care that people don’t want usage caps, that this is not the Internet you signed up for. They figure they’ll just re-educate you so that, like a bunch of stupid sheep, you’ll accept the caps.

The trouble with this, however, is it only works until a significant number of people find an alternative. International telephone rates were totally outrageous until VoIP (and especially Skype) came along.

Now here is the problem I see for the cable companies (and the phone companies that offer cable TV type service) that want to impose usage caps. The thing they are trying to block – the whole reason they are trying to limit usage in the first place – is video over the Internet, especially the high quality variety. They want you to buy their expensive cable service and more expensive video on demand. They will, of course, lie through their teeth and give you any other plausible-sounding reason they can think of, but the thing they are scared to death of is the day you can download any TV show, any movie, or any other kind of video you might want to see via the Internet, and they’re not getting a cut. The day you say, “I don’t need cable TV, I don’t need traditional telephone service, I just want unlimited broadband, thank you very much.”

Just for a moment, think about how your life might change if you could go to a web site at any time on or after the day a new episode of a TV show was released, and click on a button and almost immediately have it start streaming to your computer monitor or nearby HDTV set. You’d never worry about missing an episode again. No presidential speech, no sports event, no local weather or news bulletin would interrupt your program. You wouldn’t be in the only television market in the country to not see some network show because the local affiliate decided you’d rather see a local special on the city hospital, or the West Bumfart High School football game. We are, for all practical purposes, almost at that point (some would say already there), at least for some shows.

Thing is, the cable companies probably don’t mind if you go to Hulu and catch a missed show every now and then. But what they really don’t want is you deciding you don’t need cable television, and can just watch everything you want to watch online.

But what they are forgetting is that even where they are the only game in town, computer storage is getting much smaller and cheaper. And look what’s coming down the road: Store 250 DVDs on One Coin-Sized Surface (via Discover Magazine)

I don’t know if anyone remembers, but it wasn’t so long ago when modems ran at paltry speeds like 300 or 1200 bps.  There was no commercial Internet – if you were lucky you might connect to a local Bulletin Board Service, but to exchange data with anyone else online could be a very expensive long distance call. So how did large programs get transferred from one user to another? Via floppy disk, sent via U.S. mail.  For the price of a couple postage stamps, you could send several hundred kilobytes anywhere it needed to be.  Even if you figured in the cost of the floppy disk and the cardboard mailer, you still came out ahead over a long distance phone call in most cases.

So what happens when your local ISP starts charging a buck or two per gigabyte over their paltry cap, and you get fed up and decide that if you want to trade a significant chunk of data with anybody you’ll just put it in the mail? By the time it gets to that point, people will be really pissed off at the cable company.  What I envision happening is they will use their cell phones (with unlimited texting and enough data to send and receive e-mail and maybe do some web browsing each day) but start swapping large chunks of data via mail, and some of those folks will then tell the cable company to take a flying leap.  You can bet that sending data by mail happens already in areas where no broadband is available – people order a hard drive with several hundred gigabytes, or maybe even a terabyte in capacity, have it sent to a close relative that has a collection of videos, programs, games or whatever, and that relative fills up the hard drive and ships it out.  Today that’s a pain in the posterior – but when you can put that same amount of storage or more on a coin-sized surface (and maybe several terabytes on a disk that would just fit into a standard sized envelope) all bets are off. Would you rather pay a couple bucks to receive two or three months’ worth of viewing material in the mail, or pay the cable company a few hundred dollars (or more) for the same amount of viewing?

I always like to point to the fact that Western Union gouged people on sending telegrams (charging an outrageous per-word rate, even after they had developed teletype machines to replace the old Morse code keys) and the minute long distance telephone service became halfway affordable, people pretty much discarded the telegram like an old smelly shoe.  Then the phone companies continued to charge outrageous long distance rates even after technology brought their costs down, and now we see their landline business going the way of the dodo bird – I doubt there will be many landlines left by 2020.  The cable companies should learn from these mistakes and not antagonize their customers.  I know they probably think that they cannot be replaced in many areas – that customers have no other choice but to use their service – but that’s simply not true.  I’m sure we will see advances in digital wireless technology, and we can’t rule out the possibility of electric utilities getting into the broadband business (forget broadband over power lines, start stringing fiber on those poles!).

And then there’s the possibility of some totally new technology being developed.  Personally, I’d put my money on something having to do with quantum entanglement. If you can affect the state of a particle at any distance by altering the state of its twin, and you can do this in a totally secure fashion and with minimal power usage, then all you have to figure out is how to do the state changes quickly enough to send data, and how to decode the received data at the other end. If we ever put a colony on Mars or someplace even more distant, we are not going to want to wait minutes or hours for old-fashioned electromagnetic waves (limited by the speed of light). My understanding is that at the quantum level there is no speed-of-light limitation, and I’ll just bet that you don’t have to use several thousand watts of power to get the signal out. Maybe I’m wrong, and it will be some other technology we haven’t heard of yet, but if you have ever wondered why SETI hasn’t yet picked up an extraterrestrial equivalent of “I Love Lucy” on their gigantic dishes, I suspect it’s because any aliens that might be out there would no more think of using electromagnetic waves for communication than we would consider using smoke signals.

Point is, when the new technologies and alternative connection methods come along, the cable companies may just wish they’d treated their customers a whole lot better. Guys, you know bandwidth is cheap and getting cheaper – get it right out of your heads that you can overcharge customers for a decade or two and they will forgive you.  No, really, they won’t, and their children won’t give you the time of day. The unintended consequence of bandwidth caps is that you become the next company that everyone loves to hate, and that’s definitely not a recipe for long-term survival.

Leave a Comment