A registrar may use a Service-Route header field to inform a UA of a service route that, if used by the UA, will provide services from a proxy or set of proxies associated with that registrar. The Service-Route header field may be included by a registrar in the response to a REGISTER request. The syntax for the Service-Route header field is:
Service-Route = "Service-Route" HCOLON sr-value *(COMMA sr-value)
sr-value = name-addr *( SEMI rr-param )
The parsed Service-Route header is stored in sip_service_route_t structure.
|
|
Initializer for structure sip_service_route_t. A static sip_service_route_t structure for Service-Route header must be initialized with the SIP_SERVICE_ROUTE_INIT() macro. For instance, |
|
|
Tag list item for pointer to a Service-Route header structure sip_service_route_t. The SIPTAG_SERVICE_ROUTE() macro is used to include a tag item with a pointer to a sip_service_route_t structure in a tag list.
|
|
|
Tag list item for string with Service-Route header value. The SIPTAG_SERVICE_ROUTE_STR() macro is used to include a tag item with a string containing value of a sip_service_route_t header in a tag list.
The corresponding tag taking reference parameter is SIPTAG_SERVICE_ROUTE_STR_REF(). |
|
|
The structure sip_service_route_t contains representation of SIP Service-Route header. The sip_service_route_t is defined as follows: typedef struct sip_route_s { sip_common_t r_common[1]; // Common fragment info sip_service_route_t*r_next; // Link to next @ServiceRoute char const *r_display; // Display name url_t r_url[1]; // Service-Route URL msg_param_t const *r_params; // List of parameters } sip_service_route_t; |
|
|
Test if header object is instance of sip_service_route_t. Check if the header class is an instance of Service-Route header object and return true (nonzero), otherwise return false (zero).
|
|
||||||||||||
|
Copy a list of Service-Route header header structures sip_service_route_t.
The function sip_service_route_copy() copies a header structure hdr. If the header structure hdr contains a reference (
|
|
||||||||||||
|
Duplicate a list of Service-Route header header structures sip_service_route_t.
Duplicate a header structure hdr. If the header structure hdr contains a reference (
|
|
||||||||||||||||
|
Make a Service-Route header from formatting result. Make a new sip_service_route_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_service_route_t.
|
|
|
Initialize a structure sip_service_route_t. An sip_service_route_t structure for Service-Route header can be initialized with the sip_service_route_init() function/macro. For instance, |
|
||||||||||||
|
Make a Service-Route header structure sip_service_route_t. The function sip_service_route_make() makes a new sip_service_route_t header structure. It allocates a new header structure, and decodes the string s as the value of the structure.
|
|
|
Header class for Service-Route header. The header class sip_service_route_class defines how a SIP Service-Route header is parsed and printed. It also contains methods used by SIP parser and other functions to manipulate the sip_service_route_t header structure. |