SIP_CREATE_DIALOG_REQ(3SIP) Session Initiation Protocol Library Functions SIP_CREATE_DIALOG_REQ(3SIP)

sip_create_dialog_req, sip_create_dialog_req_nocontact - create an in-dialog request

cc [ flag ... ] file ... -lsip [ library ... ]
#include <sip.h>
sip_msg_t sip_create_dialog_req(sip_method_t method,

sip_dialog_t dialog, char *transport, char *sent_by,
int sent_by_port, char *via_param, uint32_t smaxforward,
int cseq);

sip_msg_t sip_create_dialog_req_nocontact(sip_method_t method,

sip_dialog_t dialog, char *transport, char *sent_by,
int sent_by_port, char *via_param, uint32_t smaxforward,
int cseq);

The sip_create_dialog_req() function creates and returns a SIP request with the state information contained in dialog. The method in the resulting request is from method. The method can be one of the following:

INVITE


ACK


OPTIONS


BYE


CANCEL


REGISTER


REFER


INFO


SUBSCRIBE


NOTIFY


PRACK

The resulting request line in the SIP message has the SIP-Version of "2.0". The URI in the request line is from the remote target in the dialog or from the route set in the dialog, if present. See RFC 3261 (section 12.2) for details. The FROM, TO, and CALL-ID headers are added from the dialog. The MAX-FORWARDS header is added using the value in maxforward. The CSEQ header is added using the SIP method in method and the sequence number value in cseq. If cseq is -1, the sequence number is obtained from the local sequence number in the dialog. The local sequence number in the dialog is incremented and is used in the CSEQ header. The VIA header added is created using the transport, sent_by, sent_by_port (if non-zero), and via_param (if any). If dialog has a non-empty route set, the resulting SIP request has the route set from the dialog.

The sip_create_dialog_req_nocontact() function is similar to sip_create_dialog_req(), except that it does not add the contact header.

The sip_create_dialog_req() and sip_create_dialog_req_nocontact() functions return the resulting SIP message on success and NULL on failure.

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

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

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

libsip(3LIB), attributes(7)

August 6, 2007 OmniOS