It is defined in RFC 3261 as follows:
Call-ID = ( "Call-ID" / "i" ) HCOLON callid callid = word [ "@" word ] word = 1*(alphanum / "-" / "." / "!" / "%" / "*" / "_" / "+" / "`" / "'" / "~" / "(" / ")" / "<" / ">" / ":" / "\" / DQUOTE / "/" / "[" / "]" / "?" / "{" / "}" )
The parsed Call-ID Header is stored in sip_call_id_t structure.
Data Structures | |
| struct | sip_call_id_s |
| Structure for Call-ID (and In-Reply-To) header fields. More... | |
Defines | |
| #define | sip_call_id(sip) |
| Access a SIP Call-ID header structure sip_call_id_t from sip_t. | |
| #define | SIP_CALL_ID_INIT() |
| Initializer for structure sip_call_id_t. | |
| #define | SIPTAG_CALL_ID(x) |
| Tag list item for pointer to a Call-ID header structure sip_call_id_t. | |
| #define | SIPTAG_CALL_ID_REF(x) |
| Tag list item for reference to a Call-ID header pointer. | |
| #define | SIPTAG_CALL_ID_STR(s) |
| Tag list item for string with Call-ID header value. | |
| #define | SIPTAG_CALL_ID_STR_REF(x) |
| Tag list item for reference to a Call-ID header string. | |
Typedefs | |
| typedef sip_call_id_s | sip_call_id_t |
| The structure sip_call_id_t contains representation of SIP Call-ID header. | |
Functions | |
| issize_t | sip_call_id_d (su_home_t *, msg_header_t *, char *s, isize_t slen) |
| Parse a SIP Call-ID header. | |
| issize_t | sip_call_id_e (char b[], isize_t bsiz, msg_header_t const *h, int flags) |
| Print a SIP Call-ID header. | |
| sip_call_id_t * | sip_call_id_init (sip_call_id_t x[1]) |
| Initialize a structure sip_call_id_t. | |
| int | sip_is_call_id (sip_header_t const *header) |
| Test if header object is instance of sip_call_id_t. | |
| sip_call_id_t * | sip_call_id_dup (su_home_t *home, sip_call_id_t const *hdr)) |
| Duplicate a list of Call-ID header header structures sip_call_id_t. | |
| sip_call_id_t * | sip_call_id_copy (su_home_t *home, sip_call_id_t const *hdr)) |
| Copy a list of Call-ID header header structures sip_call_id_t. | |
| sip_call_id_t * | sip_call_id_make (su_home_t *home, char const *s)) |
| Make a Call-ID header structure sip_call_id_t. | |
| sip_call_id_t * | sip_call_id_format (su_home_t *home, char const *fmt,...))) |
| Make a Call-ID header from formatting result. | |
| sip_call_id_t * | sip_call_id_create (su_home_t *home, char const *domain) |
| Create a Call-ID header object. | |
Variables | |
| msg_hclass_t | sip_call_id_class [] |
| Header class for Call-ID header. | |
| tag_typedef_t | siptag_call_id |
| Tag for Call-ID header object. | |
| tag_typedef_t | siptag_call_id_str |
| Tag for string with Call-ID header value. | |
|
|
Initializer for structure sip_call_id_t. A static sip_call_id_t structure for Call-ID header must be initialized with the SIP_CALL_ID_INIT() macro. For instance, |
|
|
Tag list item for pointer to a Call-ID header structure sip_call_id_t. The SIPTAG_CALL_ID() macro is used to include a tag item with a pointer to a sip_call_id_t structure in a tag list.
|
|
|
Tag list item for string with Call-ID header value. The SIPTAG_CALL_ID_STR() macro is used to include a tag item with a string containing value of a sip_call_id_t header in a tag list.
The corresponding tag taking reference parameter is SIPTAG_CALL_ID_STR_REF(). |
|
|
The structure sip_call_id_t contains representation of SIP Call-ID header. The sip_call_id_t is defined as follows: typedef struct sip_call_id_s { sip_common_t i_common[1]; // Common fragment info sip_call_id_t *i_next; // Link to next (dummy) char const *i_id; // ID value uint32_t i_hash; // Hash value (always nonzero) } sip_call_id_t; |
|
||||||||||||
|
Copy a list of Call-ID header header structures sip_call_id_t.
The function sip_call_id_copy() copies a header structure hdr. If the header structure hdr contains a reference (
|
|
||||||||||||
|
Create a Call-ID header object. Create a Call-ID header object with a new unique value. It uses su_guid_generate() function to generate the value. If the local host name domain is specified, it is prepended to the generated value instead of local MAC address.
|
|
||||||||||||
|
Duplicate a list of Call-ID header header structures sip_call_id_t.
Duplicate a header structure hdr. If the header structure hdr contains a reference (
|
|
||||||||||||||||
|
Make a Call-ID header from formatting result. Make a new sip_call_id_t object using formatting result as its value. The function first prints the arguments according to the format fmt specified. Then it allocates a new header structure, and parses the formatting result to the structure sip_call_id_t.
|
|
|
Initialize a structure sip_call_id_t. An sip_call_id_t structure for Call-ID header can be initialized with the sip_call_id_init() function/macro. For instance, |
|
||||||||||||
|
Make a Call-ID header structure sip_call_id_t. The function sip_call_id_make() makes a new sip_call_id_t header structure. It allocates a new header structure, and decodes the string s as the value of the structure.
|
|
|
Test if header object is instance of sip_call_id_t. Check if the header class is an instance of Call-ID header object and return true (nonzero), otherwise return false (zero).
|
|
|
Header class for Call-ID header. The header class sip_call_id_class defines how a SIP Call-ID header is parsed and printed. It also contains methods used by SIP parser and other functions to manipulate the sip_call_id_t header structure. |