# RTP and UDP endpoint route availability events

Route availability events provide applications with a way to monitor CG board Ethernet interface status transitions that directly affect particular MSPP endpoints. If an application initiates multiple MSPP connections through RTP (IPv4 and IPv6) or UDP endpoints and the Ethernet link remains sound, the application does not receive any route availability events. If a CG board Ethernet interface fails after any RTP or UDP endpoint begins transferring data, and if the boards' ability to route data to a remote RTP or UDP session is affected by that failure, the application receives an MSPEVN_NOROUTE_AVAILABLE event. If the Ethernet interface recovers, the application receives an MSPEVN_ROUTE_AVAILABLE event.

Unlike the Ethernet link status queries, which are board-level status requests, MSPP route availability events provide status information about specific RTP or UDP sessions. For more information about link status queries, refer to System-level queries. These events can be triggered by a particular Ethernet link failure. However, their main purpose is to provide the application with information about a particular endpoint's ability to successfully transfer data to a remote RTP or UDP session, rather than providing information about the status of a particular Ethernet link.

For example, you can configure CG boards in dual subnet mode so that RTP endpoints are load balanced across both board Ethernet links. In this scenario if one of the Ethernet links fails, the MSPP service only sends route availability events to those RTP endpoints that use the failed link. RTP endpoints associated with the remaining active Ethernet link are unaffected by the failure, and do not receive route availability events.

## Types of unsolicited events

The MSPP service supports the following unsolicited events:

Query | Description
MSPEVN_NOROUTE_AVAILABLE | An RTP or UDP session lost the ability to route outbound data to its destination.
MSPEVN_ROUTE_AVAILABLE | An RTP or UDP session formerly incapable of transmitting data is now back in service.

Route availability events are associated only with data sent over Ethernet connections - not data received over these connections. Therefore, these events do not apply to RTP simplex-receive endpoints.

In redundant Ethernet mode, if an RTP endpoint is active and the CG board's primary Ethernet interface fails, the secondary Ethernet interface automatically becomes active, and the RTP endpoint continues to transfer data. When this happens, the application does not receive any route availability unsolicited events, even though the primary Ethernet interface has failed. The application only receives the route availability event if the second CG board Ethernet interface also fails.

Therefore, on a per-session basis, when the CG board is configured in redundant Ethernet mode, a link failure does not necessarily mean that any associated RTP or UDP sessions are interrupted.

When the CG board is configured in dual subnet mode, unsolicited route availability events are returned under different conditions for RTP sessions and UDP sessions.

Endpoint type | Link status event behavior
RTP IPv4 or IPv6 | If the CG board Ethernet interface used by a particular RTP IPv4 or IPv6 endpoint fails, the MSPP service returns a route availability unsolicited event to the application informing it that no route is available. This event occurs even if a secondary Ethernet interface is available through another router associated with the other Ethernet interface. This event behavior occurs because the remote side of the RTP session has no way of determining whether the RTP session has been re-routed to another IP address. Even if the RTP IPv4 or IPv6 endpoint re-routes its packets to the second CG board Ethernet interface, it transfers data in only one direction. The remote side has no way of knowing about this redirection, and continues sending data to an unavailable link or IP address.
UDP | If a secondary router is configured for the CG board, route availability events are not returned to the application when the first Ethernet interface goes down. When one of the CG board's Ethernet interfaces goes down, UDP packets are re-routed to the secondary router. The remote UDP application detects and redirects its data packets to the IP address associated with the secondary link. If no secondary router is configured for the CG board when one of the CG board's Ethernet interfaces goes down, the MSPP service returns unsolicited route availability events for all UDP endpoints that are associated with the interface.

Route availability unsolicited events are associated with particular RTP or UDP endpoint handles and do not return any additional buffered data. When the CG board is configured in dual subnet mode, applications receiving MSPEVN_NOROUTE_AVAILABLE events can determine which Ethernet interface went down by the endpoints associated with the returned events.