The CollaborationPlatformSettingsclass is an abstract class from which the ServerPlatformSettingsand ClientPlatformSettingsclasses inherit. The ServerPlatformSettingsand ClientPlatformSettingsclasses are used to create, respectively, server CollaborationPlatformand client CollaborationPlatforminstances.

CollaborationPlatformSettings Members

The following are the public members of CollaborationPlatformSettingsclass.

Copy Code
// Constructor
// Creates a new instance of the CollaborationPlatformSettings
class.
public CollaborationPlatformSettings(
	string applicationUserAgent,
	SipTransportType transport);


// Properties
// Gets the portion of the user agent string that identifies the
application. 
// This string makes up part of the UserAgent string on the
LocalEndpoint.
public string ApplicationUserAgent {get;}

// Gets or sets a value that enables default audio and video
platform capabilities. 
public bool EnableDefaultAudioVideoProvider {get; set;}

// Gets the transport type for connecting.
public SipTransportType Transport {get;}

ServerPlatformSettings Members

The following are the public members of ServerPlatformSettingsclass.

Copy Code
// Constructor
// Initializes the settings to be used for creating a server-model
platform.
public ServerPlatformSettings(
	string applicationUserAgent,
	string localHost,
	int port,
	string gruu);

// Initializes the setting to be used for creating a server-model
platform with a certificate.
// The certificate should be installed in the local computer’s
certificate store.
public ServerPlatformSettings(
	string applicationUserAgent,
	string localHost,
	int port, 
	string gruu,
	X509Certificate2 certificate): base(applicationUserAgent,
SipTransportType.Tls);

// Initializes the setting to be used for creating a server-model
platform with a certificate.
// The certificate should be installed in the local computer’s
certificate store.
public ServerPlatformSettings(
	string applicationUserAgent,
	string localHost,
	int port,
	string gruu,
	string certificateIssuerName,
	byte[] certificateSerialNumber): base(applicationUserAgent,
SipTransportType.Tls);


// Properties
// Gets the local host for the settings.
public string LocalHost {get;}

// Gets the issuer’s name of the certificate to be used for TLS.
public string CertificateIssuerName {get;}

// Gets or sets the list of allowed domains.
// See the additional information on this property following this
list.
public IEnumerable<string> AllowedDomains {get; set:}

// Gets or sets the IP address on which to listen
public IPAddress ListeningIPAddress {get; set;}

// Gets the primary listening port
public int ListeningPort {get;}

// Gets the GRUU that corresponds to the primary listening
port.(Can be null.)
// This GRUU is used for privileged operations or when the
// endpoint does not have a GRUU.
public string Gruu {get;}


// Methods
// Gets the certificate serial number.
public byte[] GetCertificateSerialNumber();

The list of domains in the AllowedDomainsproperty represents the computers that are allowed to make incoming connections when Mutual Transport Layer Security (MTLS) is used. If the AllowedDomainsproperty is not set, incoming connections are not allowed from any computers except from those destinations to which an outgoing connection already has been made. AllowedDomainscan be set even while listening and will affect future incoming connections.

The subject or alternate subjects in the certificate are matched against the list of allowed domains. Only computers that have a matching entry in this list are allowed to make incoming connections. The domain check is based on suffix match. For this reason, a period (“.”) must precede the domain name. For example, ".microsoft.com" must be used, rather than "microsoft.com". If there is no leading period, the name is assumed to be a fully qualified domain name (FQDN) and a complete match is performed.

ClientPlatformSettings Members

The following are the public members of ClientPlatformSettingsclass.

Copy Code
// Constructor
// Creates a new instance of the ClientPlatformSettings class.
public ClientPlatformSettings(
	string applicationUserAgent,
	SipTransportType transport): base(applicationUserAgent,
transport);