A single SIP request and all its responses form a SIP transaction. Different types of
transaction are used for different protocol functions. For example, an INVITE starts a
telephone call, and a MESSAGE sends an instant message.
A SIP dialog is a persistent link between two devices that is used to associate transactions
and to provide ordering between them. SIP transactions can exist within or outside a SIP
dialog, and transactions are used to establish and terminate dialogs. For example, in
telephony, the initial INVITE that starts the call also establishes a dialog between the
participants. To end the call, one participant sends a BYE within the context of this
dialog. This BYE transaction terminates both the call and the associated dialog.
The high-level concept of a call does not simply map to a SIP dialog, because a single
telephone call may include conversations with several people and devices, for example
receptionists and voicemail systems. These individual connections need separate SIP
dialogs, so the call can contain multiple dialogs. SIP messages contain a call identifier
field (Call-ID) that is sometimes used to link the dialogs and transaction into an
application-level concept of a call, although this use is strictly outside the standard.