IP transactions that occur during the session and therefore, they are always in the path taken by SIP messages traveling between end users. These proxies store state infor- mation from the moment the session is established until the moment it ends. An example of a call stateful proxy is a server that implements a call- related service, such as receiving an e-mail at the conclusion of every call with information about the duration of each call (Figure 5-9). To calculate the length of the call, the proxy should be in the path of the INVITE that initiates the call and also in the path of the BYE that finishes the call. Stateful Proxy Stateful proxies are sometimes called transaction stateful proxies because the transaction is their sole concern. A stateful proxy stores state related to a given transaction until the transaction concludes. It does not need to be in the path taken by the SIP messages for subsequent transactions. Forking proxies are good examples of stateful proxies (Figure 5-10). They send INVITEs to several different places and have to store state about the INVITE transaction in order to know whether all of the locations tried have returned a final response or not. However, once the user is reached at a par- ticular location, the proxy does not need to remain in the signalling path any longer. Chapter 5 Laura SIP proxy Figure 5-9 Stateful proxy (1) INVITE providing services (2) INVITE for the user. (3) 200 OK (4) 200 OK (5) ACK (6) ACK Conversation (7) BYE (8) BYE (9) 200 OK (10) 200 OK E-mail Your last call lasted 5 minutes and 27 seconds Generation of ACKs Figure 5-10 also shows how ACKs are generated in SIP. We saw that ACKs are generated as final responses to an INVITE. They are part of the three-way handshake and, depending on the type of response the server returns, they are generated either by proxies or by the Proxy servers can only ACK non-successful final responses, which have a status code that is greater than 299. Success responses (status code between 200 and 299) are always ACKed by the 