Author Archives: lkeyes70

Economics: Home-Grown vs. Full-Service VoIP Providers

While wallowing around getting the Asterisk/Trixbox up and running, I’ve been wondering about the economics of this especially when placed against other possible solutions. For example, Packet8 offers a business phone plan as a service; they provide you with phones, but everything else is provisioned over the internet. No server required.

Packet8 is a full service IP phone provider with both business and home phone plans. They offer a business service with a required minimum of three phones at $40.00/per extension. This includes unlimited calling throughout the U.S. and Canada. Calls to Germany are 2 cents per minute. So, the minimum would be $120.00 per month. They’ll sell you phones for about $99.00 each which is a good deal. If you would rather not buy the gear, and you can commit to a minimum two-year contract, they’ll give an option for $49.00 per month.

That covers the outbound calls and provides you with one inbound number. Additional inbound numbers, which can be virtual numbers, are $5.00 /month. They have a calculator on their site which gives you an idea of what the upfront and monthly costs will be.

If you wanted to start up with an Asterisk box, you would still have to buy IP phones. You can’t get a phone for much less than about $80.00, so that part of the equation is comparable.

Now, as I said with VoicePulse, there is a charge of roughly 2 cents per minute, and it all depends, on the amount of calling you are going to make. Comparing with the Packet8 rate, of $40.00 per extension per month, you would have to talk for thirty-three hours for a single extension to use up the $40.00 bucks. Further, with Packet8 the 5th or 8th phone costs as much as the first phone; there are no cost breaks as you scale up. They have a calculator on their web site that shows the upfront and monthly recurring costs.

Inbound virtual numbers with VoicePulse are $11.00 per month. Of course with Packet8, you don’t have a server; everything is done virtually over the internet connection.

After reading several reviews, (decidedly mixed), on Packet8, I’m thinking that the idea of the Asterisk box is still a good one. For one thing, using an Asterisk server allows you to maintain a hybrid system; a mixture of VoIP and connections to a landline. It also allows you to mix and match your own IP phones and soft phones. And, for me at least, the monthly charges are negligible. I can add as many extensions as I want, for just the cost of the phone hardware.

More Links:

Here’s an older review of the VoicePulse regular (non-Asterisk) service.

Test your network for VoIP. This service will place test calls between your location nd several cities including Sydney, Vienna, Boston, and Montreal.

A similar test for videoconferencing.

Finally, I ran into this great article about how to rewire the phone wiring in your home or business to use VoIP. Many systems, like the home service of VoicePulse, Packet8 or Vonange assume that you want to connect a single telephone to their servcie. This article explains how to work around that problem, and includes a great deal of general information about phone wiring. Get your dykes and screwdrivers ready!

Stuff That Works

So, a bunch of the boys ‘n girls gathered round the screen to do some rootin’ tootin’ grant writin’, and since we are all software developers and we are pledged to eat our own dog food, we want cool collaborative tools. So, we’ve got Backpack,(sorry, I mean Base Camp) we’ve got VoIP, we’ve got Sightspeed video, we’ve got…. whatever.

So what did we end up with, finally at the end of the day?

  • Microsoft Word 2003 with the tracking function.
  • eMail
  • AOL Instant Messanger.

It worked. A little rough around the edges, the, um, workflow, but in the end the group has applied for $150,000 in round figures via two grants, and begun to develop a “swipe file” of paragraphs that can be inserted into subsequent grant requests.

Some observations:

  • The Base Camp Writeboard is OK, as far as it goes, and indeed it is designed for collaborative writing, but is so rudimentary that it is better to just stay in Word. Writeboard is useful if you want to work on language and narrative, but not helpful for formatting, and we needed to include a budget spreadsheet. So a couple of times we ended up exporting the Writeboard copy to text (another mistake….we should have exported to html, of course), and then spent hours reformatting in Word. Once in Word, however, it was possible to upload versions to the Backback board, and leave comments. Note that if you want to do html tables in a Writeboard, you can…but you have to do it in code. They also have non-standard ways of putting in bullet and numberd lists, and headers.
  • Change Tracking in Word works pretty well. You can leave comments. Each person who edits gets their edits shown in a different colour.
  • In the end, after passing the document around like a hot potato, one person kept the master copy, and we used instant messenger to comment back and forth, and sent versions and snippets via eMail.

We might also have tried Google docs and spreadsheets. Another time maybe.

Odds and Sods

Nice preview of Office 12. (aka Office 2007). This was from the early Beta 1, but if you want an overview of the feature set, this is a good place to start.

Over at Daily Cup of Tech they’ve talked about the PC Repair System which fits on a single USB bootable USB drive.

Just received a new book: Microsoft Access Data Analysis by Michael Alexander. This is a wonderful book that starts where almost every other Access book ends, and makes you think that yes, Access really can be used for serious querying, reporting and analysis. Part One is a basic description of Access and a discussion of why you would use Access instead of Excel for data analysis. Part Two includes basic analysis techniques with a thorough discussion of how to deal with dates. Part Three, Avdvanced Analysis Techniques has a discussion of SQL and SQL subqueries, descriptive statistics, and pivot tables. In all situations he also discusses why you would want to use these tools. Chapter 10 includes a discussion of Visual Basic for Applications, and indeed why you woudl like to use this. Chapter 11 comes back full circle and describes how to automate Excel from within Access.

All in all a great book. I’ll be working through much of this one.

Do you really need to run processes that automatically look for updates to the QuickTime player, Adobe Acrobat and Quickbooks? Me neither, and the solution was in the latest PC Magazine. PC Magazine is almost the only dead-tree magazine that I pay for these days. Bill Machrone’s column mentions What’s Running, a free program which shows all of your running processes, programs, services, and IP connections. Fascinating, and a useful tool for ferreting out superfluous garbage.

I upgraded to QuickBooks 2007 Pro from QuickBooks 2004 Basic. This was precipitated by being forced to upgrade to maintain compatibility with the payroll function; Intuit, the creator of QB will no longer support QB 2004. This, even though I pay $199 or so for payroll “support” (they supply three numbers in the propriatary format so that I can accuratly calculate state payroll rates). It might be one thing if I had a payroll. But I usually use subcontractors, so my payroll consists of one person.

On the upside, the upgrade to Pro gives you job costing; which for fund accounting, or restricted accounting is an extra way for you to segregate income by project. This is not a bad thing and indeed is recommended, if not mandated by the Feds (US Federal Governement) when they fund grants directly to you.

My last upgrade to 2004 was a wrench which still gives me shivers; but this one went pretty smoothly, and the changes are not so radical as to cause a lot of problems. I still have that “over a barrel” feeling with Intuit though.

Trixbox/Asterisk Progress Report

Two steps forward, one step back. There has been some incremental additions and improvements to our home internet phone system project based on Trixbox.

I’m reminded of a foreman I once had who boasted that he had a vacuum cleaner in every room of his house so that he could take care of any spillage or dust immediately. This is the guy who lined his entire garage with ceramic tile; it looked like an operating room. S.O. is starting to compare us with him, only in our case we have multiple phones.

Anyway, click on the sketch to view the larger version. You’ll see now that we have three SIP phones. All three are the Grandstream Budgetone phones. I’ve got two in my home office, along with the Trixbox server, and we’ve placed one of the phones in our upstairs study. I mentioned before that the power supplies appear to interfere with the television set, so the upstairs phone only gets plugged in when we’re going to actually make calls. Too bad…I still have to yell up the stairs.

We have two Verizon landlines. I have my old two-line phone on my desk. One line is our “home” line and one line is the “business” line. The business line now goes into the Trixbox, so that I can take calls there and transfer them to any of the three SIP phones. Right now, I have any inbound call ring at my desk, but eventually I’ll see about an automatic call director. (“Welcome to Microdesign. Press 1 for technical support, 2 for database and software development, or 3 for videoconferencing”)

Outbound calls from the SIP phones can go out over the internet either via VoicePulse (the default outbound route), or, if you prefix the call with a ‘9’, they’ll go out via the business line. VoicePulse calls cost 2 cents per minute or less. The business line has eight cent per minute long distance via MCI. As a test we’ve been using the VoicePulse lines exclusively, and I note that even without a single call, I’m paying $10.00 per month for the MCI connection in monthly charges, FCC fees, and taxes. So, the MCI long distance service is certainly a candidate for dropping if my confidence in VoicePulse continues as high as it has the past couple of weeks.

The PSTN “home” line remains untouched, it is connected to a phone in our kitchen and an extension in the bedroom.

Why is this taking so long? It is a question of confidence. I’m moving incrementally because I want to be confident about the reliabilty of every step of the chain. If parts aren’t reliable, then I need to know about that and either design a workaround, or decide to live with the limitations. Right now, “best practices” suggest that for client calls, the PSTN still has the edge over the internet, but for interoffice calls, and “casual” long distance calls, the savings in phone charges will add up substantially. The goal is to have a reliable, scalable, business phone system…and I think I’m on the way.

Debugging SIP in Asterisk/Trixbox

Here’s the scenario:

Significant Other calls Mother. Gets a “ring no-answer”…which means of course, that it just rings and rings and rings. The assumption, then, is that Mother is not at home. Or she might be downstairs doing in the laundry room, or something, but she definitely is someplace else.

However, what is happening in reality, is that Mother is on the phone with Sister. So we should be getting a busy signal, but we’re not.

My theory was that since my PSTN connection provider, Voicepulse, couldn’t complete the call, that it just kept things ringing. However, they said that they actually send back a SIP message 486 [Busy here] to Asterisk…and Asterisk should then be dealing with that by changing the ring tone to a busy signal.

So, there is a SIP debug mode within Asterisk, and I’ll set this up by going into the Asterisk Command Line interface. I’ll log into this remotely using Putty using SSH (the secure shell). I’ll also set this up to log everything that appears in the terminal to a file.

So, I place a call to a known busy PSTN line.

But, nowhere in the transcript is there any evidence of a SIP message 486 Busy. So, I placed an outbound call via my ZAP hardware line to the PSTN number for that number. This is the same as calling your own phone number from a conventional phone. In this case, I get an immediate busy signal, as expected. But, looking at the transcript of that call, there is no evidence of a SIP message 486 there either. So now I’m wondering about the phone. In the transcript it shows the following entry:

<-- SIP read from 192.168.0.161:5060:
BYE sip:98639587@192.168.0.180 SIP/2.0
Via: SIP/2.0/UDP 192.168.0.161
From: "Larry Keyes" ;tag=8d48abf7-9a54-5966-3784-6ae80bce9d87
To: ;tag=as5fa85f66
Contact:
Proxy-Authorization: DIGEST username="200", realm="asterisk", algorithm=MD5, uri="sip:98639587@192.168.0.180", nonce="1c3041c5", response="759f615b48878ff3d617936450ae3c8e"
Call-ID: fc430bce-606a-00c1-18aa-c326d5af2e1b@192.168.0.161
CSeq: 45540 BYE
User-Agent: Grandstream SIP UA 1.0.4.17
Max-Forwards: 70
Allow: INVITE, ACK, CANCEL, BYE, NOTIFY, REFER, OPTIONS, INFO, SUBSCRIBE
Content-Length: 0

I’m wondering about the Allow:. Does this mean that the phone doesn’t accept any SIP message except those that are offered by the phone?

Now, my own opinion is that we can indeed live with this, just like we can live without E911 calling and all that. Still, it is just one more damn thing that is different between my VoIP implementation and the “real” PSTN. But, there is a safety issue there…if we can’t reliably determine when the phone is off the via a VoIP call, then we may want to place a PSTN call to verify. Which seems to sort of defeat the purpose.

We could solve this by just getting her an answering machine.

Here is another viewpoint about the anomolies of VoIP. Men are from VoIP and Women from PSTN.

My wife has been using Vonage for the past 3 years with me and she complains at every little Vonage hiccup, every little “fast busy” when dialing, every little Internet outage that brings down the phone line. She used to complain about the sound quality on the VoIP connection all the time, but she has gotten better. Or perhaps she’s resigned to the fact that I’m never going back to PSTN.

Me? I’m like “Hey, sounds great to me. I never have any problems when I’m making a call using Vonage. Sure, when the power goes off or the Internet connection dies, we lose our phone, but hey, we’re saving a ton of money each month. And it’s a cool technology to boot. Plus I write about this stuff all day long, so I should practice what I preach.”

I don’t think she bought it.

Blog discoveries

I think I was a little quick with the delete button the other day, when I deleted an entry pointing to “Confessions of a non-profit IT Director“.

Mea Culpa.

If I remember correctly, this was accompanied by a comment to the effect that this was a blog by a person who is actually doing something. Too many of us are pontificating…I like to read about people who are actually trying to get something working.

Today I Cried was the other blog I had mentioned.

Chron This Week and other notes:

Seen on Smith on VoiP :
Free calls from the U.S. throughout the world from any phone (well, you have to pay to get to Iowa…). allfreecalls.net

Seen on David Seah:
And a nice web-based toolkit for looking the state of your network from Dave Seah who has also nicely chronicled his move from one server and domain to a new one.

Nothing technological in the Chronicle of Philanthropy this week, but there are several stories about NGOs that have created profitable services, products or businesses.

New blog: Web Worker Daily. I ran across this a couple weeks ago, and found it full of practical suggestions and ideas by people who are grappling with technology. Recommeded.

Finally, there has been a lot of noise about the Apple iPhone introduction, showing this picture. My question…what the heck is it? Goldfish In Bondage?, Invasion of the Round Green Blobs?

DialplanPro Beta – Windows GUI

Here is an Asterisk dialplan creation tool for Windows. Even if you don’t use this directly, it includes all the bits and pieces of a dial plan including trunks, channels, inbound and outbound routes, and a visual planner for interactive voice response menus. Fun to play with as you try to understand the Asterisk configuration files.

From the description over at Asterisk and VoiP News:

Originally an exercise to learn Asterisk and have a GUI of my own to use, I developed a Windows based GUI to build dial plans and upload them to the Asterisk server. Currently in beta, it’s aim is to abstract routine chores such as dialing an extension or playing a voice.

I also wanted to be able to implement custom code in a easy graphical way as well so I included a scripting editor with most of the core functionality you’d expect like syntax highlighting, Parameter Hints, etc.

Although the GUI is Windows based, it communicates with a Linux binary TCP socket server written in house to control basic Asterisk functionality such as uploading required or included files, issuing simple commands like reload, restart, etc over the network. I also have plans to write a function to remote debug an AEL script using the aelparse executable and it’s output sent back to the Windows GUI.

While definitely still in beta, we are using the software to program our own Asterisk box here in our office and it’s working very well for us. Although note that we have a fairly simple dialplan with just a little bit of conditional logic, FirebirdSQL access and some TTS stuff to tease our resellers when they call in ;).