The UCCX 7 release notes has the following item listed under Important Notes:
SNMP Service Crashes-Ensure that the size of triggers that are created and associated with a single application in the Unified CCX does not exceed 255 bytes. If more triggers are created and associated with an application, the SNMP service on Windows will crash and will not start subsequently in Unified CCX 7.0(1).
Can anyone explain this in more detail?
In order for this statement to make any sense one would need to know how many bytes a single trigger takes in the first place.
This note is related to CSCsr91804 - SNMP process terminates on CRS server. This defect has the following release notes:
The SNMP Service does not respond to the SNMP queries. The SNMP Service may have crashed and subsequently does not start again.
The SNMP Service on Windows crashes and does not start subsequently in UCCX 7.0(1), when the user creates and associates a lot of triggers with an application.
The User of the application should ensure that the size of triggers that are created and associated with a single application in the UCCX should not exceed 255 bytes.
UCCX 7.0(1)SR1 includes a fix for this issue.
Further Problem Description:
Currently the logging API used in the SNMP defines the maximum size of a log message to be 255 bytes, and if it tries to write beyond that, the SNMP service crashes. This includes any text included as part of the log message.
Here's the Q and A based on your post, posed to the developer who worked on CSCsr91804:
Regarding CSCsr91804 - is there a way to tell how many bytes a single trigger take in the first place? In other words, without the fix for this defect, how can someone proactively avoid running into it?
Actually, the SNMP Crash was happening due to the buffer overflow caused by some Microsoft specific deprecated logging API which is now replaced by a new one which has more error handling and is less vulnerable. This was fixed as part of CSCsr91804.
Coming to your question, we do not have a way to tell how many bytes a trigger takes since it can change according to the triggers defined. But one can always assume that the size of the trigger is the number of characters used to define the triggers plus the number of characters used as separator for forming the triggers string (assuming that a byte is a single character, Unicode not supported)
Let me know if you need any further clarification.