Installation
Prerequisites
- Java JDK 1.8
- ECGCDRLoader installed and configured.
- Access to a directory or directories housing BroadWorks CDRs. This is typically done via NFS.
- MongoDB
Setup
- Download the CallReporter tarball to the
/opt
folder on the server. - Extract the CallReporter tarball.
- Create a symlink from the new CallReporter folder to
/opt/callreporter
ln -s callreporter-3.0.0 /opt/callreporter
- Create the callreporter user with the home directory of
/opt/callreporter
- Change the ownership of the
/opt/callreporter
folder and all of it's children to the callreporter user. - Copy the
callreporter
file into/etc/init.d
. - Run
chkconfig --add callreporter
andchkconfig callreporter on
- CallReporter can then accessed by visiting
http://<serverip>:8080
.
Apache Integration
Accessing CallReporter through Apache is supported using the AJP connector or HTTP proxy. This allows for access through port 80 as expected from most web applications. The AJP port defaults to 8009 but can be modified using the callreporter.ajp.port
environment variable.
Configuration for this is typically performed as a .conf
file in /etc/httpd/conf.d
that connects a virtual host to the CallReporter installation.
Example configuration located at /etc/httpd/conf.d/callreporter.e-c-group.com.conf
<VirtualHost *:80>
ServerName callreporter.e-c-group.com
ProxyPass / http://localhost:8009/
ProxyPassReverse / http://localhost:8009/
<!-- Other settings -->
</VirtualHost>
It is also recommend to add or update the ProxyTimeout
field. This is typically added in the httpd.conf
file in /etc/httpd/conf/
.
#
# Proxy Server directives. Uncomment the following lines to
# enable the proxy server:
#
<IfModule mod_proxy.c>
ProxyRequests Off
ProxyTimeout 1200
</IfModule>
Although the mod_proxy module needs to be enabled to support the ProxyPass
directive the ProxyRequests
field should be off for security purposes. It is also recommended to use name based virtual hosting and deny traffic not specifically targeted for the Call Reporter service.
To accomplish this, enable name based hosting in the httpd.conf
file.
#
# Use name-based virtual hosting.
#
NameVirtualHost *:80
Then added a default virtual host that would deny all traffic not specified for the correct server name.
Example file added at conf.d/00-default.conf
.
<VirtualHost *:80>
ServerName default.only
<Location />
Order allow,deny
Deny from all
</Location>
</VirtualHost>