People often ask if SIP uses HTTP as the underlying protocol. The answer is in the negative. SIP is a protocol that works with HTTP on the same layer (that is, the application layer), which uses TCP, UDP, or SCTP as the underlying protocol. However, there are many similarities between SIP and HTTP. For example, like HTTP, SIP is text-based and user-readable. SIP uses a "request-response" mechanism with specific methods, response codes, and headers, which is similar to HTTP. One notable difference between HTTP and sip is that the "request response" mechanism in SIP is asynchronous--the request does not need to be followed by a corresponding response. In fact, a SIP request may cause one or more requests to be generated.
SIP is a reciprocal protocol. This means that the user agent can be either a server or a client. This is another difference between SIP and HTTP, in HTTP, where the client is always the client and the server is always the server.