Tech for Non-Profits

Monday, November 10, 2008

Voice Over IP Updates

I haven't focused on VoIP for awhile... but others do.

FierceVoIP announced that Logitech has bought out SightSpeed. Sightspeed was (is) one of my favorite videoconferencing applications, and it will be very interesting to see what becomes of the product.

VoipInsider reports that Polycom has updated the firmware for Soundpoint phones.

VoicePulse has announced a fail-over option for their accounts. They've completely redesigned their web site with a new interface, that looks really classy. This is one VoIP provider who appears to be here to stay. Hooray!

Windows for Devices reports that Motorola will discontinue development of Symbian and MotoMax phones, and concentrate on Windows Mobile, and Google Android. The site emphasizes hardware running embedded versions of Windows, there is a companion site for the Linux crowd at Linux For Devices.

Labels:

Wednesday, September 03, 2008

NAT with videoconferencing etc. etc.

The wiki documentation for Ekiga has a nice discussion of how to deal with routers when using SIP and H.323. 

Browsing with Google Chrome does indeed seem a little more rapid. I'm not sure I'll migrate from Firefox, but I like the clean look, and so far it seems to work flawlessly.   

Labels: , ,

Thursday, July 31, 2008

Asterisk Alternatives?

In addition to Trixbox there is a non-derivative project called Freeswitch which is not based directly on the Asterisk open source code.  From the introductory web page:

FreeSWITCH is an open source telephony platform designed to facilitate the creation of voice and chat driven products scaling from a soft-phone up to a soft-switch. It can be used as a simple switching engine, a PBX, a media gateway or a media server to host IVR applications using simple scripts or XML to control the callflow.

We support various communication technologies such as SIP, H.323, IAX2 and GoogleTalk making it easy to interface with other open source PBX systems such as sipX, OpenPBX, Bayonne, YATE or Asterisk.

FreeSWITCH supports many advanced SIP features such as presence/BLF/SLA as well as TCP TLS and sRTP. It also can be used as a transparent proxy with and without media in the path to act as a SBC (session border controller) and proxy T.38 and other end to end protocols.

FreeSWITCH supports both wide and narrow band codecs making it an ideal solution to bridge legacy devices to the future. The voice channels and the conference bridge module all can operate at 8, 16 or 32 kilohertz and can bridge channels of different rates.

FreeSWITCH builds natively and runs standalone on several operating systems including Windows, Max OS X, Linux, BSD and Solaris on both 32 and 64 bit platforms.

Our developers are heavily involved in open source and have donated code and other resources to other telephony projects including openSER, sipX, The Asterisk Open Source PBX and Call Weaver.

Labels: ,

Monday, July 14, 2008

Newbie Guide to Asterisk Pitfalls

The good folks over at Nerd Vittles continue to hack away at Asterisk, and publish a terrific blog. Their May 12th posting is great. Asterisk Hell: A Minefield Navigation Guide for Newbies.

Labels: , , , , ,

Friday, July 11, 2008

VoIP Supply offers SIP trunking

I was intrigued to see that VoIP Supply, the folks that sold me my Trixbox and my Polycom SIP phones are now offering SIP trunking and data services.

Don't know how this stacks up against suppliers like VoicePulse. For one thing the pricing model is slightly different, with VoIP Supply looking for a minimum $25.00 per month, but with unlimited local and long-distance calling in the lower 48 states. VoicePulse, at least the version for Asterisk/Trixbox, was on a pre-paid model but charges 2 cents or so per minute.

What about the quality of these calls though? Maybe I'm just cranky, but I've had literally dozens of calls from vendors in the past year that clearly were low-quality VoIP calls. I would be appalled if my own calls to my clients and prospects sounded like many of these calls.

In one case, I was (supposedly) working with a sophisticated and highly-paid consultant who was using either Vonage or the Comcast VoIP. The guy couldn't get out of his own way...I just couldn't understand him, over multiple calls. How are we supposed to conduct business this way? And, where is the savings per month, at $25.00 or $125 or even $1025 per month that the person is supposedly saving, when as a result a client drops this person, after originally looking forward to a multi-thousand dollar contract? False economy.

Bottom Line: The landline isn't dead yet. Use VoiP for long-distance calls to friends and family, and non-critical overseas calls. If there is any question, during a VoIP call, have a back-up landline available.

And if you have contracted out any functions to a call center (perish the thought...my local newspaper has done this to verify authorship of letters to the editor), be sure you get yourself on the receiving end of such calls to assess the quality. Nothing turns off customers and prospects more quickly then struggling with foreign-based tech support, heavily accented, with stupid calling scripts, and bad sound quality.

Labels: , , ,

Friday, March 21, 2008

Setting up remote premise VoIP or Videoconferencing

The Trixbox Wiki has a number of digestible pages of advice on how to successfully deploy a VoIP application. Here are recommendations for remote sites.

Formula for the best remote telecommuter Experience

  1. Use T1 internet access at the main location, not DSL or Cable.It’s worth the additional expense in order to ensure good, steady performance at your main location.
  2. If your routers and/or firewalls support QoS features, activate them. Give priority to the SIP and RTP protocols. Consider replacing equipment that lacks VoIP-aware QoS features. See Also: How do I use QoS on my network?
  3. Consider using one of our Suggested Routers with QoS on both ends of your connection.
  4. If your QoS solution allows you to limit total bandwidth, set the limit to slightly less than the line speed of your internet connection. Use a DSL line speed test to determine where you should set your limits. Setting it about 5-10 Kb below your maximum speed will keep the packet buffers from filling up on your DSL/Cable modem. This will yield better overall performance.
  5. Consider having two internet connections… one for your existing data application, and one for your VOIP phone and trixbox Pro servers. You can use this approach in your main location, as well as your remote locations. If you use this approach, you may not need any QoS capable equipment.
  6. If possible, connect your main office and your remote office using the same internet provider. Usually performance on the same provider’s network is superior to the performance when traffic needs to traverse multiple internet backbone networks.
  7. If possible, remove NAT devices between the trixbox Pro system, and the remote telecommuters.
  8. If you must use a NAT configuration, consider using a “DMZ Host/Server” configuration rather than port forwarding. This uses less CPU power in the router/firewall and yields optimal performance.
    1. At the main location, the setting will forward all unknown packets to your trixbox Pro server.
    2. At the remote locations, the setting will forward all unknown incoming packets to the IP Phone.
    3. Reserve the phone’s IP address in DHCP or give the phone a static IP Address on your private network in the remote location so the IP Address does not change. If you use a static IP Address, pick one outside of your dynamic DHCP IP Address range.
  9. For mission critical remote employees, consider using a fractional T1 internet service at the remote office instead of a Cable/DSL connection.

Labels: , , , ,

Thursday, February 21, 2008

Review of commercial VoIP systems

ChannelWeb is publishing a review of five VoIP systems. While not terribly helpful as a whole, the article discusses several aspects of choosing a VoIP system. The focus is on small systems for small business, 2-40 users or so. There are some helpful comments following the article.

One deficiency is that the article doesn't really encompass the whole picture necessary for putting in VoIP. For example, most installers would consider using conventional PSTN phone lines or a T-1 connection for multiple lines, rather than attempt to use public IP connections for their "production" phone trunks.

Labels:

Monday, February 11, 2008

Dynamic DNS & Port Forwarding

One thing that is necessary when dealing with IP videoconferencing is the whole network management thing. This means dealing with DNS, ports, and firewalls.

DNS remains a bit of a mystery, but in essence, the DNS system maps numerical IP addresses to domain names. So for example, my web site is located at 64.78.42.66. The way I know this is by running the NSLOOKUP command in Windows.

You can find your current public IP address by going to www.whatismyip.com

For help in setting up your router with port forwarding, go to http://portforward.com/

Laura Chappell produces fantastic tutorials on network troubleshooting. I should say "still"...because I've been reading her stuff since Novell was the networking operating system, and that is going back close to twenty years. The linked tutorial, from Novell Connection Magazine is entitled 10 Tasks Every Troubleshooter Should Conquer.

She references the SecTools site for tons of networking tools

Labels: , ,

Thursday, November 29, 2007

Trixbox Installation Checklist

Here is a short list of installation tasks for the Trixbox PBX.
  • Assign fixed IP address to WAN port
  • Place in DMZ (temporarily)
  • Get software updates
  • Configure a Polycom SIP phone
  • Configure Voicepulse SIP provider account
  • Make test calls
  • Configure router QOS setting
  • Insert Sangoma A200 card
  • Configure Zaptel card drivers
  • Configure Octasic echo cancellation (in software)
  • Configure 2nd Polycom phone
  • Configure Grandstream phone
  • Configure Remote Office phone
  • Place Trixbox behind the firewall.
Once the install is configured, then we'll need to monitor the ongoing reliability of the SIP connections. This was one of the issues that I've had earlier; the Trixbox would loose the registration with the SIP phone provider, thus hanging up on long-distance calls. Unfortunately, I never was able to get it to fail-over to the landline, and there were no clear errors at the phone that said that anything was amiss. Not good for end-users.

Trixbox.Org is the community site for the free version of Trixbox, called Trixbox CE (community edition).

Trixbox.Com is the site for the commericial, hybrid-hosted versions. One of these is also available for free. The others are sold per seat on a monthly or a lifetime basis.

Most of my previous Trixbox posts are available under the Trixbox and/or VoIP labels. Doing a quick search I just noticed that one of my first posts was EXACTLY one year ago...November 29th 2006. Guess I should go back and take a look so I don't repeat my mistakes of the previous year.

Labels: ,

Wednesday, November 28, 2007

Trixbox Appliance: New Baby


Just unwrapped the new baby here... a Trixbox appliance (the so-called "base" model for about $999) that comes without landline interface cards. In its base configuration it is suitable for those who want to implement a fully IP-based VoIP system. I'll be adding hardware to this; an existing Sangoma A200 card which provides two landline connections. I'll only be using one of the two connections to start. I couldn't resist starting it up, and sorry, but contrary to all the assurances; the thing is noisy. Too noisy to have setting next to my desk. Damn.

The dual power-supply version that was demonstrated back in June sounded like a jet engine. Definitely that one is a unit for the server room, not deskside.

We had our first real snow that stuck today, about three inches. The Trixbox will be a great project on those cold winter days.

Labels: , , , ,

Friday, October 26, 2007

HUD - Heads-Up-Display


Kerry Garrison at Trixbox conducted a webinar last Wednesday on HUD, the Heads-Up-Display... a computer interface to the TrixBox PBX. HUD gives you a display of all current calls, allows you to forward calls, and make calls to others on the PBX without having to dial your phone. The client version interfaces with OutLook, but the whole application is cross-platform; it will run on a Mac, PC, or Linux box. It includes an instant messaging system, which allows you to IM all the people who are on the system. Although they are currently using a proprietary IM protocol, an update will use the jabber protocol....which will allow you to include IM participants on AOL and other instant messaging systems.

One thing addressed in the webinar is a way to integrate your phone system with web applications, so you can use HUD with Salesforce, and SAP or other "customer relationship management" or CRM products. So, what might HUD be used for?

  • Call centers; inbound and outbound
  • Suicide and rape crisis lines
  • Counseling centers
  • Outbound solicitation (blood donors)
  • Clinic phone systems
Even if you never would consider using Trixbox, the webinar is useful to show the kind of functionality that is available in similar systems. The possibilities are mind-boggling.

There is an interactive demo.

The webinar is located here. It requires registration.

Labels: , , ,

Wednesday, August 29, 2007

Suggested Routers for VoIP

In addition to the new Trixbox training mentioned the other day, Fonality is now offering commercial versions of TrixBox...called Trixbox Pro. This is offered as a "hybrid hosted" model, in which you supply the server and other hardware, but the server is more or less permanently in contact and managed from their hosted server application.

As they are rolling this out, they seem to have upgraded the help support wiki, with some very specific information gleaned from their experience of deploying over 60,000 phones. For example, here are recommendations for routers suitable for use with VoIP.

They have also published a hardware compatibilty list, which lists certified, (fully supported) hardware and uncertified (supported by at a 25% cost premium) hardware. Of interest are several HP servers that are certified, and the Dell SC440 (tower), and 1950 (1-U rackmount). Aastra and Polycom phones are on the certified list, as are Sangoma interface cards.

On the suggested router list at the low end are the Linksys BEFSR81, D-Link DI724U and Fortinet Fortigate 50B.

They also have a "blacklist"...stuff that they don't recommend for various reasons. These include problems with firmware (notorious with some low-end routers), and design incompatibilities. Sure enough, my BEFSX41 is on the blacklist.

Labels: , , ,

Monday, August 27, 2007

Trixbox Training - More and Better!


Trixbox has added some more in-depth training options. I took the FtOCC (Fonality Trixbox Open Communications Certification training in June, and it started to get interesting on a technical level.

Now the TB folks have two new courses that go deeper into the technology:

  • FtOCC Technician (trixbox CE, Pro and PBXtra)
    FtOCC Technician is a three-day technical certification course designed to train resellers and consultants to support their clients running trixbox CE, trixbox Pro, and PBXtra systems. Taught by Fonality technical support instructors, FtOCC Technician dives deep into platform and application installation, carrier setup and integration, network configuration, echo causes and remedies, and other common issues. A requirement for Authorized and Premium Resellers, this course should be taken by Linux technicians and engineers who regularly support client installations.

  • FtOCC Engineer (trixbox CE, Pro, and PBXtra) FtOCC Engineer is a new course designed to teach engineers how to do custom application development for trixbox CE, Pro and PBXtra. Write deep CRM integration, database dips, text-to-speech, internet look-ups and more by combining the Asterisk Gateway Interface (AGI) and Asterisk Manager Interface (AMI) with a CGI, SQL database, IVR, or all three. Want to hear a perl-based IVR in action? Call 310-861-4393 and hit option 2. Taught by Fonality's lead engineers who created trixbox Pro and PBXtra, this course is for serious programmers with deep Linux knowledge.


The original FtoCC training course now appears to be renamed Trixbox Administrator course, and is the "entry-level" course of the series.

Even if you aren't selling and installing Trixboxes, the courses are useful on a general level as you learn a great deal about Asterisk, VoIP, Linux, echo-cancellation, etc.

Labels: , ,

Thursday, July 26, 2007

Microsoft Action Pack Update for July

One reason why I like the Microsoft Action Pack is that it gently feeds you a trickle of the tsunami of new Microsoft products, betas, Community Technology Previews (CTPs), samples, trials, and templates. This months quarterly update is no different and includes a couple of interesting products:

  • The 64 bit version of Vista Business
  • Beta 3 of Windows Server 2008 Enterprise in both 32 bit and 64 bit versions.
  • System Center Essentials 2007
  • Office Live Communications Server 2005 Enterprise Edition
  • Windows Server 2003 R2 32 and 64 bit

I've been running Windows BackOffice 2003 on my server for what I think is at least two or three years, so I'm contemplating installing one of the straight Windows Servers as a replacement. BackOffice is fine if you want to run Microsoft Exchange, and you want to have some beefed up management tools, but I've never been convinced of its utility over the regular Windows Server product. Exchange is a whole trip in itself, (can you say backup and spam control?) and in small offices that would otherwise be the typical customer for BackOffice, I would normally recommend just going with mailboxes from your internet service provider.

Live Communications Server is the Microsoft VoIP back-end product...something I'm interested in looking at; but was unable to install on my Win 2003 BackOffice server.

The Action Pack is a quarterly shipment to Microsoft Partner subscribers, and is suited for small consultancies or businesses with ten or fewer desktops. You get the full office suite with all the goodies like Visio and MapPoint, as well as all the server operating systems. No development tools--that is for the Microsoft Developers Network Subscription, but so many of those are available as trials and free versions that you can get pretty far without spending a lot in that area.

Labels: , , ,

Wednesday, July 25, 2007

Ekiga, formerly known as Gnomemeeting, is a Linux based softphone/videophone. (A newer version is also available for Windows). They've thought of everything... STUN, H.323, SIP, a directory, NAT traversal, you name it.


I'm using version 2.03 that was in the stock installation of Ubuntu Feisty. After a couple hours of fiddling, (at least 30 minutes of which was finding out that my microphone was switched off...) I've been able to make test voice calls to what sounds like their Asterisk server. Looking around, it says they are up to about 2.09, and if you want it work full-screen, you have to compile from the source code.

Labels: , ,

Monday, July 02, 2007

Trixbox and VoIP Update

I have done an extensive hoeing out of the VoIP Resource Guide, if you thought it was getting a bit long in the tooth, there are new items and I've deleted a lot of the old stuff. But, to cut the chase, here are some Stuff That Works:


The above are components that I've been using recently. Just today I ordered another Polycom phone, and a Sangoma A200 FXO card to replace my Digium X100p card. The difference between the Polycom phone and the Grandstream B100 phones in sound quality is noticable, and the general fit and finish of the Polycom phones is outstanding. Of course they cost twice of what the Grandstream phones had cost.

Other things highly thought of:
At the Boston Trixbox seminar, people spoke highly of Aastra phones, and Rhino interface cards. M0n0wall, the open source firewall was also recommended.

Unsolved Problems:
I was really happy with Gizmo for awhile, but have never been able to get it to register with my Trixbox server. I fiddled, but always given up.

And, still looking for a QoS solution for my home router, so that when I'm on the phone, and am casually surfing the web, it doesn't destroy the conversation mid-word.

Labels: , ,

Monday, June 11, 2007

Trixbox Boston


The cockpit. Laptop with the VMWare image of Trixbox installed. You can see the version 2.2 management screen. To the right, a Polycom 330 phone. These were part of the package that everyone took home. These are really nice phones, a real step up for those of us who have been using lower-end phones in our Trixbox experiments.


Andrew Gillis tries to debug problems with David Mandelstam's Polycom phone. If David can "brick" a phone...is there any hope for end-users? ;-0



Andrew, Kerry and Stefanie Chao-Narayan handing out diplomas.


The object of our affection. A pre-production TrixBox. This one was the enterprise version, with dual power supplies. It runs cool as a cucumber, but belongs in a server room or wiring closet, not under your desk.

Labels: , ,

Tuesday, June 05, 2007

At the Trixbox seminar in Boston

Day 2 at the Trixbox seminar in Boston...not that I've learned a whole lot of new things, but we are all finding that our prejudices are confirmed. Yesterday we spent much of the morning installing the VMWare version of Trixbox and connecting a couple of SIP end points. We have the X-Lite softphone connected to a Polycom desk set. My seat partner is David Mandelstam of Sanoma, one of the sponsors at the conference. We're having a terrific troubleshooting session by Mike Joyce of Fonality. Lots of tidbits/opinions and debate. For example:

Mike Joyce of Fonality

Sizing the machine adequately.

The load is especially heavy with software echo cancellation
Use hardware echo cancellation

AppConference will be added for conferencing….and will be an alternative or replace MeetMe.

Recording --- Recordall - is really a bottleneck. DiskIO is the issue, and you need a quad Opteron, huge disks, etc.

"Bus Bubbles" interrupt conflicts.

PatLoopBack - Zaptel repository

Ethernet Card Considerations
Cache optimization
9 out of 10 on-board Ethernets on motherboards are good

Rhine Chipsets
Intel Ethernet Express is not good for VoIP
For cable modem and DSL setups (Motorola Surfboard…etc)

The routing equipment at the CPE that has packet optimization that sucks on cable modems. You can't see more than a couple concurrent calls on a typical cable or DSL connections. Not a problem with the carrier, but the problem at the CPE….the DSLAMS are OK,

Problem is shared cache for inbound and outbound
The cheap modems can't do context switching enough between the two to support more than a couple of calls.

Under 50 concurrent calls is where Asterisk has a sweet spot..with all the features of a more expensive system. Asterisk doesn't scale up higher (easily), the big guys don’t scale down (easily).

Using VoIP on the Internet
Limitations of Broadband Connections
Ping 20 millseconds at As you lower the interval, you have
ping -c 0.02 -c500

Need to see 0 packet loss.

Place in the DMZ setup sometimes…and make sure that the DMZ is located

SIP compatible routers don't work unless it is under $1000 dollars. Finality

Linksys BEFSR81 - DMZ host.
PFSense - OpenBSD - Live installation, etc.
IPFW

People try to overcomplicate things.

NAT issues - Don't install the phones and the PBX on different NATs.

InGate - Sipperator --- Sip Proxy Session Boarder Controller

Aeronaut 1050G
Astra 480Et (?) wifi phone

Fonality: The vast majority of problems are related to networking.

Don't ever ever ever sell a system without RAID
Software raid is better than hardware
Don't use RAID 5 for a Linux or Asterisk
80 gig drives work fine.
Never been able to justify the cost of SCSI disks
Rebuilding a RAID 1 drive takes about 10 minutes.
Hot swapping
They have to be able to fix things over the network. All PBXtra stuff is supported remotely.

MDADM man
SATA RAID at the install Disk DRUID, etc.
there is also a setup RAID.
Swap needs to go on both disks.

For 50 bucks a month offer back up service with a chron job, and ftp the data to a NAS at a co-lo.

AGIs are super easy to write.
If you don't have friends who write perl, get some.
Call Files - Click-to-Call, Ticketing Systems, CRM systems
split() on csv for easy archiving Tie the call records into a CRM system. How much does it cost you to convert a prospect to a customer.
If you go into the operations side a company, you'll have an easier time, rather than go into the IT side a company.

Labels: , ,

Thursday, May 31, 2007

Setting up Trixbox on a Windows Machine

In preparation for the Boston TrixBox seminar, I'm setting up my laptop to run TrixBox. Think about this concept for a moment… I'm going to run a version of Red Hat Enterprise Linux, as a virtual machine on my three-year old Dell laptop, and on top of that run the Asterisk/Trixbox PBX server. This is mind-boggling on a several levels.

The minimum recommended specs for doing this include 1 gigabyte of memory and a 2.4 gigabyte processor. I'm hoping it will still be functional with my 2 gig laptop processor…it is a little late to go out and replace my laptop.

I've downloaded and installed the VMWare player.
I've downloaded and installed the TrixBox. Zip file which contains four files:
* Red Hat Enterprise NVRAM File (which I'm assuming is some kind of memory emulator)
* VMWare virtual disk file,
* VMSD File
* VMX configuration file.



Clicking on the VMX configuration file, starts the configuration process. This looks identical to the setup process that you run when installing TrixBox on a standalone machine.



The next snag comes up when the CentOS installer complains about a network card driver. I accepted "Remove Configuration", and it immediately came back and said it would attempt to configure the card again. At this point I get the blank screen asking for network information.

There is no direction on this in the installation instructions so I just accept the dynamic configuration for now.

This is accepted, and the boot sequence for CentOS continues smoothly. I see that eth0 starts up.

A few more minutes, and the login CentOS login prompt appears. I login with user name=root, and password = trixbox

The web interface is also available on the local IP address for the virtual machine



This shows the handsome new front page of the 2.2 interface. Click on the image to see it full size.

Labels: , ,

Friday, May 25, 2007

Martin Geddes: Cold on VoIP? Exactly

Martin Geddes is sceptical.
I ought to explain why I’ve suddenly gone cold on VoIP.

It’s just I’ve watched my own behaviour. I’ve grown tired of the inconsistency of PC VoIP calls, and instead I’ve reverted to using landlines, mobiles and Jajah (for callback). But I’m still using IM to set up many of those calls!

The problem isn’t unique to any one client — they’re all proving unsuitable for business use with clients (which is most of my telephony needs covered).

The worst of all seems to be Skype conference calling. We probably would rate the quality as “unacceptable” for 50% of the attempts. When it’s good, it’s great. But that isn’t what I’m after.


He goes on to talk about how softphones don't work very well.

Another problem with PCs is they’re just lousy telephones. When you hibernate Windows XP on my HP laptop, all kinds of audio settings seem to go wrong and the volume buttons stop working. Bluetooth is hopelessly unreliable, and who wants another wireless headset device to remember to charge up (and bring the charger when you travel)? Or to have to rush to fish out a headset and plug it in when a call arrives?


Before I get accused of plagiarizing the whole piece, you can read the full post.

There are a couple of issues here:

VoIP qua VoIP is really a very broad spectrum of technologies, encompassing softphones, free calling, replacing million dollar hardware PBX switches with open source software switches, and new applications. Martin's definition for purposes of his discussion, if I read his article correctly cites two problematic applications; softphones on PCs, and conference calling on Skype.

I agree with his scepticism. My own interest in more in Asterisk/Trixbox and replacing the traditional circuit switched phone line infrastructure with packet switched calls over the internet. While I have made a couple of calls from my laptop, it seems a little bit silly to do so when I've got my $15.00/month cell-phone handy. So if softphones don't work I'm personally not going to slit my throat.

But, the internet calls thing, is more problematic. Clearly, we are at the mercy of the internet when placing such calls... once your packets get outside your own local area network, they are flung out on the storm-tossed seas of the public internet. And, as we all are getting what we wished for with network neutrality, our packets are being treated like everyone else's packets. So, your 911 call's packets might be held up by an image of Johnny Depp, or even the whole movie.

One solution of this so far, as been "quality of service", which is a euphemism for "prioritizing packets". If people played nice, then, every router on the net would be smart enough to know that some packets are more equal than others, and voice and media packets in particular need to be forwarded before eMail and ftp packets. And indeed, if I'm making VoIP calls from my Trixbox while downloading those bloody updates for Windows, call quality goes down the tubes, (and this is with me, placing a single call, and downloading from a single workstation on my LAN).

The second solution, and really the only one at this point, has been to provide enough bandwidth so that whatever the exigencies of packet transfer there is enough slack in the network so that most of the voice packets will arrive, in the correct order. In buildings that use VoIP phones, the best practice is to run a separate set of 10BaseT cabling for the softphones. Mind you, this is a separate subnet from the data network that is currently in place. (Note: Someone will argue that this already in place, because we've got the existing two or four pair wiring in place for the telphone...)

So, is it responsible of us to suggest for a non-profit that they should:
1. Invest in new desk phones at $125.00 for each desktop location
2. Double their cable infrastructure
3. Purchase a quality of service router that at least will prioritize packets moving in and out of their own location
4. Purchase a dedicated server, with attendant UPS backup and management
5. Figure out how all this goes together.

when it may not work. Specifically, that you won't be able to rely on 99.99% availability when placing internet calls, and you won't be able to ensure that 99.99% of inbound calls to your internet-brokered phone lines will reach you.

when you can go to Best Buy or Amazon and get a Panasonic key phone system with six phones for $2500 or so, which you can forget about once it is installed.

I'm just asking.

Labels: , ,

Tuesday, May 08, 2007

Trixbox and FreePBX

In one of those serendipitous moments, I found that by upgrading one thing, I fixed another thing.

One of the nifty things that you can do with VoIP is add a virtual number to your system. The number can be located pretty much anywhere, as long as your "voice ISP" has a block of numbers available in the locale that you want to have the number.

In my case, I wanted to have a local number available in Albany, New York which is area code 518. So, I logged into the VoicePulse web site, chose the location and selected a number from the ones available. VoicePulse charges US$11.00 to set up a number, and then $11.00 at the beginning of each month for the number.

That should have solved the issue. I was able to verify almost immediatly that my credit card had been charged. But when I called the number I'd get the "the number you have dialed is not in service" message, which follows the three high-pitched tones.

What to do? First, of course, send a note the VoicePulse tech support. They called back and asked for a transcript of the SIP debugger in Asterisk. So, I logged into the Trixbox with my SSL terminal program, logged on to the Asterisk command line, and then activated SIP Debug.

AsteriskBox$ asterisk -vvvvvvvvvvr
AsteriskBox$ sip debug


This gave me a transcript of all the SIP commands, and it was obvious that indeed the call was getting as far as the Trixbox, but was being rejected for some reason. So, I figured it had to be an issue with inbound routes in the Asterisk configuration. These are configured using FreePBX. Poking around on the FreePBX forums, I found that the version I was using was still a release candidate, and indeed other people had had problems with inbound routes. So, an upgrade was in order, and excellent instructions were given on the forum. And indeed, now the inbound number works.
I now have a "local presence" in Albany, even though I'm in Vermont.

Labels: , , ,

Thursday, March 15, 2007

Why can't we all get along? VoIP Locked Hardware

Why are Voice over IP hardware providers putting out hardware that is locked to a specific vendor? For example, the new motororola vt2542 seen here on Smith on VoIP will be offered by Vonage as a locked device for Vonage. Since the price point is so low ($60.00 or so after a lame rebate of $40.00...don't get me started on "rebates"), perhaps it is reasonable to consider this a throwaway hardware device if you decide to change your VoIP provider. I get the feeling that this is just repetition of the same old model of cell phones locked to providers.
Does anyone else think it is more than a litte ironic that the only convenient way to reach a Unicel cell phone from a Verizon cell phone is via the PSTN? And the only convenient way to reach a Vonage customer from Skype is also via the PSTN?

Labels:

Tuesday, January 30, 2007

Trixbox Webinar

Just got off the Trixbox webinar, conducted by Kerry Garrison and Andrew Gillis and thought there were some interesting ideas that came out of it. Here are some rough notes.

Call Queues
You can set up call queues which are not to be confused with ring groups. A call queue is where you stack up calls and where the caller can be told "You are caller number 5. There are four callers ahead of you. The average wait time is 2 minutes". and so on. You can have a call queue point to a ring group. (A ring group is a set of extensions that are called by some kind of rules, in a specified sequence, say, or based on the amount of time since an extension was last connected on a call.

Bandwidth and Latency
DSL typically has lower latency than cable, even though cable typically has higher bandwidth.

TDM Hardware connections vs. Internet SIP/IAX phone termination services
Many of the example installations they gave involved hardware connections. T-1s. ISDN PRIs, etc. This supports the notion of having conventional hard connections for important inbound and outbound calls to your company, rather than rely entirely on a VoIP termination provider.

DTMF Tones
There are at least three different ways that phones can send DTMF (the numeric tones that are generated when you press numbers on the phones). They are not all compatible with each other.

Seminars and Training
There are starting to do seminars. March 5-6 they are offering a two-day course in Los Angeles for $1495 for Trixbox beginners. In the second quarter of 2007 they will offer two more courses; Advanced Trixbox Administratrion, and Advanced Troubleshooting. More on their training site.

Asterisk documentation:
VoIPSpeak.net (Kerry's Blog)
AsteriskTutorials.com - A set of free screencast tutorials for Trixbox, FreePBX, etc. These are great. You can see demos of how to set up some of the basic and advanced functions like inbound and outbound routes, how to do a follow-me function, etc.
Book: Trixbox Made Easy
Web Documentation: Trixbox Without Tears
#FreePBX IRC channel


Vendors:
VoIPSupply.com
VoIPLink.com
ATAComm.com

TDM cards
Sangoma
Rhino
Digium

Using Trixbox under VMWare (software emulation)
VMWare drivers are required when emulating, so you can't use hardware cards. That said, emulation works great for training, and I see that is the plan for their traning seminar; you are to bring a laptop capable of emulating trixbox and you'll walk away from the seminar with a fully configured system.

Compare Trixbox Training vs. an Asterisk Boot-Camp
Boot camp concentrates on the Asterisk configuration files
Trixbox training goes into how to use the Trixbox configuration tools (FreePBX, etc.)

Recommended way to Upgrade from 1.2.3 to 2.0
Upgrade 1.2.3 from 2.0
1. Download and upgrade FreePBX
2. Do a backup using the FreePBX backup functino
3. Do a clean install for 2.0
4. Then do a restore (using the new FreePBX)

n.b. I manged to upgrade by running the upgrade script from the Linux command line, and also running an update of modules from FreePBX. This seems to have worked OK, from my end, but they suggested the above steps as being more reliable.


Relationship between Asterisk and Trixbox

"Asterisk is the engine...Trixbox is the car."

Should you editing Trixbox Config Files
How does FreePBX treat the Asterisk config files... can/should we ever update the config files themselves, or will they get overwritten?
Example of the extensions file:

Extensions <-usually only overwritten when upgrading ASterisk
Extension_Additional <-overwritten from FreePBX (don't edit directly)
Extension_Custom <-changes that are never overwritten by the system - use for customization

DUNDI
There is no web interface for DUNDI, but you can edit the DUNDI config file manually

HudLite - "Heads Up Display"
HudLight - OutLook Integration and Heads-Up display

Distributed PBXs
Remote extensions (single phones in a branch office connected over VoIP0
Remote Trixboxes, (whole trixboxes in branch offices, federated together).
DUNDI - Sort of a DNS which points to IAX and SIP peers. Totally distributed. Created by Mark Spencer of Digium (inventor of Asterisk).

Voice Recognition
Voice Recognition in the IVR - They are working with a couple vendors to make this available, Right now there isn't anything in open source available.

Additional multi-language support is coming.
Trixbox 2.0 has multi-language support

The webinar was a kick. They had 800 participants (!) Both the slides and the commentary will be available later today.

Labels: ,

Monday, January 22, 2007

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!

Labels: , , ,

Saturday, January 13, 2007

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.

Labels: ,

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.

Labels: , ,

Friday, January 12, 2007

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?

Labels: ,

Wednesday, January 10, 2007

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 ;).

Labels: ,

Friday, January 05, 2007

TrixBox 2.0 updates

And while we're on the subject of VoIP... TrixBox now has a 2.0 version available. I downloaded and installed this on another machine, before realizing that, like Dorthy, all I had to do was click the heels of my ruby slippers together three times, and I could upgrade my current Trixbox to version 2.0. And indeed that is all it takes; running the upgrade script, letting it chug for an hour or so, and then going in on the FreePBX interface and running the module upgrade procedure for FreePBX.

2.0 includes new versions of almost everything, including a release candidate 1 of FreePBX 2.2.0. So, now I have TrixBox 2.0 with FreePBX 2.2.0 which manages Asterisk 1.2.13.

Over at the Digium they are touting the Asterisk appliance, which is intended as a Trixbox competitor. This comes with Asterisk 1.4.0, beta a notch more recent than the version provided with TrixBox. I flirted with this; installed it actually, but then ran into some problems. I was intrigued however, to see that there was some additonal support for H.323 video...does this means that Asterisk will someday compete as a videoconferencing multi-point control unit (MCU)?

While the new interfaces are fine, the great news from my perspective was that the update blew away my IAX2 trunk configurations for VoicePulse. It left, however the VoicePulse SIP trunks, and I've been using them for two days without difficulty, not a single reboot or missed call. Call quality seems to be consistantly good. If this continues, I may actually get confident enough to apply for a phone number for the VoicePulse trunks and use them for inbound calls as well as outbound.

I've been using VoicePulse for calls now for a little over a month. Calls within the U.S. have a rate of up to two cents per minute. Calls to Germany were charged 2.7 cents per minute. The one outlier was a charge of 75 cents per minute to directory assistance in the U.S. What a rip!

Labels: ,

Fonality Whitepaper on VoIP

I'd like to post the entire contents, but I'd recommend everyone to go over to the Fonality web site and sign up to receive their whitepaper VoIP without Hype - What Busnesses Need to Know which contains a rather dispassionate discussion of the role of VoIP in the context of our "traditional" phone system. Of several migration approaches discussed, the most conservative, yet still effective is the "hybrid PBX", using IP phones inside the business, and connecting calls over the internet between branch offices, but retaining the ability to still make calls over the regular telephone network.
Whatever approach you decide on for migrating to
VoIP, a hybrid IP-PBX is an excellent first step. Hybrids
operate in three mod