VoIP Detective call reporting processes raw call records that are produced by Call Manager. These files are CDRs (Call Detail Records) and CMR (Call Management Records) and contain raw call information. After enabling the creation of these records in Call Manager, Call Manager will push (via SFTP) these files to VoIP Detective. VoIP Detective doesn't pull, or even interact with Call Manager, it simply sits and waits for Call Manager to send it files.
Process for Enabling CDRs and CMRs:
- Enable CDR/CRM via CallManager service parameters
- Callmanager -> Cisco Unified CM Administration -> System -> Service Parameters
- Select a server from the drop-down box and then select the CallManager service
- Set the ‘CDR Enabled Flag’ to "True". Needs to be enabled per server basis.
- Set 'CDR Log Calls with Zero Duration Flag' to "True" in order to see calls that do not connect (abandoned, errors, etc).
- Set the ‘Call Diagnostics Enabled’ parameter to "Enabled Only When CDR Enabled Flag is True". This is a clusterwide parameter.
- Set 'Show Line Group Member DN in finalCalledPartyNumber CDR Field' to "True"
- Set 'Show Line Group Member Non Masked DN in finalCalledPartyNumber CDR Field' to "True"
- Optional - if you use Forced Authorization Codes, then click the "advanced" button at the top of the screen, and set 'Display FAC in CDR' to "True".
- Configure CDR/CMR via Enterprise Parameters
- Callmanager -> Cisco Unified CM Administration -> System -> Enterprise Parameters, there are two parameters related to CDR:
- CDR File Time Interval - Set this to 1 minute (which is the default)
- Cluster ID - if you only have one cluster, you can leave this at the default of "StandAloneCluster". If you have multiple clusters pointed at the same install of VoIP Detective then you may want to modify this.
- Callmanager -> Cisco Unified CM Administration -> System -> Enterprise Parameters, there are two parameters related to CDR:
- Configure CDR/CMR Loader
- Callmanager -> Cisco Unified Servicability -> Tools -> CDR Analysis and Reporting -> System -> Scheduler -> CDR Load
- Disable Loader - unchecked
- Continuous Loading 24/7 - checked
- Load CDR only - unchecked
- Callmanager -> Cisco Unified Servicability -> Tools -> CDR Analysis and Reporting -> System -> Scheduler -> CDR Load
- Verify the following services are activated and running on the Publisher:
- Callmanager -> Cisco Unified Servicability -> Tools -> Control Center - Network Services
- CDR Agent (activated on every node in the cluster)
- CDR Repository Manager (Can only be activated on the Publisher)
- CAR Scheduler (Can only be activated on the Publisher)
- CAR Web Service (Can only be activated on the Publisher)
- Callmanager -> Cisco Unified Servicability -> Tools -> Control Center - Network Services
- Add a billing server
- Callmanager -> Cisco Unified Servicability -> Tools -> CDR Management -> Under the Billing Application Server Parameters section, click "Add new".
- Host Name / IP Address - the IP of VoIP Detective
- User Name - voipdetective
- Password - voip
- Protocol - SFTP
- Directory Path - /incoming/
- Callmanager -> Cisco Unified Servicability -> Tools -> CDR Management -> Under the Billing Application Server Parameters section, click "Add new".
A detailed description of this process can be found here
Troubleshooting
CUCM is unable to add VoIP Detective as a billing server - Connection Error-Please check FTP / SFTP Parameters - There are a few possibilities for this issue:
- Incorrect username or password for the billing server.
- Network connectivity issue (i.e. CUCM cannot reach VoIP Detective on the network).
The easiest way to troubleshoot this is to try and login via SFTP to VoIP Detective from your desktop. Using an SFTP client (our favorite is FileZilla) connect to VoIP Detective over SFTP using the same credentials that Call Manager would use (port 22 for SFTP, username 'voipdetective', and password 'voip' unless this has been changed).
Assuming everything is correct, you should connect and see that the directory listing is successful
Should the username or password be wrong, you will get an authentication failed error
Next test : login to the CLI of your CUCM and run some tests.
- Using an SSH client, connect to your CUCM and login.
- enter the following command "utils network connectivity <IP of VoIP Detective> 22". Please note that the command has a space before the 22.
- enter the command utils network ping "<IP of VoIP Detective>"
- If using DNS in VoIP Detective, also enter the command "utils network ping <dns name of VoIP Detective>"
If theses commands do not work, then there may be a network issue that is preventing CUCM from pushing files to VoIP Detective.
Older versions of CUCM and insecure algorithms
Older versions of CUCM (including early builds of 11.5) require insecure versions of the Diffie-Hellman key exchange . These have been disabled by default in VoIP Detective, and must be manually enabled.
*important note - future security scans will flag your VoIP Detective install as having "SSH Weak Key Exchange Algorithms Enabled".
VoIP Detective 1.827 and higher offer the ability to enable the Diffie-Hellman key exchange. These are the steps:
- Login to the VoIP Detective command line
- Choose the option to enable or disable Linux OS services
- Choose SSH
- Choose the option to enable Diffie-Hellman key exchange