Together with my customer we are working on a CUCM config assurance script and the goal is to query certain CUCM parameters via AXL, verify them and display the misconfigured parameters to users so they can correct CUCM configuration on web GUI. We are able to query and verify the necessary settings, the problem is that we have AXL parameter names and values but need to display the corresponding web GUI parameter name and value for users.
Here is an example:
I have this as a result of AXL query:
Name: CallDiagnosticsEnabled Value: 1
The same parameter is displayed on GUI this way:
Name: Call Diagnostics Enabled Value: Enabled only when CDR enabled Flag is True
How to find a mapping between AXL parameter values (numeric) and string values displayed via Web Admin (strings) ???
The data in the given example i stored in the table "scratch", but the how the binding to the actual service parameter is done is a bit unclear. It might be hard coded into the CUCM GUI. The name from AXL could be matched to the "xmlrule://..."-string. It would not be completely safe though since it is a really loose binding. Service parameters and the vendor specific config on devices has kind of the same but different design. The whole thing around service parameters and vendor config (the xml in xml on devices) is messy and would really benefit from a redesign. I made a xsl-script that generates correct xsd schemas including GUI representations as appinfo-tags from all the various xmlrule/xml display instance files a while back but something more interesting came up and it was never really finished. Hope this is of some help :-)
admin:run sql select * from scratch where name = 'xmlrule://cisco.com/ServiceParameter/CCM/CallDiagnosticsEnabled' pkid name content readonly ==================================== =============================================================== ========================================================================================================================================================================================================================================================================================================================================================================================================================================================================== ======== 0b19901b-b8a9-4f27-b54b-4868348d918c xmlrule://cisco.com/ServiceParameter/CCM/CallDiagnosticsEnabled <?xml version="1.0" encoding="UTF-8" ?> <rule> <name>xmlrule://cisco.com/ServiceParameter/CCM/CallDiagnosticsEnabled</name> <author>Cisco Systems, Inc.</author> <list> <defaultKey>0</defaultKey> <multiKey>false</multiKey> <options> <option key="0" text="Disabled"/> <option key="1" text="Enabled Only When CDR Enabled Flag is True"/> <option key="2" text="Enabled Regardless of CDR Enabled Flag"/> </options> </list> </rule> t admin:
Not aware of any systematic, consistent way to map database->AXL fields->UI for terms and labels, unfortunately...much of the magic is hard-coded into the admin web UI. I like your XML rules mapping concept though :)
it very simple. It exist a table with name "processconfig" in these table you can find all parameters.
here an example
select paramname, paramvalue from processconfig where paramname like '%Diagn%'