CSIPSubscribeDialogAssoc Class Reference
#include
<mw/sipsubscribedialogassoc.h>
Link against: sipclient.lib
class CSIPSubscribeDialogAssoc : public CSIPDialogAssocBase |
Public Member Functions |
---|
| ~CSIPSubscribeDialogAssoc() |
void | ConnectionLost() |
virtual void | DeletingRefresh(CSIPRefresh &, TUint32) |
CSIPClientTransaction * | DoSendSubscribeL(CSIPMessageElements *, CSIPRefresh *, TBool) |
CSIPClientTransaction * | DoSendUnsubscribeL(CSIPMessageElements *) |
IMPORT_C const CSIPEventHeader & | Event() |
virtual
CSIPRefresh * | FindRefresh(TUint32) |
IMPORT_C CSIPSubscribeDialogAssoc * | NewL(CSIPDialog &, CSIPEventHeader *) |
IMPORT_C CSIPSubscribeDialogAssoc * | NewL(CSIPConnection &, CSIPFromHeader *, CUri8 *, CSIPEventHeader *, CSIPToHeader *, CSIPContactHeader *) |
IMPORT_C CSIPSubscribeDialogAssoc * | NewL(CSIPConnection &, CUri8 *, const MSIPRegistrationContext &, CSIPEventHeader *, CSIPFromHeader *, CSIPToHeader *, CSIPContactHeader *) |
IMPORT_C CSIPSubscribeDialogAssoc * | NewLC(CSIPDialog &, CSIPEventHeader *) |
IMPORT_C CSIPSubscribeDialogAssoc * | NewLC(CSIPConnection &, CSIPFromHeader *, CUri8 *, CSIPEventHeader *, CSIPToHeader *, CSIPContactHeader *) |
IMPORT_C CSIPSubscribeDialogAssoc * | NewLC(CSIPConnection &, CUri8 *, const MSIPRegistrationContext &, CSIPEventHeader *, CSIPFromHeader *, CSIPToHeader *, CSIPContactHeader *) |
CSIPSubscribeDialogAssoc * | NewLC(CSIPConnection &, CUri8 *, CSIPEventHeader *, CSIPFromHeader *, CSIPToHeader *, CSIPContactHeader *, const MSIPRegistrationContext *) |
IMPORT_C const CSIPRefresh * | SIPRefresh() |
IMPORT_C CSIPClientTransaction * | SendSubscribeL(CSIPMessageElements *, CSIPRefresh *) |
IMPORT_C CSIPClientTransaction * | SendUnsubscribeL(CSIPMessageElements *) |
IMPORT_C CSIPClientTransaction * | UpdateL(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::Dialog() |
| CSIPDialogAssocBase::Dialog()const |
| CSIPDialogAssocBase::Implementation() |
| CSIPDialogAssocBase::IsNonTargetRefreshRequest(RStringF)const |
| CSIPDialogAssocBase::SendNonTargetRefreshRequestL(RStringF,CSIPMessageElements *) |
| CSIPDialogAssocBase::Type()const |
| CSIPDialogAssocBase::~CSIPDialogAssocBase() |
Detailed Description
Class for managing SIP SUBSCRIBE dialog associations. It provides services for creating, using and terminating SIP SUBSCRIBE dialog associations. The client can have multiple SUBSRIBE dialog associations per same SIP dialog. Implementation handles SUBSCRIBE on the dialog level defined by Call-Id, local and remote tags; "Event" header semantics are client's responsibility
Constructor & Destructor Documentation
~CSIPSubscribeDialogAssoc ( )
IMPORT_C | ~CSIPSubscribeDialogAssoc | ( | ) | |
Member Function Documentation
DeletingRefresh ( CSIPRefresh &, TUint32 )
DoSendSubscribeL ( CSIPMessageElements *, CSIPRefresh *, TBool )
DoSendUnsubscribeL ( CSIPMessageElements * )
Event ( )
Gets an event to which the subscription is done
NewL ( CSIPDialog &, CSIPEventHeader * )
Two-phased constructor. Should be used if response to the SIP request to be sent will create a SIP dialog association.
- Pre-condition
- aEvent != 0
- leave
- KErrArgument if aEvent == 0
- leave
- KErrSIPResourceNotAvailable if a required SIP Client API object has been deleted
Parameter | Description | aDialog | a dialog to be associated with |
aEvent | an event to subscribe to; the ownership is transferred |
Returns: New object; the ownership is transferred
NewL ( CSIPConnection &, CSIPFromHeader *, CUri8 *, CSIPEventHeader *, CSIPToHeader *, CSIPContactHeader * )
Two-phased constructor
- Pre-condition
- aFrom != 0
aRemoteUri != 0 aEvent != 0 The user of the class must not define tags in From-header and To-header.
- leave
- KErrArgument if aFrom == 0, aRemoteUri == 0 or aEvent == 0
- leave
- KErrSIPResourceNotAvailable if a required SIP Client API object has been deleted
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. |
aEvent | an event to subscribe 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; the ownership is transferred.
NewL ( CSIPConnection &, CUri8 *, const MSIPRegistrationContext &, CSIPEventHeader *, CSIPFromHeader *, CSIPToHeader *, CSIPContactHeader * )
Two-phased constructor
- Pre-condition
- aRemoteUri != 0
aEvent != 0 The user of the class must not define tags in From-header and To-header. aContext.IsContextActive()==ETrue
- leave
- KErrArgument if aRemoteUri == 0 or aEvent == 0
- leave
- KErrSIPInvalidRegistrationState if aContext.IsContextActive()==EFalse
- leave
- KErrSIPResourceNotAvailable if a required SIP Client API object has been deleted
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. |
aContext | used for selecting outbound proxy and originator's address (AOR) and contact |
aEvent | an event to subscribe to; the ownership is transferred |
aFrom | originator's address. If not defined it will be 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; the ownership is transferred.
NewLC ( CSIPDialog &, CSIPEventHeader * )
Two-phased constructor. Must be used if response to the SIP request to be sent will create a SIP dialog association.
- leave
- KErrArgument if aEvent == 0
- leave
- KErrSIPResourceNotAvailable if a required SIP Client API object has been deleted
Parameter | Description | aDialog | a dialog to be associated with |
aEvent | an event to subscribe to; the ownership is transferred |
Returns: New object, ownership is transferred
NewLC ( CSIPConnection &, CSIPFromHeader *, CUri8 *, CSIPEventHeader *, CSIPToHeader *, CSIPContactHeader * )
Two-phased constructor
- Pre-condition
- aFrom != 0
aRemoteUri != 0 aEvent != 0 The user of the class must not define tags in From-header and To-header.
- leave
- KErrArgument if aFrom == 0, aRemoteUri == 0 or aEvent == 0
- leave
- KErrSIPResourceNotAvailable if a required SIP Client API object has been deleted
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. |
aEvent | an event to subscribe 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; the ownership is transferred.
NewLC ( CSIPConnection &, CUri8 *, const MSIPRegistrationContext &, CSIPEventHeader *, CSIPFromHeader *, CSIPToHeader *, CSIPContactHeader * )
Two-phased constructor
- Pre-condition
- aRemoteUri != 0
aEvent != 0 The user of the class must not define tags in From-header and To-header. aContext.IsContextActive()==ETrue
- leave
- KErrArgument if aRemoteUri == 0 or aEvent == 0
- leave
- KErrSIPInvalidRegistrationState if aContext.IsContextActive()==EFalse
- leave
- KErrSIPResourceNotAvailable if a required SIP Client API object has been deleted
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. |
aContext | used for selecting outbound proxy and originator's address (AOR) and contact |
aEvent | an event to subscribe to; the ownership is transferred |
aFrom | originator's address. If not defined it will be 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; the ownership is transferred.
NewLC ( CSIPConnection &, CUri8 *, CSIPEventHeader *, CSIPFromHeader *, CSIPToHeader *, CSIPContactHeader *, const MSIPRegistrationContext * )
SIPRefresh ( )
Gets associated refresh in case the user has requested the refresh of the SIP subscription. Note that refreshed SUBSCRIBE dialog association cannot be terminated nor updated using the returned object.
Returns: Associated refresh or 0 pointer if the user has not requested a refresh. Ownership is not transferred.
SendSubscribeL ( CSIPMessageElements *, CSIPRefresh * )
Creates SUBSCRIBE and sends it to the remote target. 101-199 or 2xx response to SUBSCRIBE will create a dialog association in case of the first SUBSCRIBE request within this dialog. Client must not provide Event-header in the optional message headers.
- Pre-condition
-
Dialog().Connection().State()==EActive
Dialog().State()==CSIPDialogEInit || Dialog().State()==CSIPDialogEConfirmed
-
leave
- KErrSIPInvalidDialogState if Dialog().State() is incorrect
-
capability
- NetworkServices
Parameter | Description | aElements | optional SIP message headers and body. Ownership is transferred. |
aRefresh | if set the transaction will be refreshed at given interval. Interval must be defined by including Expires-header. Ownership is transferred. |
Returns: SUBSCRIBE SIP transaction. Ownership is transferred.
SendUnsubscribeL ( CSIPMessageElements * )
Creates (un)SUBSCRIBE and sends it to the remote target. Possible associated refresh will be terminated as well. Client must not provide Event-header in the optional message headers.
- Pre-condition
- Dialog().Connection().State()==EActive
Dialog().State()==CSIPDialogEConfirmed
- leave
- KErrSIPInvalidDialogState if Dialog().State() is incorrect
- capability
- NetworkServices
Parameter | Description | aElements | optional SIP message headers and body. Ownership is transferred. |
Returns: SUBSCRIBE SIP transaction. Ownership is transferred.
UpdateL ( CSIPMessageElements * )
Updates the subscription. Note that update can be done when 2xx response is received to the initial SUBSCRIBE or to update. Client must not provide Event-header in the optional message headers.
- Pre-condition
- aElements != 0
Dialog().Connection().State()==EActive Dialog().State()==CSIPDialogEConfirmed
- leave
- KErrArgument if aElements == 0 or aElements contain Event-header
- leave
- KErrSIPInvalidDialogState if Dialog().State() is incorrect
- capability
- NetworkServices
Parameter | Description | aElements | contains user SIP headers and content; the ownership is transferred |
Returns: SUBSCRIBE SIP client transaction; the ownership is transferred