cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
653
Views
1
Helpful
2
Replies

Cisco UCM Change Notification API and dndStatus

Martin Sloan
Level 1
Level 1

I'm working with the Cisco UCM Change Notification API and have run into an issue with the dndStatus parameter.  When I make changes to this configuration and then check the Change Notification API, it does not include the updated configuration and the doGet option is set to false.  I may be missing something, but I expected that it would either provide the updated configuration in the API response or set the doGet option to true so that my application can fetch a fresh copy of the configuration.  I tested with the dndRingSetting parameter and that one does populate in the Change Notification response.  In the response below, the first entry is a change to the dndStatus param and the second to the dndRingSetting.  The dndStatus is not included in the response.  Does anyone know if this is working as expected and I'm just assuming the configuration should be there incorrectly, or is this a potential issue with the CNF API?  Thanks.

 

 

 

{#3878
          +"id": 4103,
          +"action": "u",
          +"doGet": "false",
          +"changedTags": {#3876
            +"changedTag": {#3875
              +"_": "1687254545-2d7491de-8be3-465a-af74-9371df0f98d7",
              +"name": "versionStamp",
            },
          },
          +"type": "Phone",
          +"uuid": "dcca3eb6-50f6-3499-aa09-ea755706c1ed",
        },
        {#3904
          +"id": 4104,
          +"action": "u",
          +"doGet": "false",
          +"changedTags": {#3906
            +"changedTag": [
              {#3907
                +"_": "1687254545-4e5f7179-98ba-4668-ba64-158ddb6be07a",
                +"name": "versionStamp",
              },
              {#3908
                +"_": "NULL",
                +"name": "dndRingSetting",
              },
            ],
          },
          +"type": "Phone",
          +"uuid": "dcca3eb6-50f6-3499-aa09-ea755706c1ed",
        },

 

 

 

 

 

 

 

 

1 Accepted Solution

Accepted Solutions

dstaudt
Cisco Employee
Cisco Employee

Despite its appearance on the phone config page, DND status is is not held in the usual 'configuration' tables (e.g. device), but rather in dnddynamic.  The xxxdynamic tables are generally used for ephemeral/real-time status data that used to be held only in-memory, but are now replicated across the nodes in a cluster (these tables are actually still instantiated only in-memory via features of Informix IDS on each node for fast/high-volume transactions.)  I don't believe any updates on xxxdynamic tables get reflected in the AXL CNF mechanism.

The canonical interface for monitoring real-time-ish status things (like DND, hunt login, CFA, etc.) is via CTI - TAPI/JTAPI (e.g. via CiscoTerminal events in JTAPI).  Doing it that way should be highly scalable, low-impact on CUCM, and give you very real-time, event-driven updates.  It may be possible to try and deal with the dnddynamic table directly (well, via AXL <executeSQLQuery>), and the table does have a datetimestamp field that could conceivably help in retrieving only recently updated records; however this is not the recommnded way, and there could be performance impacts if you don't design your queries and timings carefully (and maybe even if you do...)

View solution in original post

2 Replies 2

dstaudt
Cisco Employee
Cisco Employee

Despite its appearance on the phone config page, DND status is is not held in the usual 'configuration' tables (e.g. device), but rather in dnddynamic.  The xxxdynamic tables are generally used for ephemeral/real-time status data that used to be held only in-memory, but are now replicated across the nodes in a cluster (these tables are actually still instantiated only in-memory via features of Informix IDS on each node for fast/high-volume transactions.)  I don't believe any updates on xxxdynamic tables get reflected in the AXL CNF mechanism.

The canonical interface for monitoring real-time-ish status things (like DND, hunt login, CFA, etc.) is via CTI - TAPI/JTAPI (e.g. via CiscoTerminal events in JTAPI).  Doing it that way should be highly scalable, low-impact on CUCM, and give you very real-time, event-driven updates.  It may be possible to try and deal with the dnddynamic table directly (well, via AXL <executeSQLQuery>), and the table does have a datetimestamp field that could conceivably help in retrieving only recently updated records; however this is not the recommnded way, and there could be performance impacts if you don't design your queries and timings carefully (and maybe even if you do...)

Thanks, David.  I figured that you would know!

I can get the dndStatus from the get/listPhone API calls but I guess it just doesn't come through in CNF.  I def get the dynamic nature of the setting but it does seem strange to me that it would be available via get/list but not CNF, which is more about incremental updates.  We do not have JTAPI integration (yet) but this could be a driver.  I'll have to implement a workaround for now though and will take care to not overburden the UCM.  Thanks for your guidance and advice.