Tag Archives: VoIP

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.

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.

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.

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.

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?

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.

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!

Trixbox/Asterisk Progress Report

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

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

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

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

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

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

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

Debugging SIP in Asterisk/Trixbox

Here’s the scenario:

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

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

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

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

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

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

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

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

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

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

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

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

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

I don’t think she bought it.

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?