RealTimeEndpoint Class

Definition

Represents an identifiable endpoint from which you can publish or subscribe to data using data sessions or send and receive invitations using signaling sessions. Each such endpoint is uniquely identified by a URI and an endpoint ID, or a GRUU URI.

public ref class RealTimeEndpoint abstract
public abstract class RealTimeEndpoint
type RealTimeEndpoint = class
Public MustInherit Class RealTimeEndpoint
Inheritance
RealTimeEndpoint
Derived

Constructors

RealTimeEndpoint(String, SipTransportType, String, Boolean, Int32, String, Boolean, Boolean)
Obsolete.

Creates a new instance of SipEndpoint. This endpoint is server-based. By default, use port 5060 for TCP and 5061 for TLS. To use a port other than these, the caller should set the ServerPort property before trying to register.

RealTimeEndpoint(String, String)
Obsolete.

Constructor when URI is supplied.

RealTimeEndpoint(String, String, Boolean)
Obsolete.

Constructor when URI is supplied.

Properties

ApplicationContext

Gets or sets the application context.

ApplicationUserAgent

Gets or sets the application user agent string. This is appended to the user agent header.

ConnectionManager

Gets or sets the connection manager.

DefaultDomain

Gets the default domain of the endpoint URI.

DefaultPeerToPeerEndpointConnectionManager

Get the default connection manager for SipPeerToPeerEndpoint. This can be null if it was never used. This connection manager is used if SipPeerToPeerEndpoint is created without passing a connection manager. The application is responsible for disposing this object when it is no longer needed.

DefaultSipEndpointConnectionManager

Get the default connection manager for SipEndpoint. This can be null if it was never used. This connection manager is used if SipEndpoint is created without passing a connection manager. The application is responsible for disposing this object when it is no longer needed.

DesiredSessionTimerInterval

Gets or sets the desired session timer interval of the application. This is used only for the initial Invite or Response.

DisableAutomaticRetryForRetryAfter

Gets or sets whether the endpoint should retry requests for failed responses that contain retry-after header. By default, this is false and hence the platform will retry once more for such requests. If the applications wants to disable this automatic retry behavior, this property can be set to true. Typically, this might be needed for an application whose primary task is to perform back to back operation for two sessions where automatic retry might interfere with the ability to offer quick feedback via the back to back session so that the remote can take corrective measures.

DisplayName

Gets or sets the user name preferred by the application for the local user. This name will be used as the display name of the user in outgoing messages. This property indicates the display name to use in outgoing messages.

EndpointUri

Gets the URI of the endpoint.

Gruu

Gets the GRUU of the endpoint, if any. Can be null.

Id

Gets the ID for this endpoint. The same URI may be used on different endpoints. The ID is unique across all endpoints having the same URI.

IsSessionTimerSupported

Gets or sets the default policy used for the session timer. This value is inherited by incoming/outgoing sessions unless an incoming session requires it. The application can override the policy per session.

MaximumSessionConnectDuration

Gets or sets the maximum duration in minutes to wait for final response.

MinimumSessionTimerInterval

Gets or sets the minimum session interval. Any session-expires interval less than this value in messages will not be accepted.

OutboundConnectionDefaultAddressFamilyHint

Gets the address family default for making outbound connnections.

OwnerUri

Gets the URI of the owner of the endpoint.

ReliableProvisionalResponsePolicy

Gets or sets the default policy for supporting 100rel extension feature. If an application supports this then the remote can ask for this when sending provisional responses which will result in PRACK message geting sent to acknowledge the response. An application should set this to set the policy globally for all sessions created. For outgoing session, ExtensionFeatureSupport.Required is not recommended since it is not meaningful and it likely to be rejected by the remote side with 420 (BadExtension) response.

RouteSetRecoveryMode

Gets the mode used for recovery of the session's route set.

Uri

Gets the URI of the identity owning this endpoint.

UserAgent

Gets the user agent string used for messages. This includes the platform's header followed by the header supplied by the application, if any.

Methods

AddFeatureParameter(String)

Adds a feature parameter. See rfc 3840.

AddFeatureParameter(String, String)

Adds a feature parameter. See rfc 3840.

AddSipExtension(String)

Adds an extension to the list of supported extensions for Invite. If an incoming Invite message has a required header that does not exist in this list, it will be automatically rejected with 420. Once an item is added to this list, it cannot be removed. This list does not affect outgoing Invites for which the application is responsible for adding any necessary headers such as "Supported" or "Require" headers for specific SIP extensions.

ApplyRouteSetRecoverySettings(RouteSetRecoverySettings)

Applies the specified route set recovery settings to the endpoint.

BeginSendMessage(MessageType, RealTimeAddress, ContentType, Byte[], AsyncCallback, Object)

Sends a message to another endpoint.

BeginSendMessage(MessageType, RealTimeAddress, ContentType, Byte[], IEnumerable<SignalingHeader>, AsyncCallback, Object)

Sends a message.

BeginSendMessage(MessageType, RealTimeAddress, SendMessageOptions, AsyncCallback, Object)

Sends a message.

BeginTerminate(AsyncCallback, Object)

Terminates the endpoint and cleans up active sessions and resources. The endpoint is no longer usable.

EndSendMessage(IAsyncResult)

Waits for the pending SendMessage operation to complete.

EndTerminate(IAsyncResult)

Completes the asynchronous Terminate operation.

GetFeatureParameterValue(String)

Gets the value of the given parameter.

GetSupportedSipExtensions()

Gets the list of extensions supported by this endpoint. By default, this list is populated with extensions understood by the platform. The application can add other extensions it can support. Incoming Invite messages will be automatically rejected with 420 response if it contains a Requires header with option-tag that is not present in this list.

GetTraceCorrelationID()

Gets the trace correlation id for this instance.

RegisterForPageModeMessages()

Register for page mode messages.

RemoveFeatureParameter(String)

Removes a feature parameter matching the name if it exists.

SendMessage(MessageType, RealTimeAddress, ContentType, Byte[])

Synchronously sends a message. The endpoint should be in the Connected state. This method is not recommended for a UI thread.

SendMessage(MessageType, RealTimeAddress, ContentType, Byte[], IEnumerable<SignalingHeader>)

Synchronously sends a message. The session should be in connected state. This method is not recommended for a UI thread.

Terminate()

Terminates the endpoint and cleans up active sessions and resources. The endpoint is no longer usable.

ToString()

Returns the string representation of the object.

UnregisterForPageModeMessages()

Unregister for pagemode messages

Events

MessageReceived

Raised when a message is received.

SessionReceived

Raised when a new invitation is received.

Extension Methods

AddRegisterResponseDefaultHeaders(RealTimeEndpoint, SipResponse)
BeginSendErrorReport(RealTimeEndpoint, SessionErrorReport, AsyncCallback, Object)
EndSendErrorReport(RealTimeEndpoint, IAsyncResult)
GetSessionErrorReportingSupport(RealTimeEndpoint)
RegisterForRegisterRequests(RealTimeEndpoint, TransactionCreatedEventHandler)
SetSessionErrorReportingSupport(RealTimeEndpoint, Boolean)
UnregisterForRegisterRequests(RealTimeEndpoint, TransactionCreatedEventHandler)
RegisterForUserRegistrationNotification(RealTimeEndpoint, EventHandler<UserRegistrationNotificationEventArgs>)
UnregisterForUserRegistrationNotification(RealTimeEndpoint, EventHandler<UserRegistrationNotificationEventArgs>)

Applies to