SIP Express Router v0.8.8 - Developer's Guide | ||
---|---|---|
<<< Previous | Internal Data Structures | Next >>> |
The structure represents a header field of a SIP message. A header field consist of name and body separated by a double colon. For example: "Server: SIP Express Router\r\n" is one header field. "Server" is header field name and "SIP Express Router\r\n" is header field body.
The structure is defined in file hf.h under parser subdirectory.
Structure Declaration
struct hdr_field { int type; /* Header field type */ str name; /* Header field name */ str body; /* Header field body */ void* parsed; /* Parsed data structures */ struct hdr_field* next; /* Next header field in the list */ }; |
Field Description:
type - Type of the header field, the following header field types are defined (and recognized by the parser):
HDR_VIA1, HDR_VIA2, HDR_TO, HDR_FROM, HDR_CSEQ, HDR_CALLID, HDR_CONTACT, HDR_MAXFORWARDS, HDR_ROUTE, HDR_RECORDROUTE, HDR_CONTENTTYPE, HDR_CONTENTLENGTH, HDR_AUTHORIZATION, HDR_EXPIRES, HDR_PROXYAUTH, HDR_WWWAUTH, HDR_SUPPORTED, HDR_REQUIRE, HDR_PROXYREQUIRE, HDR_UNSUPPORTED, HDR_ALLOW, HDR_EVENT, HDR_OTHER.
Their meaning is selfexplanatory. HDR_OTHER marks header field not recognized by the parser.
name - Name of the header field (the part before colon)
body - body of the header field (the part after colon)
parsed - Each header field body can be further parsed. The field contains pointer to parsed structure if the header field was parsed already. The pointer is of type void* because it can point to different types of structure depending on the header field type.
next - Pointer to the next header field in linked list.
<<< Previous | Home | Next >>> |
Internal Data Structures | Up | Structure sip_uri |