CSIPServerTransaction Class Reference

#include <mw/sipservertransaction.h>

Link against: sipclient

class CSIPServerTransaction : public CSIPTransactionBase

Inherits from

Public Member Functions
~CSIPServerTransaction()
voidDetachRequestElements(TAny *)
CSIPDialogImplementation *Dialog()
CSIPServerTransaction *NewL(TUint32, MTransactionAssociation &, CSIPRequestElements *)
CSIPServerTransaction *NewLC(TUint32, MTransactionAssociation &, CSIPRequestElements *)
voidReAssociateL(MTransactionAssociation &)
IMPORT_C const CSIPRequestElements *RequestElements()
IMPORT_C TBoolResponseAllowed()
CSIPConnection &SIPConnectionL()
IMPORT_C voidSendResponseL(CSIPResponseElements *)
voidSetResponseSender(MSIPResponseSender *)
Inherited Attributes
CSIPTransactionBase::iAssociation
CSIPTransactionBase::iRequestId
Inherited Enumerations
CSIPTransactionBase:TState
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()

Detailed Description

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

Constructor & Destructor Documentation

~CSIPServerTransaction ( )

IMPORT_C~CSIPServerTransaction()

Destructor

Member Function Documentation

DetachRequestElements ( TAny * )

voidDetachRequestElements(TAny *aServerTransaction)[static]

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

ParameterDescription
aServerTransactionServer 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.

Returns: CSIPDialogImplementation* The dialog inside which the request was received, or NULL. Ownership is not transferred.

NewL ( TUint32, MTransactionAssociation &, CSIPRequestElements * )

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

Creates a server transaction.

ParameterDescription
aRequestIdRequestId for the transaction to use
aAssociationObject with which the transaction is associated
aElementsRequest elements. Ownership is transferred.

Returns: New object. Ownership is transferred.

NewLC ( TUint32, MTransactionAssociation &, CSIPRequestElements * )

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

Creates a server transaction and pushes it to cleanup stack.

ParameterDescription
aRequestIdRequestId for the transaction to use
aAssociationObject with which the transaction is associated
aElementsRequest elements. Ownership is transferred.

Returns: New object. Ownership is transferred.

ReAssociateL ( MTransactionAssociation & )

voidReAssociateL(MTransactionAssociation &aAssociation)

Update the MTransactionAssociation to point to aAssociation.

ParameterDescription
aAssociationAssociated object

RequestElements ( )

IMPORT_C const CSIPRequestElements *RequestElements()const

Gets the request elements

Returns: Request elements. Ownership is not transferred.

ResponseAllowed ( )

IMPORT_C TBoolResponseAllowed()const

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

Returns: ETrue if response sending is allowed, EFalse otherwise

SIPConnectionL ( )

CSIPConnection &SIPConnectionL()

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

Returns: CSIPConnection

SendResponseL ( CSIPResponseElements * )

IMPORT_C voidSendResponseL(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
ParameterDescription
aElementscontains Status Code, optional Reason Phrase and optional SIP message headers and body. Ownership is transferred.

SetResponseSender ( MSIPResponseSender * )

voidSetResponseSender(MSIPResponseSender *aSender)

Sets a new respose sender, replacing the current sender.

ParameterDescription
aSenderResponse sender to be used from now on. Ownership is transferred.