[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