CollaborationPlatform Class

Definition

Represents an instance of the SIP stack.

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

Remarks

It is responsible for managing connections between servers (connection pooling, connection throttling), establishing trust with other servers and providing media-specific extensibility to all the endpoints bound to it.

When auto-provisioned, the platform is also responsible for reading provisioning data and channeling the data for endpoints and the application to consume.

When instantiated with ClientPlatformSettings the platform is in client mode. When instantiated with ServerPlatformSettings or ProvisionedApplicationPlatformSettings the platform is in server mode. In client mode the platform can only be used to create UserEndpoints. In server mode it can be used to create both UserEndpoints and ApplicationEndpoints. The server mode enables connection sharing across endpoints, better connection recovery and privileged operations among other things.

An application typically uses only one instance per process but it is not uncommon to use two platform instances in a single process (for example, in gateway scenarios.)

Constructors

CollaborationPlatform(ClientPlatformSettings)

Creates a new instance of the CollaborationPlatform class with client settings.

CollaborationPlatform(ProvisionedApplicationPlatformSettings)

Creates a new instance of the CollaborationPlatform class with settings to automatically provision a server platform.

CollaborationPlatform(ServerPlatformSettings)

Creates a new instance of the CollaborationPlatform class with server settings.

Properties

ActiveGruu

Gets the trusted GRUU of the application.

ActiveListeningIPEndpoint

Gets the active listening endpoint in use.

AllowedAuthenticationProtocol

Gets or sets the authentication protocol to be used for client endpoints.

ApplicationTopologyData

Gets topology related data for this instance of the application.

ApplicationUserAgent

Gets the application user agent string.

AudioVideoSettings

Gets audio and video settings.

ConnectionManager

Gets the connection manager used by the platform.

CurrentMessageThrottlingCount

Gets the current count of incoming messages (Invite, in-dialog messages, etc) that are waiting in internal queues (thread pool queue or conversation queue).

DefaultAudioVideoProviderEnabled

Gets whether whether the default audio/video provider is enabled.

InstantMessagingSettings

Gets or sets the global configuration settings for an InstantMessaging Flow instance.

ListeningIPAddress

Gets the IP address on which to listen.

Localhost

Gets the FQDN of the machine where the application is deployed.

OutboundConnectionDefaultAddressFamilyHint

Gets which address families the platform should use by default.

TopologyConfiguration

Gets the object to access various topology configuration data.

Transport

Gets the transport type to use.

Methods

AddTrustedDomain(TrustedDomain)

Adds a new entry into the list of trusted domains.

BeginChangeCertificate(String, Byte[], AsyncCallback, Object)

Dynamically changes the certificate to be used.

BeginChangeCertificate(X509Certificate, AsyncCallback, Object)

Dynamically changes the certificate to be used.

BeginShutdown(AsyncCallback, Object)

Shuts down the platform and all known endpoints.

BeginStartup(AsyncCallback, Object)

Initializes the platform object.

EndChangeCertificate(IAsyncResult)

This method is used to determine whether the corresponding operation completed successfully. This method will wait if the operation has not yet completed.

EndShutdown(IAsyncResult)

This method is used to determine whether the corresponding operation completed successfully. This method will wait if the operation has not yet completed.

EndStartup(IAsyncResult)

This method is used to determine whether the corresponding operation completed successfully. This method will wait if the operation has not yet completed.

GetTrustedDomains()

Gets the list of trusted domains.

RegisterForApplicationEndpointSettings(EventHandler<ApplicationEndpointSettingsDiscoveredEventArgs>)

Registers a delegate to receive discovered application endpoint settings.

RegisterPlatformExtension(MediaBasedFactory)

Registers an extension with the platform.

RemoveTrustedDomain(TrustedDomain)

Removes an existing entry from the trusted domains list.

UnregisterForApplicationEndpointSettings(EventHandler<ApplicationEndpointSettingsDiscoveredEventArgs>)

Unregisters a delegate to receive discovered application endpoint settings.

UnregisterPlatformExtension(String, String)

Unregisters an extension from the platform.

Events

ConnectionAuthorizationRequested

Raised when a connection is established and authorization by the application is needed.

ProvisioningFailed

Raised when a failure occurs while applying or accessing provisioning information.

Extension Methods

BeginChangeCertificateTls(CollaborationPlatform, String, Byte[], AsyncCallback, Object)
BeginDrain(CollaborationPlatform, CollaborationPlatformDrainOptions, AsyncCallback, Object)
BeginShutdown(CollaborationPlatform, Boolean, AsyncCallback, Object)
ConfigureAsTestPlatform(CollaborationPlatform)
ConfigurePlatformForTestMessageForwarding(CollaborationPlatform, MessageForwardingTestSettings)
EnableClientDraining(CollaborationPlatform)
EndChangeCertificateTls(CollaborationPlatform, IAsyncResult)
EndDrain(CollaborationPlatform, IAsyncResult)
RegisterMessageForwarder(CollaborationPlatform, MessageForwarder)

Applies to