Tech for Non-Profits

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, 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: , , ,

Friday, October 05, 2007

Community Voice Mail








Hmm..if you are ever wondering what to do to with a Trixbox...

Community Voice Mail is a service that provides free phone numbers and voice mail boxes to clients without reliable access to a telephone.
Their phone may have been cut off; they may live in a group shelter; they may be fleeing domestic violence. For many poor, homeless, or otherwise needy people, the privacy afforded by a personal voice mailbox is an impossible luxury.

CVM is a hosted service which is run out of their national office in Seattle. They reserve blocks of phone numbers in their host cities. Local programs are hosted by an existing social-service agency or program, who must provide one FTE person as staff.

From the CVM web site:
The CVM Model

Each CVM site around the United States is hosted by one main social or health service agency ("Host Agency") which is responsible for funding and managing the CVM service for the whole city/community. The host agency gives out the voicemail boxes to other participating agencies who then give them to the end users/clients. The key to the program is the fact that clients receive a local telephone number at which to receive messages from potential employers, landlords and others --and case workers can utilize CVM to stay in contact with their clients, doubling the impact of the service.


Another fine article...hidden behind the "premium" firewall at the Chronicle of Philanthropy.

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: , ,

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: , ,

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: , , ,