3.2.2.5 Message Processing Events and Sequencing Rules

The packet semantics are the same as what is specified in [C706] sections 6 and 12.5.

The packet type MUST be one of the connectionless packet types specified in [C706]; otherwise, the packet is discarded. Incoming packets MUST be processed while the Call State is set to STATE_SEND_FRAGS, STATE_DISPATCHED, or STATE_RECEIVE_FRAGS; in other states, they MUST be discarded.

For a non-REQUEST packet, the activity ID and the sequence number in the packet MUST match those of the call itself. If the auth_proto field is nonzero, the implementation MUST compare the auth_proto to the authentication level of the activity's Security Context Handle and then the packet MUST be verified by using the activity's Security Context Handle, as described in section 3.2.1.4.1.1. Otherwise, the packet MUST be discarded silently.

A packet that has not been discarded by one of the preceding rules MUST cancel the call packet retransmission timer, as specified in section 3.2.2.2.1. If the server uses a dynamic endpoint and the CAS points to the endpoint mapper endpoint for the protocol, the CAS SHOULD be updated to point to the server endpoint that sent the packet. For more information, see the protocol example in section 4.5.

The following sections define handling of specific packet types.