SipPeerToPeerEndpoint Class

Definition

Represents an endpoint with no registration server.

public ref class SipPeerToPeerEndpoint : Microsoft::Rtc::Signaling::RealTimeEndpoint
public class SipPeerToPeerEndpoint : Microsoft.Rtc.Signaling.RealTimeEndpoint
type SipPeerToPeerEndpoint = class
    inherit RealTimeEndpoint
Public Class SipPeerToPeerEndpoint
Inherits RealTimeEndpoint
Inheritance
SipPeerToPeerEndpoint

Remarks

This endpoint can communicate with other endpoints directly or through a configured outbound proxy server. This endpoint does not support register or user authentication. This endpoint should be enabled for listening using the connection manager to allow others to connect. If the endpoint is used only for outgoing messages, then there is no need for listening.

Constructors

SipPeerToPeerEndpoint()
Obsolete.

Initializes a new instance of the SipPeerToPeerEndpoint class.

SipPeerToPeerEndpoint(String)
Obsolete.

Initializes a new instance of the SipPeerToPeerEndpoint class with the given URI. To enable listening, use StartListening(ipEndpoint) in the ConnectionManager property.

SipPeerToPeerEndpoint(String, RealTimeServerConnectionManager)

Initializes a new instance of the SipPeerToPeerEndpoint class.

SipPeerToPeerEndpoint(String, RealTimeServerConnectionManager, SipPeerToPeerEndpointSettings)

Initializes a new instance of the SipPeerToPeerEndpoint class.

SipPeerToPeerEndpoint(String, RealTimeServerConnectionManager, SipTransportType)

Initializes a new instance of the SipPeerToPeerEndpoint class.

SipPeerToPeerEndpoint(String, RealTimeServerConnectionManager, SipTransportType, IEnumerable<SignalingHeader>)

Initializes a new instance of the SipPeerToPeerEndpoint class.

SipPeerToPeerEndpoint(String, RealTimeServerConnectionManager, SipTransportType, String)

Initializes a new instance of SipPeerToPeerEndpoint.

SipPeerToPeerEndpoint(String, RealTimeServerConnectionManager, SipTransportType, String, Int32)

Initializes a new instance of the SipPeerToPeerEndpoint class.

SipPeerToPeerEndpoint(String, RealTimeServerConnectionManager, SipTransportType, String, Int32, IEnumerable<SignalingHeader>)

Initializes a new instance of the SipPeerToPeerEndpoint class.

SipPeerToPeerEndpoint(String, RealTimeServerConnectionManager, SipTransportType, String, Int32, String)

Initializes a new instance of SipPeerToPeerEndpoint.

Properties

ApplicationContext

Gets or sets the application context.

(Inherited from RealTimeEndpoint)
ApplicationUserAgent

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

(Inherited from RealTimeEndpoint)
ConnectionManager

Gets the connection manager used by this endpoint.

DefaultDomain

Gets the default domain of the endpoint URI.

(Inherited from RealTimeEndpoint)
DefaultTransport

Gets the default transport.

DesiredSessionTimerInterval

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

(Inherited from RealTimeEndpoint)
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.

(Inherited from RealTimeEndpoint)
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.

(Inherited from RealTimeEndpoint)
EndpointUri

Gets the URI of the endpoint.

Gruu

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

(Inherited from RealTimeEndpoint)
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.

(Inherited from RealTimeEndpoint)
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.

(Inherited from RealTimeEndpoint)
MaximumSessionConnectDuration

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

(Inherited from RealTimeEndpoint)
MinimumSessionTimerInterval

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

(Inherited from RealTimeEndpoint)
OutboundConnectionDefaultAddressFamilyHint

Gets the address family default for making outbound connnections.

(Inherited from RealTimeEndpoint)
OwnerUri

Gets the URI of the owner of the endpoint.

(Inherited from RealTimeEndpoint)
ProxyCertificateSubject

Gets or sets the subject of the certificate to expect from the proxy.

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.

(Inherited from RealTimeEndpoint)
RouteSetRecoveryMode

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

(Inherited from RealTimeEndpoint)
State

Gets the current state of the endpoint.

Uri

Gets the URI of the endpoint. This URI is meant to be routable if presented to another peer. Hence this might include port (if listening) and a URI parameter called ms-opaque that is used for uniquely routing incoming messages to the right p2p endpoint by the connection manager.

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.

(Inherited from RealTimeEndpoint)

Methods

AddFeatureParameter(String)

Adds a feature parameter. See rfc 3840.

(Inherited from RealTimeEndpoint)
AddFeatureParameter(String, String)

Adds a feature parameter. See rfc 3840.

(Inherited from RealTimeEndpoint)
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.

(Inherited from RealTimeEndpoint)
ApplyRouteSetRecoverySettings(RouteSetRecoverySettings)

Applies the specified route set recovery settings to the endpoint.

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

Sends a message to another endpoint.

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

Sends a message.

(Inherited from RealTimeEndpoint)
BeginSendMessage(MessageType, RealTimeAddress, SendMessageOptions, AsyncCallback, Object)

Sends a message.

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

Sends a message.

BeginTerminate(AsyncCallback, Object)

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

(Inherited from RealTimeEndpoint)
EndSendMessage(IAsyncResult)

Waits for the pending SendMessage operation to complete.

(Inherited from RealTimeEndpoint)
EndTerminate(IAsyncResult)

Completes the asynchronous Terminate operation.

(Inherited from RealTimeEndpoint)
GetFeatureParameterValue(String)

Gets the value of the given parameter.

(Inherited from RealTimeEndpoint)
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.

(Inherited from RealTimeEndpoint)
GetTraceCorrelationID()

Gets the trace correlation id for this instance.

(Inherited from RealTimeEndpoint)
RegisterForPageModeMessages()

Register for page mode messages.

(Inherited from RealTimeEndpoint)
RemoveFeatureParameter(String)

Removes a feature parameter matching the name if it exists.

(Inherited from RealTimeEndpoint)
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.

(Inherited from RealTimeEndpoint)
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.

(Inherited from RealTimeEndpoint)
Terminate()

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

(Inherited from RealTimeEndpoint)
ToString()

Returns the string representation of the object.

(Inherited from RealTimeEndpoint)
UnregisterForPageModeMessages()

Unregister for pagemode messages

(Inherited from RealTimeEndpoint)

Events

MessageReceived

Raised when a message is received.

(Inherited from RealTimeEndpoint)
SessionReceived

Raised when a new invitation is received.

(Inherited from RealTimeEndpoint)
StateChanged

Raised when the state of the endpoint changes.

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>)
RegisterForSubscriptionSession(SipPeerToPeerEndpoint, String, IEnumerable<ContentType>, EventHandler<SubscriptionSessionReceivedEventArgs>)
UnregisterForSubscriptionSession(SipPeerToPeerEndpoint, String)

Applies to