[kw-pm] Jabber, Asterisk and Net::Jabber Fun
Andrew Kohlsmith
akohlsmith-pm at benshaw.com
Wed May 12 10:47:00 CDT 2004
> That does sound like a lot of fun. I've got the reverse problem; not
> enough screens around the house. So I can broadcast my incoming CID info
> onto the radios around the house which are streaming music from my
> computer (over FM)... But I like the jabber client solution.
Years ago I wanted to build a video MUX that would just overlay text over
whatever I was watching on TV so I could have status displays (dryer's
finished, doorbell, phone, etc.). Piece of cake to do but I never got around
to it. This is just the first stage I suppose. :-)
> How much work was it to set up asterix at work? What sort of hardware do
> you need on your end, for the phone?
Asterisk is pretty easy to set up. If you are after VOIP-only then no
hardware is needed, although it's strongly recommended to have some form of
Zaptel hardware to provide timing.
At home I have a 3-port FXS card (FXS = port you plug telephones in to, FXO =
port you plug phone lines in to) -- My cordless phone, kitchen phone and
bedroom phone plug in to those three ports. I have no phone lines at all.
The TDM card (generic name is TDMxyP, where x = # of FXS ports and y = # of
FXO ports, to a combined max of 4) is Digium's modular and relatively
inexpensive gateway card. Digium is the company sponsoring Asterisk and
employing Mark Spencer, who I believe is the creator of Asterisk.
If you just need something to plug a phone in to, I have heard amazing things
about their IAXy module. It's basically a box with an FXS port and an
ethernet port; it converts any phone/modem/fax you plug into it into an VOIP
device using Asterisk's own IAX2 protocol. IAX2 is a VOIP protocol which in
my opinion kicks ass *and* chews bubblegum. It uses a single UDP port, can
handle trunking (putting multiple conversations into a single packet to save
packet overhead), is NAT friendly and supports extensions such as video. SIP
is the current "leader" for VOIP protocols, succeeding h.323, but compared to
IAX2 they're crap. Unfortunately IAX is Asterisk-specific, although it is
open-standard and license-free.
Anyway after you have Asterisk up and running you will likely want to be
saving money on long distance. Sign up with a VOIP provider such as Nufone
or Voicepulse or any of the others out there and start rocking. IIRC
Voicepulse, iconnecthere and a number of others have ~$10-20/mo unlimited
calling plans for North America. Nufone is run by Jeremy McNamara whos
entire VOIP company runs Asterisk. Both Nufone and Voicepulse support IAX2
for VOIP, which is why I recommend them.
Seriously though once you have your own Asterisk box up and running you can do
some seriously cool shit with your phones. Asterisk has its own voicemail,
agent queueing and conferencing. As I said, I have three FXS ports in my
Asterisk box -- I can take three simultaneous calls; I can have certain
phones ring only for certain numbers and/or certain times of the day...
seriously cool stuff that I haven't even begun to scratch the surface on. I
figure the multiple line features will come in handy when my daughter gets a
little older. :-)
Asterisk also supports ADSI -- you know those Bell screen phones? You can
write applications for them to take advantage of the soft buttons and print
information to the screen. The voicemail application currently makes use of
ADSI.
Anything Asterisk doesn't currently do you can make it do through writing
applications (everything is an application module... dialing, call parking,
music on hold, transfer, voicemail, DISA, even playing things like busy tones
or text-to-speech through Festival) -- If you make a new channel technology
you can write a channel module for it so Asterisk can use it. And if you
just want to tie your phones in to your business logic there's AGI and EAGI
-- (Extended) Application Gateway Interface. The main difference is that
EAGI can manipulate the audio stream, while AGI is more of a routing/dialplan
manipulation thing. And yes. Asterisk::AGI exists. :-)
At work I've got two Asterisk boxes -- one at the office and one at a colocate
facility with a lot more lines. We're moving to a new building next month
and I only have one phone line there (for the security system and for an
emergency phone) -- everything else terminates at a PRI at the colocate and
is routed to us over an SDSL link. The in-office Asterisk box has a
single-port T1 card in it to connect to our phone system (since we like the
fancy phones), and the colocate Asterisk box has a quad-port T1 card in it.
One port to Bell Canada for our POTS lines (local dialling), another to a
channel bank so we can have sales guys dial in securely, and the other two
for expansion, probably to a channel bank to the colocation so they can take
advantage of VOIP. Seriously cool stuff.
Of course, we are using Asterisk to ultimately control our phone bill -- I've
negotiated some pricing with some VOIP providers (main and backup) which
should get us calls in the sub-$0.03/min anywhere in North America, any time
of the day. Combined with the ability to route the bulk of our bill -- calls
to our parent company in Pittsburgh, PA -- over VOIP entirely and skip the
phone bill, we should see some serious savings.
Sorry that this sounds like an ad -- I'm just really pumped about this
technology. Considering the big incumbents are all moving to packet-based
networks and using VOIP internally this is just an extension of that, using
open standards and OSS.
Regards,
Andrew
Some links:
www.asterisk.org
www.digium.org
www.voip-info.org
www.voip-info.org/wiki-Asterisk+AGI
irc.freenode.net #asterisk
More information about the kw-pm
mailing list