CSIPInviteDialogAssoc Class Reference
class CSIPInviteDialogAssoc : public CSIPDialogAssocBase
|
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.
sipclient.lib
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()
|
Constructor & Destructor Documentation
CSIPInviteDialogAssoc()
CSIPInviteDialogAssoc
|
(
|
)
|
[private]
|
~CSIPInviteDialogAssoc()
IMPORT_C
|
~CSIPInviteDialogAssoc
|
(
|
)
|
|
Member Functions Documentation
ConstructL(CSIPServerTransaction &, const MSIPRegistrationContext *)
DoSendAckL(const CSIPClientTransaction &, CSIPMessageElements *)
DoSendInviteL(CSIPMessageElements *)
Sends initial INVITE creating a dialog and creates a transaction for it.
Parameters
CSIPMessageElements
* aElements
|
contains user SIP headers and content. Ownership is transferred.
|
DoSendRequestWithinDialogL(RStringF, CSIPMessageElements *)
NewL(CSIPDialog &)
Parameters
CSIPDialog
& aDialog
|
a dialog to be associated with
|
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
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
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
Parameters
CSIPConnection
& aConnection
|
a SIP connection to be used with dialog association
|
CSIPFromHeader
* aFrom
|
originator's address; the ownership is transfered
|
CUri8
* aRemoteUri
|
a remote target URI that identifies a resource that the request is addressed to. The ownership is transferred.
|
CSIPToHeader
* aTo = 0
|
logical recipient's address; if not defined the remote target uri will be used for To-header construction; the ownership is transfered
|
CSIPContactHeader
* aContact = 0
|
a contact to be used in dialog creation. Must be given only if user intends to re-direct future requests; the ownership is transfered
|
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
Parameters
CSIPConnection
& aConnection
|
a SIP connection to be used with dialog association
|
CUri8
* aRemoteUri
|
a remote target URI that identifies a resource that the request is targeted to. The ownership is transferred.
|
const
MSIPRegistrationContext
& aContext
|
used for selecting outbound proxy and originator's address (AOR) and contact
|
CSIPFromHeader
* aFrom = 0
|
originator's address. If not defined it will constructed using registration context (User's AOR); the ownership is transfered
|
CSIPToHeader
* aTo = 0
|
logical recipient's address; if not defined the remote target uri will be used for To-header construction; the ownership is transfered
|
CSIPContactHeader
* aContact = 0
|
a contact to be used in dialog creation. Must be given only if user intends to re-direct future requests; the ownership is transfered
|
NewLC(CSIPDialog &)
Parameters
CSIPDialog
& aDialog
|
a dialog to be associated with
|
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
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
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
Parameters
CSIPConnection
& aConnection
|
|
CSIPFromHeader
* aFrom
|
originator's address; the ownership is transfered
|
CUri8
* aRemoteUri
|
a remote target URI that identifies a resource that the request is addressed to. The ownership is transferred.
|
CSIPToHeader
* aTo = 0
|
logical recipient's address; if not defined the remote target uri will be used for To-header construction; the ownership is transfered
|
CSIPContactHeader
* aContact = 0
|
a contact to be used in dialog creation. Must be given only if user intends to re-direct future requests; the ownership is transfered
|
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
Parameters
CSIPConnection
& aConnection
|
a SIP connection to be used with dialog association
|
CUri8
* aRemoteUri
|
a remote target URI that identifies a resource that the request is targeted to. The ownership is transferred.
|
const
MSIPRegistrationContext
& aContext
|
used for selecting outbound proxy and originator's address (AOR) and contact
|
CSIPFromHeader
* aFrom = 0
|
originator's address. If not defined it will constructed using registration context (User's AOR); the ownership is transfered
|
CSIPToHeader
* aTo = 0
|
logical recipient's address; if not defined the remote target uri will be used for To-header construction; the ownership is transfered
|
CSIPContactHeader
* aContact = 0
|
a contact to be used in dialog creation. Must be given only if user intends to re-direct future requests; the ownership is transfered
|
NewLC(CSIPConnection &, CUri8 *, CSIPFromHeader *, CSIPToHeader *, CSIPContactHeader *, const MSIPRegistrationContext *)
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
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
Parameters
CSIPMessageElements
* aElements = 0
|
contains user SIP headers and content. 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
Parameters
CSIPMessageElements
* aElements = 0
|
contains user SIP headers and content. 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
Parameters
CSIPMessageElements
* aElements = 0
|
contains user SIP headers and content. 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
Parameters
CSIPMessageElements
* aElements = 0
|
contains user SIP headers and content. Ownership is transferred.
|
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.