man pages section 3: Networking Library Functions

Exit Print View

Updated: July 2014
 
 

sip_create_OKack(3SIP)

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(5) for descriptions of the following attributes:

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

See also

libsip(3LIB)