The RealTimeServerConnectionManagertype exposes the following members.

Constructors

  Name Description
RealTimeServerConnectionManager Overloaded.

Methods

  Name Description
CanLocalHostBeChangedNow
Set the local host.
(Overrides RealTimeConnectionManager . . :: . CanLocalHostBeChangedNow () () () .)
CanShutdownCoreManagerNow
Get the value to determine if the core manager can be shutdown now.
(Overrides RealTimeConnectionManager . . :: . CanShutdownCoreManagerNow () () () .)
CleanUpConnections
This method is called to clean up connections.
(Overrides RealTimeConnectionManager . . :: . CleanUpConnections () () () .)
CoreManagerIncomingTlsNegotiationFailed
This event callback is invoked when there is tls negotiation failure for incoming connection.
(Overrides RealTimeConnectionManager . . :: . CoreManagerIncomingTlsNegotiationFailed(IncomingTlsNegotiationFailedEventArgs).)
DecrementThrottleCount
Method to be called after the application is notified of the incoming message (Invite, Message etc) that was in internal queue. This will decrement the current outstanding count.
(Overrides RealTimeConnectionManager . . :: . DecrementThrottleCount () () () .)
Dispose Overloaded.
Equals (Inherited from Object.)
Finalize
Finalizer
(Inherited from RealTimeConnectionManager.)
GetConnectionPools
Gets the list of connection pools in this connection manager.
(Inherited from RealTimeConnectionManager.)
GetDestinationTuple Overloaded.
GetHashCode (Inherited from Object.)
GetIncomingConnections
Gets the list of incoming connections.
GetListeningAddresses
Gets the collection of listening addresses.
GetLocalCertificateSerialNumber
Gets the serial number of the local certificate used. Can be null.
(Inherited from RealTimeConnectionManager.)
GetOutgoingConnectionCount
Returns the total number of outgoing connections in the connection pools.
GetType (Inherited from Object.)
IncomingConnectionConnected
Handles incoming connection connected event. This class should not get this event since it is not listening but a subclass can.
(Overrides RealTimeConnectionManager . . :: . IncomingConnectionConnected(SipConnection, String, X509Certificate).)
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.
(Overrides RealTimeConnectionManager . . :: . IncrementThrottleCount () () () .)
IsThrottlingInEffect
Method that determins if the incoming message should be throttled or not. If throttling is in effect, it should be rejected automatically. Otherwise, it can be processed in placed in some queue (threadpool or internal). Once the application is notified, DecrementThrottleCount should be called. If rejected due to throttling, DecrementThrottleCount can be called right away.
(Overrides RealTimeConnectionManager . . :: . IsThrottlingInEffect () () () .)
ListenForIncomingConnections
This method does the actual S4 listening.
MemberwiseClone (Inherited from Object.)
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
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.)
StartListening
Starts listening on the specified address and port.
StopListening
Stops listening for new connections.
StopListeningForIncomingConnections
This method does the actual S4 stop for listening.
ToString (Inherited from Object.)

Properties

  Name Description
ConnectionThrottlingHighMark
Gets or sets the high water mark for all connections. When number of outstanding transactions on a connection exceeeds 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 exceeeds 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.)
CurrentMessageThrottlingCount
Get the current count of incoming messages (Invite, page mode messages, in-dialog messages, etc) that are waiting in internal queues (thread pool queue or session queue) for reporting to the application.
DefaultIncomingConnectionTimeout
Gets or sets the default time-out value for any incoming connections. Any incoming connection that is idle for the duration specified by this value will be disconnected. This value does not affect existing connections.
DefaultMaximumNumberOfConnectionsPerPool
Gets or sets the pool size used for connection pools. This property can be used to globally control the pool size used for new connection pools.
DefaultOutgoingConnectionTimeout
Gets or sets the default outgoing connection timeout value. If the connection is idle for the duration specified by this value, the connection will be disconnected. To disable, the value can be set to TimeSpan.Zero
DnsLoadBalancingDisabled
Gets or sets whether DNS load balancing is disabled. By default, DNS load balancing is disabled.
(Inherited from RealTimeConnectionManager.)
EnableAuthProtocolV3
Gets or sets the flag that controls negotiation of authentication protocol v3. Default setting for this is false. This API is deprecated and does nothing. Please do not use. It will be removed in future release.
(Inherited from RealTimeConnectionManager.)
EndpointsCount
Gets the number of endpoints currently supported by this manager.
(Inherited from RealTimeConnectionManager.)
IsListening
Gets the value indicating whether listening is enabled or not.
ListeningPort
Gets the listening port.
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.)
MessageThrottlingHighMark
Gets or sets the value that controls the high water mark limit for outstanding incoming messages (Invite, page mode messages, in-dialog messages, etc) that are maintained in internal queue including thread pool queue and not seen by the application yet. If the current number of outstanding incoming messsages is higher than this value, new incoming messages are automatically rejected until the value goes under the lower water mark. To reduce the value below the current lower water mark, the lower water mark value should be changed first. By default, this value is int.MaxValue. If both low and hight water mark values are int.MaxValue, water mark checks are disabled.
MessageThrottlingLowMark
Gets or sets the value that controls the low water mark limit for outstanding incoming messages (Invite, page mode messages, in-dialog messages, etc) that are maintained in internal queue including thread pool queue and not seen by the application yet. If the current number of outstanding incoming messsages is lower than this value, new incoming messages are automatically processed again if they processing was stopped due to high water mark. By default, this value is int.MaxValue. If both low and hight water mark values are int.MaxValue, water mark checks are disabled.
StrictDispatching
Gets or sets whether incoming messages are routed to the hosted endpoints by this connection manager.
(Inherited from RealTimeConnectionManager.)

Events

  Name Description
ConnectionAuthorizationRequested
Raised when an incoming or outgoing connection authorization is needed from the application.
ConnectionPoolAdded
A connection pool was added.
(Inherited from RealTimeConnectionManager.)
ConnectionPoolRemoved
A connection pool was removed.
(Inherited from RealTimeConnectionManager.)
IncomingConnectionAdded
Raised when a new incoming connection is added.
IncomingConnectionRemoved
Raised when a new incoming connection is removed.
IncomingTlsNegotiationFailed
Raised when the TLS negotiation fails for an incoming connection. The failure may be due to an invalid local certificate, or remote not trusting the local certificate, or some other reason.
ListeningAborted
Raised when the listening is aborted either due to application calling StopListing or when an internal failure occurs such as failure to accept an incoming connection. The exception in the event argument can be null if the application called StopListening.
ListeningAddressesChanged
Raised when one or more items are added or removed from the list of listening addresses.

See Also