Copyright (c) 2007 Sun Microsystems, Inc. All Rights Reserved
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
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(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Interface Stability | Committed |
MT-Level | MT-Safe |
libsip(3LIB)