CSIPServerTransaction Class Reference

class CSIPServerTransaction : public CSIPTransactionBase

Class for managing SIP server transactions. It provides services for creating, ending and getting SIP transaction parameters. Client cannot instantiate this class.

sipclient

Inherits from

Public Member Functions
~CSIPServerTransaction ()
void DetachRequestElements ( TAny *)
CSIPDialogImplementation * Dialog ()
CSIPServerTransaction * NewL ( TUint32 , MTransactionAssociation &, CSIPRequestElements *)
CSIPServerTransaction * NewLC ( TUint32 , MTransactionAssociation &, CSIPRequestElements *)
void ReAssociateL ( MTransactionAssociation &)
IMPORT_C const CSIPRequestElements * RequestElements ()
IMPORT_C TBool ResponseAllowed ()
CSIPConnection & SIPConnectionL ()
IMPORT_C void SendResponseL ( CSIPResponseElements *)
void SetResponseSender ( MSIPResponseSender *)
Private Member Functions
CSIPServerTransaction ( TUint32 , MTransactionAssociation &)
void ConstructL ( CSIPRequestElements *)
void __DbgTestInvariant ()
Inherited Functions
CBase::CBase()
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
CSIPTransactionBase::AffectsDialogState()const
CSIPTransactionBase::CSIPTransactionBase(TBool,TUint32,MTransactionAssociation &)
CSIPTransactionBase::ChangeState(CSIPTransactionBase::TState)
CSIPTransactionBase::CheckAssociationL()const
CSIPTransactionBase::ConstructL(RStringF)
CSIPTransactionBase::Detach(const MTransactionAssociation &)
CSIPTransactionBase::IsSIPClientTransaction()const
CSIPTransactionBase::IsTargetRefresh(RStringF)
CSIPTransactionBase::RequestId()const
CSIPTransactionBase::ResponseElements()const
CSIPTransactionBase::SetAffectsDialogState()
CSIPTransactionBase::SetResponseElements(CSIPResponseElements *)
CSIPTransactionBase::StateL()
CSIPTransactionBase::Type()const
CSIPTransactionBase::operator==(const CSIPTransactionBase &)const
CSIPTransactionBase::~CSIPTransactionBase()
Inherited Enumerations
CSIPTransactionBase:TState
Private Attributes
CSIPRequestElements * iRequestElements
MSIPResponseSender * iResponseSender
Inherited Attributes
CSIPTransactionBase::iAssociation
CSIPTransactionBase::iRequestId

Constructor & Destructor Documentation

CSIPServerTransaction(TUint32, MTransactionAssociation &)

CSIPServerTransaction ( TUint32 aRequestId,
MTransactionAssociation & aAssociation
) [private]

Parameters

TUint32 aRequestId
MTransactionAssociation & aAssociation

~CSIPServerTransaction()

IMPORT_C ~CSIPServerTransaction ( )

Destructor

Member Functions Documentation

ConstructL(CSIPRequestElements *)

void ConstructL ( CSIPRequestElements * aElements ) [private]

Second phase constructor.

Pre-condition
aElements!=0

Parameters

CSIPRequestElements * aElements Request elements. Ownership is transferred.

DetachRequestElements(TAny *)

void DetachRequestElements ( TAny * aServerTransaction ) [static]

Removes, but does not delete, request elements from aServerTransaction.

Parameters

TAny * aServerTransaction Server transaction from which response elements are removed. Ownership is not transferred.

Dialog()

CSIPDialogImplementation * Dialog ( ) const

If the request was received inside a dialog, returns the dialog.

NewL(TUint32, MTransactionAssociation &, CSIPRequestElements *)

CSIPServerTransaction * NewL ( TUint32 aRequestId,
MTransactionAssociation & aAssociation,
CSIPRequestElements * aElements
) [static]

Creates a server transaction.

Parameters

TUint32 aRequestId RequestId for the transaction to use
MTransactionAssociation & aAssociation Object with which the transaction is associated
CSIPRequestElements * aElements Request elements. Ownership is transferred.

NewLC(TUint32, MTransactionAssociation &, CSIPRequestElements *)

CSIPServerTransaction * NewLC ( TUint32 aRequestId,
MTransactionAssociation & aAssociation,
CSIPRequestElements * aElements
) [static]

Creates a server transaction and pushes it to cleanup stack.

Parameters

TUint32 aRequestId RequestId for the transaction to use
MTransactionAssociation & aAssociation Object with which the transaction is associated
CSIPRequestElements * aElements Request elements. Ownership is transferred.

ReAssociateL(MTransactionAssociation &)

void ReAssociateL ( MTransactionAssociation & aAssociation )

Update the MTransactionAssociation to point to aAssociation.

Parameters

MTransactionAssociation & aAssociation Associated object

RequestElements()

IMPORT_C const CSIPRequestElements * RequestElements ( ) const

Gets the request elements

ResponseAllowed()

IMPORT_C TBool ResponseAllowed ( ) const

Checks if the response sending is allowed for this server transaction. For instance response is not allowed in ACK transaction.

SIPConnectionL()

CSIPConnection & SIPConnectionL ( )

Obtains the associated CSIPConnection instance. If connection can't be accessed anymore, this function leaves.

SendResponseL(CSIPResponseElements *)

IMPORT_C void SendResponseL ( CSIPResponseElements * aElements )
Sends response and ends the transaction; The user must not send 100 Trying response. Leaves on failure.
Pre-condition
aElements!=0
State()==ETrying || State()==EProceeding
CSIPConnection::State() ==EActive
ResponseAllowed() ==ETrue
leave
KErrArgument if aElements == NULL
leave
KErrGeneral if ResponseAllowed() == EFalse
leave
KErrSIPInvalidTransactionState if State()!=ETrying and State()!=EProceeding
leave
KErrSIPInvalidDialogState if sending response to a request within dialog, and the dialog is in terminated state.
leave
KErrSIPResourceNotAvailable if a required SIP Client API object has been deleted
capability
NetworkServices

Parameters

CSIPResponseElements * aElements contains Status Code, optional Reason Phrase and optional SIP message headers and body. Ownership is transferred.

SetResponseSender(MSIPResponseSender *)

void SetResponseSender ( MSIPResponseSender * aSender )

Sets a new respose sender, replacing the current sender.

Parameters

MSIPResponseSender * aSender Response sender to be used from now on. Ownership is transferred.

__DbgTestInvariant()

void __DbgTestInvariant ( ) const [private]

Member Data Documentation

CSIPRequestElements * iRequestElements

CSIPRequestElements * iRequestElements [private]

MSIPResponseSender * iResponseSender

MSIPResponseSender * iResponseSender [private]