Asterisk is Great

I recently wrote about Asterisk, the Free Software PBX. Well, I’ve completed the first stage of installation in our home and must say this is the most fun piece of technology I’ve played with since MythTV :-)

Here’s what we now have in our home:

  • Local calls can be dialed like usual. By default, they will use a landline (aka PSTN line). If the line is in use, they’ll be routed over the Internet at a cost of 1.2 cents per minute.
  • Long-distance calls can be dialed like usual. By default, they’ll use an Internet VOIP provider at a cost of 1.2 cents per minute. If the Internet or the provider is down, they’ll fall back to our landline, at the usual cost of 7 cents per minute.
  • Toll-free calls can be dialed like usual, too. By default, they’ll route over the Internet for free using FWD, but if that’s down, they’ll fall back to the landline.
  • Almost every phone in the house will have its own unique extension number. These all start with “11” so they don’t conflict with any public telephone number. So, no more running up or down two flights of stairs to ask a question.
  • The IP phones in the house can also act as intercoms; when a special extension is dialed, they will ring once, then automatically go into speakerphone mode.
  • We have call forwarding, 3-way calling, etc. without having to pay the usual high telco rates for these services.
  • Call transfer is nice if one of us answers the phone, but the person wants to talk to the other person, who is in a different room. (And callers get to hear some nice music on hold while they’re being transferred.)
  • To a regular caller, it sounds like we have an answering machine if we don’t answer. In reality, they are leaving a message on Asterisk’s voicemail system. The system e-mails us the audio message as an attachment as soon as the person is done recording the message. Also, an indicator lights up on every digital phone in the house. We can check the voicemail from any phone, in our house or not, using a passcode — or by listening to the attachment.
  • By physically taking our IP phone to any broadband Ethernet port, we can make and receive calls on it almost like usual. Yes, if we take the phone to Indiana, and someone calls our Kanas number, phones in both Kansas and Indiana would ring.
  • Emergency calls are routed over the landline like usual. In the future, I will set it up so that dialing 911 automatically disconnects anybody that’s using the landline, so the emergency services can be contacted immediately.
  • All analog phones are automatically connected to the normal landline in the event of a power or network failure.
  • “Ring all phones” feature that essentially simulates an incoming call
  • Caller ID everywhere, both for internal extensions and for calls coming in from outside
  • All sorts of other fun stuff I haven’t even tried yet…

Read on for a description of how it all works, and some hardware and vendor reviews…

At the center of it all is Asterisk. Asterisk is responsible for receiving and routing all calls, the fallback plans, etc. It’s a very powerful and amazing piece of software.

Our digital phones are Sipura SPA-841 models. These are amazing phones, usually selling at $85. The Voxilla Store has the best deal with free shipping, plus excellent service. The SPA-841 comes with one Ethernet port and a modern-looking digital interface. It supports all the bells & whistles, such as 2 lines, call forwarding, call history, personal directories, speakerphones, distinctive ring tones, etc. It’s also web-configurable, or can be configured via TFTP and XML files (very very nice if you have more than one!) The breadth of the configuration of these phon is just amazing.

Our analog telephone adapter (ATA) is a Sipura SPA-3000 (also with a good deal at Voxilla). This nifty little gadget sells for about $100 and has one ethernet port and two analog telephone ports. One of the analog phone ports is to be connected to the landline (PSTN) connection from your phone company. The other port provides line voltage, dialtone, ring voltage, etc. to phones in your house — that is, it simulates the phone company to them. So, your analog phones can dial VOIP numbers — and get the benefit of call routing over the Internet and the like — all without having to invest in more-expensive digital phones. We are keeping our cordless analog phone (cordless IP phones are not very good yet), and a couple in infrequently-used by nice-to-have locations.

The PSTN connection lets you use VOIP to dial out. In our case, Asterisk is the one doing the dialing out, so the PSTN connection is controlled completely by Asterisk.

One super-nice feature of the SPA-3000 is that it has an option to bridge the two ports together in the event of power loss or if it loses contact with the Asterisk server. This is great so your analog phones keep working even in an emergency situation. Some people might disable this, though, because of the shock of having long distance suddenly cost 6 times more than usual :-)

The next stage in the project is to run some network cabling in the house so we can deploy an additional digital phone and relocate the server and ATA equipment to a more convenient location. Cat5ECableGuy has some great deals on jacks and cable. Service seems to be good, too; will let you know when my order arrives.

I also have a Sipura SPA-1001 (single-line ATA for use with analog phones) that I’ll be deploying once the cabling has arrived. That will give the kitchen phone its own extension separate from all the others.

I have had a few hitches along the way. I first tried a cheapo Wildcat X100p clone from ebay. I found it to be unstable and cause asterisk crashes on my Alpha. The SPA-3000 is working much better.

The other hitch relates to disconnect supervision, which my telco doesn’t provide. That means there’s no good way for a machine to determine that the remote party has hung up the line. The SPA-3000 for some reason can’t detect the off-hook warning tone either, but I have some workarounds going.

I also found that multiple simultaneous uploads on my DSL link would flood the transmit queue and cause latency to be unacceptably high for VOIP to work. After some tweaking with the Linux traffic shaper and ToS bits in Asterisk, I think I’ve got that nicely worked out.

I purchased some of my early equipment from Telephonyware. Decent prices, but they appear to have lied about the shipping date, and didn’t return my e-mail asking about it. VOIPSupply had much faster shipping, but also really charges a lot for shipping & handling. Voxilla has good rates and fast service, so I’m using them now.

That’s a lot for one post… more to come next week.

8 thoughts on “Asterisk is Great

  1. jgoerzen says:

    Our Internet VOIP provider, BTW, is LiveVOIP. Best deal out there I’ve seen yet, and works great, too. For a small user, they probably expect you to be a good do-it-yourselfer and get it going on your own… the best service is probably reserved for those people that buy the 1-million-minute plan :-)

  2. Richard Bodo says:

    John, on behalf of telephonyware, I apologize for lying about shipping. In our defense, we only passed that particular lie on because your product was drop shipped. No excuses, though. Occasionally we run out of a product and drop ship from a partner company. Other vendors have arrangements like this with telephonyware, and we help them out with drop shipping when they run out of product. Until we can grow a little more, we will sometimes be subject to factors out of our control. Give me a call for a free Sipura SPA-1000 for your trouble. Again, we’re sorry for the error.

    1. jgoerzen says:

      Thanks for the note, Richard. I wasn’t in any great hurry for the unit, but it would have been nice to have just a 2-sentence note explaining the situation. It helps out greatly with the comfort level when trying a new vendor for things.

  3. Rich Bodo says:

    This is my internal telephonyware review of the SPA-841 product mentioned in this article. In general, any Sipura product will be the most configurable in it’s class. I once had a SPA-3000 on site tha I had to configure the electrical interface of the FXO port to run on less than 48 volts to work with a paging system. The configuration option was there! I think the Sipura products are amazing.

    ”’SPA-841 Review”’

    Overall: The best value in a VoIP phone : sub-100SUD price range for casual users.

    The 841 has a couple quirks:

    * The initial setup has all the buttons mapped to line 1 and port 5061
    used for line2.

    * At least in firmware 0.9.1, the ALC or echo cancellor or something really drops my volume when there
    is background noise. This happens when I’m on speaker or handset but not headset. Far end complains of echo , even with newer firmware. Have to reduce the volume to almost minimum to eliminate that. Firmware updates will probably fix this. Sipura is still shipping very old firmware, so upgrading is a must.

    * When I’m on headset, the far end tends to get more echo than when I’m on handset or speaker.

    * The spelled CallForward CallFoward. Ebonics lives.

    * I have no idea what the button that has a little icon picture of a hand
    means/does. In keeping with the ebonics theme I’m thinking it’s a
    high-five. Ah, I see, it’s the hold button – NOT normally an icon. Hold is a small word.

    * Rubber buttons stick to the sides of their recesses if not pressed straight in.

    * When attempting a hook flash transfer, the phone for some reason tried to use line 2 to make the outbound call! That is an unusual default behaviour.

    * When you are on headset, and put someone on hold, there is no way I can tell to pick back up on headset, you pick back up and you get put on speaker.

    Firmware 0.9.5 Update

    * The Sipura doesn’t seem much improved with the latest firmware. I still get reports of echo and volume variations during a call. Some of my early complaints were unjustified, but the biggies are still there. Rubber buttons = bad. Echo = bad. Weak ALC = bad. Default settings don’t make a hell of a lot of sense to me either, but I’m not the target audience. Note: there are now newer firmwares.

    ”’SPA 841 Upgrades”’

    ”’Firmware:”’

    This can be found at: http://www.sipura.com/Documents/spa841-0.9.5.zip, along with the windows upgrade executable and ringtone generator.

    You can upgrade via TFTP, HTTP or windows executable.

    Via TFTP:

    1) make sure a regular user can grab the latest firmware from the /tftpboot directory on your workstation

    2) go to the url:

    http://the.sipura.ip.address/upgrade?/tftpboot/the_firmware_file

    Via HTTP:

    The HTTP upgrade process is initiated automatically on phone reboot upon configuration changes to the upgrade rule in the SPA web interface. This is not a one time upgrade method, but rather a rule to instruct the phone as to how and when it should be upgraded. Please see the SPA-841 Administration Guide for detailed instructions.

    Via Windows Executable [From the Sipura SPA FAQ]

    4: How do I upgrade SPA’s firmware?
    A: The latest Firmware file(s) can be downloaded from support area.
    The files are packaged in zip compressed format. It contains a windows binary “.exe” and
    the raw firmware “.bin” file. Upgrading your SPA can be done via two methods:

    1. By running the windows executable from windows machine.
    When run, it will ask for SPA’s IP-address. It will then try to identify the SPA,
    and perform the upgrade. Please don’t power off at this time.

    2. Alternatively, you can put the raw firmware image “spa.bin” to a reachable tftp server,
    Goto your web browser, and type in:
    http://spa-ip-address/upgrade?tftp://tftp-server-ip/spa.bin
    With our current firmware 1.0.30 and above, you can use http in place of tftp method.
    At any time during the 40-seconds upgrade process, please don’t unplug the power.

    ”’Line Appearances:”’

    Telephonyware need only obtain MAC addresses, send to Sipura, and get the license key and instructions for the four line

  4. gcleaves says:

    I’ve installed Asterisk in my home but haven’t been able to find a 3-way calling option anywhere. Are you accomplishing this by using the feature on a hardware phone? Or have you created a custom dial plan that allows this? The free IAX soft phones don’t seem to offer this feature and default Asterisk doesn’t either.

    Thanks,
    Geoff

    1. jgoerzen says:

      There are several ways to do it.

      First, SIP or IAX hard/softphones should have the feature to engage 3-way calling built in. (On my SPA-841, there’s a “conf” button. There may be a special code to dial or button to press.)

      The other way is the Asterisk teleconference feature. You transfer everybody that is going to be participating to a certain extension, and it conferences them all together. This scales up to n-way conferencing. (That is, handles more than 3 people).

      See the Meetme option in your Dialplan.

      1. Ricardo says:

        Hellos,

        I have a problem with a 7960 IP phones. When i register this IP phone to asterisk, the setup buttom of conference call (3-way call) in the phone dessapear. I use SCCP config.

        Can you help me with this ??

        1. carlos medina says:

          hey guys i want to build something like this but i will have 3 fxo lines how do i go by that what all do i need

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.