You are here: CSP Developer’s Guide: Overview > 3 Getting Started > API Messaging
Processing Messages from the CSP
To receive messages from the CSP, host applications in multi-node must first send the Multi-host Configure message to register with the CSP.
The CSP can send messages to any individual host, to all of the hosts, or to any combination of hosts. You use the Enable Switch-Initiated Messages ICB in the Multi-host Configure message to enable messages to be sent from the CSP. If no host registers for a particular message type, messages of that type are sent to the default host. The table for each API message in the API Reference indicates whether a message is sent by the CSP or by the host.
You use the Disable Switch-Initiated Messages ICB in the Multi-host Configure message to disable sending messages from the CSP. By default, the Poll message is always sent to every host. The only time the Poll message is not sent to every host is when the default host disables the Poll message by setting the poll interval to 0 (zero).
For the CSP to send messages, the following setup is required:
• Each host must register for messages from the CSP. The resulting registration tables are protected against resets (warm starts) by battery back-up.
• Each host must use only the active Matrix Controller card to register for messages from the CSP. If a redundant Matrix Controller card is in the CSP, the active Matrix Controller card transfers a current image of registration tables to the standby Matrix Controller card. This procedure ensures that information is retained during a switchover.
Even if a host is not connected to the CSP, you can register and de-register the host on the active Matrix Controller for messages from the CSP. If a host is initially connected but then disconnects from the CSP, registration for CSP-initiated messages is not lost; it is sent to the default host on Port 0x3142. Even if the default host is not connected, you can still send messages to other hosts.
For all messages from the CSP that cannot be routed to any other host, the default host is the default destination. Messages cannot be routed when:
• There is no host registered for that particular message
• The connection is down to the host registered for the message
Multiple hosts can register for the same CSP-initiated message. In this case, the message is replicated and sent to all the hosts registered for that message type. The resend mechanism is initiated only if none of the hosts acknowledges the message. Broadcasting messages on multiple host ports has a performance impact.
Processing Messages from the Host
Any host can receive any message type. But only the host that sends a particular message receives an acknowledgment for that message. This is true even if other hosts have registered for the same message type. This arrangement prevents the other hosts from receiving unsolicited acknowledgments and messages.
For the host to send messages, the following steps are required:
• All responses to host-initiated messages are routed to the originating hosts.
• Call control messages that demand real-time processing have priority over other messages, such as configuration and query messages.
• The CSP can support only 256 outstanding messages from the host for a particular message type. Hosts sending additional messages receive a negative acknowledgment (NACK) with the error code, "System Congested."
• Some messages from the host, such as Fault Log Query, produce multiple responses. Only one host can send such a message at any one time. If a second host sends such a message while the CSP is still processing the message from the first host, the second host receives a negative acknowledgment (NACK) with the error code, Queue Full.
• The hosts connected to the CSP on Ports 0x3143 to 0x3147 cannot send the following API messages:
• Poll Interval Configure
• Reset Matrix