For most types of callbacks, when a callback event occurs:
If a callback of the proper type exists at the proper level, it is called.
If a callback of the proper type does not exist at the proper level then the callback event information is discarded.
The client message callback is an exception to this rule. When an error or informational message is generated for a connection that has no client message callback installed, Client-Library calls the connection’s parent context’s client message callback (if any) rather than discarding the message. If the context has no client message callback installed, then the message is discarded.