Halyri - Server  0.9.1
 All Classes Namespaces Functions Variables Enumerations Enumerator Properties
CallCenterController Class Reference

Singleton class managing call center client connections. Contains a dictionary mapping active CallCenterConnections to their identifying GUIDs. All call center client requests from and to the corresponding WCF interface WcfCallCenterService are passed through this class. More...

Public Member Functions

CallCenterConnectionDto CallCenterClientConnects (UserCredentialsDto clientCredentials, IWcfCallCenterCallback clientCallbackChannel)
 Method for opening a new active call center connection. User credentials supplied in the UserCredentialsDto is currently copied to the instantialized CallCenterConnection and no checking is performed. More...
 
List< ConnectionDtoClientGetActiveConnections (CallCenterConnectionDto client)
 Gets a list of all active emergency connections currently known to ConnectionController More...
 
void PublishUpdatedActiveConnections (List< ConnectionDto > updatedConnections)
 Sends the emergency connections provided to all active call center connections. If CallCenterConnection has HasTimedOut = true, it is considered inactive. More...
 
void CallCenterClientReconnects (CallCenterConnectionDto user, IWcfCallCenterCallback callback)
 Method for handling call center client reconnections. Callback channel associated with the client is updated and the connection is set to not have timed out. More...
 
void CallCenterClientDisconnects (CallCenterConnectionDto user)
 Method for handling call center client disconnect. Disconnected clients are no longer marked as associated handlers in their open emergency connections. More...
 
void CallCenterClientConnectionFaulted (CallCenterConnection user)
 Handles call center connection fault evenets. Sets the connection status to inactive and requests the connection controller to remove the call center client from the associated handlers from any emergency connections. More...
 
void ClientOpenConnectionForProcessing (CallCenterConnectionDto user, ConnectionDto emergencyConnection)
 Adds the call center client as a handler to the emergency connection. More...
 
void ClientTransferOpenConnection (CallCenterConnectionDto user, List< CallCenterConnectionDto > targetCallCenterConnections)
 Starts transfer of an open emergency connection to the provided call center connection(s). The requesting call center client must be an active handler of the connection to be transferred. More...
 
void ClientSetConnectionPriority (CallCenterConnectionDto user, ConnectionDto connection)
 Changes priority on the provided emergency connection. The new priority must be set on the ConnectionDto supplied as a parameter. More...
 
void ClientRequestPutOpenConnectionOnHold (CallCenterConnectionDto user, ConnectionDto connection)
 Puts an emergency connection on hold. The invocating call center connection will no longer be an attached handler of the connection. More...
 
void ClientRequestMarkProcessedCloseOpenConnection (CallCenterConnectionDto user, ConnectionDto connection)
 Closes the emergency connection and marks it processed. If there are multiple attached handlers to the connection, it is sufficient for one handler to close the connection. Change to the connection state will be propagated to other attached handlers. More...
 
void ClientRequestRemoteAction (CallCenterConnectionDto user, ConnectionDto connection, RemoteActionDto action)
 Requests an action to be performed by the provided remote mobile emergency client More...
 
void ClientRequestMediaUpstreaming (CallCenterConnectionDto user, ConnectionDto connection, MediaConfigurationDto mediaConfiguration)
 Requests the mobile emergency client to start upstreaming media according to the provided configuration. More...
 
void ClientRequestMediaDownstreaming (CallCenterConnectionDto user, ConnectionDto connection, string mediaUrl)
 Requests the mobile emergency client to start downstreaming and playback of media available at the provided url. More...
 
void ClientRequestStartMeasurement (CallCenterConnectionDto user, ConnectionDto connection, MeasurementInstrumentDto measurementDevice)
 Requests the mobile emergency client enable the specified masurement instrument and start uploading measurement data from it. More...
 
void ClientSendTextMessage (CallCenterConnectionDto user, ConnectionDto connection, TextMessageDto textMessage)
 Sends a text based message to the specified mobile emergency client. More...
 
void ClientRequestStopMeasurement (CallCenterConnectionDto user, ConnectionDto connection, MeasurementInstrumentDto measurementDevice)
 Requests the mobile emergency client to disable the specified measurement instrument and stop uploading data from it. More...
 
bool ClientUploadedMediaSegment (CallCenterConnectionDto user, MediaInformationDto mediaInfo, byte[] mediaData)
 

Properties

static CallCenterController Instance [get]
 Returns the CallCenterController instance. More...
 

Detailed Description

Singleton class managing call center client connections. Contains a dictionary mapping active CallCenterConnections to their identifying GUIDs. All call center client requests from and to the corresponding WCF interface WcfCallCenterService are passed through this class.

<author>Veli-Mikko Puupponen, Ilkka Rautiainen</author> New connections are added to the dictionary on a successful CallCenterClientConnects method call. This singleton is instantialized by the first call to the WcfCallCenterService or by ConnectionController.

See also
HalyriServer.Services.IWcfCallCenterService, HalyriServer.Services.WcfCallCenterService, HalyriServer.Controllers.ConnectionController

Member Function Documentation

void CallCenterClientConnectionFaulted ( CallCenterConnection  user)

Handles call center connection fault evenets. Sets the connection status to inactive and requests the connection controller to remove the call center client from the associated handlers from any emergency connections.

Parameters
userCallCenterConnection representing an existing call center connection
CallCenterConnectionDto CallCenterClientConnects ( UserCredentialsDto  clientCredentials,
IWcfCallCenterCallback  clientCallbackChannel 
)

Method for opening a new active call center connection. User credentials supplied in the UserCredentialsDto is currently copied to the instantialized CallCenterConnection and no checking is performed.

A guid generated by the ConnectionController is assigned to the new connection and the connection is mapped in active collection dictionary with it.

Parameters
clientCredentialsUserCredentialsDto containing credentials identifying the connecting user
clientCallbackChannelIWcfCallCenterCallback associated with the client connection
Returns
CallCenterConnectionDto representing the call center connection
void CallCenterClientDisconnects ( CallCenterConnectionDto  user)

Method for handling call center client disconnect. Disconnected clients are no longer marked as associated handlers in their open emergency connections.

Throws ConnectionFault if the provided CallCenterConnection is not a valid active connection.

Parameters
userCallCenterConnectionDto for the disconnecting user
void CallCenterClientReconnects ( CallCenterConnectionDto  user,
IWcfCallCenterCallback  callback 
)

Method for handling call center client reconnections. Callback channel associated with the client is updated and the connection is set to not have timed out.

Throws ConnectionFault if the provided CallCenterConnection is not a valid active connection.

Parameters
userCallCenterConnectionDto for the reconnecting user
callbackIWcfCallCenterCallback for the connection
List<ConnectionDto> ClientGetActiveConnections ( CallCenterConnectionDto  client)

Gets a list of all active emergency connections currently known to ConnectionController

Throws ConnectionFault if the provided CallCenterConnection is not a valid active connection.

Parameters
clientRequesting call center connection
Returns
List of active emergency connections
void ClientOpenConnectionForProcessing ( CallCenterConnectionDto  user,
ConnectionDto  emergencyConnection 
)

Adds the call center client as a handler to the emergency connection.

Throws ConnectionFault if the provided call center connection does not exist in the system.

Parameters
userCallCenterConnectionDto of the call center connection
emergencyConnectionConnectionDto of the emergency connection
void ClientRequestMarkProcessedCloseOpenConnection ( CallCenterConnectionDto  user,
ConnectionDto  connection 
)

Closes the emergency connection and marks it processed. If there are multiple attached handlers to the connection, it is sufficient for one handler to close the connection. Change to the connection state will be propagated to other attached handlers.

Throws TargetStateFault if connection is already processed, does not exist or has disconnected

Parameters
userCallCenterConnectionDto of the requester
connectionConnectionDto of the target emergency connection
void ClientRequestMediaDownstreaming ( CallCenterConnectionDto  user,
ConnectionDto  connection,
string  mediaUrl 
)

Requests the mobile emergency client to start downstreaming and playback of media available at the provided url.

Throws ConnectionFault, if the CallCenterConnectionDto is not associated with a valid call center client connection Throws TargetStateFault if connection is already processed, does not exist or has disconnected

Parameters
userCallCenterConnectionDto identifying the existing call center client user connection
connectionConnectioDto identifying the target mobile emergency client connection.
mediaUrlLocation of the media to play back at the mobile client
void ClientRequestMediaUpstreaming ( CallCenterConnectionDto  user,
ConnectionDto  connection,
MediaConfigurationDto  mediaConfiguration 
)

Requests the mobile emergency client to start upstreaming media according to the provided configuration.

Throws ConnectionFault, if the CallCenterConnectionDto is not associated with a valid call center client connection Throws TargetStateFault if connection is already processed, does not exist or has disconnected

Parameters
userCallCenterConnectionDto identifying the existing call center client user connection
connectionConnectioDto identifying the target mobile emergency client connection.
mediaConfigurationQuality parameters for the requested media
void ClientRequestPutOpenConnectionOnHold ( CallCenterConnectionDto  user,
ConnectionDto  connection 
)

Puts an emergency connection on hold. The invocating call center connection will no longer be an attached handler of the connection.

Throws TargetStateFault if connection is already processed, does not exist or has disconnected

Parameters
userCallCenterConnectionDto of the requester
connectionConnectionDto of the target emergency connection
void ClientRequestRemoteAction ( CallCenterConnectionDto  user,
ConnectionDto  connection,
RemoteActionDto  action 
)

Requests an action to be performed by the provided remote mobile emergency client

Throws FaultException<ConnectionFault> if such connection does not currently exists in active connections collection. Throws FaultException<TargetStateFault> if connection is already processed, has disconnected or the requester is not an associated handler for this connection.

Parameters
userCallCenterConnectionDto of the requester
connectionConnectionDto of the target emergency connection
actionThe cation to be performed by the remote mobile emergency client
void ClientRequestStartMeasurement ( CallCenterConnectionDto  user,
ConnectionDto  connection,
MeasurementInstrumentDto  measurementDevice 
)

Requests the mobile emergency client enable the specified masurement instrument and start uploading measurement data from it.

Throws ConnectionFault, if the CallCenterConnectionDto is not associated with a valid call center client connection Throws TargetStateFault if connection is already processed, does not exist or has disconnected

Parameters
userCallCenterConnectionDto identifying the existing call center client user connection
connectionConnectioDto identifying the target mobile emergency client connection.
measurementDeviceMeasurement device to enable and start uploading data from
void ClientRequestStopMeasurement ( CallCenterConnectionDto  user,
ConnectionDto  connection,
MeasurementInstrumentDto  measurementDevice 
)

Requests the mobile emergency client to disable the specified measurement instrument and stop uploading data from it.

Throws ConnectionFault, if the CallCenterConnectionDto is not associated with a valid call center client connection Throws TargetStateFault if connection is already processed, does not exist or has disconnected

Parameters
userCallCenterConnectionDto identifying the existing call center client user connection
connectionConnectioDto identifying the target mobile emergency client connection.
measurementDeviceMeasurement device to disable and stop uploading data from
void ClientSendTextMessage ( CallCenterConnectionDto  user,
ConnectionDto  connection,
TextMessageDto  textMessage 
)

Sends a text based message to the specified mobile emergency client.

Throws ConnectionFault, if the CallCenterConnectionDto is not associated with a valid call center client connection Throws TargetStateFault if connection is already processed, does not exist or has disconnected

Parameters
userCallCenterConnectionDto identifying the existing call center client user connection
connectionConnectioDto identifying the target mobile emergency client connection.
textMessageThe message to be sent
void ClientSetConnectionPriority ( CallCenterConnectionDto  user,
ConnectionDto  connection 
)

Changes priority on the provided emergency connection. The new priority must be set on the ConnectionDto supplied as a parameter.

Throws FaultException<ConnectionFault> if the call center connection does not exist. Throws TargetStateFault if connection is already processed, does not exist or has disconnected

Parameters
userCallCenterConnectionDto of the requester
connectionConnectionDto of the target emergency connection
void ClientTransferOpenConnection ( CallCenterConnectionDto  user,
List< CallCenterConnectionDto targetCallCenterConnections 
)

Starts transfer of an open emergency connection to the provided call center connection(s). The requesting call center client must be an active handler of the connection to be transferred.

Throws TargetStateFault if connection is already processed, does not exist or has disconnected

Parameters
userCallCenterConnectionDto of the transferring connection
targetCallCenterConnectionsCallCenterConnectionDtos of the target connections

TODO

void PublishUpdatedActiveConnections ( List< ConnectionDto updatedConnections)

Sends the emergency connections provided to all active call center connections. If CallCenterConnection has HasTimedOut = true, it is considered inactive.

Parameters
updatedConnectionsList of ConnectionDto instances to send to all active call center connections.

Property Documentation

CallCenterController Instance
staticget

Returns the CallCenterController instance.


The documentation for this class was generated from the following file: