TCAP Protocol _ Error Handling
|
Error HandlingAs with any other protocol, errors can occur during TCAP communications. TCAP errors fall into three general categories:
Protocol ErrorsProtocol Errors are the result of TCAP messages being incorrectly formed, containing illegal values, or being received when not expected. For example, receiving an unrecognized message type or component type would constitute a protocol error. Another example of an error would be receiving a responding Transaction ID for a nonexistent transaction. While the actual value of the ID might be within the acceptable range of values, the lack of a transaction with which to associate the response causes a protocol error. Errors at the Transaction LayerProtocol Errors that occur at the transaction sublayer are reported to the remote node by sending an Abort message type with a P-Abort cause—in other words, a Protocol Abort. The Abort message is sent only when a transaction must be closed and a Transaction ID can be derived from the message in which the error occurred. Figure 10-13 shows an Abort message being sent for an open transaction in which a protocol error is detected. Because no Transaction ID is associated with a Unidirectional message, no Abort message would be sent if the message was received with an error. If a Query or Begin message is received and the Originating Transaction ID cannot be determined because of the message error, the message is simply discarded and an Abort message is not returned to the sender. If the Transaction ID can be determined, the Abort message is sent to report the error. Without the Transaction ID, there is no way for the sending node to handle the error because it cannot make an association with the appropriate transaction. Errors at the Component LayerProtocol errors at the component sublayer are reported using a Reject Component. The errored components Component ID is reflected in the Reject Component. A number of different errors can be detected and reported. For example, a duplicate Invoke ID error indicates that an Invoke ID has been received for an operation that is already in progress. This results in an ambiguous reference because both operations have the same ID. Another type of error is a component that is simply coded with an incorrect value, such as an unrecognized component type. Refer to the TCAP specifications for a complete list of errors that can be detected and reported. Application ErrorsApplication Errors are anomalies within the application procedure. An example is an unexpected component sequence, in which the received components do not match what the application procedures expect. Another example is a missing customer record error, which is an error that is used to indicate that a database lookup failed to find the requested information. The application is responsible for determining what actions to take when errors of this type are encountered. End-User ErrorsThe End-User Error is similar to the Application Error in that it is an anomaly of the application procedure. However, as indicated by the name, the anomaly is the result of some variance from the normal actions by the user. The user might take an action, such as abandoning the call prematurely, as shown in Figure 10-14; or the user might enter an unexpected response when connected to a digit collection unit and prompted for input, thereby causing the error. Handling Application and End-User ErrorsBoth the Application Error and the End-User Error are reported using the Return Error component for component-related errors. Because the errors in these two categories are actually variations in the applications script or procedure flow, the application determines how they are handled. These errors also imply that no error exists at the actual TCAP layer because a protocol error would trigger prior to an error at the application level. The application can also send an Abort message type (U-Abort) to the other node to indicate that a User Abort has occurred for the transaction and that it should be closed. Thanks for Reading. |

Favorite (0)