The ININ.IceLib.Connection namespace contains classes for connecting with Interaction Center.

There are a number of classes within the ININ.IceLib.Connection namespace that provide support to the classes mentioned in the preceding summary. Example of the supporting classes are enumerations, event argument classes, and delegates used by events within classes.

Session. The Session object is the root of any IceLib connection with the IC server. It accepts various settings to describe the session and provides events when the connection state changes.

Host Settings. The HostSettings is used to specify the BridgeHost to which a Session should be established.

Authentication Settings. There are a number of object classes that are used to specify authentication settings for the Session such as what IC User ID and Password to login with. All such objects inherit from AuthSettings. Examples of authentication classes are: ICAuthSettings and WindowsAuthSettings,

Station Settings. There are a number of object classes that are used to specify station settings for the Session such as what remote number is serving as the User's station. All such objects inherit from StationSettings. Examples of station classes are: WorkstationSettings and RemoteStationSettings,

Note
All "manager" classes found in the IceLib library are designed as singletons-classes instantiated only once. For example, to begin working with any of the functionality provided in the ININ.IceLib.Interactions.InteractionsManager, you must obtain the instance through a call to its GetInstance method.

Examples

CopyC#
Session session = new Session();
session.Connect(...);
InteractionsManager interactionsManager = InteractionsManager.GetInstance(session);

Examples

The following example shows how to create a connection to the IC server:
CopyC#
// The IceLib Session can be created once and used for the life of the process.
Session session = new Session();
// An event handler is usually added to monitor connection state changes.
session.ConnectionStateChanged += delegate { /* React to connection state changes. */ };

// The application name can be displayed in Interaction Supervisor and is used for diagnostic operations.
SessionSettings sessionSettings = new SessionSettings();
sessionSettings.ApplicationName = "<Custom Application Name>";

// Specify the server being connected to (which is usually the IC server name).
// (It can also be a DNS "A" record that refers to both IC servers in a switchover pair.)
HostEndpoint hostEndpoint = new HostEndpoint("<IC Server Name>");
HostSettings hostSettings = new HostSettings(hostEndpoint);

// There are many options for specifying user authentication information.
// (See the derived classes of ININ.IceLib.Connection.AuthSettings for more information.)
// 
// The current windows user's windows authentication can be used (if the IC user is configured with NT credentials).
WindowsAuthSettings authSettings = new WindowsAuthSettings();
// Alternatively, IC authentication can be used.
ICAuthSettings icAuthSettings = new ICAuthSettings("<IC_User_LoginID>", "<IC_User_Password>");

// There are many options for specifying IC station information.
// (See the derived classes of ININ.IceLib.Connection.StationSettings for more information.)
// 
// If the application does not require a Station login, a simple "stationless" connection can be used.
StationlessSettings stationSettings = new StationlessSettings();
// Alternatively, an IC station could be specified.
WorkstationSettings workstationSettings = new WorkstationSettings("<IC_StationID>", SupportedMedia.Call);
// Or, a dynamic remote number station could be specified.
RemoteNumberSettings remoteNumberSettings = new RemoteNumberSettings(SupportedMedia.Call, "555-555-5555", true);

// Note: Consider using the ConnectAsync method to avoid blocking the thread.
session.Connect(sessionSettings, hostSettings, authSettings, stationSettings);

Examples

The IceLib SDK includes example application references to the ININ.IceLib.Connection namespace. Some examples are listed below.
ProjectLocation
TutorialExampleLoginStationViewModel.cs, line 50, in LoginStationViewModel.#ctor
LoginStationViewModel.cs, line 113, in LoginStationViewModel.CreateStationSettings
LoginViewModel.cs, line 11, in LoginViewModel.#ctor
LoginViewModel.cs, line 186, in LoginViewModel.PerformLogin
LoginHostViewModel.cs, line 9, in LoginHostViewModel.#ctor
LoginAuthViewModel.cs, line 9, in LoginAuthViewModel.#ctor
ChangeStationViewModel.cs, line 11, in ChangeStationViewModel.#ctor
ConnectionViewModel.cs, line 197, in ConnectionViewModel.SetSessionValues
ConnectionViewModel.cs, line 214, in ConnectionViewModel.SetStationValues
ConnectionViewModel.cs, line 12, in ConnectionViewModel.#ctor
ConnectionViewModel.cs, line 186, in ConnectionViewModel.SessionConnectionStateChanged
SystemStatisticsViewModel.cs, line 51, in SystemStatisticsViewModel.SessionConnectionStateChanged
StatisticCatalogViewModel.cs, line 138, in StatisticCatalogViewModel.SessionConnectionStateChanged
UserRoleConfigurationViewModel.cs, line 150, in UserRoleConfigurationViewModel.SessionConnectionStateChanged
MainWindowViewModel.cs, line 22, in MainWindowViewModel.#ctor

Classes

  ClassDescription
Public classAllowableAuthentications
Represents the allowable authentication methods for logon.
Public classAllowableAuthenticationsParameters
Class used to provide input parameters for GetAllowableAuthentications(AllowableAuthenticationsParameters).
Public classAlternateWindowsAuthSettings
Passed to a Session in order to authenticate a Windows user.
Public classAuthProviderContext
Provides context of an authentication provider for the security token service.
Public classAuthProviderDefinition
Defines an authentication provider for the security token service.
Public classAuthSettings
Passed to a Session in order to authenticate a user.
Public classCachedAllowableAuthenticationsParameters
Public classCommonCredentials
Offers a set of static methods that get or set credentials to or from the credential cache.
Public classConnectionStateChangedEventArgs
Provides data for the ConnectionStateChanged event.
Public classCustomFormAuthScriptableClass
The class to be used as the ObjectForScripting for a web browser control when using Single Sign On with an that uses .
Public classEffectiveStationChangedEventArgs
Provides data for the EffectiveStationChanged event.
Public classGetAuthenticationTokenCompletedEventArgs
Public classGetAuthenticationTokenResult
Provides return data for the GetAuthenticationToken()()()() method.
Public classHostEndpoint
Represents an endpoint for BridgeHost connections.
Public classHostSettings
Passed to a Session in order to specify a host (i.e. IC server).
Public classICAuthSettings
Passed to a Session in order to authenticate an Interaction Center user.
Public classIceLibConnectionException
The exception that is thrown when an attempt to connect to an IC server has failed.
Public classIceLibConnectionExceptionTypes
This class is used by IceLibConnectionException to provide more information about the type of error.
Public classInvalidServerVersionException
The exception that is thrown when an attempt was made to connect to an IC server with an incompatible IceLib version.
Public classRemoteFileHelper
Utility class for transferring personal storage files.
Public classRemoteNumberSettings
Passed to a Session in order to specify a remote number connection.
Public classRemoteStationSettings
Passed to a Session in order to specify a remote station.
Public classRequestTimeoutException
The exception that is thrown for IceLib when a server operation times out.
Public classSecurityTokenServiceAuthParameters
Provides configuration for SecurityTokenServiceAuthSettings. All properties are optional.
Public classSecurityTokenServiceAuthSettings
Passed to a Session in order to authenticate an Interaction Center user.
Public classSecurityTokenServicePresenter
Allows a custom application to present STS authentication requests to the user.
Public classSecurityTokenServicePresenterContext
Provides context for STS authentication via a SecurityTokenServicePresenter.
Public classSensitiveDataContext
Provides access to the Session's sensitive data context.
Public classSession
Represents the connection Session with the Interaction Center server.
Public classSessionDisconnectedException
The exception that is thrown for IceLib when a server operation is requested while the Session is disconnected.
Public classSessionSettings
Passed to a Session in order to configure a session.
Public classSingleSignOnRequestData
Class used to supply information to a web browser control when using Single Sign On with an that uses .
Public classStationInfo
Describes a station.
Public classStationlessSettings
Passed to a Session in order to specify a stationless connection.
Public classStationSettings
Passed to a Session in order to specify a station.
Public classStoredCredentials
A set of credentials that can be persisted, retrieved, and used to authenticate with the server.
Public classWindowsAuthSettings
Passed to a Session in order to authenticate a Windows user using data from the current environment.
Public classWorkstationSettings
Passed to a Session in order to specify a workstation.

Enumerations

  EnumerationDescription
Public enumerationAuthenticationFields
Represents the possible fields for various authentication methods.
Public enumerationClassOfService
Specifies constants indicating what class of service a session supports.
Public enumerationConnectionState
Specifies constants indicating the state of a Session's connection.
Public enumerationConnectionStateReason
Specifies constants indicating the reason for the state of a Session's connection.
Public enumerationDeviceType
Specifies constants indicating what type of device is establishing a session.
Public enumerationLoadFlags
This bitmask is used specify which credentials to load from the set of credentials that have been stored.
Public enumerationLoadPreference
Used to specify the order in which to try and retrieve stored credentials.
Public enumerationReadyForInteractionsType
Specifies constants indicating at what time the application is ready to make or receive Interactions.
Public enumerationServerFileType
Specifies constants indicating where to store files in PersonalStorage on the server.
Public enumerationStationConnectionMode
Used to change the station login and logout behavior with respect to the IceLib Session.
Public enumerationStationType
Specifies constants indicating a station's type.
Public enumerationSupportedMedia
Specifies constants indicating what media types a station supports.
Public enumerationWindowsAuthProtocols
Specifies constants indicating authentication protocols.

Version Information

Supported for IC Server version 2015 R1 and beyond.
For 4.0, supported for IC Server version 4.0 GA and beyond.
For 3.0, supported for IC Server version 3.0 GA and beyond.

See Also