Avaya Conferencing Provider API

com.avaya.conferencing.api.acp.control
Class CallFlowMappingRule

java.lang.Object
  extended by com.avaya.conferencing.api.acp.control.AbstractConferencingObject<CallFlowMappingRule>
      extended by com.avaya.conferencing.api.acp.control.CallFlowMappingRule
All Implemented Interfaces:
ConferencingObject<CallFlowMappingRule>

public abstract class CallFlowMappingRule
extends AbstractConferencingObject<CallFlowMappingRule>

A rule for deciding what InboundCallFlow an incoming call from an EndPoint will be assigned to.

Since:
5.1.0.0.40

Field Summary
static java.lang.String CONFERENCE_MESSAGE_SET_APPLIED
          The property name for isConferenceMessageSetApplied().
static java.lang.String CONFERENCE_PASSCODE
          The property name for getConferencePasscode().
static java.lang.String DESTINATION_URI_REGEX
          The property name for getDestinationUriRegex().
static java.lang.String END_POINT_PROPERTIES
          The property name for getEndPointProperties().
static java.lang.String INBOUND_CALL_FLOW
          The property name for getInboundCallFlow().
static java.lang.String MESSAGE_SET
          The property name for getMessageSet().
static java.lang.String NAME
          The property name for getName().
static java.lang.String ON_ERROR_CALL_FLOW
          The property name for getOnErrorCallFlow().
static java.lang.String RULE_PRIORITY
          The property name for getRulePriority().
static java.lang.String WELCOME_MESSAGE
          The property name for getWelcomeMessage().
 
Fields inherited from class com.avaya.conferencing.api.acp.control.AbstractConferencingObject
VERBOSE_TO_STRING
 
Fields inherited from interface com.avaya.conferencing.api.acp.control.ConferencingObject
STATE
 
Constructor Summary
CallFlowMappingRule()
           
 
Method Summary
 java.lang.String getConferencePasscode()
          Returns the conference passcode (probably a regular expression) associated with this callflow.
 java.util.regex.Pattern getDestinationUriRegex()
          Returns a Pattern that can be used to match URI's in order to determine if the rule applies.
 java.util.Map<java.lang.String,java.lang.Object> getEndPointProperties()
          Returns the properties for the EndPoint that will be set once the EndPoint is connects.
 InboundCallFlow getInboundCallFlow()
          Returns the InboundCallFlow used for an EndPoint when it first connects.
 MessageSet getMessageSet()
          Returns the message set that is used.
 java.lang.String getName()
          Method getName returns the name of this MediaSource object.
 InboundCallFlow getOnErrorCallFlow()
          Returns the InboundCallFlow used for an EndPoint when an error occurs in the getInboundCallFlow().
 int getRulePriority()
          In the case where multiple rules match an destinationUri, the rule with the lowest priority will always win.
 Message getWelcomeMessage()
          Returns the welcome message that is played to an EndPoint when it first connects, or null if no welcome message is played.
 boolean isConferenceMessageSetApplied()
          Returns true when the message set of the Conference will be used for the messages played specifically to the EndPoint (once the EndPoint has been placed in Conference), or false when the message set of the CallFlowMappingRule will be used for the messages played specifically to the EndPoint.
abstract
<T extends EndPointContainer<T>>
T
lookupDestinationContainer(java.lang.Class<T> containerClass, java.lang.String destinationUri)
          Returns the EndPointContainer that incoming calls at the specified destination URI will be placed into or null if the container does not exist.
abstract  java.lang.Class<? extends EndPointContainer<?>> lookupDestinationContainerClass(java.lang.String destinationUri)
          Returns the class of EndPointContainer that incoming calls at the specified destination URI will be placed into or null if incoming calls will be disconnected.
abstract  java.lang.String lookupDestinationParticipantCode(java.lang.String destinationUri)
          Returns the Conference participant code if it can be determined entirely from the specified destination URI or null if the rule does not place incoming EndPoint calls direct into conference.
 
Methods inherited from class com.avaya.conferencing.api.acp.control.AbstractConferencingObject
equals, execute, getVerbs, hashCode, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.avaya.conferencing.api.acp.control.ConferencingObject
addAvailableVerbsChangeListener, addPropertyChangeListener, addPropertyChangeListener, addStateChangeListener, executeAs, getAllVerbs, getAllVerbsAs, getAllVerbsAs, getConnection, getId, getProperties, getProperties, getPropertyClass, getPropertyClasses, getPropertyType, getPropertyValue, getPropertyValues, getState, getVerbsAs, removeAvailableVerbsChangeListener, removePropertyChangeListener, removePropertyChangeListener, removeStateChangeListener
 

Field Detail

NAME

public static final java.lang.String NAME
The property name for getName().

Since:
5.1.0.0.40

WELCOME_MESSAGE

public static final java.lang.String WELCOME_MESSAGE
The property name for getWelcomeMessage().

Since:
5.1.0.0.40

MESSAGE_SET

public static final java.lang.String MESSAGE_SET
The property name for getMessageSet().

Since:
5.1.0.0.40

CONFERENCE_MESSAGE_SET_APPLIED

public static final java.lang.String CONFERENCE_MESSAGE_SET_APPLIED
The property name for isConferenceMessageSetApplied().

Since:
5.1.0.0.40

INBOUND_CALL_FLOW

public static final java.lang.String INBOUND_CALL_FLOW
The property name for getInboundCallFlow().

Since:
5.1.0.0.40

ON_ERROR_CALL_FLOW

public static final java.lang.String ON_ERROR_CALL_FLOW
The property name for getOnErrorCallFlow().

Since:
5.1.0.0.40

END_POINT_PROPERTIES

public static final java.lang.String END_POINT_PROPERTIES
The property name for getEndPointProperties().

Since:
5.1.0.0.40

DESTINATION_URI_REGEX

public static final java.lang.String DESTINATION_URI_REGEX
The property name for getDestinationUriRegex().

Since:
5.1.0.0.40

RULE_PRIORITY

public static final java.lang.String RULE_PRIORITY
The property name for getRulePriority().

Since:
5.1.0.0.40

CONFERENCE_PASSCODE

public static final java.lang.String CONFERENCE_PASSCODE
The property name for getConferencePasscode().

Since:
5.2.0.0.1
Constructor Detail

CallFlowMappingRule

public CallFlowMappingRule()
Method Detail

getName

public final java.lang.String getName()
Method getName returns the name of this MediaSource object.

Returns:
the name (type String) of this MediaSource object.
Since:
5.1.0.0.40

getWelcomeMessage

public final Message getWelcomeMessage()
Returns the welcome message that is played to an EndPoint when it first connects, or null if no welcome message is played.

Returns:
The welcome message that is played to an EndPoint when it first connects, or null if no welcome message is played.
Since:
5.1.0.0.40

getMessageSet

public final MessageSet getMessageSet()
Returns the message set that is used.

Returns:
the message set that is used.
Since:
5.1.0.0.40

isConferenceMessageSetApplied

public final boolean isConferenceMessageSetApplied()
Returns true when the message set of the Conference will be used for the messages played specifically to the EndPoint (once the EndPoint has been placed in Conference), or false when the message set of the CallFlowMappingRule will be used for the messages played specifically to the EndPoint. In either case, the Conference.getMessageSet() will be used for messages played to the Conference.

Returns:
true when the message set of the Conference will be used for the messages played specifically to the EndPoint (once the EndPoint has been placed in Conference), or false when the message set of the CallFlowMappingRule will be used for the messages played specifically to the EndPoint
Since:
5.1.0.0.40

getInboundCallFlow

public final InboundCallFlow getInboundCallFlow()
Returns the InboundCallFlow used for an EndPoint when it first connects.

Returns:
the InboundCallFlow used for an EndPoint when it first connects.
Since:
5.1.0.0.40

getOnErrorCallFlow

public final InboundCallFlow getOnErrorCallFlow()
Returns the InboundCallFlow used for an EndPoint when an error occurs in the getInboundCallFlow().

Returns:
the InboundCallFlow used for an EndPoint when an error occurs in the getInboundCallFlow().
Since:
5.1.0.0.40

getEndPointProperties

public final java.util.Map<java.lang.String,java.lang.Object> getEndPointProperties()
Returns the properties for the EndPoint that will be set once the EndPoint is connects. This will be a read-only collection.

Returns:
the properties for the EndPoint that will be set once the EndPoint is connects. This will be a read-only collection.
Since:
5.1.0.0.40

getDestinationUriRegex

public final java.util.regex.Pattern getDestinationUriRegex()
Returns a Pattern that can be used to match URI's in order to determine if the rule applies.

Returns:
a Pattern that can be used to match URI's in order to determine if the rule applies.
Since:
5.1.0.0.40
See Also:
getRulePriority()

getRulePriority

public final int getRulePriority()
In the case where multiple rules match an destinationUri, the rule with the lowest priority will always win.

Returns:
The priority of the rule, lowest wins.

getConferencePasscode

public final java.lang.String getConferencePasscode()
Returns the conference passcode (probably a regular expression) associated with this callflow. This value is used in conjunction with getDestinationUriRegex() to route a caller directly to conference.

Returns:
The conference passcode (probably a regular expression) used in conjunction with getDestinationUriRegex() to route caller directly to conference.
Since:
5.2.0.0.1

lookupDestinationContainerClass

public abstract java.lang.Class<? extends EndPointContainer<?>> lookupDestinationContainerClass(java.lang.String destinationUri)
Returns the class of EndPointContainer that incoming calls at the specified destination URI will be placed into or null if incoming calls will be disconnected.

Parameters:
destinationUri - The URI that an incoming call would be connecting to.
Returns:
the class of EndPointContainer that incoming calls at the specified destination URI will be placed into or null if incoming calls will be disconnected.
See Also:
lookupDestinationContainer(Class, String), lookupDestinationParticipantCode(String)

lookupDestinationContainer

public abstract <T extends EndPointContainer<T>> T lookupDestinationContainer(java.lang.Class<T> containerClass,
                                                                              java.lang.String destinationUri)
Returns the EndPointContainer that incoming calls at the specified destination URI will be placed into or null if the container does not exist. For example:
 String destinationUri = "sip:65372@10.10.1.1";
 Class<? extends EndPointContainer<?>> clazz =
         callFlowMappingRule.lookupDestinationContainerClass(destinationUri);
 if (clazz.isAssignableFrom(Conference.class)) {
     Conference conference =
             callFlowMappingRule.lookupDestinationContainer(Conference.class, destinationUri);
     if (conference != null) {
         // they will have ended up in this conference and the conference is currently open
         ...
     } else {
        String participantCode = callFlowMappingRule.lookupDestinationParticipantCode(destinationUri);
        if (participantCode != null) {
            // they will end up in the conference with this participant code, but the
            // conference is not currently open
        } else {
            // the conference they end up in depends on additional factors, e.g. DTMF input
        }
     }
 } else if (clazz.isAssignableFrom(EndPointQueue.clazz)) {
     EndPointQueue queue =
             callFlowMappingRule.lookupDestinationContainer(EndPointQueue.class, destinationUri);
     if (queue != null) {
         // they will have ended up in this queue
         if (queue.getPurposes().contains(ConferencingObjectQueue.Purposes.CONNECTIONS_ASSIST_REQUIRED)) {
             // this is a queue of EndPoints waiting for operator assistance
             ...
         }
         if (queue.getPurposes().contains(ConferencingObjectQueue.Purposes.CONNECTIONS_PENDING)) {
             // this is a queue of EndPoints that are providing input to select
             // the conference that they will end up in.
             ...
         }
         ...
     }
 }
 

Parameters:
containerClass - The EndPointContainer class.
destinationUri - The destination uri.
Returns:
the EndPointContainer that incoming calls at the specified destination URI will be placed into or null if the container does not exist.
Throws:
java.lang.IllegalArgumentException - if containerClass != lookupDestinationContainerClass(destinationUri)
See Also:
lookupDestinationContainerClass(String), lookupDestinationParticipantCode(String), Conference.getParticipantCodes(), Filters.conferenceParticipantCode(String[]), ConferencingObjectQueue.Purpose, ConferencingObjectQueue.getPurposes(), ConferencingObjectQueue.Purposes

lookupDestinationParticipantCode

public abstract java.lang.String lookupDestinationParticipantCode(java.lang.String destinationUri)
Returns the Conference participant code if it can be determined entirely from the specified destination URI or null if the rule does not place incoming EndPoint calls direct into conference.

Parameters:
destinationUri - The URI that an incoming call would be connecting to.
Returns:
the class of EndPointContainer that incoming calls at the specified destination URI will be placed into or null if incoming calls will be disconnected.
See Also:
lookupDestinationContainerClass(String), lookupDestinationContainer(Class, String)

Avaya Conferencing Provider API

Copyright © 2008-2009 Avaya. All Rights Reserved.