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.

Parameters
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.

Return Value
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.

Parameters
aRequestIdRequestId for the transaction to use
aAssociationObject with which the transaction is associated
aElementsRequest elements. Ownership is transferred.
Return Value
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.

Parameters
aRequestIdRequestId for the transaction to use
aAssociationObject with which the transaction is associated
aElementsRequest elements. Ownership is transferred.
Return Value
New object. Ownership is transferred.

ReAssociateL ( MTransactionAssociation & )

voidReAssociateL(MTransactionAssociation &aAssociation)

Update the MTransactionAssociation to point to aAssociation.

Parameters
aAssociationAssociated object

RequestElements ( )

IMPORT_C const CSIPRequestElements *RequestElements()const

Gets the request elements

Return Value
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.

Return Value
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.

Return Value
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

Parameters
aElementscontains Status Code, optional Reason Phrase and optional SIP message headers and body. Ownership is transferred.
Leave Codes
KErrArgumentif aElements == NULL
KErrGeneralif
KErrSIPInvalidTransactionStateif State()!=ETrying and State()!=EProceeding
KErrSIPInvalidDialogStateif sending response to a request within dialog, and the dialog is in terminated state.
KErrSIPResourceNotAvailableif a required SIP Client API object has been deleted
Capability
NetworkServices

SetResponseSender ( MSIPResponseSender * )

voidSetResponseSender(MSIPResponseSender *aSender)

Sets a new respose sender, replacing the current sender.

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