SipSubscription Class

Definition

Provides low-level subscription and notification. Users of this class need to pass the ISubscriptionProcessor interface to interact with the subscription. It automatically refreshes the subscription, 15 minutes before the expiry. Users of SipSubscription can also refresh the subscription themselves.

public ref class SipSubscription
public class SipSubscription
type SipSubscription = class
Public Class SipSubscription
Inheritance
SipSubscription

Constructors

SipSubscription(RealTimeEndpoint, RealTimeAddress, String, ISipSubscriptionProcessor)

Creates the SipSubscription object and initializes the values.

SipSubscription(RealTimeEndpoint, RealTimeAddress, String, ISipSubscriptionProcessor, Boolean)

Creates the SipSubscription object and initializes the values.

SipSubscription(RealTimeEndpoint, RealTimeAddress, String, ISipSubscriptionProcessor, Boolean, String)

Creates the SipSubscription object and initializes the values.

Properties

CurrentState

Gets the current signaling state of the subscription.

EventPackage

Gets the name of the event package, for which this subscription is created.

IsActive

Gets true if current state is subscribed or refreshing.

IsQueryOnly

Gets true or false. When IsQueryOnly is set to true, Expires 0 header would be automatically added on the underlying subscription. The default value is false.

SubscriberEndpoint

Gets the endpoint of the subscriber who creates this subscription.

Target

Gets the target to be used in the "To" header in the Subscribe request.

TimeRemainingToRefresh

Gets the time span remaining to expire this subscription.

Methods

BeginRefresh(AsyncCallback, Object)

Creates a transaction async result to refresh an existing subscription and puts the workitem in queue. Refresh is allowed only if the current subscription state is valid. Multiple simultaneous refreshes are allowed, but not recommended for the application.

BeginSendUpdateMessage(ContentType, Byte[], AsyncCallback, Object)

Send an update message on existing subscription dialog, this is useful where server allows the change in the semantics of existing subscription dialog especially used for LS batch subscriptions.

BeginSubscribe(AsyncCallback, Object)

Creates an subscribe request body and puts the workItem in queue to invoke Subscribe.

BeginTerminate(AsyncCallback, Object)

If a subscription exists, then terminate the subscription; else completed as no operation.

EndRefresh(IAsyncResult)

Ends the pending refresh operation.

EndSendUpdateMessage(IAsyncResult)

Ends the pending Subscription Update operation.

EndSubscribe(IAsyncResult)

Ends the pending asynchronous subscribe operation.

EndTerminate(IAsyncResult)

Ends the pending terminate operation.

GetTraceCorrelationID()

Gets the trace correlation id for this instance.

Refresh()

Synchronous version of BeginRefresh and EndRefresh.

Subscribe()

Synchronous version of BeginSubscribe and EndSubscribe.

Terminate()

Synchronous version of BeginTerminate and EndTerminate.

ToString()

Returns the string representation for the SipSubscription object, which basically contains endpointId, event, and the current subscription state.

Applies to