Step 1 - Determine system requirements
The PhoneStream AudioStreamer server version 1.0.10.4 requires the following:
-
One of the following operating systems:
-
RedHat Linux 6.2 or 100% compatible Linux distribution with:
-
Apache HTTP Server 1.3.12 with DSO option.
-
64 MB RAM for Linux and Apache plus approximately 2MB RAM for each concurrently active stream.
-
X Windows Display (required only for installation).
-
Windows 2000 or Windows NT 4.0 (Service Patch 3 or later) with:
-
Internet Information Server (IIS) 4.0 or later.
-
128 MB RAM for Windows and IIS plus approximately 500 KB RAM for each concurrently active stream.
-
Intel Pentium Pro or greater processor.
-
10Mbit or faster Ethernet NIC.
-
30 MB free hard disk space.
-
IMAP4rev1 compatible mail server.
Step 2 - Planning your system configuration
Prior to installing any of the PhoneStream software, determine
how many concurrent audio streams you wish to support and whether any additional
software will be running on the PhoneStream AudioStreamer host. For example, a
small site or an evaluation environment may wish to run a 100 license
PhoneStream AudioStreamer server, a basic web site, and the IMAP server all on
the same host. A larger site, however, will generally host its primary web site,
IMAP mail server, and PhoneStream AudioStreamer each on dedicated hosts. In
enterprise environments, PhoneStream AudioStreamer can also be load balanced to
provide optimal scalability and performance.
Once the server layout has
been determined, calculate how much memory is needed for each PhoneStream
AudioStreamer host. In addition to the base RAM required by the operating
system and web server, allow 2 MB for each concurrent stream on Linux and
500 KB for each concurrent stream on Windows. To operate efficiently, a
100 license PhoneStream AudioStreamer host therefore requires approximately
256 MB of RAM on Linux and 192 MB of RAM on Windows. You will probably
want to calculate the maximum number of concurrent streams to be the same
as the PhoneStream AudioStreamer license count you obtained for your server.
Finally, verify that the network
and network card (NIC) you are using is sufficient for the desired load.
Ethernet runs most efficiently when network usage is well below the stated
bandwidth. Allowing approximately 13 Kbits/second (.013 Mbits/sec) for
each stream,a 100 concurrent stream server requires about 1.3 Mbits/sec.
However, since most installations will use an external IMAP server, the
network usage may be twice this value since there is both an incoming stream
from the IMAP server and an outgoing stream to the user. The 100 concurrent
stream server will therefore require approximately 2.6 Mbits/sec, which
is well within the bandwidth of a 10 Mbits/sec ethernet network if the
remainder of the network traffic is nominal.
Step 3a - Preparing a PhoneStream AudioStreamer host (Linux ONLY)
PhoneStream AudioStreamer
for Linux is designed to work on any installation which is binary compatible
with RedHat 6.2. After installing Linux according to the distribution instructions,
it may be necessary to separately install the Apache HTTP Server if it
is not installed automatically. When installing Apache from binaries or
when building it from sources, always verify that Apache is built with
the DSO option (dynamic shared objects), otherwise Apache will not be able
to communicate with the PhoneStream AudioStreamer server.
After installing Linux and
Apache, test your installation by navigating to the host using a web browser.
You should be presented with a banner page stating that Apache is installed.
If not, you will need to correct your Apache installation before continuing.
If you have previously installed
PhoneStream AudioStreamer and are now upgrading to a new release, you should
uninstall the previous version by running the Uninstall_AudioStreamer
script which was saved to the install location you specified when the software
was initially installed:
/usr/local/PhoneStream/AudioStreamer/Uninstall_AudioStreamer
Step 3b - Preparing a PhoneStream AudioStreamer host (Windows ONLY)
PhoneStream AudioStreamer
for Windows is designed for use with Internet Information Server 4.0 or
later. IIS 4.0 is available as a free update to Windows NT 4.0 (part of
the Windows NT Option Pack). IIS 5.0 is included as an optionally installed
component of Windows 2000.
After installing Windows and
IIS, test your installation by navigating to the host using a web browser.
You should be presented with a banner page stating that IIS is installed.
If not, you will need to correct your IIS installation before continuing.
If you have previously installed
PhoneStream AudioStreamer and are now upgrading to a new release, you should
uninstall the previous version by running the Add/Remove
Programs control
panel, selecting AudioStreamer, and choosing Remove.
After the uninstall is complete, it is recommended that you unload any
cached scripts, executables, or pages by rebooting the server (or using
the Unload
button on the Home
Directory tab of
the Web Site Properties in the Internet Information Services Management
Console).
Step 4a - Installing the PhoneStream AudioStreamer software (Linux ONLY)
The PhoneStream installation
can now proceed using the following steps. These steps assume the installation
is started from a command line shell:
-
Start the PhoneStream AudioStreamer host and wait for the Login prompt.
-
Login to the PhoneStream AudioStreamer
server as root or use 'su' to promote your security level to root.
-
Set your DISPLAY variable to your
X Windows display. This is generally handled automatically when you login
if an X Windows Server is running on the PhoneStream AudioStreamer host,
but may be necessary if installing the software using a remote X Windows
Display.
-
Obtain the PhoneStream installation
package in the form of a self-extracting archive called install.bin.gz
and save it to the current directory.
-
Uncompress install.bin.gz to
create install.bin:
gunzip install.bin.gz
-
Execute install.bin:
./install.bin
-
When the installation requests
a serial number, use the license key obtained from AudioBanner.com or leave
the field blank for a 2 concurrent stream evaluation license.
-
When requested, choose "Typical Installation" or "Full Installation". Full
Installation is recommended unless only web browser access is required (the
IMAP proxy for e-mail client access is not installed by "Typical
Installation.")
-
Choose the location of your Linux Apache configuration
file. The installer will prompt you with the default location.
-
On the installation's configuration screen, set the following:
-
Type your IMAP server's DNS or IP address
in the IMAP Server/Port
field. If your IMAP server runs on a port other than the well-known IMAP port (143)
then you will also need to change the port in the subsequent field.
If this is the first time you have installed a PhoneStream system,
you may wish to use the PhoneStream test IMAP server mailtest.phonestream.com
(port 1430) to initially test your installation and later change this setting
to point to your actual IMAP server by editing eastream.ini.
If desired, verify the connection by selecting "Check it!" (this may take up to 30 seconds
to time out if the server does not respond).
-
Select the "Server Properties" button. In this form, set the following:
-
Set the name of the IMAP folder which will be scanned for messages:
Mailbox: inbox
-
Configure the MIME type that will be checked for compatible attachments:
MIME Type: audio
-
Determine the number of bytes prefetched by the AudioStreamer to choose the
audio codec used for a particular audio attachment:
Header Size: 100
-
Optimize the shared memory used by the PhoneStream AudioStreamer:
Shared Memory (KB): 512
-
For improved compatibility with IMAP servers that do not support
advanced server-side attachment searches (e.g. iPlanet Messaging Server),
select the option:
Regular expression in applet mask
-
To enable web browser client users to see messages that do not contain
audio attachments, select the option:
Show all messages in mailbox
-
G.711 audio attachments can be automatically transcoded to GSM by the
PhoneStream AudioStreamer to allow the audio to stream over a low-bandwidth
connection. To enable this feature, select the option:
G.711 -> GSM
-
Select the "Security Properties" button. In this form, set the following:
-
To encrypt URIs sent to the web server, change the Algorithm setting to an
option other than None. The recommended setting is either RC2 or RC4 encryption.
If encryption is not selected the end-user's username and password will be
sent to the web server as clear-text. Therefore the None setting is only recommended
for evaluation and testing:
Algorithm: RC2
-
If an encryption algorithm is selected then a random encryption key must be
generated to perform the encryption process. In this case, choose the
Generate option. If you would like to use an
existing encryption key previously generated by the PhoneStream AudioStreamer
choose the Select option and type the path
to the key in the text field.
-
Type the DNS or IP address of the web server on which you are installing
the PhoneStream AudioStreamer software
in the WWW Server/Port
field. If your web server runs on a port other than the well-known HTTP port (80)
then you will also need to change the port in the subsequent field.
If desired, verify the connection by selecting "Check it!" (this may take up to 30 seconds
to time out if the server does not respond).
-
Select the "Proxy Properties" button. In this form, set the following:
-
Determine the port that will be used by e-mail clients to connect with the IMAP Proxy.
For the best results, you will generally want to
use the well known IMAP port (143). However, if you are running the IMAP server
on the same IP address as the IMAP Proxy you must either use a different port for the
IMAP Proxy (e.g. 1430) or reconfigure your IMAP server to use a different port. If you
choose to reconfigure your IMAP server, be sure to reflect this change in the
IMAP Server/Port setting you
made earlier.
-
Select the number of client connections you wish to allow the IMAP Proxy to
handle simultaneously using the Max. Connections
setting. Connections are handled by the IMAP Proxy in a round-robin fashion.
-
Choose an Idle Timeout value to allow idle
connections to be returned to the pool of available connections.
-
If desired, select Re-read INI file for new connections
if you expect these settings to need to be changed dynamically. This allows new
connections to utilize the new settings without restarting the entire IMAP Proxy.
This settings is recommended only for evaluation and testing purposes.
-
If you obtained a separate applets package with your PhoneStream installation,
add entries for the MIME subtypes
supported by these applets.
-
Complete the remaining installation
steps of the installer.
-
Restart Apache and verify it starts properly:
apachectl restart
apachectl status
-
Start the IMAP Proxy and verify it starts properly:
/etc/rc.d/init.d/easproxyd start
/etc/rc.d/init.d/easproxyd status
Step 4b - Installing the PhoneStream
AudioStreamer software (Windows ONLY)
The PhoneStream installation
can now proceed using the following steps:
-
Start the PhoneStream AudioStreamer
host and login with administrative privileges.
-
Obtain the PhoneStream AudioStreamer
installation package in the form of a self-extracting archive called install.exe
and save it to the current directory.
-
Double-click on install.exe
and follow the installation instructions.
-
When the installation requests
a serial number, use the license key obtained from AudioBanner.com or leave
the field blank for a 2 concurrent stream evaluation license.
-
When requested, choose "Typical Installation" or "Full Installation". Full
Installation is recommended unless only web browser access is required (the
IMAP proxy for e-mail client access is not installed by "Typical
Installation.")
-
On the installation's configuration screen, set the following:
-
Type your IMAP server's DNS or IP address
in the IMAP Server/Port
field. If your IMAP server runs on a port other than the well-known IMAP port (143)
then you will also need to change the port in the subsequent field.
If this is the first time you have installed a PhoneStream system,
you may wish to use the PhoneStream test IMAP server mailtest.phonestream.com
(port 1430) to initially test your installation and later change this setting
to point to your actual IMAP server by editing eastream.ini.
If desired, verify the connection by selecting "Check it!" (this may take up to 30 seconds
to time out if the server does not respond).
-
Select the "Server Properties" button. In this form, set the following:
-
Set the name of the IMAP folder which will be scanned for messages:
Mailbox: inbox
-
Configure the MIME type that will be checked for compatible attachments:
MIME Type: audio
-
Determine the number of bytes prefetched by the AudioStreamer to choose the
audio codec used for a particular audio attachment:
Header Size: 100
-
Set the web site ID on which the PhoneStream AudioStreamer will be installed.
This value is generally a numerical index starting with 1 for the default IIS
web site. If your IIS server only hosts one web site, the setting should be 1.
-
Determine the virtual directory to be used for the PhoneStream AudioStreamer
on the web site specified in the previous field. This is the location web site users and IMAP proxy users
will refer to using hyperlinks when retrieving audio attachments.
The default setting is /audiostreamer.
-
For improved compatibility with IMAP servers that do not support
advanced server-side attachment searches (e.g. iPlanet Messaging Server),
select the option:
Regular expression in applet mask
-
To enable web browser client users to see messages that do not contain
audio attachments, select the option:
Show all messages in mailbox
-
G.711 audio attachments can be automatically downconverted to GSM by the
PhoneStream AudioStreamer to allow the audio to stream over a low-bandwidth
connection. To enable this feature, select the option:
G.711 -> GSM
-
Select the "Security Properties" button. In this form, set the following:
-
To encrypt URIs sent to the web server, change the Algorithm setting to an
option other than None. The recommended setting is either RC2 or RC4 encryption.
If encryption is not selected the end-user's username and password will be
sent to the web server as clear-text. Therefore the None setting is only recommended
for evaluation and testing:
Algorithm: RC2
-
If an encryption algorithm is selected then a random encryption key must be
generated to perform the encryption process. In this case, choose the
Generate option. If you would like to use an
existing encryption key previously generated by the PhoneStream AudioStreamer
choose the Select option and type the path
to the key in the text field.
-
Type the DNS or IP address of the web server on which you are installing
the PhoneStream AudioStreamer software
in the WWW Server/Port
field. If your web server runs on a port other than the well-known HTTP port (80)
then you will also need to change the port in the subsequent field.
If desired, verify the connection by selecting "Check it!" (this may take up to 30 seconds
to time out if the server does not respond).
-
Select the "Proxy Properties" button. In this form, set the following:
-
Determine the port that will be used by e-mail clients to connect with the IMAP Proxy.
For the best results, you will generally want to
use the well known IMAP port (143). However, if you are running the IMAP server
on the same IP address as the IMAP Proxy you must either use a different port for the
IMAP Proxy (e.g. 1430) or reconfigure your IMAP server to use a different port. If you
choose to reconfigure your IMAP server, be sure to reflect this change in the
IMAP Server/Port setting you
made earlier.
-
Select the number of client connections you wish to allow the IMAP Proxy to
handle simultaneously using the Max. Connections
setting. Connections are handled by the IMAP Proxy in a round-robin fashion.
-
Choose an Idle Timeout value to allow idle
connections to be returned to the pool of available connections.
-
If desired, select Re-read INI file for new connections
if you expect these settings to need to be changed dynamically. This allows new
connections to utilize the new settings without restarting the entire IMAP Proxy.
This settings is recommended only for evaluation and testing purposes.
-
If you obtained a separate applets package with your PhoneStream installation,
add entries for the MIME subtypes
supported by these applets.
-
Complete the remaining installation
steps of the installer.
Step 5 - Test your PhoneStream
server
Type
http://localhost/AudioStreamer/main.htm
in your browser's address field (replacing
localhost
with the DNS name or IP address of your PhoneStream AudioStreamer host if you not using
a local browser). This will log you in to your IMAP server using the PhoneStream
AudioStreamer software and display the message list page.
If you selected AudioBanner's
test IMAP server, mailtest.phonestream.com,
you can log in using the user name test
and the password audiobanner
by pressing the Login
button. After a short wait, you are presented with a list of messages containing
audio attachments. Selecting the first message in the list will open a
second list with a single item (this message has only one attachment).
Selecting Play
will allow you to hear the test message. If the message or audio attachment
does not appear, contact support@audiobanner.com for
assistance.
Eastream.msg
This file contains
all error messages returned by PhoneStream.
Debug Log
-
The log file can be turned on
by setting the flag Log in eastream.ini
(note that it is necessary to restart the web server and unload any cached
libraries for changes to eastream.ini
ro take effect):
Log=on
-
For Windows, the name of the log
file is debug.log
(located in the product installation directory).
-
For Linux, log information is
stored in Apache's error_log,
located in <ServerRoot>/logs.
To enable Apache logging, it is also necessary to set LogLevel=debug
in <ServerRoot>/conf/httpd.conf.
PhoneStream Settings (eastream.ini)
Section [applets]
The applets section
contains key=value pairs. These pairs are used to associate a MIME subtype
with the location of a Java applet which can decode this MIME subtype.
For example, if the currently installed PhoneStream server can support
the wav, x-wav, and gsm subtypes with the following settings:
audio/wav=classes-021
audio/x-wav=classes-021
audio/gsm=classes-023
The values classes-021
and classes-023
represent Java applet folders installed in the AudioStreamer folder.
Section [init]
| Parameter |
Meaning |
Default |
| Server |
IMAP
server IP address |
None |
| ServerPort |
IMAP
server TCP port |
143 |
| Mailbox |
IMAP
server mailbox |
Inbox |
| WWWServer |
DNS name or IP address of PhoneStream AudioStreamer server or load-balancing router. |
None |
| WWWServerPort |
HTTP TCP port of PhoneStream AudioStreamer server or load-balancing router. |
80 |
| SessionTimeout |
Session
timeout in seconds |
1500 |
| CheckInterval |
Interval
in seconds between checks for session timeouts |
300 |
| MIMEType |
Default
MIMEType of selected messages |
audio |
| ListTemplate |
HTML
file used as the template for message list |
List.htm |
| PlayTemplate |
HTML
file template containing applet |
Play.htm |
| AttListTemplate |
HTML
file used as the template for attachments list |
Attlist.htm |
| ErrorReportTemplate |
HTML
file template for error report. |
Error.htm |
| VirtualPath |
IIS
virtual path to AudioStreamer install directory
IIS implementation
only |
/1/ROOT/AudioStreamer |
| KeepIMAPSession |
On/Off.
User remains connected to IMAP server between HTTP request if value is
On
Windows implementation
only |
Off |
| SharedMemSize |
Size
in KB of shared memory block
Linux implementation
only |
256 |
| UseRegExp |
Use
left part on applet section entries as regular expression for message selectionto. |
Off |
| ShowAllMessages |
Shaw
all messages in mailbox without any selection. |
Off |
| CheckHeaderSize |
Number of bytes prefetched by the AudioStreamer to choose the
audio codec used for a particular audio attachment |
100 |
| SSL |
Enable secure login using https and a SSL certificate (not provided). |
Off |
| G711toGSM |
Enable transcoding of G.711 audio attachments into GSM to
allow the audio to stream over a low-bandwidth connection. |
On |
| Log |
Debugging/status log for AudioStreamer |
Off |
Section [proxy]
| Parameter |
Meaning |
Default |
| ProxyPort |
TCP port on which IMAP Proxy listens. |
1430 |
| WWWAudioStreamer |
Path to virtual directory containing PhoneStream AudioStreamer on WWWServer |
/AudioStreamer |
| ReadEveryTime |
Parse the eastream.ini file for each new IMAP Proxy connection |
Off |
| Timeout |
Number of seconds before an idle connection is timed out |
10 |
| MaxConnection |
Number of simultaneous connections to allow before refusing a connection |
100 |
| PlainTextURL |
|
Off |
| Console |
|
Off |
| ProxyLog |
Debugging/status log for IMAP proxy |
Off |
Section [security]
| Parameter |
Meaning |
Default |
| Algorithm |
Encryption algorithm for URIs transmitted to the PhoneStream
AudioStreamer to retrieve specific attachments without transmitting the username,
password, and message ID (currently only None, RC2, RC4, and Base64 are supported). |
None |
| KeySource |
Filename (not full path name) of the encryption key. If you are
running multiple AudioStreamer servers behind a load-balancing router this file should
be the same on all servers. |
None |