com.orderlysoftware.orderlycalls.examples
Class OrderlyQExampleSettings

java.lang.Object
  extended by com.orderlysoftware.orderlycalls.base.Settings
      extended by com.orderlysoftware.orderlycalls.examples.OrderlyQExampleSettings

public class OrderlyQExampleSettings
extends Settings

OrderlyQ - Advanced, Caller Friendly Queue Control

50% of all callers hang up after just 45 seconds of waiting on hold. (Source: Avaya)

OrderlyQ is a revolutionary call queuing system that lets your callers hang up and call back without losing their place in the queue.

This example application of OrderlyQ makes all callers wait for five mintues. The full version is available from Orderly Software (http://www.orderlyq.com), and does not have this limitation.

This class is an Example, for Demonstration purposes ONLY.

You MAY NOT use this file or compiled classes derived from this file for anything other than your own personal demonstration purposes.

This file IS NOT distributed under the terms of the GNU Lesser General Public License.

Please see the accompanying documentation for usage restrictions with OrderlyCalls and queuing.


Field Summary
static int AGENT_DEPENDENT
           
static int ALL
           
static int BUSY
           
static int DELAY
           
static int DOWN
           
static int ENTRY
           
static int FIXED
           
static int IMMEDIATE
           
static int INVALID
           
static int MOBILES
           
static int NONE
           
static int SIZE
           
static int UP
           
static int WAIT
           
 
Constructor Summary
OrderlyQExampleSettings()
           
 
Method Summary
static java.lang.String constToStr(int val)
           
 int getActivate()
          OrderlyQ activation strategy.
 int getActivateSize()
          The queue size at which to start offering OrderlyQ.
 double getActivateWait()
          The wait time at which to start offering OrderlyQ.
 int getExtraOffer()
          When to describe the facility to call back from an extra number.
 int getExtraPrompt()
          Which calls to offer the ability to call back on a different number.
 int getExtraSize()
          The queue size at which to start offering the ability to call back on a different number.
 double getExtraWait()
          The estimated wait time at which to start offering the ability to call back on a different number.
 int getHangUp()
          When to hang up on callers.
 int getHangUpSize()
          Number of people ahead of caller at which to force hang up.
 double getHangUpWait()
          Estimated wait time at which to force hang up.
 java.lang.String getMobilePattern()
          A regular expression used to detect calls from mobiles.
 java.lang.String getMusic()
          The music to play to callers.
 double getPersistAfterCall()
          How long a caller remains at the front of the queue after speaking to an agent.
 double getPersistNoCall()
          How long a caller remains at the front of the queue after reaching it without calling back.
 double getRate()
          The rate at which to pass callers through to agents.
 int getRateStrategy()
          Specifies whether rate is constant or not.
 int getRounding()
          Are we rounding wait times up or down?
 int getTextAvailable()
          Who to offer texts to.
 double getTextDelay()
          How long to delay sending texts.
 java.lang.String getTextMessage()
          Gets the text message to send mobiles.
 int getTextOffer()
          When to offer the facility to sign up for texts.
 int getTextPrompt()
          Whether to offer texts on only queue entry, or on subsequent calls.
 int getTextSend()
           
 int getTextSize()
          People ahead of caller at which the facility to sign up for texts is offered.
 double getTextWait()
          Estimated wait time at which to offer the facility to sign up for texts.
static int parse(java.lang.String str)
           
 void setActivate(int activate)
          OrderlyQ activation strategy.
 void setActivateSize(int activateSize)
          The queue size at which to start offering OrderlyQ.
 void setActivateWait(double activateWait)
          The wait time at which to start offering OrderlyQ.
 void setExtraOffer(int extraOffer)
          When to describe the facility to call back from an extra number.
 void setExtraPrompt(int extraPrompt)
          Which calls to offer the ability to call back on a different number.
 void setExtraSize(int extraSize)
          The queue size at which to start offering the ability to call back on a different number.
 void setExtraWait(double extraWait)
          The estimated wait time at which to start offering the ability to call back on a different number.
 void setHangUp(int hangup)
          When to hang up on callers.
 void setHangUpSize(int hangupSize)
          Number of people ahead of caller at which to force hang up.
 void setHangUpWait(double hangupWait)
          Estimated wait time at which to force hang up.
 void setMobilePattern(java.lang.String mobilePattern)
          A regular expression used to detect calls from mobiles.
 void setMusic(java.lang.String music)
          The music to play to callers.
 void setPersistAfterCall(double persistAfterCall)
          How long a caller remains at the front of the queue after speaking to an agent.
 void setPersistNoCall(double persistNoCall)
          How long a caller remains at the front of the queue after reaching it without calling back.
 void setRate(double rate)
          The rate at which to pass callers through to agents.
 void setRateStrategy(int rateStrategy)
          Whether the rate is fixed, or dependent on the number of logged in agents.
 void setRounding(int rounding)
          Round seconds to minutes.
 void setTextAvailable(int textAvailable)
          Who to offer texts to.
 void setTextDelay(double textDelay)
          How long to delay sending texts.
 void setTextMessage(java.lang.String textMessage)
          Sets the text message to send to mobiles.
 void setTextOffer(int textOffer)
          When to offer the facility to sign up for texts.
 void setTextPrompt(int textPrompt)
          Whether to offer texts on queue entry only, or on subsequent calls.
 void setTextSend(int textSend)
          Whether to send texts immediately or with a delay.
 void setTextSize(int textSize)
          People ahead of caller at which the facility to sign up for texts is offered.
 void setTextWait(double textWait)
          Estimated wait time at which to offer the facility to sign up for texts.
 boolean setXMLSettings(org.w3c.dom.Element xmlSettings)
          Parses incoming XML settings.
 java.lang.String toString()
          Convenience method.
 
Methods inherited from class com.orderlysoftware.orderlycalls.base.Settings
equals, getName, getXMLSettings, setName
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

INVALID

public static final int INVALID
See Also:
Constant Field Values

FIXED

public static final int FIXED
See Also:
Constant Field Values

AGENT_DEPENDENT

public static final int AGENT_DEPENDENT
See Also:
Constant Field Values

ALL

public static final int ALL
See Also:
Constant Field Values

SIZE

public static final int SIZE
See Also:
Constant Field Values

WAIT

public static final int WAIT
See Also:
Constant Field Values

NONE

public static final int NONE
See Also:
Constant Field Values

ENTRY

public static final int ENTRY
See Also:
Constant Field Values

MOBILES

public static final int MOBILES
See Also:
Constant Field Values

IMMEDIATE

public static final int IMMEDIATE
See Also:
Constant Field Values

DELAY

public static final int DELAY
See Also:
Constant Field Values

BUSY

public static final int BUSY
See Also:
Constant Field Values

UP

public static final int UP
See Also:
Constant Field Values

DOWN

public static final int DOWN
See Also:
Constant Field Values
Constructor Detail

OrderlyQExampleSettings

public OrderlyQExampleSettings()
Method Detail

getRounding

public int getRounding()
Are we rounding wait times up or down?

Returns:
UP or DOWN

setRounding

public void setRounding(int rounding)
Round seconds to minutes.

Parameters:
rounding - UP or DOWN.

getTextMessage

public java.lang.String getTextMessage()
Gets the text message to send mobiles.

Returns:
Returns the textMessage.

setTextMessage

public void setTextMessage(java.lang.String textMessage)
Sets the text message to send to mobiles.

Parameters:
textMessage - The textMessage to set.

getPersistAfterCall

public double getPersistAfterCall()
How long a caller remains at the front of the queue after speaking to an agent.

Returns:
Returns the number of minutes after reaching an agent within which a caller can avoid queuing.

setPersistAfterCall

public void setPersistAfterCall(double persistAfterCall)
How long a caller remains at the front of the queue after speaking to an agent.

Parameters:
persistAfterCall - the number of minutes after reaching an agent within which a caller can avoid queuing.

getPersistNoCall

public double getPersistNoCall()
How long a caller remains at the front of the queue after reaching it without calling back.

Returns:
Returns the persistNoCall.

setPersistNoCall

public void setPersistNoCall(double persistNoCall)
How long a caller remains at the front of the queue after reaching it without calling back.

Parameters:
persistNoCall - The persistNoCall to set.

getActivate

public int getActivate()
OrderlyQ activation strategy.

Returns:
BUSY - when all operators are busy.
SIZE - when more than activateSize() people are ahead of caller.
WAIT - when the estimated wait time is more than activateWait() minutes.

setActivate

public void setActivate(int activate)
OrderlyQ activation strategy.

Parameters:
activate - BUSY - when all operators are busy.
SIZE - when more than activateSize() people are ahead of caller.
WAIT - when the estimated wait time is more than activateWait() minutes.

getActivateSize

public int getActivateSize()
The queue size at which to start offering OrderlyQ.

Returns:
Returns the activateSize.
See Also:
#getActivate(int)

setActivateSize

public void setActivateSize(int activateSize)
The queue size at which to start offering OrderlyQ.

Parameters:
activateSize - The activateSize to set.
See Also:
setActivate(int)

getActivateWait

public double getActivateWait()
The wait time at which to start offering OrderlyQ.

Returns:
Returns the activateWait.
See Also:
#getActivate(int)

setActivateWait

public void setActivateWait(double activateWait)
The wait time at which to start offering OrderlyQ.

Parameters:
activateWait - The activateWait to set.
See Also:
setActivate(int)

getExtraOffer

public int getExtraOffer()
When to describe the facility to call back from an extra number.

Returns:
Returns ALL - describe to everyone.
SIZE - when more than extraSize() people are ahead of caller.
WAIT - when the estimated wait time is more than extraWait() minutes.

setExtraOffer

public void setExtraOffer(int extraOffer)
When to describe the facility to call back from an extra number.

Parameters:
extraOffer - The extraOffer to set.

getExtraSize

public int getExtraSize()
The queue size at which to start offering the ability to call back on a different number.

Returns:
Returns the extraSize.

setExtraSize

public void setExtraSize(int extraSize)
The queue size at which to start offering the ability to call back on a different number.

Parameters:
extraSize - The extraSize to set.

getExtraWait

public double getExtraWait()
The estimated wait time at which to start offering the ability to call back on a different number.

Returns:
Returns the extraWait.

setExtraWait

public void setExtraWait(double extraWait)
The estimated wait time at which to start offering the ability to call back on a different number.

Parameters:
extraWait - The extraWait to set.

getExtraPrompt

public int getExtraPrompt()
Which calls to offer the ability to call back on a different number.

Returns:
Returns ENTRY if only prompted when caller joins queue, ALL otherwise.

setExtraPrompt

public void setExtraPrompt(int extraPrompt)
Which calls to offer the ability to call back on a different number.

Parameters:
extraPrompt - The extraPrompt to set.

getHangUp

public int getHangUp()
When to hang up on callers.

Returns:
Returns ALL if all queued callers are hung up on, WAIT or BUSY, or NONE to hang up on nobody.

setHangUp

public void setHangUp(int hangup)
When to hang up on callers.

Parameters:
hangup - The hangup to set.

getHangUpSize

public int getHangUpSize()
Number of people ahead of caller at which to force hang up.

Returns:
Returns the hangupSize.

setHangUpSize

public void setHangUpSize(int hangupSize)
Number of people ahead of caller at which to force hang up.

Parameters:
hangupSize - The hangupSize to set.

getHangUpWait

public double getHangUpWait()
Estimated wait time at which to force hang up.

Returns:
Returns the hangupWait.

setHangUpWait

public void setHangUpWait(double hangupWait)
Estimated wait time at which to force hang up.

Parameters:
hangupWait - The hangupWait to set.

getMobilePattern

public java.lang.String getMobilePattern()
A regular expression used to detect calls from mobiles.

Returns:
Returns the mobilePattern.

setMobilePattern

public void setMobilePattern(java.lang.String mobilePattern)
A regular expression used to detect calls from mobiles.

Parameters:
mobilePattern - The mobilePattern to set.

getMusic

public java.lang.String getMusic()
The music to play to callers.

Returns:
Returns the music.

setMusic

public void setMusic(java.lang.String music)
The music to play to callers. NOTE: Due to a bug in Asterisk, you should leave this set to "default".

Parameters:
music - The music to set.

getRate

public double getRate()
The rate at which to pass callers through to agents.

Returns:
Returns the rate.

setRate

public void setRate(double rate)
The rate at which to pass callers through to agents.

Parameters:
rate - The rate to set.

getRateStrategy

public int getRateStrategy()
Specifies whether rate is constant or not. This is either a constant, or a constant times the number of logged in operators.

Returns:
Returns FIXED or AGENT_DEPENDENT.

setRateStrategy

public void setRateStrategy(int rateStrategy)
Whether the rate is fixed, or dependent on the number of logged in agents.

Parameters:
rateStrategy - The rateStrategy to set.

getTextAvailable

public int getTextAvailable()
Who to offer texts to.

Returns:
Returns MOBILES if offered only to callers from mobiles, or ALL to offer to everyone.

setTextAvailable

public void setTextAvailable(int textAvailable)
Who to offer texts to.

Parameters:
textAvailable - The textAvailable to set.

getTextDelay

public double getTextDelay()
How long to delay sending texts.

Returns:
Returns the amount of time, in minutes, after which to send a text when someone reaches the front of the queue.

setTextDelay

public void setTextDelay(double textDelay)
How long to delay sending texts.

Parameters:
textDelay - The textDelay to set.

getTextOffer

public int getTextOffer()
When to offer the facility to sign up for texts.

Returns:
Returns ALL, SIZE, WAIT or NONE.

setTextOffer

public void setTextOffer(int textOffer)
When to offer the facility to sign up for texts.

Parameters:
textOffer - The textOffer to set.

getTextSize

public int getTextSize()
People ahead of caller at which the facility to sign up for texts is offered.

Returns:
Returns the textSize.

setTextSize

public void setTextSize(int textSize)
People ahead of caller at which the facility to sign up for texts is offered.

Parameters:
textSize - The textSize to set.

getTextWait

public double getTextWait()
Estimated wait time at which to offer the facility to sign up for texts.

Returns:
Returns the textWait.

setTextWait

public void setTextWait(double textWait)
Estimated wait time at which to offer the facility to sign up for texts.

Parameters:
textWait - The textWait to set.

getTextPrompt

public int getTextPrompt()
Whether to offer texts on only queue entry, or on subsequent calls.

Returns:
Returns ENTRY or ALL.

setTextPrompt

public void setTextPrompt(int textPrompt)
Whether to offer texts on queue entry only, or on subsequent calls.

Parameters:
textPrompt - The textPrompt to set.

getTextSend

public int getTextSend()
Returns:
Returns IMMEDIATE if texts are to be sent immediately on reaching the front of the queue, or DELAY otherwise.

setTextSend

public void setTextSend(int textSend)
Whether to send texts immediately or with a delay.

Parameters:
textSend - The textSend to set.

parse

public static int parse(java.lang.String str)
Parameters:
str - A String representing one of the constants defined for this class.
Returns:
The corresponding constant.

constToStr

public static java.lang.String constToStr(int val)
Parameters:
val - One of the constants for this class
Returns:
A string representing this constant, or "INVALID".

setXMLSettings

public boolean setXMLSettings(org.w3c.dom.Element xmlSettings)
Parses incoming XML settings.

Overrides:
setXMLSettings in class Settings
Returns:
true on success/validation, false otherwise.

toString

public java.lang.String toString()
Convenience method.

Overrides:
toString in class Settings