Overview | Package | Class | Tree | Deprecated | Index | Help
| ContactCenters V. 0.9.9.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## umontreal.iro.lecuyer.contactcenters.msk.model
Class DialerManager

    java.lang.Object
      umontreal.iro.lecuyer.xmlbind.NamedInfo
          umontreal.iro.lecuyer.contactcenters.msk.model.CallSourceManager
              umontreal.iro.lecuyer.contactcenters.msk.model.DialerManager

    public class DialerManager

extends CallSourceManager

Manages a dialer performing outbound calls. An object of this class encapsulates the parameters specific to the dialer, and provides methods to construct the corresponding `Dialer` instance, and to update its state it during simulation.

Constructor Summary
`DialerManager(CallCenter cc, DialerParams par, int k)` Constructs a new dialer manager using the call center model `cc`, the dialer parameters `par`, and dialer index `k`.

Method Summary
`static void` | `addDialerPolicyFactory(DialerPolicyFactory dpf)` Registers the dialer policy factory `dpf` for dialer managers.
`protected DialerPolicy` | `createDialerPolicy(DialerParams par, DialerList dialerList)` Constructs and returns an object representing the managed dialer's policy.
`CallCenter` | `getCallCenter()` Returns a reference to the call center associated with this dialer manager.
`double` | `getCheckedPeriodDuration()` Determines the duration, in simulation time units, of the testing periods used by some dialing policies taking cumulative statistics into account.
`Dialer` | `getDialer()` Returns the dialer managed by this object.
`int[]` | `getMinFreeAgentsTarget()`
`int[]` | `getMinFreeAgentsTest()`
`int` | `getNumCheckedPeriods()` Determines the number of testing periods used by dialing policies taking cumulative statistics (service level, mismatch rate, etc.) into account for taking their decisions.
`int` | `getServiceLevelIndex()` Determines the 0-based index of the service-level information matrix used if the dialing policy in use takes service level (or acceptable waiting time) into account for its decisions.
`double` | `getSlInboundThresh()` Determines the outbound-to-inbound threshold for the service level.
`double` | `getSlOutboundThresh()` Determines the inbound-to-outbound threshold for the service level.
`AgentGroupSet` | `getTargetSet()` Returns a reference to the target set of agent groups associated with the managed dialer.
`void` | `init()`
`boolean` | `isUseNumActionEvents()` Determines if the dialer subtracts the number of calls for which dialing is in progress from the number of calls to dial.

Methods inherited from class umontreal.iro.lecuyer.contactcenters.msk.model.CallSourceManager
`getSourceToggleTimes, isSourceEnabled, setSourceToggleTimes`

Methods inherited from class umontreal.iro.lecuyer.xmlbind.NamedInfo
`getName, getProperties, getStringProperties`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### DialerManager

    public DialerManager(CallCenter cc,
                         DialerParams par,
                         int k)
                  throws DialerCreationException

  Constructs a new dialer manager using the call center model `cc`, the dialer parameters `par`, and dialer index `k`. If `k` is smaller than the number of outbound call types, this creates a dialer producing calls of a single type. Otherwise, this creates a dialer producing calls of randomly-chosen types.

  Parameters:
    `cc` - the call center model.
    `par` - the dialer's parameters.
    `k` - the index of the dialer.
  Throws:
    `DialerCreationException` - if a problem occurs during the creation of the dialer.

Method Detail

### createDialerPolicy

    protected DialerPolicy createDialerPolicy(DialerParams par,
                                              DialerList dialerList)
                                       throws DialerCreationException

  Constructs and returns an object representing the managed dialer's policy. This method uses `DialerParams.getDialerPolicy()` to get a type identifier for the dialer's policy. It then retrieves parameters and initializes a dialer's policy specific to the given type. If the name of the dialer's policy corresponds to a constant in `DialerPolicyType`, the method handles its construction directly. Otherwise, it queries every factory registered using `addDialerPolicyFactory(DialerPolicyFactory)` until it finds one factory capable of constructing the policy. If no such factory can create the policy, it uses the `ServiceLoader` class to find a dialer's policy factory dynamically. If that last step fails, a dialer-creation exception is thrown.

  Parameters:
    `par` - the parameters of the dialer's policy.
    `dialerList` - the dialer's list.
  Returns:
    the constructed dialer's policy.
  Throws:
    `DialerCreationException` - if an error occurs during the creation of the dialer's policy.

### addDialerPolicyFactory

    public static void addDialerPolicyFactory(DialerPolicyFactory dpf)

  Registers the dialer policy factory `dpf` for dialer managers. If the user-specified dialer policy does not correspond to a predefined policy, the registered factories are queried to find one capable of creating a dialer's policy. This method must be called before the call-center simulator is initialized.

  Parameters:
    `dpf` - the new dialer policy factory to register.

### getDialer

    public Dialer getDialer()

  Returns the dialer managed by this object.

  Returns:
    the managed dialer.

### getMinFreeAgentsTest

    public int[] getMinFreeAgentsTest()

### getMinFreeAgentsTarget

    public int[] getMinFreeAgentsTarget()

### init

    public void init()

### getCallCenter

    public CallCenter getCallCenter()

  Returns a reference to the call center associated with this dialer manager.

  Returns:
    the associated call center.

### getTargetSet

    public AgentGroupSet getTargetSet()

  Returns a reference to the target set of agent groups associated with the managed dialer.

  Returns:
    the target set of agent groups.

### getServiceLevelIndex

    public int getServiceLevelIndex()

  Determines the 0-based index of the service-level information matrix used if the dialing policy in use takes service level (or acceptable waiting time) into account for its decisions.

  Returns:
    the index of the service-level information matrix.

### getNumCheckedPeriods

    public int getNumCheckedPeriods()

  Determines the number of testing periods used by dialing policies taking cumulative statistics (service level, mismatch rate, etc.) into account for taking their decisions.

### getCheckedPeriodDuration

    public double getCheckedPeriodDuration()

  Determines the duration, in simulation time units, of the testing periods used by some dialing policies taking cumulative statistics into account.

### getSlInboundThresh

    public double getSlInboundThresh()

  Determines the outbound-to-inbound threshold for the service level. When the service level goes below this threshold, some dialers start moving agents from outbound groups to inbound groups.

### getSlOutboundThresh

    public double getSlOutboundThresh()

  Determines the inbound-to-outbound threshold for the service level. When the service level goes above this threshold, some dialers start moving agents from inbound groups to outbound groups.

### isUseNumActionEvents

    public boolean isUseNumActionEvents()

  Determines if the dialer subtracts the number of calls for which dialing is in progress from the number of calls to dial. When dial delays are large enough for the dialer to start often while phone numbers are being composed, the agents of the call center might receive too many calls to serve, which results in a large number of mismatches. If this attribute is set to `true` (the default), the dialer will take into account the number of calls for which dialing is in progress while determining the number of additional calls to dial.

Overview | Package | Class | Tree | Deprecated | Index | Help
| ContactCenters V. 0.9.9.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

To submit a bug or ask questions, send an e-mail to Richard Simard.