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


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

SEE ALSO


libsip(3LIB)

January 25, 2007 SIP_SENDMSG(3SIP)

tribblix@gmail.com :: GitHub :: Privacy