 - ID and CSeq as a previ- ous INVITE. Even after a call has been terminated, call state must be main- tained by a user agent for at least 32 seconds in case of lost messages in the call tear-down. SIP: Understanding the Session Initiation Protocol User agents silently discard an ACK for an unknown dialog. Requests to an unknown URI receive a 404 Not Found Response. A user agent receiv- ing a request for an unknown dialog responds with a 481 Dialog/Trans- action Does Not Exist. Responses from an unknown dialog are also silently discarded. These silent discards are necessary for security. Otherwise, a malicious user agent could gain information about other SIP user agents by spamming fake requests or responses. Although not required to understand every response code defined, a mini- mal implementation must to be able to interpret any unknown response based on the class (first digit of the number) of the response. That is, if an undefined 498 Wrong Phase of the Moon response is received, it must be treated as a 400 Client Error. A user agent responds to an unsupported request with a 501 Not Implemented response. A SIP UA must support UDP transport and also TCP if it sends messages greater than 1,000 octets in size. A SIP user agent contains both a client application and a server applica- tion. The two parts are a user agent client (UAC) and user agent server (UAS). The UAC initiates requests while the UAS generates responses. During a ses- sion, a user agent will usually operate as both a UAC and a UAS. A SIP user agent must also support SDP for media description. Other types of media description protocols can be used in bodies, but SDP support is mandatory. Details of SDP are in Section 7.1. A UA must understand any extensions listed in a Require header field in a request. Unknown header fields may be ignored by a UA. A UA should advertise its capabilities and features in any request it sends. This allows other UAs to learn of them without having to make an explicit capa- bilities query. For example, the methods t