[cisco-voip] SQL query to dump enterprise/system parameters

Wes Sisk wsisk at cisco.com
Fri Apr 20 12:25:10 EDT 2012


strap in for a few minutes...

turn ccmadmin traces up to debug, make an update and review the logs:
tomcat/logs/ccmadmin/log4j/ccmadmin00004.log

2012-04-20 12:03:36,240 DEBUG [http-8443-Processor21] actions.ServiceParamEditAction - Current value string<AAREnable>F</AAREnable> (...)

2012-04-20 12:03:36,242 DEBUG [http-8443-Processor21] xmlhandler.XMLDbAccess - Executing this query from XMLDbAccess:(SELECT S.name as name, S.content as content FROM Scratch S INNER JOIN XMLDisplayInstanceRuleMap X ON X.fkScratch_Rule = S.pkid WHERE (X.fkScratch_DisplayInstance = (SELECT pkid FROM Scratch WHERE name = 'xmldi://cisco.com/serviceParameters/0'))) UNION ALL (SELECT name, content FROM scratch  WHERE name ='xmldi://cisco.com/serviceParameters/0') ORDER BY name

so that is the SQL query.  special chars prevent running this inside the 'run sql ...' cli:

(SELECT S.name as name, S.content as content FROM Scratch S INNER JOIN XMLDisplayInstanceRuleMap X ON X.fkScratch_Rule = S.pkid WHERE (X.fkScratch_DisplayInstance = (SELECT pkid FROM Scratch WHERE name = 'xmldi://cisco.com/serviceParameters/0'))) UNION ALL (SELECT name, content FROM scratch  WHERE name ='xmldi://cisco.com/serviceParameters/0') ORDER BY name


xmlrule://cisco.com/ServiceParameter/CCM/TimerT302_msec
content  <?xml version="1.0" encoding="UTF-8" ?>^M
<rule>
                <name>xmlrule://cisc
         o.com/ServiceParameter/CCM/TimerT302_msec</name>
                <author>Cisco Syste
         ms, Inc.</author>
                <integer>
                        <default>15000</default>
                        <min>3000
         </min>
                        <max>75000</max>
                </integer>
        </rule>


Looks like you can get this from cli with simply 'admin:run sql SELECT name, content FROM scratch'

Regards,
Wes


On Apr 20, 2012, at 10:42 AM, Anthony Holloway wrote:

Wes,

Is there a way to programmatically detect a change in the T302 timer from the default setting?  I would think that if there were, then we could have a true report of which parameters have been modified, and which have not.

As you can see here, unlike the CDR Enabled flag, when I set the T302 timer to the default value, it remains in the processconfig table:

Non Default Setting
admin:run sql select fkprocessnode, paramname, paramvalue from processconfig where paramname = 'TimerT302_msec'
fkprocessnode                        paramname      paramvalue
==================================== ============== ==========
00000000-1111-0000-0000-000000000000 TimerT302_msec 8000

Default Setting
admin:run sql select fkprocessnode, paramname, paramvalue from processconfig where paramname = 'TimerT302_msec'
fkprocessnode                        paramname      paramvalue
==================================== ============== ==========
00000000-1111-0000-0000-000000000000 TimerT302_msec 15000
admin:

When you look at the defaults in processconfigdefaults, one will notice that these are only non-enterprise wide parameters.

However, while looking at the web interface, we can clearly see that CUCM knows what the default value is for all parameters as indicated in the "Suggested Value" column.

-Anthony

On Fri, Apr 20, 2012 at 7:39 AM, Wes Sisk <wsisk at cisco.com> wrote:
the design was for defaults to be in defaults and non-default to be in config. however, that has not been strictly honored. you have to check both.

On Apr 19, 2012, at 4:10 PM, Anthony Holloway wrote:

There are two problems with this approach, and hopefully we can work through them together.

1) The table processconfigdefaults does not contain 100% of the variables found in processconfig.

I'll explain with an example of the T302 timer which has a default value of 15000 msec, and in my case I have changed it to 8000 msec.

admin:run sql select paramname, paramvalue from processconfig where paramname = 'TimerT302_msec'
paramname      paramvalue
============== ==========
TimerT302_msec 8000
admin:

admin:run sql select paramname, paramvalue from processconfigdefaults where paramname = 'TimerT302_msec'
paramname paramvalue
========= ==========
admin:

2) The records contained within the processconfig table are dynamic based on whether or not they are set to defaults.

Here I have the current settings for my CDR Enabled flag, and as you can see it's set to non-default of On (or True) on three servers in my cluster:

admin:run sql select fkprocessnode, paramname, paramvalue from processconfig where paramname = 'CdrEnabled'
fkprocessnode                        paramname  paramvalue
==================================== ========== ==========
01670a90-9e3c-487a-a267-330f41e2ae0e CdrEnabled T
2e09aed9-1280-8bf5-a089-cedf97219a87 CdrEnabled T
bf92c29d-3f94-759e-6623-40368135a0a1 CdrEnabled T
admin:

I will now turn the CDR Enable flag to the default of Off (or False) for the first node above (01670a90-9e3c-487a-a267-330f41e2ae0e) via the web administration page, and then run the SQL command again:

admin:run sql select fkprocessnode, paramname, paramvalue from processconfig where paramname = 'CdrEnabled'
fkprocessnode                        paramname  paramvalue
==================================== ========== ==========
2e09aed9-1280-8bf5-a089-cedf97219a87 CdrEnabled T
bf92c29d-3f94-759e-6623-40368135a0a1 CdrEnabled T
admin:

Note that its record has now been removed from the table automatically.

I haven't looked that hard for it, but is there a table which truly holds all of the defaults?  E.g., T302 timer

-Anthony

On Wed, Apr 11, 2012 at 9:18 AM, Peter Slow <peter.slow at gmail.com> wrote:
I think Kenneth will get mad at me for not making this public sooner, but I was searching through my archives to find some other script that I'd shared (at some earlier point)  and came across THIS request, for which I happen to already have some awesomeness whipped up.

enjoy,

###show me all the service parameter crap that isnt set to the default

run sql \
SELECT PN.name AS CM_Name, TS.name AS Service_Name, PC.paramname AS Parameter, PC.paramvalue AS Cur_Value, PCD.paramvalue  AS Default_Value from processconfig PC \
JOIN processconfigdefaults PCD ON PCD.paramname LIKE PC.paramname \
JOIN processnode PN ON PN.pkid = PC.fkprocessnode \
JOIN typeservice TS ON TS.enum = PC.tkservice \
WHERE PCD.paramvalue != PC.paramvalue \
ORDER BY PN.name, PC.paramname

add in an "AND TS.enum = whatever" if you only want to see the changed parameters 


example:


admin:run sql \
SELECT PN.name AS CM_Name, TS.name AS Service_Name, PC.paramname AS Parameter, PC.paramvalue AS Cur_Value, PCD.paramvalue  AS Default_Value from processconfig PC \
JOIN processconfigdefaults PCD ON PCD.paramname LIKE PC.paramname \
JOIN processnode PN ON PN.pkid = PC.fkprocessnode \
JOIN typeservice TS ON TS.enum = PC.tkservice \
WHERE PCD.paramvalue != PC.paramvalue \
ORDER BY PN.name, PC.paramname
cm_name        service_name      parameter                       cur_value default_value 
============== ================= =============================== ========= ============= 
192.168.1.10  Cisco CallManager CdrEnabled                      T         F             
192.168.1.10  Cisco CallManager CdrLogCallsWithZeroDurationFlag T         F             
192.168.1.10  Cisco CTIManager  SdlTraceTotalNumFiles           250       375           
192.168.1.100 Cisco CallManager CdrEnabled                      T         F             
192.168.1.100 Cisco CallManager SdlTraceTotalNumFiles           375       250           
192.168.1.100 Cisco CTIManager  SdlTraceTotalNumFiles           250       375           
192.168.1.11  Cisco CallManager CdrEnabled                      T         F             
192.168.1.11  Cisco CallManager CdrLogCallsWithZeroDurationFlag T         F             
192.168.1.11  Cisco CallManager SdlTraceTotalNumFiles           375       250           
192.168.1.11  Cisco CTIManager  SdlTraceTotalNumFiles           250       375     



enjoy,
    Peter Slow =)






On Thu, Feb 16, 2012 at 3:37 PM, Lelio Fulgenzi <lelio at uoguelph.ca> wrote:
Thanks Wes!


---
Lelio Fulgenzi, B.A.
Senior Analyst (CCS) * University of Guelph * Guelph, Ontario N1G 2W1
(519) 824-4120 x56354 (519) 767-1060 FAX (ANNU)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Cooking with unix is easy. You just sed it and forget it. 
                              - LFJ (with apologies to Mr. Popeil)


From: "Wes Sisk" <wsisk at cisco.com>
To: "Lelio Fulgenzi" <lelio at uoguelph.ca>
Cc: "cisco-voip voyp list" <cisco-voip at puck.nether.net>
Sent: Thursday, February 16, 2012 2:34:17 PM
Subject: Re: [cisco-voip] SQL query to dump enterprise/system parameters


run sql select * from processconfig
run sql select * from processconfigdefaults

/wes

On Feb 16, 2012, at 11:07 AM, Lelio Fulgenzi wrote:


Is there an SQL query that I can run on the CLI to give me a fairly easily readable output of what the current enterprise and/or system parameters are? 

I still haven't figured out a way to print or take a visual snapshot to compare after work.

Lelio


---
Lelio Fulgenzi, B.A.
Senior Analyst (CCS) * University of Guelph * Guelph, Ontario N1G 2W1
(519) 824-4120 x56354 (519) 767-1060 FAX (ANNU)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Cooking with unix is easy. You just sed it and forget it. 
                              - LFJ (with apologies to Mr. Popeil)


_______________________________________________
cisco-voip mailing list
cisco-voip at puck.nether.net
https://puck.nether.net/mailman/listinfo/cisco-voip


_______________________________________________
cisco-voip mailing list
cisco-voip at puck.nether.net
https://puck.nether.net/mailman/listinfo/cisco-voip



_______________________________________________
cisco-voip mailing list
cisco-voip at puck.nether.net
https://puck.nether.net/mailman/listinfo/cisco-voip


_______________________________________________
cisco-voip mailing list
cisco-voip at puck.nether.net
https://puck.nether.net/mailman/listinfo/cisco-voip



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://puck.nether.net/pipermail/cisco-voip/attachments/20120420/d8ccef31/attachment.html>


More information about the cisco-voip mailing list