Class for managing SIP NOTIFY dialog associations. It provides services for creating, using and terminating SIP NOTIFY dialog associations. The user can have multiple NOTIFY dialog associations per same SIP dialog. Implementation handles SUBSCRIBE on the dialog level defined by Call-Id, local and remote tags; user is responsible for "Event" and "Subscription-State" header semantics.
The response to the received SIP request will create a SIP NOTIFY dialog association that will be correlated with the SIP dialog in which SIP server transaction was received. If the server transaction was not received within a SIP dialog, a new SIP dialog is created. The server transaction must be either SUBSCRIBE or REFER transaction.
Precondition:
aTransaction.State()==ETrying || EProceeding
aEvent != 0 && aState != 0
Parameters:
aTransaction
a SIP server transaction
aEvent
an event to send a notification about; the ownership is transferred.
aState
a subscription state; the ownership is transferred.
Returns:
New object; the ownership is transferred
Leave:
KErrArgument if aTransaction is not a SUBSCRIBE or REFER transaction, or aEvent == 0 or aState == 0.
Leave:
KErrSIPInvalidTransactionState if aTransaction is in a wrong state
The response to the received SIP request will create a SIP NOTIFY dialog association that will be correlated with the SIP dialog in which SIP server transaction was received. If the server transaction was not received within a SIP dialog, a new SIP dialog is created. The server transaction must be either SUBSCRIBE or REFER transaction.
Precondition:
aTransaction.State()==ETrying || EProceeding
aEvent != 0 && aState != 0
Parameters:
aTransaction
a SIP server transaction
aEvent
an event to send a notification about; the ownership is transferred.
aState
a subscription state; the ownership is transferred.
Returns:
New object; the ownership is transferred
Leave:
KErrArgument if aTransaction is not a SUBSCRIBE or REFER transaction, or aEvent == 0 or aState == 0.
Leave:
KErrSIPInvalidTransactionState if aTransaction is in a wrong state