3.2.2.5.11 QUACK

The client SHOULD check the following conditions before taking prescribed actions:

  • If the F_CANCELED flag is false, the packet MUST be discarded. No further processing is necessary.

  • If the packet has body data of length 0, this indicates that the server has orphaned the Current Call. F_CANCELED flag MUST be set to false and the call MUST be transitioned to STATE_FAULT.

  • The following conditions indicate protocol errors; the packet MUST be discarded with no additional processing:

    • If the packet has body data, and the length of the body data is less than 9 bytes.

    • The body version is not zero.

    • The packet's event ID does not match the call's CANCEL_EVENT_ID.

  • Having received a valid QUACK where the packet's event ID matches the call's CANCEL_EVENT_ID, F_CANCELED flag MUST be set to false and the call MUST be transitioned to STATE_FAULT.