SIP_CREATE_RESPONSE(3SIP) | Session Initiation Protocol Library Functions | SIP_CREATE_RESPONSE(3SIP) |
sip_create_response - create a response for a SIP request
cc [ flag ... ] file ... -lsip [ library ... ] #include <sip.h> sip_msg_t sip_create_response(sip_msg_t sip_request,
int response_code, char *response_phase,
char *totag, char *contact_uri);
The sip_create_response() function creates and returns a
SIP message in response to the SIP request sip_request.
The response line in the resulting SIP message is created using the
response code in response_code and the phrase in
response_phrase. The response line has the SIP-Version of
"2.0". If a non-null totag is specified, the resulting
SIP response has a TO header with a tag value from
totag. If totag is null and the response_code is
anything other than 100 (TRYING), sip_create_response()
adds a TO header with a randomly generated tag value. If the
response_code is 100 and totag is null, the SIP
response has a TO header without a tag parameter. If
contact_uri is non-null, a CONTACT header is added to the
SIP response with the URI specified in contact_uri. The
SIP response has the following headers copied from
sip_request:
All VIA headers
FROM header
TO header (with tag added, if required, as stated above)
CALL-ID header
CSEQ header
All RECORD-ROUTE headers
The sip_create_response() function returns the resulting SIP message on success and NULL on failure.
The value of errno is not changed by these calls in the event of an error.
See attributes(7) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Interface Stability | Committed |
MT-Level | MT-Safe |
January 25, 2007 | OmniOS |