[IMC-Tech] Developing Open Source Voice Portal for the Network

alias salem salim at mashriq.org
Thu, 10 May 2001 14:56:44 -0700


Below you will find the readme file from the zip archive I created
for the voice portal project (http://www.mashriq.org/Studio220/imcportal.zip).
The current version is an early attempt at building an voice
portal for IMC content. A voice portal allows users to browse
content using that omnipresent instrument called the phone. The
current working version can be test browsed by calling 1.415.869.6541
This is merely an develop version and is not publicly promoted.
I am trying to give folks an ideal of what we can and can't accomplish
with this. So have a geekified time checking it out. Some day
the Geek Bloc will rule :-)

later,

salim
------------------------------------------------------



BUILDING AN OPEN SOURCE VOICE PORTAL WITH CallXML FOR THE INDY
MEDIA NETWORK

BACKGROUND:
So in the process of trying to open up access to Indymedia content
I looked into developing a telephone browser application which
allows folks to use their telephone to browse content via audio.
I have developed a very basic static voice portal using
the voxeo platform (voxeo.com), an open source linux based network
of phone servers, using the markup language of CallXML. CallXML
(see http://community.voxeo.com/index.cfm?pageid=3A1A89B2-19FE-4961-913D156FCCE11A51)
is an web apps scripting
language that is based on XML. It is related to the corporate
developed VoiceXML. CallXML is an open source markup language
being developed
by open source developers and is not corporate based. It is a
simple and elegant scripting language which can be integrated
easily with the PHP
scripting language base of the Active Code we use at Indymedia
(see example: http://community.voxeo.com/index.cfm?pageid=E21EDA10-CC21-4DEB-958BFBB9D32A3E8F).
On this zip file (see http://www.mashriq.org/Studio220/imcportal.zip)
you will find all the xml files necessary for a basic voice portal
for your local Independent Media Center.

IMPLEMENTATION:
First I would like to discuss some of the issues about implementation.
The major issue is deciding whether or not you want to host your
voice portal application on the voxeo.com network or
develop your own telephone servers. Although there is now an
open source server based on linux (see http://www.bayonne.cx)
the costs involved in this has prooved to be a barrier to 
independent stand alone implementation of the voice portal. It
would require in addition to the purchase of new servers, the
leasing of a T1 connection to the internet backbone. 
Thus I opted for setting up an free account at voxeo's network.
To do this you will need to sign up for a developer account (free
of charge) at http://community.voxeo.com. What does voxeo do?
Voxeo does not host the code. YOu will need to 
host your code on  your own server, i use my mashriq.org server
for this. Once you have the code on your server you will need
to open your voxeo account manager and create an application.
Follow the voxeo instructions. You will point your application
url to the file main.xml.
If you use the template application enclosed you will only need
to create one application file at voxeo. Voxeo only handles the
configuration of the access phone number and pointing it to your
files on your server. this is may sound like a little but in
terms of the technology involved it is alot and what makes
this so expensive. 

THE FILES:
So what is on the files? See the list and description of each
file below.

a. main.xml -- this is the main menu file. this is the file accessed
when you dial in. this file links to a. mayday.xml, quebec.xml,
call.xml, urgent.xml, and localReport.xml. (can be accessed now
by dialing 415.869.6541)
b. mayday.xml and quebec.xml are simple files which merely call
audio files to be played over the phone.
c. call.xml -- is an actual application. this application allows
for you to be transferred to a live speaker and hold an actual
live conversation.
d. urgent.xml -- is also an application. it allows for callers
to leave a message and that message is sent to a list of recipients
using a mailto function. it is intended to be used by people
out in the streets with breaking news but no internet access.
(can be accessed now by dialing 415.869.6538)
e. localReport.xml -- is a static file which plays the daily
update audio file compiled by IMC staff and intended to be updated
daily.
f. local.xml -- is an application file which allows for reporters
to compile the daily update through the phone thus alleviating
the necessity of going to a studio to record the update. it is
the same as urgent.xml. (can be accessed now by dialing 415.869.6543)

NEXT GENERATION:
As this is a new technology and none of our PHP developers have
yet to look into developing dynamic content for the phone we
can look forward to better voice
portal applications in the future. Integrating CallXML and SQL
is the next step, including screen scraping the newsire thus
allowing the newswire to be read over the phone. and filing reports
to the newswire through the phone.


-- Alias Salem
   San Francisco IMC
   salim@mashriq.org