xref: /titanic_51/usr/src/man/man3sip/sip_sendmsg.3sip (revision 6debd3f5159c9e489474b719498ab00cd81fd232)
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_sendmsg 3SIP "25 Jan 2007" "SunOS 5.11" "Session Initiation Protocol Library Functions"
NAME
sip_sendmsg - send an outbound SIP message to the SIP stack for processing
SYNOPSIS

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

int sip_sendmsg(sip_conn_object_t obj, sip_msg_t sip_msg, 
 sip_dialog_t dialog, uint32_t flags);
DESCRIPTION

The sip_sendmsg() function is used to send an outbound SIP message sip_msg to the SIP stack on its way to the peer. The connection object for the SIP message is passed as obj. The caller also provides the dialog associated with the message, if one exists. The value of flags is the result of ORing the following, as required:

SIP_SEND_STATEFUL

Send the request or response statefully. This results in the stack creating and maintaining a transaction for this request/response. If this flag is not set transactions are not created for the request/response.

SIP_DIALOG_ON_FORK

When this flag is set, the stack may create multiple dialogs for a dialog completing response. This may result due to forking of the dialog creating request. If this flag is not set, the first response to a dialog creating request creates a dialog, but subsequent ones do not. It is only meaningful if the stack is configured to maintain dialogs.

RETURN VALUES

The sip_sendmsg() function returns 0 on success and the appropriate error on failure.

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

ERRORS

The sip_sendmsg() function can return one of the following errors on failure:

EINVAL

If a message is being statefully sent and the branchid in the VIA header does not conform to RFC 3261 or when accessing CSEQ header while creating a transaction.

ENOENT

If a message is being statefully sent, error getting the CSEQ header while creating a transaction.

EPROTO

If a message is being statefully sent, error getting the CSEQ value while creating a transaction.

ENOMEM

If the message is being statefully sent, error allocating memory for creating or adding a transaction or during transaction related processing.

ATTRIBUTES

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

ATTRIBUTE TYPEATTRIBUTE VALUE
Interface StabilityCommitted
MT-LevelMT-Safe
SEE ALSO

libsip(3LIB)