Merge commit 'dc97a43d4a70c8773a619f11b95b07a787f6f5b7' into merges
[unleashed.git] / share / man / man3sip / sip_sendmsg.3sip
blobfd3bc5f4c9417037ec2062a3b1a8b1bae6238f04
1 '\" te
2 .\"  Copyright (c) 2007, Sun Microsystems, Inc.  All Rights Reserved
3 .\" 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.
4 .\" 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.
5 .\" 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]
6 .TH SIP_SENDMSG 3SIP "Jan 25, 2007"
7 .SH NAME
8 sip_sendmsg \- send an outbound SIP message to the SIP stack for processing
9 .SH SYNOPSIS
10 .LP
11 .nf
12 \fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lsip\fR [ \fIlibrary\fR ... ]
13 #include <sip.h>
15 \fBint\fR \fIsip_sendmsg\fR(\fBsip_conn_object_t\fR \fIobj\fR, \fBsip_msg_t\fR \fIsip_msg\fR,
16      \fBsip_dialog_t\fR \fIdialog\fR, \fBuint32_t\fR \fIflags\fR);
17 .fi
19 .SH DESCRIPTION
20 .sp
21 .LP
22 The \fBsip_sendmsg()\fR function is used to send an outbound \fBSIP\fR message
23 \fIsip_msg\fR to the \fBSIP\fR stack on its way to the peer. The connection
24 object for the \fBSIP\fR message is passed as \fIobj\fR. The caller also
25 provides the dialog associated with the message, if one exists. The value of
26 flags is the result of ORing the following, as required:
27 .sp
28 .ne 2
29 .na
30 \fBSIP_SEND_STATEFUL\fR
31 .ad
32 .RS 22n
33 Send the request or response statefully. This results in the stack creating and
34 maintaining a transaction for this request/response. If this flag is not set
35 transactions are not created for the request/response.
36 .RE
38 .sp
39 .ne 2
40 .na
41 \fBSIP_DIALOG_ON_FORK\fR
42 .ad
43 .RS 22n
44 When this flag is set, the stack may create multiple dialogs for a dialog
45 completing response. This may result due to forking of the dialog creating
46 request. If this flag is not set, the first response to a dialog creating
47 request creates a dialog, but subsequent ones do not. It is only meaningful if
48 the stack is configured to maintain dialogs.
49 .RE
51 .SH RETURN VALUES
52 .sp
53 .LP
54 The \fBsip_sendmsg()\fR function returns \fB0\fR on success and the appropriate
55 error on failure.
56 .sp
57 .LP
58 The value of \fBerrno\fR is not changed by these calls in the event of an
59 error.
60 .SH ERRORS
61 .sp
62 .LP
63 The \fBsip_sendmsg()\fR function can return one of the following errors on
64 failure:
65 .sp
66 .ne 2
67 .na
68 \fB\fBEINVAL\fR\fR
69 .ad
70 .RS 10n
71 If a message is being statefully sent and the \fIbranchid\fR in the \fBVIA\fR
72 header does not conform to RFC 3261 or when accessing \fBCSEQ\fR header while
73 creating a transaction.
74 .RE
76 .sp
77 .ne 2
78 .na
79 \fB\fBENOENT\fR\fR
80 .ad
81 .RS 10n
82 If a message is being statefully sent, error getting the \fBCSEQ\fR header
83 while creating a transaction.
84 .RE
86 .sp
87 .ne 2
88 .na
89 \fB\fBEPROTO\fR\fR
90 .ad
91 .RS 10n
92 If a message is being statefully sent, error getting the \fBCSEQ\fR value while
93 creating a transaction.
94 .RE
96 .sp
97 .ne 2
98 .na
99 \fB\fBENOMEM\fR\fR
101 .RS 10n
102 If the message is being statefully sent, error allocating memory for creating
103 or adding a transaction or during transaction related processing.
106 .SH ATTRIBUTES
109 See \fBattributes\fR(5) for descriptions of the following attributes:
114 box;
115 c | c
116 l | l .
117 ATTRIBUTE TYPE  ATTRIBUTE VALUE
119 Interface Stability     Committed
121 MT-Level        MT-Safe
124 .SH SEE ALSO
127 \fBlibsip\fR(3LIB)