The Call-ID header field uniquely identifies a particular invitation or all registrations of a particular client. A single multimedia conference can give rise to several calls with different Call-IDs, for example, if a user invites a single individual several times to the same (long-running) conference. Call-IDs are case-sensitive and are simply compared byte-by-byte.
Call-ID is generated by the combination of a random string and the softphone's host name or IP address. The combination of the To tag, From tag, and Call-ID completely defines a peer-to-peer SIP relationship between two users and is referred to as a dialog. It MUST be the same for all requests and responses sent by either User Agent in a dialog. It SHOULD be the same in each registration from a User Agent.
All SIP User Agents must have a means to guarantee that the Call-ID header fields they produce will not be inadvertently generated by any other User Agent. Note that when requests are retried after certain failure responses that solicit an amendment to a request (for example, a challenge for authentication), these retried requests are not considered new requests, and therefore do not need new Call-ID header fields.
Use of cryptographically random identifiers in the generation of Call-IDs is RECOMMENDED. Implementations MAY use the form "localid@host".
For Example:
Call-ID: f81d4fae-7dec-11d0-a765-00a0c91e6bf6@jcp.org
@author BEA Systems, NIST
@version 1.2