The SIP philosophy :
Reuse Internet addressing (URLs, DNS, proxies)
Utilizes rich Internet feature set
Reuse HTTP coding
Makes no assumptions about underlying protocol:
TCP, UDP, X.25, frame, ATM, etc.
Support of multicast
A SIP transaction occurs between a UAC and a UAS. The SIP transaction comprises all messages from the first request sent from the UAC to the UAS up to a final response (non-1xx) sent from the UAS to the UAC
The branch parameter is a transaction identifier. Responses relating a request can be correlated because they will contain the same transaction identifier.
The initiator of the session that generates the establishing INVITE generates the unique Call-ID and From tag. In the response to the INVITE, the user agent answering the request will generate the To tag. The combination of the local tag (contained in the From header field), remote tag (contained in the To header field), and the Call-ID uniquely identifies the established session, known as a dialog. This dialog identifier is used by both parties to identify this call because there could be multiple calls set up between them.
SIP Transport Layers