S60 3rd Edition API Reference: CSIPInviteDialogAssoc Class Reference

CSIPInviteDialogAssoc Class Reference

API published in: S60 2nd Ed

Link against: sipclient.lib

Capability Information

Required Capabilities

Location NetworkControl NetworkServices ReadDeviceData WriteDeviceData


#include <sipinvitedialogassoc.h>

Inherits CSIPDialogAssocBase.


Detailed Description

PublishedAll
Released
Class for managing SIP dialog association created with INVITE. It provides services for creating, using and terminating SIP INVITE dialog association.

The user can have only one INVITE dialog association per dialog.


Public Member Functions

IMPORT_C ~CSIPInviteDialogAssoc ()
 Destructor.
IMPORT_C CSIPClientTransactionSendInviteL (CSIPMessageElements *aElements=0)
 Creates INVITE and sends it to the remote target.
IMPORT_C CSIPClientTransactionSendPrackL (CSIPMessageElements *aElements=0)
 Creates PRACK and sends it to the remote target.
IMPORT_C CSIPClientTransactionSendUpdateL (CSIPMessageElements *aElements=0)
 Creates UPDATE and sends it to the remote target.
IMPORT_C void SendAckL (const CSIPClientTransaction &aTransaction, CSIPMessageElements *aElements=0)
 Creates SIP ACK request and sends it to the remote target.
IMPORT_C CSIPClientTransactionSendByeL (CSIPMessageElements *aElements=0)
 Creates SIP BYE request and sends it to the remote target.
CSIPClientTransactionDoSendInviteL (CSIPMessageElements *aElements)
 Sends initial INVITE creating a dialog and creates a transaction for it.
void DoSendAckL (const CSIPClientTransaction &aTransaction, CSIPMessageElements *aElements)
 Sends ACK.
CSIPClientTransactionDoSendRequestWithinDialogL (RStringF aMethod, CSIPMessageElements *aElements)
CSIPClientTransactionDoSendCancelL (TUint32 aRequestId)

Static Public Member Functions

static IMPORT_C CSIPInviteDialogAssocNewL (CSIPDialog &aDialog)
 Two-phased constructor.
static IMPORT_C CSIPInviteDialogAssocNewLC (CSIPDialog &aDialog)
 Two-phased constructor.
static IMPORT_C CSIPInviteDialogAssocNewL (CSIPServerTransaction &aTransaction)
 Two-phased constructor.
static IMPORT_C CSIPInviteDialogAssocNewLC (CSIPServerTransaction &aTransaction)
 Two-phased constructor.
static IMPORT_C CSIPInviteDialogAssocNewL (CSIPConnection &aConnection, CSIPFromHeader *aFrom, CUri8 *aRemoteUri, CSIPToHeader *aTo=0, CSIPContactHeader *aContact=0)
 Two-phased constructor.
static IMPORT_C CSIPInviteDialogAssocNewLC (CSIPConnection &aConnection, CSIPFromHeader *aFrom, CUri8 *aRemoteUri, CSIPToHeader *aTo=0, CSIPContactHeader *aContact=0)
 Two-phased constructor.
static IMPORT_C CSIPInviteDialogAssocNewL (CSIPConnection &aConnection, CUri8 *aRemoteUri, const MSIPRegistrationContext &aContext, CSIPFromHeader *aFrom=0, CSIPToHeader *aTo=0, CSIPContactHeader *aContact=0)
 Two-phased constructor.
static IMPORT_C CSIPInviteDialogAssocNewLC (CSIPConnection &aConnection, CUri8 *aRemoteUri, const MSIPRegistrationContext &aContext, CSIPFromHeader *aFrom=0, CSIPToHeader *aTo=0, CSIPContactHeader *aContact=0)
 Two-phased constructor.

Constructor & Destructor Documentation

IMPORT_C CSIPInviteDialogAssoc::~CSIPInviteDialogAssoc  ) 
 

Destructor.


Member Function Documentation

void CSIPInviteDialogAssoc::DoSendAckL const CSIPClientTransaction aTransaction,
CSIPMessageElements aElements
 

Sends ACK.

Parameters:
aTransaction a SIP INVITE client transaction to acknowledge
aElements optional SIP message headers and body. Ownership is transferred.
CSIPClientTransaction* CSIPInviteDialogAssoc::DoSendCancelL TUint32  aRequestId  ) 
 
CSIPClientTransaction* CSIPInviteDialogAssoc::DoSendInviteL CSIPMessageElements aElements  ) 
 

Sends initial INVITE creating a dialog and creates a transaction for it.

Parameters:
aElements contains user SIP headers and content. Ownership is transferred.
Returns:
INVITE SIP transaction. Ownership is transferred.
CSIPClientTransaction* CSIPInviteDialogAssoc::DoSendRequestWithinDialogL RStringF  aMethod,
CSIPMessageElements aElements
 
static IMPORT_C CSIPInviteDialogAssoc* CSIPInviteDialogAssoc::NewL CSIPConnection aConnection,
CUri8 *  aRemoteUri,
const MSIPRegistrationContext aContext,
CSIPFromHeader aFrom = 0,
CSIPToHeader aTo = 0,
CSIPContactHeader aContact = 0
[static]
 

Two-phased constructor.

Precondition:
aRemoteUri != 0 The user of the class must not define tags in From-header and To-header.

aContext.IsContextActive() == ETrue

Parameters:
aConnection a SIP connection to be used with dialog association
aRemoteUri a remote target URI that identifies a resource that the request is targeted to. The ownership is transferred.
aContext used for selecting outbound proxy and originator's address (AOR) and contact
aFrom originator's address. If not defined it will constructed using registration context (User's AOR); the ownership is transfered
aTo logical recipient's address; if not defined the remote target uri will be used for To-header construction; the ownership is transfered
aContact a contact to be used in dialog creation. Must be given only if user intends to re-direct future requests; the ownership is transfered
Returns:
New object, ownership is transferred.
Leave:
KErrArgument if aRemoteUri == 0
Leave:
KErrSIPInvalidRegistrationState if aContext.IsContextActive() == EFalse
static IMPORT_C CSIPInviteDialogAssoc* CSIPInviteDialogAssoc::NewL CSIPConnection aConnection,
CSIPFromHeader aFrom,
CUri8 *  aRemoteUri,
CSIPToHeader aTo = 0,
CSIPContactHeader aContact = 0
[static]
 

Two-phased constructor.

Precondition:
aFrom != 0

aRemoteUri != 0 The user of the class must not define tags in From-header and To-header.

Parameters:
aConnection a SIP connection to be used with dialog association
aFrom originator's address; the ownership is transfered
aRemoteUri a remote target URI that identifies a resource that the request is addressed to. The ownership is transferred.
aTo logical recipient's address; if not defined the remote target uri will be used for To-header construction; the ownership is transfered
aContact a contact to be used in dialog creation. Must be given only if user intends to re-direct future requests; the ownership is transfered
Returns:
New object, ownership is transferred.
Leave:
KErrArgument if aFrom == 0 or aRemoteUri == 0
static IMPORT_C CSIPInviteDialogAssoc* CSIPInviteDialogAssoc::NewL CSIPServerTransaction aTransaction  )  [static]
 

Two-phased constructor.

Should be used if response to the received SIP request will create a SIP dialog association. The server transaction must be a INVITE transaction. If SIP server transaction was received within an existing SIP dialog the created SIP dialog association will be correlated to that SIP dialog. Otherwise a new SIP dialog is created.

Precondition:
aTransaction.State() == CSIPTransactionBase::EProceeding
Parameters:
aTransaction a SIP server transaction
Returns:
New object, ownership is transferred.
Leave:
KErrArgument if aTransaction.Type() != INVITE
Leave:
KErrSIPInvalidTransactionState if aTransaction.State() != CSIPTransactionBase::EProceeding
Leave:
KErrSIPResourceNotAvailable if a required SIP Client API object has been deleted
static IMPORT_C CSIPInviteDialogAssoc* CSIPInviteDialogAssoc::NewL CSIPDialog aDialog  )  [static]
 

Two-phased constructor.

Parameters:
aDialog a dialog to be associated with
Returns:
New object, ownership is transferred.
static IMPORT_C CSIPInviteDialogAssoc* CSIPInviteDialogAssoc::NewLC CSIPConnection aConnection,
CUri8 *  aRemoteUri,
const MSIPRegistrationContext aContext,
CSIPFromHeader aFrom = 0,
CSIPToHeader aTo = 0,
CSIPContactHeader aContact = 0
[static]
 

Two-phased constructor.

Precondition:
aRemoteUri != 0 The user of the class must not define tags in From-header and To-header.

aContext.IsContextActive() == ETrue

Parameters:
aConnection a SIP connection to be used with dialog association
aRemoteUri a remote target URI that identifies a resource that the request is targeted to. The ownership is transferred.
aContext used for selecting outbound proxy and originator's address (AOR) and contact
aFrom originator's address. If not defined it will constructed using registration context (User's AOR); the ownership is transfered
aTo logical recipient's address; if not defined the remote target uri will be used for To-header construction; the ownership is transfered
aContact a contact to be used in dialog creation. Must be given only if user intends to re-direct future requests; the ownership is transfered
Returns:
New object, ownership is transferred.
Leave:
KErrArgument if aRemoteUri == 0
Leave:
KErrSIPInvalidRegistrationState if aContext.IsContextActive() == EFalse
static IMPORT_C CSIPInviteDialogAssoc* CSIPInviteDialogAssoc::NewLC CSIPConnection aConnection,
CSIPFromHeader aFrom,
CUri8 *  aRemoteUri,
CSIPToHeader aTo = 0,
CSIPContactHeader aContact = 0
[static]
 

Two-phased constructor.

Precondition:
aFrom != 0

aRemoteUri != 0 The user of the class must not define tags in From-header and To-header.

Parameters:
aSIPConnection a SIP connection to be used with dialog association
aFrom originator's address; the ownership is transfered
aRemoteUri a remote target URI that identifies a resource that the request is addressed to. The ownership is transferred.
aTo logical recipient's address; if not defined the remote target uri will be used for To-header construction; the ownership is transfered
aContact a contact to be used in dialog creation. Must be given only if user intends to re-direct future requests; the ownership is transfered
Returns:
New object, ownership is transferred.
Leave:
KErrArgument if aFrom == 0 or aRemoteUri == 0
static IMPORT_C CSIPInviteDialogAssoc* CSIPInviteDialogAssoc::NewLC CSIPServerTransaction aTransaction  )  [static]
 

Two-phased constructor.

Should be used if response to the received SIP request will create a SIP dialog association. The server transaction must be a INVITE transaction. If SIP server transaction was received within the existing SIP dialog the created SIP dialog association will be correlated to that SIP dialog. Otherwise a new SIP dialog is created.

Precondition:
aTransaction.State() == CSIPTransactionBase::EProceeding
Parameters:
aTransaction a SIP server transaction
Returns:
New object, ownership is transferred.
Leave:
KErrArgument if aTransaction.Type() != INVITE
Leave:
KErrSIPInvalidTransactionState if aTransaction.State() != CSIPTransactionBase::EProceeding
Leave:
KErrSIPResourceNotAvailable if a required SIP Client API object has been deleted
static IMPORT_C CSIPInviteDialogAssoc* CSIPInviteDialogAssoc::NewLC CSIPDialog aDialog  )  [static]
 

Two-phased constructor.

Parameters:
aDialog a dialog to be associated with
Returns:
New object, ownership is transferred.
IMPORT_C void CSIPInviteDialogAssoc::SendAckL const CSIPClientTransaction aTransaction,
CSIPMessageElements aElements = 0
 

Creates SIP ACK request and sends it to the remote target.

The client transaction must be an INVITE transaction.

Precondition:
Dialog().Connection().State()==EActive

Dialog().State()==CSIPDialogEConfirmed

Parameters:
aTransaction a SIP INVITE client transaction to acknowledge
aElements optional SIP message headers and body. Ownership is transferred.
Leave:
KErrArgument if aTransaction is not an INVITE transaction.
Leave:
KErrSIPInvalidDialogState if ACK can't be sent in the current dialog state
Leave:
KErrSIPResourceNotAvailable if a required SIP Client API object has been deleted NetworkServices
IMPORT_C CSIPClientTransaction* CSIPInviteDialogAssoc::SendByeL CSIPMessageElements aElements = 0  ) 
 

Creates SIP BYE request and sends it to the remote target.

Precondition:
Dialog().Connection().State()==EActive

Dialog().State()==CSIPDialogEEarly || Dialog().State()==CSIPDialogEConfirmed

Parameters:
aElements contains user SIP headers and content. Ownership is transferred.
Returns:
SIP BYE transaction. Ownership is transferred.
Leave:
KErrSIPInvalidDialogState if BYE can't be sent in the current dialog state
Leave:
KErrSIPResourceNotAvailable if a required SIP Client API object has been deleted NetworkServices
IMPORT_C CSIPClientTransaction* CSIPInviteDialogAssoc::SendInviteL CSIPMessageElements aElements = 0  ) 
 

Creates INVITE and sends it to the remote target.

101-199 or 2xx response will create INVITE dialog association in case of first INVITE within this dialog association. Subsequent INVITE requests are re-INVITEs.

Precondition:
Dialog().Connection().State()==EActive

Dialog().State()==CSIPDialogEInit || Dialog().State()==CSIPDialogEConfirmed

Parameters:
aElements contains user SIP headers and content. Ownership is transferred.
Returns:
INVITE SIP transaction. Ownership is transferred.
Leave:
KErrSIPInvalidDialogState if dialog is not in a correct state
Leave:
KErrSIPResourceNotAvailable if a required SIP Client API object has been deleted NetworkServices
IMPORT_C CSIPClientTransaction* CSIPInviteDialogAssoc::SendPrackL CSIPMessageElements aElements = 0  ) 
 

Creates PRACK and sends it to the remote target.

Precondition:
Dialog().Connection().State()==EActive

Dialog().State()==CSIPDialogEEarly || Dialog().State()==CSIPDialogEConfirmed

aElements must not contain Contact headers

Parameters:
aElements contains user SIP headers and content. Ownership is transferred.
Returns:
PRACK SIP transaction. Ownership is transferred.
Leave:
KErrSIPInvalidDialogState if dialog is not in a correct state
Leave:
KErrSIPResourceNotAvailable if a required SIP Client API object has been deleted NetworkServices
IMPORT_C CSIPClientTransaction* CSIPInviteDialogAssoc::SendUpdateL CSIPMessageElements aElements = 0  ) 
 

Creates UPDATE and sends it to the remote target.

Precondition:
Dialog().Connection().State()==EActive

Dialog().State()==CSIPDialogEEarly || Dialog().State()==CSIPDialogEConfirmed

Parameters:
aElements contains user SIP headers and content. Ownership is transferred.
Returns:
UPDATE SIP transaction. Ownership is transferred.
Leave:
KErrSIPInvalidDialogState if dialog is not in a correct state
Leave:
KErrSIPResourceNotAvailable if a required SIP Client API object has been deleted NetworkServices

The documentation for this class was generated from the following file:

Copyright © Nokia Corporation 2001-2007
Back to top