te
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]
SIP_CREATE_OKACK 3SIP "Jan 25, 2007"
NAME
sip_create_OKack - create an ACK request for a final response
SYNOPSIS

cc [ flag ... ] file ... -lsip [ library ... ]
#include <sip.h>

int sip_create_OKack(sip_msg_t response,
 sip_msg_t ack_msg, char *transport,
 char *sent_by, int sent_by_port,
 char *via_params);
DESCRIPTION

The sip_create_OKack() function constructs an ACK request in ack_msg for the final 2XX SIP response. The request line is created using the URI in the CONTACT header from the response. The SIP-Version in the request line is "2.0". The VIA header for the ACK request is created using transport, sent_by, sent_by_port (if non-zero), and via_params (if non-null). The following headers are copied to ack_msg from response:

FROM

TO

CALL-ID

MAX_FORWARDS

The CSEQ header is created using the method as ACK and the sequence number from the CSEQ header in response.

RETURN VALUES

The sip_create_OKack() function returns 0 on success and the appropriate error value in case of failure.

The value of errno is not changed by these calls in the event of an error.

ERRORS

On failure, the sip_create_OKack() function could return one of the following errors: EINVAL

If mandatory input is not provided or if the input is invalid. The sip_create_OKack() function can return this error if it does not find a CONTACT header or if it is unable to obtain the URI from the CONTACT header for the request line.

ENOTSUP

If the input SIP message cannot be modified.

ENOMEM

If memory allocation fails when creating the request/response line or when creating headers in the ACK request.

ATTRIBUTES

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Committed
MT-Level MT-Safe
SEE ALSO

libsip (3LIB)