xref: /titanic_52/usr/src/man/man3sip/sip_create_dialog_req.3sip (revision ed22c7109fc5dd9e1b7a5d0333bdc7ad2718e2ab)
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_CREATE_DIALOG_REQ 3SIP "Aug 6, 2007"
NAME
sip_create_dialog_req, sip_create_dialog_req_nocontact - create an in-dialog request
SYNOPSIS

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);
DESCRIPTION

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.

RETURN VALUES

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.

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), attributes(5)