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
/optfolder on the server. - Extract the CallReporter tarball.
- Create a symlink from the new CallReporter folder to
/opt/callreporterln -s callreporter-3.0.0 /opt/callreporter - Create the callreporter user with the home directory of
/opt/callreporter - Change the ownership of the
/opt/callreporterfolder and all of it's children to the callreporter user. - Copy the
callreporterfile into/etc/init.d. - Run
chkconfig --add callreporterandchkconfig 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>