RealTimeClientConnectionManager Class

Definition

Provides services for managing client connections.

public ref class RealTimeClientConnectionManager : Microsoft::Rtc::Signaling::RealTimeConnectionManager
public class RealTimeClientConnectionManager : Microsoft.Rtc.Signaling.RealTimeConnectionManager
type RealTimeClientConnectionManager = class
    inherit RealTimeConnectionManager
Public Class RealTimeClientConnectionManager
Inherits RealTimeConnectionManager
Inheritance
RealTimeClientConnectionManager

Constructors

RealTimeClientConnectionManager()

Initializes an intance of client connection manager.

RealTimeClientConnectionManager(String)

Initializes an intance of client connection manager using given local host.

Properties

ConnectionThrottlingHighMark

Gets or sets the high water mark for all connections. When number of outstanding transactions on a connection exceeds the high water mark, the connection is throttled until it goes below the low water mark. When the connection is throttled, send/receive will fail. Responses, however, can be sent to bring the level down. Outstanding outgoing transactions that are pending will timeout. The connection buffer is not processed until the outstanding transactions count falls below the low water mark. This value cannot be set below the low water mark. By default, this value is int.MaxValue. If both water mark levels are set to int.MaxValue, the connection throttling is disabled.

(Inherited from RealTimeConnectionManager)
ConnectionThrottlingLowMark

Gets or sets the low water mark for all connections. When number of outstanding transactions on a connection exceeds the high water mark, the connection is throttled until it goes below the low water mark. When the connection is throttled, send/receive will fail. Responses, however, can be sent to bring the level down. Outstanding outgoing transactions that are pending will timeout. The connection buffer is not processed until the outstanding transactions count falls below the low water mark. This value cannot be set above the high water mark. By default, this value is int.MaxValue. If both water mark levels are set to int.MaxValue, the connection throttling is disabled.

(Inherited from RealTimeConnectionManager)
DnsLoadBalancingDisabled

Gets or sets whether DNS load balancing is disabled. By default, DNS load balancing is enabled.

(Inherited from RealTimeConnectionManager)
EndpointsCount

Gets the number of endpoints currently supported by this manager.

(Inherited from RealTimeConnectionManager)
LocalCertificateIssuerName

Gets the issuer of the local certificate used. Can be null.

(Inherited from RealTimeConnectionManager)
LocalHostName

Gets the fully qualified local host name. This is either the local fully-qualified domain name (FQDN), if the certificate is not used, or the host in the certificate, or the value set by the application.

(Inherited from RealTimeConnectionManager)
OutboundConnectionDefaultAddressFamilyHint

Gets or sets the address families enabled for making outbound connnections.

(Inherited from RealTimeConnectionManager)
StrictDispatching

Gets or sets whether incoming messages are routed to the hosted endpoints by this connection manager. By default, this flag is false. This flag is used only when there is only one peer-to-peer endpoint hosted by the connection manager. Normally, incoming messages are routed to the endpoint only when the To header URI and epid (if any) match those of the endpoint. If this flag is set, the message is routed to the single peer-to-peer endpoint ignoring the To header values. In this case, it is the responsibility of the endpoint or application using the endpoint to handle the situation appropriately.

(Inherited from RealTimeConnectionManager)

Methods

CanLocalHostBeChangedNow()

Gets the value indicating whether localhost can be changed now.

(Inherited from RealTimeConnectionManager)
CanShutdownCoreManagerNow()

Get the value to determine if the core manager can be shutdown now.

(Inherited from RealTimeConnectionManager)
CleanUpConnections()

This method is called to cleanup connections.

(Inherited from RealTimeConnectionManager)
CoreManagerIncomingTlsNegotiationFailed(IncomingTlsNegotiationFailedEventArgs)

This event callback is invoked when there is tls negotiation failure for incoming connection. Since this class does not listen, this method will do nothing by default.

(Inherited from RealTimeConnectionManager)
DecrementThrottleCount()

Method to be called after the application is notified of the incoming message (Invite, Message etc) that was in internal queue or when it is rejected. This will decrement the current outstanding count.

(Inherited from RealTimeConnectionManager)
DisableIpV6Support()

Disables IPV6 support in the network stack to be compatible with previous versions of the stack.

(Inherited from RealTimeConnectionManager)
Dispose()

Releases the resources used by the connection manager. The application can call this method to dispose the connection manager when it is no longer needed. Once the resources are released, the connection manager and the associated endpoints are not usable.

(Inherited from RealTimeConnectionManager)
Dispose(Boolean)

Disposes connection manager.

(Inherited from RealTimeConnectionManager)
GetConnectionPools()

Gets the list of connection pools in this connection manager.

(Inherited from RealTimeConnectionManager)
GetDestinationTuple(SipTransportType, String, Int32, AddressFamilyHint, String)

Get the tuple needed to make the connection.

(Inherited from RealTimeConnectionManager)
GetLocalCertificateSerialNumber()

Gets the serial number of the local certificate used. Can be null.

(Inherited from RealTimeConnectionManager)
IncomingConnectionConnected(SipConnection, String, X509Certificate2)

Handles incoming connection connected event. This class should not get this event since it is not listening but a subclass can.

(Inherited from RealTimeConnectionManager)
IncrementThrottleCount()

Method to be called when the application places an incoming message (Invite, Message etc) in an internal queue. This will increment the current outstanding count.

(Inherited from RealTimeConnectionManager)
IsThrottlingInEffect()

Method that determines if the incoming message should be throttled or not. If throttling is in effect, it should be rejected automatically.

(Inherited from RealTimeConnectionManager)
SetDefaultTlsTuple()

Set the default TlsCredentials for the core manager. This might be used by S4 when it needs Tls tuple for outgoing connection and one was not provided to it directly.

(Inherited from RealTimeConnectionManager)
SetLocalCertificate(String, Byte[])

Sets the local certificate information. This is used for mutual TLS authentication when needed. If the mutual TLS is not used, there is no need to set these values. The certificate is retrieved from the certificate store on the local computer.

(Inherited from RealTimeConnectionManager)

Events

ConnectionPoolAdded

A connection pool was added.

(Inherited from RealTimeConnectionManager)
ConnectionPoolRemoved

A connection pool was removed.

(Inherited from RealTimeConnectionManager)

Extension Methods

AddInDialogMessageReceivedEvent(RealTimeConnectionManager, EventHandler<InDialogMessageReceivedEventArgs>)
GetTraceFilterConfiguration(RealTimeConnectionManager)
RegisterConnectionConfigurationRequested(RealTimeConnectionManager, EventHandler<ConnectionConfigurationRequestedEventArgs>)
RemoveInDialogMessageReceivedEvent(RealTimeConnectionManager, EventHandler<InDialogMessageReceivedEventArgs>)
SetConnectionFailoverTimeout(RealTimeConnectionManager, Int32)
SetCustomSipConnection(RealTimeConnectionManager, RealTimeConnectionManagerExtensions+GetCustomSipConnectionDelegate)
SetDiagnosticsMode(RealTimeConnectionManager, ConnectionManagerDiagnosticsMode)
SetKeepAliveUASEnabled(RealTimeConnectionManager, Boolean)
SetLocalProxyRedirectionPolicy(RealTimeConnectionManager, Boolean)
SetOutboundDefaultLocalBinding(RealTimeConnectionManager, IPEndPoint)
SetPoolConfiguration(RealTimeConnectionManager, PoolConfiguration)
SetTerminateDialogOnNoMaxForwards(RealTimeConnectionManager, Boolean)
SetTraceFilterConfiguration(RealTimeConnectionManager, ITraceFilterConfiguration)
SetXmppMode(RealTimeConnectionManager, Boolean)
UnregisterConnectionConfigurationRequested(RealTimeConnectionManager, EventHandler<ConnectionConfigurationRequestedEventArgs>)

Applies to