) should be possible. The above-described environment can be used to perform conformance test- ing, interoperability testing, or robustness testing. If the objective of the analysis is compliance or interoperability testing, one can conduct the anal- ysis by following either an approach based on a state machine, as shown in Section 8.2.1, or one based on standard test specifications, as shown in Section 8.2.2. In this case, it is sufficient to use one of the protocol analyzers that support SIP, like those described in Section 8.3.1. In order to test compliance, the behavior of the IUT should be compared with the standard specifications. For interoperability test purposes, the test should instead be executed on two endpoints and one should verify that the communication behaves as specified by the standard. Usually, an approach based on the state machine is more flexible because it allows writing a custom state machine that could better represent the IUT behavior. Instead, a standard test specification approach is less flexible, but it is easier to use because the tests are provided directly by the specifications and they should not be derived from a state machine. Finally, in order to test the robustness of an IUT, it is necessary to conduct a stress test. This can be done by following standard test specification, such as the IETF RFC 4475, described in Section 8.2.3.3. In this case, it is necessary to use either one of the simulation tools presented in Section 8.3.2 or one of the robustness tools of Section 8.3.3. In the following subsections, the ways to proceed with SIP testing are presented in the practical case of an invitation process. In Section 8.4.3, the method for interoperability or compliance by means of a state machine approach is used. In Section 8.4.4 a method based on standard test specifi- cations is shown on the same example. Finally, in Section 8.4.5 the way to conduct some robustness tests on the same case is presented. 8.4.3 Testing by Means of a State Machine Approach Figure 8.14 shows the st