Version: 2.2.0
zqm-axl-importer --config=server.json [--cli | --show | --version]
zqm-axl-importer -h|--help
--config=server.json Configuration file (JSON or YAML format)
--cli Run only once and ends
--show Show actual configuration and ends
--version Show program version
-h Show help
--help Show help
Under postgres administrator create new schema (from file 01_createschema.sql
).
In file can change name of user and password.
Use process file 02_createtable.sql
for create necessary table and functions.
##Configuration file
System support configuration file in JSON or YAML format. Options are same in both.
{
"axl": {
"server": "c09-cucm-a.devlab.zoomint.com",
"user": "ccmadmin",
"password": "zoomadmin",
"ignoreCertificate": true
},
"zqm": {
"jtapiUser": "callrec",
"dbServer": "pm028.pm.zoomint.com",
"dbPort": 5432,
"dbUser": "axluser",
"dbPassword": "a4lUs3r.",
"javaXTerm": "/opt/zqm-axl/jmxterm-1.0.1-uber.jar",
"javaFlush": "/opt/zqm-axl/flush_sc_cache.txt",
"newApi": false
},
"log": {
"level": "TRACE",
"fileName": "./log/data.log",
"jsonFormat": false,
"logProgramInfo": true
},
"processing": {
"hoursBack": 24,
"userImportHour": [
4,
16
],
"defaultTeamName": "_CUCM_imported",
"defaultRoleName": "Agent",
"updateInterval": 5
}
}
Detailed documentation is in the PDF file.
During the run program o some CUCM systems, the program doesn't read the AXL DB version. In this case, we can manually investigate the problem.
First, you must prepare an authentication string. The username replaces your valid CUCM user and the password with the user's valid password.
echo -n "username:password" | base64
# output is (dXNlcm5hbWU6cGFzc3dvcmQ=)
In the next command, replace this:
- SERVER your CUCM IP address or server FQDN,
- VERSION with CUCM major version (9, 10, 11, 12, 14)
- PASSWORD with the token collected with the above command. Response from the server is stored in file response.xml.
curl --location 'https://SERVER:8443/axl/' \
--insecure \
--header 'Content-Type: text/plain' \
--header 'Authorization: Basic PASSWORD' \
--data '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.cisco.com/AXL/API/VERSION.0">
<soapenv:Header/>
<soapenv:Body>
<ns:getCCMVersion sequence="">
</ns:getCCMVersion>
</soapenv:Body>
</soapenv:Envelope>' \
-o response.xml
Example of valid response.xml file where identification the AXL DB version 11
<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<ns:getCCMVersionResponse xmlns:ns="http://www.cisco.com/AXL/API/10.0">
<return>
<componentVersion>
<version>11.5.1.14900(11)</version>
</componentVersion>
</return>
</ns:getCCMVersionResponse>
</soapenv:Body>
</soapenv:Envelope>
Invalid response.xml file, when testing the AXL DB version newer than the server has
<!-- custom Cisco error page -->
<html>
<head>
<title>Cisco System - Error report</title>
<style type="text/css">a { color: #316984; text-decoration: none; } a:hover { color: #316984; text-decoration: underline; } a:visted { color: #316984; text-decoration: none; } body { background-attachment: fixed; background-color: #ffffff; background-repeat: no-repeat; color: #316984; font-family: arial,helvetica,sans-serif; } #content { border: 1px solid #d6d7d6; font-size: 93.5%; margin: 0px 10% 30px 10%; } #content-header { background-color: #eeeeee; border-bottom: 1px solid #666666; color: #666666; font-size: 124.5%; padding: 5px 15px 5px 15px; } #copyright { font-size: 75%; margin: 0px 10% 0px 10%; padding: 3px 0px 0px 0px; text-align: right; } img { display: block; margin: 0px 0px 20px 0px; } #logo { margin: 30px 10% 0px 10%; } p { padding: 5px 15px 5px 15px; } pre { padding: 5px 15px 5px 30px; }</style>
</head>
<body>
<div id="logo">
<img src="/ciscologo.gif" alt="Cisco Systems, Inc."/>
</div>
<div id="content">
<div id="content-header">HTTP Status 599 -</div>
<p>
<b>type:</b>
Status report
</p>
<p>
<b>message:</b>
</p>
<p>
<b>description:</b>
http.599
</p>
</div>
</body>
</html>
Invalid response.xml file, when the tested DB version is too old than the server supports.
<!-- custom Cisco error page -->
<html>
<head>
<title>Cisco System - Error report</title>
<style type="text/css">a { color: #316984; text-decoration: none; } a:hover { color: #316984; text-decoration: underline; } a:visted { color: #316984; text-decoration: none; } body { background-attachment: fixed; background-color: #ffffff; background-repeat: no-repeat; color: #316984; font-family: arial,helvetica,sans-serif; } #content { border: 1px solid #d6d7d6; font-size: 93.5%; margin: 0px 10% 30px 10%; } #content-header { background-color: #eeeeee; border-bottom: 1px solid #666666; color: #666666; font-size: 124.5%; padding: 5px 15px 5px 15px; } #copyright { font-size: 75%; margin: 0px 10% 0px 10%; padding: 3px 0px 0px 0px; text-align: right; } img { display: block; margin: 0px 0px 20px 0px; } #logo { margin: 30px 10% 0px 10%; } p { padding: 5px 15px 5px 15px; } pre { padding: 5px 15px 5px 30px; }</style>
</head>
<body>
<div id="logo">
<img src="/ciscologo.gif" alt="Cisco Systems, Inc."/>
</div>
<div id="content">
<div id="content-header">HTTP Status 599 - Wrong axl version, supported versions are 9.x,10.x and 11.0</div>
<p>
<b>type:</b>
Status report
</p>
<p>
<b>message:</b>
Wrong axl version, supported versions are 9.x,10.x and 11.0
</p>
<p>
<b>description:</b>
http.599
</p>
</div>
</body>
</html>
All response examples are formatted for better readability.