200 Rev180 GetCHTfromDB Initial Data Send INVITE 200 Rcvd Prov180 FIGURE 8.13 SPT TLP: emulation of an originating endpoint. Using these tools it is possible to set up a special test that attempts to launch call sessions toward the SUT using SIP messages that have been "fuzzed" (intentionally corrupted) with the purpose of exposing weaknesses in the lower-level parsing and SIP message handling layer. The SUT is monitored for the appropriate response to each test case [38]. 8.3.3.1 PROTOS Test-Suite c07-Sip The publicly available University of Oulu PROTOS robustness tests [39] con- tain 4,527 test cases in 54 test groups. Varying SIP header fields in INVITE messages are tested. The PROTOS c07-sip test suite uncovered numerous security problems in numerous SIP products that were tested by the developers. This test suite is freely usable, as it is released under the GNU public license. 8.3.3.2 Codenomicon SIP Test Tool The Codenomicon SIP test tool [40] is the commercial extension of the above work PROTOS test-suite, generated using the Codenomicon test generator. Currently, it contains over 20,000 test cases in over 2,000 test groups and tests all SIP header fields and all SDP fields. It contains a test documentation system and a GUI to assist in the test execution and fault elimination. C 2009 by Taylor & Francis Group, LLC SIP Handbook: Services, Technologies, and Security Case Study: Validation of the INVITE Client Transaction This paragraph aims at providing a practical example about the validation phase of a SIP device to verify the compliance and interoperability of a pro- tocol implementation. The object of the example is the INVITE client transaction, which is the operation executed when the user starts a call. This example is not intended to provide an exhaustive testing of all facets of the SIP-originating endpoint operations: the discussion concerns the INVITE client transaction and intends to investigate just this specific feature. 8.4.1 The Invite Client Transaction An invitation occurs when a SIP endp