S60 3rd Edition API Reference: CSIPReferDialogAssoc Class Reference

CSIPReferDialogAssoc Class Reference

API published in: S60 3rd Ed

Link against: sipclient.lib

Capability Information

Required Capabilities

Location NetworkControl NetworkServices ReadDeviceData WriteDeviceData


#include <sipreferdialogassoc.h>

Inherits CSIPDialogAssocBase.


Detailed Description

PublishedAll
Released
Class for managing SIP REFER dialog associations. It provides services for creating, using and terminating SIP REFER dialog associations. User can have multiple REFER dialog associations per same SIP dialog. Implementation handles SUBSCRIBE on the dialog level defined by Call-Id, local and remote tags; User is responsible for "Refer-to" header semantics.

Public Member Functions

IMPORT_C ~CSIPReferDialogAssoc ()
 Destructor.
IMPORT_C CSIPClientTransactionSendReferL (CSIPMessageElements *aElements=0)
 Creates REFER and sends it to the remote target.
IMPORT_C const CSIPReferToHeaderReferTo () const
 Gets referred-to resouce.
CSIPClientTransactionDoSendReferL (CSIPMessageElements *aElements, TBool aWithinDialog)
 Sends a REFER request.

Static Public Member Functions

static IMPORT_C CSIPReferDialogAssocNewL (CSIPDialog &aDialog, CSIPReferToHeader *aReferTo)
 Two-phased constructor.
static IMPORT_C CSIPReferDialogAssocNewLC (CSIPDialog &aDialog, CSIPReferToHeader *aReferTo)
 Two-phased constructor.
static IMPORT_C CSIPReferDialogAssocNewL (CSIPConnection &aConnection, CSIPFromHeader *aFrom, CUri8 *aRemoteUri, CSIPReferToHeader *aReferTo, CSIPToHeader *aTo=0, CSIPContactHeader *aContact=0)
 Two-phased constructor.
static IMPORT_C CSIPReferDialogAssocNewLC (CSIPConnection &aConnection, CSIPFromHeader *aFrom, CUri8 *aRemoteUri, CSIPReferToHeader *aReferTo, CSIPToHeader *aTo=0, CSIPContactHeader *aContact=0)
 Two-phased constructor.
static IMPORT_C CSIPReferDialogAssocNewL (CSIPConnection &aConnection, CUri8 *aRemoteUri, const MSIPRegistrationContext &aContext, CSIPReferToHeader *aReferTo, CSIPFromHeader *aFrom=0, CSIPToHeader *aTo=0, CSIPContactHeader *aContact=0)
 Two-phased constructor.
static IMPORT_C CSIPReferDialogAssocNewLC (CSIPConnection &aConnection, CUri8 *aRemoteUri, const MSIPRegistrationContext &aContext, CSIPReferToHeader *aReferTo, CSIPFromHeader *aFrom=0, CSIPToHeader *aTo=0, CSIPContactHeader *aContact=0)
 Two-phased constructor.

Constructor & Destructor Documentation

IMPORT_C CSIPReferDialogAssoc::~CSIPReferDialogAssoc  ) 
 

Destructor.


Member Function Documentation

CSIPClientTransaction* CSIPReferDialogAssoc::DoSendReferL CSIPMessageElements aElements,
TBool  aWithinDialog
 

Sends a REFER request.

Precondition:
Dialog().Connection().State()==EActive
Parameters:
aElements optional SIP message headers and body. Ownership is transferred.
aWithinDialog ETrue if REFER is sent within dialog, EFalse if REFER creates the dialog.
Returns:
REFER SIP transaction. Ownership is transferred.
static IMPORT_C CSIPReferDialogAssoc* CSIPReferDialogAssoc::NewL CSIPConnection aConnection,
CUri8 *  aRemoteUri,
const MSIPRegistrationContext aContext,
CSIPReferToHeader aReferTo,
CSIPFromHeader aFrom = 0,
CSIPToHeader aTo = 0,
CSIPContactHeader aContact = 0
[static]
 

Two-phased constructor.

Precondition:
aReferTo != 0

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.
aContext used for selecting outbound proxy and originator's address (AOR) and contact
aReferTo referred-to resource
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: the ownership is transferred.
Leave:
KErrArgument if aRemoteuri == 0 or aReferTo == 0
Leave:
KErrSIPInvalidRegistrationState if aContext.IsContextActive() == EFalse
static IMPORT_C CSIPReferDialogAssoc* CSIPReferDialogAssoc::NewL CSIPConnection aConnection,
CSIPFromHeader aFrom,
CUri8 *  aRemoteUri,
CSIPReferToHeader aReferTo,
CSIPToHeader aTo = 0,
CSIPContactHeader aContact = 0
[static]
 

Two-phased constructor.

Precondition:
aFrom != 0

aReferTo != 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.
aReferTo referred-to resource
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; the ownership is transferred.
Leave:
KErrArgument if aFrom == 0 or aRemoteuri == 0 or aReferTo == 0
static IMPORT_C CSIPReferDialogAssoc* CSIPReferDialogAssoc::NewL CSIPDialog aDialog,
CSIPReferToHeader aReferTo
[static]
 

Two-phased constructor.

Should be used if response to the SIP request to be sent will create a SIP dialog association.

Precondition:
aReferTo != 0
Parameters:
aDialog a dialog to be associated with
aReferTo referred-to resource
Returns:
New object; the ownership is transferred
Leave:
KErrArgument if aReferTo == 0
static IMPORT_C CSIPReferDialogAssoc* CSIPReferDialogAssoc::NewLC CSIPConnection aConnection,
CUri8 *  aRemoteUri,
const MSIPRegistrationContext aContext,
CSIPReferToHeader aReferTo,
CSIPFromHeader aFrom = 0,
CSIPToHeader aTo = 0,
CSIPContactHeader aContact = 0
[static]
 

Two-phased constructor.

Precondition:
aReferTo != 0

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.
aContext used for selecting outbound proxy and originator's address (AOR) and contact
aReferTo referred-to resource
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; the ownership is transferred.
Leave:
KErrArgument if aRemoteuri == 0 or aReferTo == 0
Leave:
KErrSIPInvalidRegistrationState if aContext.IsContextActive() == EFalse
static IMPORT_C CSIPReferDialogAssoc* CSIPReferDialogAssoc::NewLC CSIPConnection aConnection,
CSIPFromHeader aFrom,
CUri8 *  aRemoteUri,
CSIPReferToHeader aReferTo,
CSIPToHeader aTo = 0,
CSIPContactHeader aContact = 0
[static]
 

Two-phased constructor.

Precondition:
aFrom != 0

aReferTo != 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.
aReferTo referred-to resource
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; the ownership is transferred.
Leave:
KErrArgument if aFrom == 0 or aRemoteuri == 0 or aReferTo == 0
static IMPORT_C CSIPReferDialogAssoc* CSIPReferDialogAssoc::NewLC CSIPDialog aDialog,
CSIPReferToHeader aReferTo
[static]
 

Two-phased constructor.

Must be used if response to the SIP request to be sent will create a SIP dialog association.

Precondition:
aReferTo != 0
Parameters:
aDialog a dialog to be associated with
aReferTo referred-to resource
Returns:
New object; the ownership is transferred
Leave:
KErrArgument if aReferTo == 0
IMPORT_C const CSIPReferToHeader& CSIPReferDialogAssoc::ReferTo  )  const
 

Gets referred-to resouce.

Returns:
referred-to resource
IMPORT_C CSIPClientTransaction* CSIPReferDialogAssoc::SendReferL CSIPMessageElements aElements = 0  ) 
 

Creates REFER and sends it to the remote target.

leaves on failure. 101-199 or 2xx response will create REFER dialog association in case of first REFER request within this dialog association.

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

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

Parameters:
aElements optional SIP message headers and body. Ownership is transferred.
Returns:
REFER SIP transaction. Ownership is transferred.
Leave:
KErrSIPInvalidDialogState if dialog is in wrong 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