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

libsip(3LIB)

January 25, 2007 OmniOS