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

Anthony Holloway avholloway+cisco-voip at gmail.com
Fri Apr 20 13:09:23 EDT 2012


Sure enough!  Now I can write a web app to dump and compare parameters.
 Thank you very much.

Dare I ask why some of it is in "scratch" while some is in
processconfigdefaults?

admin:run sql select content from scratch where name like '%TimerT302_msec%'
content


======================================================================
<?xml version="1.0" encoding="UTF-8" ?>
<rule>
  <name>xmlrule://cisco.com/ServiceParameter/CCM/TimerT302_msec</name>
  <author>Cisco Systems, Inc.</author>
  <integer>
    <default>15000</default>
    <min>3000</min>
    <max>75000</max>
  </integer>
</rule>
admin:

On Fri, Apr 20, 2012 at 11:25 AM, Wes Sisk <wsisk at cisco.com> wrote:

> 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/aec2e19a/attachment.html>


More information about the cisco-voip mailing list