CSIPInviteDialogAssoc Class Reference
#include
<mw/sipinvitedialogassoc.h>
Link against: sipclient.lib
class CSIPInviteDialogAssoc : public CSIPDialogAssocBase |
Public Member Functions |
---|
| ~CSIPInviteDialogAssoc() |
void | DoSendAckL(const CSIPClientTransaction &, CSIPMessageElements *) |
CSIPClientTransaction * | DoSendCancelL(TUint32) |
CSIPClientTransaction * | DoSendInviteL(CSIPMessageElements *) |
CSIPClientTransaction * | DoSendRequestWithinDialogL(RStringF, CSIPMessageElements *) |
IMPORT_C CSIPInviteDialogAssoc * | NewL(CSIPDialog &) |
IMPORT_C CSIPInviteDialogAssoc * | NewL(CSIPServerTransaction &) |
IMPORT_C CSIPInviteDialogAssoc * | NewL(CSIPServerTransaction &, const MSIPRegistrationContext &) |
IMPORT_C CSIPInviteDialogAssoc * | NewL(CSIPConnection &, CSIPFromHeader *, CUri8 *, CSIPToHeader *, CSIPContactHeader *) |
IMPORT_C CSIPInviteDialogAssoc * | NewL(CSIPConnection &, CUri8 *, const MSIPRegistrationContext &, CSIPFromHeader *, CSIPToHeader *, CSIPContactHeader *) |
IMPORT_C CSIPInviteDialogAssoc * | NewLC(CSIPDialog &) |
IMPORT_C CSIPInviteDialogAssoc * | NewLC(CSIPServerTransaction &) |
IMPORT_C CSIPInviteDialogAssoc * | NewLC(CSIPServerTransaction &, const MSIPRegistrationContext &) |
IMPORT_C CSIPInviteDialogAssoc * | NewLC(CSIPConnection &, CSIPFromHeader *, CUri8 *, CSIPToHeader *, CSIPContactHeader *) |
IMPORT_C CSIPInviteDialogAssoc * | NewLC(CSIPConnection &, CUri8 *, const MSIPRegistrationContext &, CSIPFromHeader *, CSIPToHeader *, CSIPContactHeader *) |
IMPORT_C void | SendAckL(const CSIPClientTransaction &, CSIPMessageElements *) |
IMPORT_C CSIPClientTransaction * | SendByeL(CSIPMessageElements *) |
IMPORT_C CSIPClientTransaction * | SendInviteL(CSIPMessageElements *) |
IMPORT_C CSIPClientTransaction * | SendPrackL(CSIPMessageElements *) |
IMPORT_C CSIPClientTransaction * | SendUpdateL(CSIPMessageElements *) |
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() |
| CSIPDialogAssocBase::CSIPDialogAssocBase() |
| CSIPDialogAssocBase::ConstructL(RStringF,CSIPDialog &) |
| CSIPDialogAssocBase::ConstructL(RStringF,CSIPDialog &,CSIPServerTransaction &) |
| CSIPDialogAssocBase::DeletingRefresh(CSIPRefresh &,TUint32) |
| CSIPDialogAssocBase::Dialog() |
| CSIPDialogAssocBase::Dialog()const |
| CSIPDialogAssocBase::FindRefresh(TUint32) |
| CSIPDialogAssocBase::Implementation() |
| CSIPDialogAssocBase::IsNonTargetRefreshRequest(RStringF)const |
| CSIPDialogAssocBase::SendNonTargetRefreshRequestL(RStringF,CSIPMessageElements *) |
| CSIPDialogAssocBase::Type()const |
| CSIPDialogAssocBase::~CSIPDialogAssocBase() |
Detailed Description
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.
Constructor & Destructor Documentation
~CSIPInviteDialogAssoc ( )
IMPORT_C | ~CSIPInviteDialogAssoc | ( | ) | |
Member Function Documentation
DoSendAckL ( const CSIPClientTransaction &, CSIPMessageElements * )
Parameter | Description | aTransaction | a SIP INVITE client transaction to acknowledge |
aElements | optional SIP message headers and body. Ownership is transferred. |
DoSendCancelL ( TUint32 )
DoSendInviteL ( CSIPMessageElements * )
Sends initial INVITE creating a dialog and creates a transaction for it.
Parameter | Description | aElements | contains user SIP headers and content. Ownership is transferred. |
Returns: INVITE SIP transaction. Ownership is transferred.
DoSendRequestWithinDialogL ( RStringF, CSIPMessageElements * )
NewL ( CSIPDialog & )
Parameter | Description | aDialog | a dialog to be associated with |
Returns: New object, ownership is transferred.
NewL ( CSIPServerTransaction & )
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.
- Pre-condition
- aTransaction.State() == CSIPTransactionBase::EProceeding
aTransaction.Type() == SipStrConsts::EInvite
- leave
- KErrArgument if aTransaction.Type() != SipStrConsts::EInvite
- leave
- KErrSIPInvalidTransactionState if aTransaction.State() != CSIPTransactionBase::EProceeding
- leave
- KErrSIPResourceNotAvailable if a required SIP Client API object has been deleted
Parameter | Description | aTransaction | a SIP server transaction |
Returns: New object, ownership is transferred.
NewL ( CSIPServerTransaction &, const MSIPRegistrationContext & )
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.
- Pre-condition
- aTransaction.State() == CSIPTransactionBase::EProceeding
aTransaction.Type() == SipStrConsts::EInvite aContext.IsContextActive() == ETrue
- leave
- KErrArgument if aTransaction.Type() != SipStrConsts::EInvite
- leave
- KErrSIPInvalidTransactionState if aTransaction.State() != CSIPTransactionBase::EProceeding
- leave
- KErrSIPResourceNotAvailable if a required SIP Client API object has been deleted
Parameter | Description | aTransaction | a SIP server transaction |
aContext | that will be used for populating the Contact-header of the response to aTransaction |
Returns: New object, ownership is transferred.
NewL ( CSIPConnection &, CSIPFromHeader *, CUri8 *, CSIPToHeader *, CSIPContactHeader * )
Two-phased constructor
- Pre-condition
- aFrom != 0
aRemoteUri != 0 The user of the class must not define tags in From-header and To-header.
- leave
- KErrArgument if aFrom == 0 or aRemoteUri == 0
Parameter | Description | 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.
NewL ( CSIPConnection &, CUri8 *, const MSIPRegistrationContext &, CSIPFromHeader *, CSIPToHeader *, CSIPContactHeader * )
Two-phased constructor
- Pre-condition
- aRemoteUri != 0 The user of the class must not define tags in From-header and To-header.
aContext.IsContextActive() == ETrue
- leave
- KErrArgument if aRemoteUri == 0
- leave
- KErrSIPInvalidRegistrationState if aContext.IsContextActive() == EFalse
Parameter | Description | 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.
NewLC ( CSIPDialog & )
Parameter | Description | aDialog | a dialog to be associated with |
Returns: New object, ownership is transferred.
NewLC ( CSIPServerTransaction & )
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.
- Pre-condition
- aTransaction.State() == CSIPTransactionBase::EProceeding
aTransaction.Type() == SipStrConsts::EInvite
- leave
- KErrArgument if aTransaction.Type() != SipStrConsts::EInvite
- leave
- KErrSIPInvalidTransactionState if aTransaction.State() != CSIPTransactionBase::EProceeding
- leave
- KErrSIPResourceNotAvailable if a required SIP Client API object has been deleted
Parameter | Description | aTransaction | a SIP server transaction |
Returns: New object, ownership is transferred.
NewLC ( CSIPServerTransaction &, const MSIPRegistrationContext & )
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.
- Pre-condition
- aTransaction.State() == CSIPTransactionBase::EProceeding
aTransaction.Type() == SipStrConsts::EInvite aContext.IsContextActive() == ETrue
- leave
- KErrArgument if aTransaction.Type() != SipStrConsts::EInvite
- leave
- KErrSIPInvalidTransactionState if aTransaction.State() != CSIPTransactionBase::EProceeding
- leave
- KErrSIPResourceNotAvailable if a required SIP Client API object has been deleted
Parameter | Description | aTransaction | a SIP server transaction |
aContext | that will be used for populating the Contact-header of the response to aTransaction |
Returns: New object, ownership is transferred.
NewLC ( CSIPConnection &, CSIPFromHeader *, CUri8 *, CSIPToHeader *, CSIPContactHeader * )
Two-phased constructor
- Pre-condition
- aFrom != 0
aRemoteUri != 0 The user of the class must not define tags in From-header and To-header.
- leave
- KErrArgument if aFrom == 0 or aRemoteUri == 0
Parameter | Description | 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.
NewLC ( CSIPConnection &, CUri8 *, const MSIPRegistrationContext &, CSIPFromHeader *, CSIPToHeader *, CSIPContactHeader * )
Two-phased constructor
- Pre-condition
- aRemoteUri != 0 The user of the class must not define tags in From-header and To-header.
aContext.IsContextActive() == ETrue
- leave
- KErrArgument if aRemoteUri == 0
- leave
- KErrSIPInvalidRegistrationState if aContext.IsContextActive() == EFalse
Parameter | Description | 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.
SendAckL ( const CSIPClientTransaction &, CSIPMessageElements * )
Creates SIP ACK request and sends it to the remote target. The client transaction must be an INVITE transaction.
- Pre-condition
- Dialog().Connection().State()==EActive
Dialog().State()==CSIPDialogEConfirmed
- 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
- capability
- NetworkServices
Parameter | Description | aTransaction | a SIP INVITE client transaction to acknowledge |
aElements | optional SIP message headers and body. Ownership is transferred. |
SendByeL ( CSIPMessageElements * )
Creates SIP BYE request and sends it to the remote target.
- Pre-condition
- Dialog().Connection().State()==EActive
Dialog().State()==CSIPDialogEEarly || Dialog().State()==CSIPDialogEConfirmed
- 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
- capability
- NetworkServices
Parameter | Description | aElements | contains user SIP headers and content. Ownership is transferred. |
Returns: SIP BYE transaction. Ownership is transferred.
SendInviteL ( CSIPMessageElements * )
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.
- Pre-condition
- Dialog().Connection().State()==EActive
Dialog().State()==CSIPDialogEInit || Dialog().State()==CSIPDialogEConfirmed
- leave
- KErrSIPInvalidDialogState if dialog is not in a correct state
- leave
- KErrSIPResourceNotAvailable if a required SIP Client API object has been deleted
- capability
- NetworkServices
Parameter | Description | aElements | contains user SIP headers and content. Ownership is transferred. |
Returns: INVITE SIP transaction. Ownership is transferred.
SendPrackL ( CSIPMessageElements * )
Creates PRACK and sends it to the remote target.
- Pre-condition
- Dialog().Connection().State()==EActive
Dialog().State()==CSIPDialogEEarly || Dialog().State()==CSIPDialogEConfirmed aElements must not contain Contact headers
- leave
- KErrSIPInvalidDialogState if dialog is not in a correct state
- leave
- KErrSIPResourceNotAvailable if a required SIP Client API object has been deleted
- capability
- NetworkServices
Parameter | Description | aElements | contains user SIP headers and content. Ownership is transferred. |
Returns: PRACK SIP transaction. Ownership is transferred.
SendUpdateL ( CSIPMessageElements * )
Creates UPDATE and sends it to the remote target.
- Pre-condition
- Dialog().Connection().State()==EActive
Dialog().State()==CSIPDialogEEarly || Dialog().State()==CSIPDialogEConfirmed
- leave
- KErrSIPInvalidDialogState if dialog is not in a correct state
- leave
- KErrSIPResourceNotAvailable if a required SIP Client API object has been deleted
- capability
- NetworkServices
Parameter | Description | aElements | contains user SIP headers and content. Ownership is transferred. |
Returns: UPDATE SIP transaction. Ownership is transferred.