Registrar V-I-O Call control Originating endpoint Call establishment V-timers Call release V-I-timers Session modification Terminating endpoint Call establishment V-l-timers Call release V-l-timers Session modification Proxy Message Request processing Response Transaction Client V-timers Server V-timers Redirect server Call establishment Call release Querying for capabilities Originating endpoint Asking for capabilities Terminating endpoint Responding for capabilities Proxy Responding for capabilities Messaging Registrant Registrar Originating endpoint Terminating endpoint Proxy Redirect server FIGURE 8.6 TSS for SIP where test group indicates: Valid behavior (V), invalid behav- ior (I), inopportune behavior (O). The IETF RFC 4475 informational document tries to focus on areas that have caused interoperability problems or that have particularly unfavorable characteristics if they are handled improperly. It gives examples of SIP test messages designed to exercise and "torture" a SIP implementation. This docu- ment contains test messages based on the current SIP version (2.0) as defined in IETF RFC 3261. These test messages are organized into several sections and are presented in the text format using a set of markup conventions to avoid ambiguity and meet Internet-draft layout requirements. Some sections stress only a SIP parser, and other ones stress both the parser and the appli- cation above it (as application-layer semantics). Some messages are valid, and some are not. Some examples of parser tests (syntax) valid and invalid messages and application-layer Semantics are reported in the Figure 8.9, Figure 8.10, and Figure 8.11, respectively. Parsers must carefully consider edge conditions and malicious input as part of their design. The first example (Figure 8.9) rep- resents an unusual reason phrase in a 200 OK SIP response. A parser must accept this message because it does not clash with IETF RFC 3261. Figure 8.10 shows an OPTION message with a start line and CSeq method mismatch: this request has mismatching 