Reference Library
ServiceProvider Class
NamespacesAvaya.ApplicationEnablement.DMCCServiceProvider
The base class necessary to communicate to the DMCC Server.
Declaration Syntax
C#Visual BasicVisual C++
public class ServiceProvider : IServiceProvider
Public Class ServiceProvider _
	Implements IServiceProvider
public ref class ServiceProvider : IServiceProvider
Members
All MembersConstructorsMethodsPropertiesFieldsEvents



IconMemberDescription
ServiceProvider()()()()
The base object for DMCC communication.

applicationSpecificLicensePkcs12Delegate
This is a reference to the user provided method the SDK will invoke to return an X509Certificate2 instance composed of a Private Key and X509 Public Certificate to be used to create a digital signature of an XML document.

Supported in: 6.2.0


ChangeDeviceSecurityCode(String, String, String, Object)
Request the server to change a security code for a device.

ChangeSystemStatusFilter(String, ServiceProvider..::..SystemServicesStatusFilters, Object)
Changes the system status filter options for a current system registration.

Supported in: 6.2.0


ConvertDialStringToE164(String, List<(Of <<'(String>)>>), Object)
Convert one or more dial strings to E164 format.

ConvertE164ToDialString(String, List<(Of <<'(String>)>>), Object)
Convert one or strings which are in E164 format to dial strings.

DefaultApplicationName
The default name of the application which invoked the Service Provider.

Finalize()()()()
This destructor will also close the socket to the server (if it has not already been closed).
(Overrides Object.Finalize()()()().)
getActualProtocolVersion
The protocol version that DMCC is using.

GetAutoKeepAliveEnabled()()()()
Lets the application know if auto keep alive is enabled.

getCallAssociated
Returns a reference to the CallAssociated object

Supported in: 6.3.0


GetCallInformationLink
Returns a reference to the CallInformationLink object

GetDevice(String)
Given a device name (Id), returns a reference to the associated Device.

GetDeviceIdList(Object)
Get all the Device IDs that are active on the DMCC server.

GetDeviceIdList(String, Object)
Get all the Device Ids that are active for a particular session id.

GetLastIncomingXmlMessage()()()()
Get the string which represents the last XML message which arrived.

GetMonitorList(Object)
Get a list of all the monitors which are active on this DMCC server.

GetMonitorList(String, Object)
Get a list of all the monitors which are active on a particular session id.

GetNewDevice()()()()
Creates a new Device object and returns a reference to it.

GetPhysicalDeviceInformation(String, Object)
Get the physical information for the passed in device id.

Supported in: 5.2.0


GetPhysicalDeviceName(String, Object)
Get the physical device name for the passed in device id.

Supported in: 5.2.0


getSessionId
Returns the session name (id) as a string

GetSessionIdList(Object)
Allows you to get a list of all the active sessions which are associated with the AES login on the server. For example, if 5 different applications are running on 5 different PCs and each of those applications registered with the "avaya" user id, then the GetSessionIdList will return those 5 session ids, but not the ids of other sessions which were created using a different user id.

getThirdPartyCallController
Returns a reference to the ThirdPartCallControl object

GetTimeOfDay(String, Object)
This request allows the client application to obtain the switch timestamp information for the year, month, day, hour, minute, and second.

Supported in: 6.3.0


getXmlProcessor
Returns a reference to the XML Processor object

LicenseResult
This is the operation return code used to indicate which licensed features the application is authorized to use.

Supported in: 6.2.0


Log
The name of the log4net error logger. The config file is DMCC.config and must be in the same folder as the application that is using the .NET API is in.

OnChangeDeviceSecurityCodeResponse
Handler for ChangeDeviceSecurityCode responses.

OnChangeSystemStatusFilterResponse
Handler registration for responses to ChangeSystemStatusFilter requests.

Supported in: 6.2.0


OnConvertDialStringToE164Response
Handler for ConvertDialStringToE164Response responses.

OnConvertE164ToDialStringResponse
Handler for ConvertE164ToDialStringResponse responses.

OnGetDeviceIdListEvent
Handler for GetDeviceIdListEvent events.

OnGetDeviceIdListResponse
Handler for GetDeviceIdListResponse responses.

OnGetMonitorListEvent
Handler for GetMonitorListEvent events.

OnGetMonitorListResponse
Handler for GetMonitorListResponse responses.

OnGetPhysicalDeviceInformationResponse
Event registration for responses to GetPhysicalDeviceInformation requests.

Supported in: 5.2.0


OnGetPhysicalDeviceNameResponse
Event registration for responses to GetPhysicalDeviceName requests.

Supported in: 5.2.0


OnGetSessionIdListResponse
Handler for GetSessionIdListResponse responses.

OnGetTimeOfDayResponse
Handler for responses to GetTimeOfDay requests.

Supported in: 6.3.0


OnMissedAtLeastOneKeepAliveEvent
Handler for Missed Keep Alive events. This event comes in if the server has missed at least one keep alive.

OnRequestSystemStatusResponse
Handler registration for responses to RequestSystemStatus requests.

Supported in: 6.2.0


OnResetApplicationSessionResponse
Handler for ResetApplicationSession responses.

OnServerConnectionDownEvent
Handler for Server Connection Down events. This event is sent if the socket to the AE Services server has gone down for some reason.

The recovery action to take for this event is to call reconnect on the application’s ServiceProvider instance. This method will attempt to open a new socket to the AE Services server, and to reestablish the existing session with a new socket. If successful, the application should be able to resume operations without reestablishing its state although your application may have missed some events. To be sure that you know the current state of the lamps, hookswitch, display and etc., you will have to query for those states using getLampState, getHookswitch, getDisplay and etc. to update the states. The operation may fail if the network is down, or if the session has been terminated on the AE Services server because the cleanup timer expired. If the session has already been terminated by the server, the getError() method associated with the received StartApplicationSessionResponse will contain a StartApplicationSessionNegResponse XML string with additional information about the reconnect failure.


OnServerConnectionNotActiveEvent
Handler for Server Connection Not Active events. This event is sent if a message was received by the AE Services server but the session has timed out and it has been placed in the inactive state. A session enters the inactive state if the Application Session Duration expires before a ResetApplicationSessionTimer message is received. Upon receiving this event, an application should take the same recovery action as for the ServerConnectionDownEvent.

OnSessionManagementStartMonitorResponse
Event registration for responses to SessionManagementStartMonitor requests.

OnSessionManagementStopMonitorResponse
Event registration for responses to SessionManagementStopMonitor requests.

OnSetSessionCharacteristicsResponse
Event registration for responses to SetSessionCharacteristicsResponse request.

Supported in: 5.2.0


OnStartApplicationSessionResponse
Handler for StartApplcationSession responses.

OnStopApplicationSessionResponse
Handler for StopApplicaitonSession responses.

OnSystemRegisterAbortEvent
Event registration for SystemRegisterAbort.

Supported in: 6.2.0


OnSystemRegisterCancelResponse
Handler registration for responses to SystemRegisterCancel requests.

Supported in: 6.2.0


OnSystemRegisterResponse
Handler registration for responses to SystemRegister requests.

Supported in: 6.2.0


OnSystemStatusEvent
Event registration for SystemStatus.

Supported in: 6.2.0


OnTransferMonitorObjectsEvent
Handler for TransferMonitorObjectsEvent events.

OnTransferMonitorObjectsResponse
Handler for TransferMonitorObjectsResponse responses.

OnValidateDeviceSecurityCodeResponse
Handler for ValidateDeviceSecurityCode responses.

Reconnect(String, Object)
Sends a StartApplicationSession message to the server. If sessionId is not null then the server will try to reconnect a session that has timed out or become inactive.

Reconnect(String, Int32, String, String, String, Int32, Int32, String, Boolean, Object, Boolean, Boolean, LocalCertificateSelectionCallback, String)
Sends a StartApplicationSession message to the server. If sessionId is not null then the server will try to reconnect a session that has timed out or become inactive. The method is useful in situations where you do not have a reference to your original ServiceProvider instance (i.e. failover to a different server) however your application know the sessionId of the session to be recovered.

Supported in: 6.2.0


RequestSystemStatus(String, Object)
This request is used by an application to query the status of the Tlink connection to a specified switch or all configured switches.

Supported in: 6.2.0


ResetApplicationSession(Object, Int32)
Send a ResetApplicationSession XML message to the server.

SessionManagementStartMonitor(ServiceProvider..::..SessionManagementEvents, String, Object)
Start the monitor for session management.

SessionManagementStopMonitor(String, Object)
Stop a session magagement monitor.

SetSessionCharacteristics(ServiceProvider..::..SetSessionCharacteristicsDeviceIdType, ServiceProvider..::..SetSessionCharacteristicsEventFilterMode, Object)
Sends a SetSessionCharacteristics message to the server

Supported in: 5.2.0


ShutDown(ServiceProvider..::..ServiceProviderObjectDeactivatedEventArgs..::..ServiceProviderObjectDeactivatedReason, String)
Allows the application to tell the Service Provider to shutdown. The Service Provider will in turn notify ThirdPartyCallControl, CallInformationLink, and all the Devices that have been created to also shut down. The Devices in turn will notify their Phone objects. The Phone Pbjects will in turn notify their Media Objects. Calling this method will also force the socket to the server to be closed. Therefore, once this method returns control to the application the application should not invoke any methods which will result in a message being sent to the server. If the application does do this then exceptions will be thrown back to the application. Note: The API provides a callback (OnObjectDeactivatedEvent) for all publicly exposed objects. This will allow the application the ability to easily be notified when an object has bee shutdown (deactivated).

StartApplicationSession(String, Int32, String, String, String, Int32, Int32, String, Boolean, Object, Boolean, Boolean)
Sends a StartApplicationSession message to the server.

StartApplicationSession(String, Int32, String, String, String, Int32, Int32, String, Boolean, Object, Boolean, Boolean, LocalCertificateSelectionCallback)
Sends a StartApplicationSession message to the server.

StartAutoKeepAlive(Int32)
Tell the API to start automatically sending the ResetApplicationSession messages every InernalInMs milliseconds. 1,000 milliseconds is 1 second. If the API is already sending messages then it will cease doing so on the previous interval.

StopApplicationSession(String, Object)
Sends a Stop ApplicationSession XML message to the server. If Devices have objects that are registered the API will attempt to unregister them BEFORE sending this message. In general, the application should have unregistered all devices (and processed the unregistration response) BEFORE invoking this method.

StopAutoKeepAlive()()()()
Stops the ResetApplicationSession messages from automatically being sent to the server.

SystemRegister(String, ServiceProvider..::..SystemServicesStatusFilters, Object)
This request allows the application to register for changes in the status of one or all administered Tlink(s). The application can register to receive a SystemStatus request each time the status of the Tlink changes. The sysStatRegisterID parameter returned in the positive acknowledgement is used to identify the registration over which system services will be sent.

Supported in: 6.2.0


SystemRegisterCancel(String, Object)
This request allows the application to cancel a system registration for System Status notification.

Supported in: 6.2.0


TransferMonitorObjects(String, String, Object)
Transfer all the devices and monitors from one session to another session. The session which the monitors are being trasferred from will be closed by the DMCC server.

ValidateDeviceSecurityCode(String, String, Object)
Request the server to validate a security code for a device.

Inheritance Hierarchy
Object
ServiceProvider

Assembly: ServiceProvider (Module: ServiceProvider)