I thought I'd share my Asterisk experience, which hasn't exactly been as
pleasant as I would like but now seems usable in most ways and more then
I expected in other ways. I wanted a home PBX system, that would let me
treat different callers different ways depending on CID.
I initially bought the Digium developer's kit to try things out. That's
a
single port TDM400 and a X101P. I've added another X101P.
One X101P terminates in a Vontage Cisco ATA-186. The other terminates
with Qwest. The TDM400 is connected to both a TDD and a cordless phone.
I also have a softphone connected along with 2 DID numbers through
Voicepulse. I have a second Asterisk system outside my firewall to use
for FWD.
What went bad (most are minor):
- SIP NATing. I just gave up on this. That's why I set up the second *
box outside my firewall, with an IAX2 connection from my inside * box to
it.
- Voicemail - there are lots of "little" things missing. The main
stuff
is there, but lots of things I'd expect in a fully functional VM aren't
there. I'm also disappointed that there is no way to turn on/off the MWI
on a phone except through receiving a VM message (I'm working on a patch
to add some basic MWI functionality for things like external VM systems)
- TDM400 "lockups" - Sometimes, the TDM400 card seems to go into
"crazy
static" mode. It's the newest revision (this apparently is a known bug
in
some of the older versions). This hasn't happened since I moved cards
around (see next item) and have updated the Asterisk software. The only
solution was to unload and reload the wcfxs module. If it comes back, I
suspect Digium will stand behind their product (I haven't contacted them
formally, so if anything this is half my fault), and it may have been
related to the IRQ problems.
- IRQ/PCI problems. I have a lot of stuff in this machine that takes
IRQs, including SCSI, sound card, net cards, etc. I have 6 filled slots
right now. Initially, when I added the second X101P, the machine would
not boot. It would either hang when the wcfxo module was loaded or crash
with some weird SCSI IRQ errors. After Googling a big I found that some
people can correct this by moving the cards around, so I did this. I also
disabled serial and parallel ports in my BIOS. It took several tries at
moving the cars around before I found a combination that works but things
do seem to work right now even with the TDM400 card sharing an interrupt
with the USB-UHCI device.
- ECHO!!! I ended up updating the * code from CVS and turning on Mark2
with aggressive suppression. This fixed it, although things still sound a
bit strange with full duplex talking (the echo suppression doesn't seem to
like that and the voice volume changes along with some echo being
present). I didn't have much of an echo problem with the X100 going into
the ATA-186, but the X100 going to Qwest was miserable. Of course I also
have DSL on the line, and the wiring in my house was done by the previous
owner (who fancied himself as an electrician), so I'm not claiming my
wiring is bad. Of course I never had any echo on my normal phones, nor
did my DSL have any problems, so I do think there is something up with the
X100 cards. Right now, echo seems okay.
- Volume levels - I had to bump up the rxgain on the Qwest circuit a bit.
But now all seems well.
- Hangup and MWI clearing FSK tones - when "hangup" is executed after
an
extension dials out, * sends the FSK tones to clear the MWI (if
appropriate). Unfortunately, while * may be "hungup", I am not.
WHAT WENT RIGHT:
- IAX2 - this is slick. Works great between my inside-the-firewall *
server and my outside-the-firewall * server, as well as between the inside
box and Voicepulse. It would be nice if there was a *tad* better logging
by default on incoming IAX calls (I had some problems initially with not
having an entry for the Voicepulse DID lines, so * couldn't find the
extension Voicepulse was looking for; rather then logging, it just hangs
up; The IAX debug logs don't indicate *WHICH* extension is being looked
for, either).
- IVR functionality - that works great, too. No gripes at all - this is
better then what you get with most PBX's
- Unexpected functionality - I didn't know my cordless phone had a MWI.
But it does. I was very surprised when a light I had never noticed on the
phone before lit up after I received a voicemail message. That's a neat
feature, and even neater that I didn't need to configure ANYTHING to get
that to work.
- Preliminary TDD support - this also pleased me, although there are some
bugs in this support. It's nice to be able to set up a TDD interactive
response system (right now, I can call my home machine, enter an IP
address, and see my network management view of that machine through my TDD
- which is also nice because lots of places have TDDs connected to pay
phones...) [of course it would be nice if...* had a "TDD" extension
that
worked like the FAX extension if it heard TDD tones - especially the
"space" tone] But, I'm *thrilled* that an open source application
includes this functionality.
- PrivacyManager - This is *SLICK*. I haven't had one unsolicited call
since I installed *. One person who called me without caller ID and
entered their phone number asked, "What does the phone company call that
service?" They thought it was something the carrier did (they don't in
Wyoming).
- Source Code - Being able to fix some bugs has been very handy!
In the future, I will probably rewrite the VM system. There are a bunch
of things that I would like to see it do, and I think C is the wrong
language to write something like that in. It'll probably be an AGI
application (hence why I am going to add the MWI stuff).
I may be installing another * node on a large PBX to support some
telecommuting I do. It'd be nice for me to be able use my employer's
long
distance while doing his work. I'd also like to set it up as a
demonstration IVR system for reporting current system status to our users.
--
Joel